blob: e1bf12a316fee03176a9e4dd0aca7df6b41267ca [file] [log] [blame]
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
#import <Foundation/Foundation.h>
#import "MTRAttributeCacheContainer_Internal.h"
#import "MTRBaseDevice_internal.h"
#import "MTRCallbackBridge_internal.h"
#import "MTRClusterConstants.h"
#import "MTRCluster_internal.h"
#import "MTRClusters_internal.h"
#import "MTRCommandPayloadsObjc.h"
#import "MTRDevice.h"
#import "MTRDevice_Internal.h"
#import "MTRStructsObjc.h"
#include <lib/support/CHIPListUtils.h>
#include <platform/CHIPDeviceLayer.h>
#include <type_traits>
using chip::Callback::Callback;
using chip::Callback::Cancelable;
using namespace chip::app::Clusters;
using chip::Messaging::ExchangeManager;
using chip::SessionHandle;
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks): Linter is unable to locate the delete on these objects.
@implementation MTRClusterIdentify
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)identifyWithParams:(MTRIdentifyClusterIdentifyParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Identify::Commands::Identify::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.identifyTime = params.identifyTime.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::IdentifyCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)triggerEffectWithParams:(MTRIdentifyClusterTriggerEffectParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Identify::Commands::TriggerEffect::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.effectIdentifier = static_cast<std::remove_reference_t<decltype(request.effectIdentifier)>>(
params.effectIdentifier.unsignedCharValue);
request.effectVariant
= static_cast<std::remove_reference_t<decltype(request.effectVariant)>>(params.effectVariant.unsignedCharValue);
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::IdentifyCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeIdentifyTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeIdentifyTimeID)
params:params];
}
- (void)writeAttributeIdentifyTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeIdentifyTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeIdentifyTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeIdentifyTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeIdentifyTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeIdentifyTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIdentifyID)
attributeId:@(MTRClusterIdentifyAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterGroups
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)addGroupWithParams:(MTRGroupsClusterAddGroupParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGroupsClusterAddGroupResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Groups::Commands::AddGroup::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.groupName = [self asCharSpan:params.groupName];
auto successFn = Callback<GroupsClusterAddGroupResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)viewGroupWithParams:(MTRGroupsClusterViewGroupParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGroupsClusterViewGroupResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Groups::Commands::ViewGroup::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
auto successFn = Callback<GroupsClusterViewGroupResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getGroupMembershipWithParams:(MTRGroupsClusterGetGroupMembershipParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRGroupsClusterGetGroupMembershipResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGroupsClusterGetGroupMembershipResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Groups::Commands::GetGroupMembership::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.groupList)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.groupList.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.groupList.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.groupList.count; ++i_0) {
if (![params.groupList[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.groupList[i_0];
listHolder_0->mList[i_0] = element_0.unsignedShortValue;
}
request.groupList = ListType_0(listHolder_0->mList, params.groupList.count);
} else {
request.groupList = ListType_0();
}
}
auto successFn = Callback<GroupsClusterGetGroupMembershipResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)removeGroupWithParams:(MTRGroupsClusterRemoveGroupParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRGroupsClusterRemoveGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGroupsClusterRemoveGroupResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Groups::Commands::RemoveGroup::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
auto successFn = Callback<GroupsClusterRemoveGroupResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)removeAllGroupsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self removeAllGroupsWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)removeAllGroupsWithParams:(MTRGroupsClusterRemoveAllGroupsParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Groups::Commands::RemoveAllGroups::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)addGroupIfIdentifyingWithParams:(MTRGroupsClusterAddGroupIfIdentifyingParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Groups::Commands::AddGroupIfIdentifying::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.groupName = [self asCharSpan:params.groupName];
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNameSupportWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupsID)
attributeId:@(MTRClusterGroupsAttributeNameSupportID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupsID)
attributeId:@(MTRClusterGroupsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupsID)
attributeId:@(MTRClusterGroupsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupsID)
attributeId:@(MTRClusterGroupsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupsID)
attributeId:@(MTRClusterGroupsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupsID)
attributeId:@(MTRClusterGroupsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterScenes
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)addSceneWithParams:(MTRScenesClusterAddSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterAddSceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::AddScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.sceneName = [self asCharSpan:params.sceneName];
{
using ListType_0 = std::remove_reference_t<decltype(request.extensionFieldSets)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.extensionFieldSets.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.extensionFieldSets.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.extensionFieldSets.count; ++i_0) {
if (![params.extensionFieldSets[i_0] isKindOfClass:[MTRScenesClusterExtensionFieldSet class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRScenesClusterExtensionFieldSet *) params.extensionFieldSets[i_0];
listHolder_0->mList[i_0].clusterId = element_0.clusterId.unsignedIntValue;
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].attributeValueList)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.attributeValueList.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.attributeValueList.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.attributeValueList.count; ++i_2) {
if (![element_0.attributeValueList[i_2]
isKindOfClass:[MTRScenesClusterAttributeValuePair class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (MTRScenesClusterAttributeValuePair *) element_0.attributeValueList[i_2];
if (element_2.attributeId != nil) {
auto & definedValue_4 = listHolder_2->mList[i_2].attributeId.Emplace();
definedValue_4 = element_2.attributeId.unsignedIntValue;
}
{
using ListType_4
= std::remove_reference_t<decltype(listHolder_2->mList[i_2].attributeValue)>;
using ListMemberType_4 = ListMemberTypeGetter<ListType_4>::Type;
if (element_2.attributeValue.count != 0) {
auto * listHolder_4
= new ListHolder<ListMemberType_4>(element_2.attributeValue.count);
if (listHolder_4 == nullptr || listHolder_4->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_4);
for (size_t i_4 = 0; i_4 < element_2.attributeValue.count; ++i_4) {
if (![element_2.attributeValue[i_4] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_4 = (NSNumber *) element_2.attributeValue[i_4];
listHolder_4->mList[i_4] = element_4.unsignedCharValue;
}
listHolder_2->mList[i_2].attributeValue
= ListType_4(listHolder_4->mList, element_2.attributeValue.count);
} else {
listHolder_2->mList[i_2].attributeValue = ListType_4();
}
}
}
listHolder_0->mList[i_0].attributeValueList
= ListType_2(listHolder_2->mList, element_0.attributeValueList.count);
} else {
listHolder_0->mList[i_0].attributeValueList = ListType_2();
}
}
}
request.extensionFieldSets = ListType_0(listHolder_0->mList, params.extensionFieldSets.count);
} else {
request.extensionFieldSets = ListType_0();
}
}
auto successFn = Callback<ScenesClusterAddSceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)viewSceneWithParams:(MTRScenesClusterViewSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterViewSceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::ViewScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
auto successFn = Callback<ScenesClusterViewSceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)removeSceneWithParams:(MTRScenesClusterRemoveSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRScenesClusterRemoveSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterRemoveSceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::RemoveScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
auto successFn = Callback<ScenesClusterRemoveSceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)removeAllScenesWithParams:(MTRScenesClusterRemoveAllScenesParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRScenesClusterRemoveAllScenesResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterRemoveAllScenesResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::RemoveAllScenes::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
auto successFn = Callback<ScenesClusterRemoveAllScenesResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)storeSceneWithParams:(MTRScenesClusterStoreSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRScenesClusterStoreSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterStoreSceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::StoreScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
auto successFn = Callback<ScenesClusterStoreSceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)recallSceneWithParams:(MTRScenesClusterRecallSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::RecallScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
if (params.transitionTime != nil) {
auto & definedValue_0 = request.transitionTime.Emplace();
if (params.transitionTime == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
nonNullValue_1 = params.transitionTime.unsignedShortValue;
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getSceneMembershipWithParams:(MTRScenesClusterGetSceneMembershipParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRScenesClusterGetSceneMembershipResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterGetSceneMembershipResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::GetSceneMembership::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
auto successFn = Callback<ScenesClusterGetSceneMembershipResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enhancedAddSceneWithParams:(MTRScenesClusterEnhancedAddSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRScenesClusterEnhancedAddSceneResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterEnhancedAddSceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::EnhancedAddScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.sceneName = [self asCharSpan:params.sceneName];
{
using ListType_0 = std::remove_reference_t<decltype(request.extensionFieldSets)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.extensionFieldSets.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.extensionFieldSets.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.extensionFieldSets.count; ++i_0) {
if (![params.extensionFieldSets[i_0] isKindOfClass:[MTRScenesClusterExtensionFieldSet class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRScenesClusterExtensionFieldSet *) params.extensionFieldSets[i_0];
listHolder_0->mList[i_0].clusterId = element_0.clusterId.unsignedIntValue;
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].attributeValueList)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.attributeValueList.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.attributeValueList.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.attributeValueList.count; ++i_2) {
if (![element_0.attributeValueList[i_2]
isKindOfClass:[MTRScenesClusterAttributeValuePair class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (MTRScenesClusterAttributeValuePair *) element_0.attributeValueList[i_2];
if (element_2.attributeId != nil) {
auto & definedValue_4 = listHolder_2->mList[i_2].attributeId.Emplace();
definedValue_4 = element_2.attributeId.unsignedIntValue;
}
{
using ListType_4
= std::remove_reference_t<decltype(listHolder_2->mList[i_2].attributeValue)>;
using ListMemberType_4 = ListMemberTypeGetter<ListType_4>::Type;
if (element_2.attributeValue.count != 0) {
auto * listHolder_4
= new ListHolder<ListMemberType_4>(element_2.attributeValue.count);
if (listHolder_4 == nullptr || listHolder_4->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_4);
for (size_t i_4 = 0; i_4 < element_2.attributeValue.count; ++i_4) {
if (![element_2.attributeValue[i_4] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_4 = (NSNumber *) element_2.attributeValue[i_4];
listHolder_4->mList[i_4] = element_4.unsignedCharValue;
}
listHolder_2->mList[i_2].attributeValue
= ListType_4(listHolder_4->mList, element_2.attributeValue.count);
} else {
listHolder_2->mList[i_2].attributeValue = ListType_4();
}
}
}
listHolder_0->mList[i_0].attributeValueList
= ListType_2(listHolder_2->mList, element_0.attributeValueList.count);
} else {
listHolder_0->mList[i_0].attributeValueList = ListType_2();
}
}
}
request.extensionFieldSets = ListType_0(listHolder_0->mList, params.extensionFieldSets.count);
} else {
request.extensionFieldSets = ListType_0();
}
}
auto successFn = Callback<ScenesClusterEnhancedAddSceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enhancedViewSceneWithParams:(MTRScenesClusterEnhancedViewSceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRScenesClusterEnhancedViewSceneResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterEnhancedViewSceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::EnhancedViewScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupId = params.groupId.unsignedShortValue;
request.sceneId = params.sceneId.unsignedCharValue;
auto successFn = Callback<ScenesClusterEnhancedViewSceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)copySceneWithParams:(MTRScenesClusterCopySceneParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRScenesClusterCopySceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRScenesClusterCopySceneResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Scenes::Commands::CopyScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.mode = static_cast<std::remove_reference_t<decltype(request.mode)>>(params.mode.unsignedCharValue);
request.groupIdFrom = params.groupIdFrom.unsignedShortValue;
request.sceneIdFrom = params.sceneIdFrom.unsignedCharValue;
request.groupIdTo = params.groupIdTo.unsignedShortValue;
request.sceneIdTo = params.sceneIdTo.unsignedCharValue;
auto successFn = Callback<ScenesClusterCopySceneResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ScenesCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSceneCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeSceneCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentSceneWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeCurrentSceneID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentGroupWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeCurrentGroupID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSceneValidWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeSceneValidID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNameSupportWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeNameSupportID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLastConfiguredByWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeLastConfiguredByID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterScenesID)
attributeId:@(MTRClusterScenesAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterOnOff
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)offWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self offWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)offWithParams:(MTROnOffClusterOffParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OnOff::Commands::Off::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OnOffCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)onWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self onWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)onWithParams:(MTROnOffClusterOnParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OnOff::Commands::On::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OnOffCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)toggleWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self toggleWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)toggleWithParams:(MTROnOffClusterToggleParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OnOff::Commands::Toggle::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OnOffCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)offWithEffectWithParams:(MTROnOffClusterOffWithEffectParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OnOff::Commands::OffWithEffect::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.effectId
= static_cast<std::remove_reference_t<decltype(request.effectId)>>(params.effectId.unsignedCharValue);
request.effectVariant
= static_cast<std::remove_reference_t<decltype(request.effectVariant)>>(params.effectVariant.unsignedCharValue);
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OnOffCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)onWithRecallGlobalSceneWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self onWithRecallGlobalSceneWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)onWithRecallGlobalSceneWithParams:(MTROnOffClusterOnWithRecallGlobalSceneParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OnOff::Commands::OnWithRecallGlobalScene::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OnOffCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)onWithTimedOffWithParams:(MTROnOffClusterOnWithTimedOffParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OnOff::Commands::OnWithTimedOff::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.onOffControl
= static_cast<std::remove_reference_t<decltype(request.onOffControl)>>(params.onOffControl.unsignedCharValue);
request.onTime = params.onTime.unsignedShortValue;
request.offWaitTime = params.offWaitTime.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OnOffCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOnOffWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeOnOffID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGlobalSceneControlWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeGlobalSceneControlID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOnTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeOnTimeID)
params:params];
}
- (void)writeAttributeOnTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOnTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOnTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeOnTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOffWaitTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeOffWaitTimeID)
params:params];
}
- (void)writeAttributeOffWaitTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOffWaitTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOffWaitTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeOffWaitTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeStartUpOnOffWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeStartUpOnOffID)
params:params];
}
- (void)writeAttributeStartUpOnOffWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeStartUpOnOffWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeStartUpOnOffWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeStartUpOnOffID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffID)
attributeId:@(MTRClusterOnOffAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterOnOffSwitchConfiguration
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeSwitchTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeSwitchTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSwitchActionsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeSwitchActionsID)
params:params];
}
- (void)writeAttributeSwitchActionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeSwitchActionsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeSwitchActionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeSwitchActionsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOnOffSwitchConfigurationID)
attributeId:@(MTRClusterOnOffSwitchConfigurationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterLevelControl
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)moveToLevelWithParams:(MTRLevelControlClusterMoveToLevelParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::MoveToLevel::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.level = params.level.unsignedCharValue;
if (params.transitionTime == nil) {
request.transitionTime.SetNull();
} else {
auto & nonNullValue_0 = request.transitionTime.SetNonNull();
nonNullValue_0 = params.transitionTime.unsignedShortValue;
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveWithParams:(MTRLevelControlClusterMoveParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::Move::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.moveMode
= static_cast<std::remove_reference_t<decltype(request.moveMode)>>(params.moveMode.unsignedCharValue);
if (params.rate == nil) {
request.rate.SetNull();
} else {
auto & nonNullValue_0 = request.rate.SetNonNull();
nonNullValue_0 = params.rate.unsignedCharValue;
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stepWithParams:(MTRLevelControlClusterStepParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::Step::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepMode
= static_cast<std::remove_reference_t<decltype(request.stepMode)>>(params.stepMode.unsignedCharValue);
request.stepSize = params.stepSize.unsignedCharValue;
if (params.transitionTime == nil) {
request.transitionTime.SetNull();
} else {
auto & nonNullValue_0 = request.transitionTime.SetNonNull();
nonNullValue_0 = params.transitionTime.unsignedShortValue;
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopWithParams:(MTRLevelControlClusterStopParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::Stop::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveToLevelWithOnOffWithParams:(MTRLevelControlClusterMoveToLevelWithOnOffParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::MoveToLevelWithOnOff::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.level = params.level.unsignedCharValue;
if (params.transitionTime == nil) {
request.transitionTime.SetNull();
} else {
auto & nonNullValue_0 = request.transitionTime.SetNonNull();
nonNullValue_0 = params.transitionTime.unsignedShortValue;
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveWithOnOffWithParams:(MTRLevelControlClusterMoveWithOnOffParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::MoveWithOnOff::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.moveMode
= static_cast<std::remove_reference_t<decltype(request.moveMode)>>(params.moveMode.unsignedCharValue);
if (params.rate == nil) {
request.rate.SetNull();
} else {
auto & nonNullValue_0 = request.rate.SetNonNull();
nonNullValue_0 = params.rate.unsignedCharValue;
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stepWithOnOffWithParams:(MTRLevelControlClusterStepWithOnOffParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::StepWithOnOff::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepMode
= static_cast<std::remove_reference_t<decltype(request.stepMode)>>(params.stepMode.unsignedCharValue);
request.stepSize = params.stepSize.unsignedCharValue;
if (params.transitionTime == nil) {
request.transitionTime.SetNull();
} else {
auto & nonNullValue_0 = request.transitionTime.SetNonNull();
nonNullValue_0 = params.transitionTime.unsignedShortValue;
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopWithOnOffWithParams:(MTRLevelControlClusterStopWithOnOffParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::StopWithOnOff::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveToClosestFrequencyWithParams:(MTRLevelControlClusterMoveToClosestFrequencyParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LevelControl::Commands::MoveToClosestFrequency::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.frequency = params.frequency.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LevelControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeCurrentLevelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRemainingTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeRemainingTimeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeMinLevelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeMaxLevelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentFrequencyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeCurrentFrequencyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinFrequencyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeMinFrequencyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxFrequencyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeMaxFrequencyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOptionsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOptionsID)
params:params];
}
- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOptionsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOptionsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOnOffTransitionTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOnOffTransitionTimeID)
params:params];
}
- (void)writeAttributeOnOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOnOffTransitionTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOnOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOnOffTransitionTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOnLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOnLevelID)
params:params];
}
- (void)writeAttributeOnLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOnLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOnLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOnLevelID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOnTransitionTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOnTransitionTimeID)
params:params];
}
- (void)writeAttributeOnTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOnTransitionTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOnTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOnTransitionTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOffTransitionTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOffTransitionTimeID)
params:params];
}
- (void)writeAttributeOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOffTransitionTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeOffTransitionTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeDefaultMoveRateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeDefaultMoveRateID)
params:params];
}
- (void)writeAttributeDefaultMoveRateWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeDefaultMoveRateWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeDefaultMoveRateWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeDefaultMoveRateID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeStartUpCurrentLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeStartUpCurrentLevelID)
params:params];
}
- (void)writeAttributeStartUpCurrentLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeStartUpCurrentLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeStartUpCurrentLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeStartUpCurrentLevelID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLevelControlID)
attributeId:@(MTRClusterLevelControlAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBinaryInputBasic
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeActiveTextWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeActiveTextID)
params:params];
}
- (void)writeAttributeActiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeActiveTextWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeActiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeActiveTextID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeDescriptionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeDescriptionID)
params:params];
}
- (void)writeAttributeDescriptionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeDescriptionWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeDescriptionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeDescriptionID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInactiveTextWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeInactiveTextID)
params:params];
}
- (void)writeAttributeInactiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInactiveTextWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInactiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeInactiveTextID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOutOfServiceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeOutOfServiceID)
params:params];
}
- (void)writeAttributeOutOfServiceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOutOfServiceWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOutOfServiceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeOutOfServiceID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePolarityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributePolarityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePresentValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributePresentValueID)
params:params];
}
- (void)writeAttributePresentValueWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePresentValueWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributePresentValueWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributePresentValueID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeReliabilityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeReliabilityID)
params:params];
}
- (void)writeAttributeReliabilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeReliabilityWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeReliabilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeReliabilityID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeStatusFlagsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeStatusFlagsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApplicationTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeApplicationTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBinaryInputBasicID)
attributeId:@(MTRClusterBinaryInputBasicAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterDescriptor
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeDeviceListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeDeviceListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeServerListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeServerListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClientListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeClientListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePartsListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributePartsListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDescriptorID)
attributeId:@(MTRClusterDescriptorAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBinding
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeBindingID)
params:params];
}
- (void)writeAttributeBindingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBindingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBindingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeBindingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBindingID)
attributeId:@(MTRClusterBindingAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterAccessControl
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeAclWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeAclID)
params:params];
}
- (void)writeAttributeAclWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeAclWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeAclWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeAclID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeExtensionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeExtensionID)
params:params];
}
- (void)writeAttributeExtensionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeExtensionWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeExtensionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeExtensionID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSubjectsPerAccessControlEntryWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeSubjectsPerAccessControlEntryID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTargetsPerAccessControlEntryWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeTargetsPerAccessControlEntryID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAccessControlEntriesPerFabricWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeAccessControlEntriesPerFabricID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccessControlID)
attributeId:@(MTRClusterAccessControlAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBridgedActions
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)instantActionWithParams:(MTRBridgedActionsClusterInstantActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::InstantAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)instantActionWithTransitionWithParams:(MTRBridgedActionsClusterInstantActionWithTransitionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::InstantActionWithTransition::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
request.transitionTime = params.transitionTime.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)startActionWithParams:(MTRBridgedActionsClusterStartActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::StartAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)startActionWithDurationWithParams:(MTRBridgedActionsClusterStartActionWithDurationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::StartActionWithDuration::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
request.duration = params.duration.unsignedIntValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopActionWithParams:(MTRBridgedActionsClusterStopActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::StopAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)pauseActionWithParams:(MTRBridgedActionsClusterPauseActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::PauseAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)pauseActionWithDurationWithParams:(MTRBridgedActionsClusterPauseActionWithDurationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::PauseActionWithDuration::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
request.duration = params.duration.unsignedIntValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)resumeActionWithParams:(MTRBridgedActionsClusterResumeActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::ResumeAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enableActionWithParams:(MTRBridgedActionsClusterEnableActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::EnableAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enableActionWithDurationWithParams:(MTRBridgedActionsClusterEnableActionWithDurationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::EnableActionWithDuration::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
request.duration = params.duration.unsignedIntValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)disableActionWithParams:(MTRBridgedActionsClusterDisableActionParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::DisableAction::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)disableActionWithDurationWithParams:(MTRBridgedActionsClusterDisableActionWithDurationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BridgedActions::Commands::DisableActionWithDuration::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.actionID = params.actionID.unsignedShortValue;
if (params.invokeID != nil) {
auto & definedValue_0 = request.invokeID.Emplace();
definedValue_0 = params.invokeID.unsignedIntValue;
}
request.duration = params.duration.unsignedIntValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BridgedActionsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeActionListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeActionListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEndpointListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeEndpointListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSetupUrlWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeSetupUrlID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedActionsID)
attributeId:@(MTRClusterBridgedActionsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBasic
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)mfgSpecificPingWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self mfgSpecificPingWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)mfgSpecificPingWithParams:(MTRBasicClusterMfgSpecificPingParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Basic::Commands::MfgSpecificPing::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BasicCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeDataModelRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeDataModelRevisionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeVendorNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeVendorIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeVendorIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeProductNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeProductIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNodeLabelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeNodeLabelID)
params:params];
}
- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNodeLabelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeNodeLabelID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLocationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeLocationID)
params:params];
}
- (void)writeAttributeLocationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLocationWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLocationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeLocationID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeHardwareVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeHardwareVersionStringID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeSoftwareVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeSoftwareVersionStringID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeManufacturingDateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeManufacturingDateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePartNumberWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributePartNumberID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductURLWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeProductURLID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductLabelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeProductLabelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSerialNumberWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeSerialNumberID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLocalConfigDisabledWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeLocalConfigDisabledID)
params:params];
}
- (void)writeAttributeLocalConfigDisabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLocalConfigDisabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLocalConfigDisabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeLocalConfigDisabledID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeReachableWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeReachableID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUniqueIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeUniqueIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCapabilityMinimaWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeCapabilityMinimaID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBasicID)
attributeId:@(MTRClusterBasicAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterOtaSoftwareUpdateProvider
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)queryImageWithParams:(MTROtaSoftwareUpdateProviderClusterQueryImageParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROtaSoftwareUpdateProviderClusterQueryImageResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OtaSoftwareUpdateProvider::Commands::QueryImage::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.vendorId
= static_cast<std::remove_reference_t<decltype(request.vendorId)>>(params.vendorId.unsignedShortValue);
request.productId = params.productId.unsignedShortValue;
request.softwareVersion = params.softwareVersion.unsignedIntValue;
{
using ListType_0 = std::remove_reference_t<decltype(request.protocolsSupported)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.protocolsSupported.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.protocolsSupported.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.protocolsSupported.count; ++i_0) {
if (![params.protocolsSupported[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.protocolsSupported[i_0];
listHolder_0->mList[i_0] = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0])>>(
element_0.unsignedCharValue);
}
request.protocolsSupported = ListType_0(listHolder_0->mList, params.protocolsSupported.count);
} else {
request.protocolsSupported = ListType_0();
}
}
if (params.hardwareVersion != nil) {
auto & definedValue_0 = request.hardwareVersion.Emplace();
definedValue_0 = params.hardwareVersion.unsignedShortValue;
}
if (params.location != nil) {
auto & definedValue_0 = request.location.Emplace();
definedValue_0 = [self asCharSpan:params.location];
}
if (params.requestorCanConsent != nil) {
auto & definedValue_0 = request.requestorCanConsent.Emplace();
definedValue_0 = params.requestorCanConsent.boolValue;
}
if (params.metadataForProvider != nil) {
auto & definedValue_0 = request.metadataForProvider.Emplace();
definedValue_0 = [self asByteSpan:params.metadataForProvider];
}
auto successFn = Callback<OtaSoftwareUpdateProviderClusterQueryImageResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OtaSoftwareUpdateProviderCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)applyUpdateRequestWithParams:(MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.updateToken = [self asByteSpan:params.updateToken];
request.newVersion = params.newVersion.unsignedIntValue;
auto successFn = Callback<OtaSoftwareUpdateProviderClusterApplyUpdateResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OtaSoftwareUpdateProviderCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)notifyUpdateAppliedWithParams:(MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.updateToken = [self asByteSpan:params.updateToken];
request.softwareVersion = params.softwareVersion.unsignedIntValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OtaSoftwareUpdateProviderCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateProviderID)
attributeId:@(MTRClusterOtaSoftwareUpdateProviderAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateProviderID)
attributeId:@(MTRClusterOtaSoftwareUpdateProviderAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateProviderID)
attributeId:@(MTRClusterOtaSoftwareUpdateProviderAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateProviderID)
attributeId:@(MTRClusterOtaSoftwareUpdateProviderAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateProviderID)
attributeId:@(MTRClusterOtaSoftwareUpdateProviderAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterOtaSoftwareUpdateRequestor
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)announceOtaProviderWithParams:(MTROtaSoftwareUpdateRequestorClusterAnnounceOtaProviderParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OtaSoftwareUpdateRequestor::Commands::AnnounceOtaProvider::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.providerNodeId = params.providerNodeId.unsignedLongLongValue;
request.vendorId
= static_cast<std::remove_reference_t<decltype(request.vendorId)>>(params.vendorId.unsignedShortValue);
request.announcementReason = static_cast<std::remove_reference_t<decltype(request.announcementReason)>>(
params.announcementReason.unsignedCharValue);
if (params.metadataForNode != nil) {
auto & definedValue_0 = request.metadataForNode.Emplace();
definedValue_0 = [self asByteSpan:params.metadataForNode];
}
request.endpoint = params.endpoint.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OtaSoftwareUpdateRequestorCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeDefaultOtaProvidersWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeDefaultOtaProvidersID)
params:params];
}
- (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeDefaultOtaProvidersWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeDefaultOtaProvidersID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUpdatePossibleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeUpdatePossibleID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUpdateStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeUpdateStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUpdateStateProgressWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeUpdateStateProgressID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOtaSoftwareUpdateRequestorID)
attributeId:@(MTRClusterOtaSoftwareUpdateRequestorAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterLocalizationConfiguration
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeActiveLocaleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeActiveLocaleID)
params:params];
}
- (void)writeAttributeActiveLocaleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeActiveLocaleWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeActiveLocaleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeActiveLocaleID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportedLocalesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeSupportedLocalesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLocalizationConfigurationID)
attributeId:@(MTRClusterLocalizationConfigurationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterTimeFormatLocalization
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeHourFormatWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeHourFormatID)
params:params];
}
- (void)writeAttributeHourFormatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeHourFormatWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeHourFormatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeHourFormatID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveCalendarTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeActiveCalendarTypeID)
params:params];
}
- (void)writeAttributeActiveCalendarTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeActiveCalendarTypeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeActiveCalendarTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeActiveCalendarTypeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportedCalendarTypesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeSupportedCalendarTypesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTimeFormatLocalizationID)
attributeId:@(MTRClusterTimeFormatLocalizationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterUnitLocalization
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeTemperatureUnitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeTemperatureUnitID)
params:params];
}
- (void)writeAttributeTemperatureUnitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeTemperatureUnitWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeTemperatureUnitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeTemperatureUnitID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUnitLocalizationID)
attributeId:@(MTRClusterUnitLocalizationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterPowerSourceConfiguration
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeSourcesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceConfigurationID)
attributeId:@(MTRClusterPowerSourceConfigurationAttributeSourcesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceConfigurationID)
attributeId:@(MTRClusterPowerSourceConfigurationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceConfigurationID)
attributeId:@(MTRClusterPowerSourceConfigurationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceConfigurationID)
attributeId:@(MTRClusterPowerSourceConfigurationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceConfigurationID)
attributeId:@(MTRClusterPowerSourceConfigurationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceConfigurationID)
attributeId:@(MTRClusterPowerSourceConfigurationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterPowerSource
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOrderWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeOrderID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDescriptionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeDescriptionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredAssessedInputVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredAssessedInputVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredAssessedInputFrequencyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredAssessedInputFrequencyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredCurrentTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredCurrentTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredAssessedCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredAssessedCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredNominalVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredNominalVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredMaximumCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredMaximumCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiredPresentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeWiredPresentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveWiredFaultsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeActiveWiredFaultsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatPercentRemainingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatPercentRemainingID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatTimeRemainingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatTimeRemainingID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatChargeLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatChargeLevelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatReplacementNeededWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatReplacementNeededID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatReplaceabilityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatReplaceabilityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatPresentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatPresentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveBatFaultsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeActiveBatFaultsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatReplacementDescriptionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatReplacementDescriptionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatCommonDesignationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatCommonDesignationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatANSIDesignationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatANSIDesignationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatIECDesignationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatIECDesignationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatApprovedChemistryWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatApprovedChemistryID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatCapacityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatCapacityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatQuantityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatQuantityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatChargeStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatChargeStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatTimeToFullChargeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatTimeToFullChargeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatFunctionalWhileChargingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatFunctionalWhileChargingID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBatChargingCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeBatChargingCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveBatChargeFaultsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeActiveBatChargeFaultsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPowerSourceID)
attributeId:@(MTRClusterPowerSourceAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterGeneralCommissioning
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)armFailSafeWithParams:(MTRGeneralCommissioningClusterArmFailSafeParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGeneralCommissioningClusterArmFailSafeResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GeneralCommissioning::Commands::ArmFailSafe::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.expiryLengthSeconds = params.expiryLengthSeconds.unsignedShortValue;
request.breadcrumb = params.breadcrumb.unsignedLongLongValue;
auto successFn = Callback<GeneralCommissioningClusterArmFailSafeResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GeneralCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setRegulatoryConfigWithParams:(MTRGeneralCommissioningClusterSetRegulatoryConfigParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge(self.callbackQueue, baseDevice,
completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GeneralCommissioning::Commands::SetRegulatoryConfig::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.newRegulatoryConfig = static_cast<std::remove_reference_t<decltype(request.newRegulatoryConfig)>>(
params.newRegulatoryConfig.unsignedCharValue);
request.countryCode = [self asCharSpan:params.countryCode];
request.breadcrumb = params.breadcrumb.unsignedLongLongValue;
auto successFn
= Callback<GeneralCommissioningClusterSetRegulatoryConfigResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GeneralCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)commissioningCompleteWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self commissioningCompleteWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)commissioningCompleteWithParams:(MTRGeneralCommissioningClusterCommissioningCompleteParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGeneralCommissioningClusterCommissioningCompleteResponseCallbackBridge(self.callbackQueue, baseDevice,
completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GeneralCommissioning::Commands::CommissioningComplete::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn
= Callback<GeneralCommissioningClusterCommissioningCompleteResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GeneralCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBreadcrumbWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeBreadcrumbID)
params:params];
}
- (void)writeAttributeBreadcrumbWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBreadcrumbWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBreadcrumbWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeBreadcrumbID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBasicCommissioningInfoWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeBasicCommissioningInfoID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRegulatoryConfigWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeRegulatoryConfigID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLocationCapabilityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeLocationCapabilityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportsConcurrentConnectionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeSupportsConcurrentConnectionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralCommissioningID)
attributeId:@(MTRClusterGeneralCommissioningAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterNetworkCommissioning
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)scanNetworksWithParams:(MTRNetworkCommissioningClusterScanNetworksParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRNetworkCommissioningClusterScanNetworksResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
NetworkCommissioning::Commands::ScanNetworks::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (params != nil) {
if (params.ssid != nil) {
auto & definedValue_0 = request.ssid.Emplace();
if (params.ssid == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
nonNullValue_1 = [self asByteSpan:params.ssid];
}
}
if (params.breadcrumb != nil) {
auto & definedValue_0 = request.breadcrumb.Emplace();
definedValue_0 = params.breadcrumb.unsignedLongLongValue;
}
}
auto successFn = Callback<NetworkCommissioningClusterScanNetworksResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::NetworkCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)addOrUpdateWiFiNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRNetworkCommissioningClusterNetworkConfigResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
NetworkCommissioning::Commands::AddOrUpdateWiFiNetwork::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.ssid = [self asByteSpan:params.ssid];
request.credentials = [self asByteSpan:params.credentials];
if (params.breadcrumb != nil) {
auto & definedValue_0 = request.breadcrumb.Emplace();
definedValue_0 = params.breadcrumb.unsignedLongLongValue;
}
auto successFn = Callback<NetworkCommissioningClusterNetworkConfigResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::NetworkCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)addOrUpdateThreadNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateThreadNetworkParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRNetworkCommissioningClusterNetworkConfigResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
NetworkCommissioning::Commands::AddOrUpdateThreadNetwork::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.operationalDataset = [self asByteSpan:params.operationalDataset];
if (params.breadcrumb != nil) {
auto & definedValue_0 = request.breadcrumb.Emplace();
definedValue_0 = params.breadcrumb.unsignedLongLongValue;
}
auto successFn = Callback<NetworkCommissioningClusterNetworkConfigResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::NetworkCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)removeNetworkWithParams:(MTRNetworkCommissioningClusterRemoveNetworkParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRNetworkCommissioningClusterNetworkConfigResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
NetworkCommissioning::Commands::RemoveNetwork::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.networkID = [self asByteSpan:params.networkID];
if (params.breadcrumb != nil) {
auto & definedValue_0 = request.breadcrumb.Emplace();
definedValue_0 = params.breadcrumb.unsignedLongLongValue;
}
auto successFn = Callback<NetworkCommissioningClusterNetworkConfigResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::NetworkCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)connectNetworkWithParams:(MTRNetworkCommissioningClusterConnectNetworkParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRNetworkCommissioningClusterConnectNetworkResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
NetworkCommissioning::Commands::ConnectNetwork::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.networkID = [self asByteSpan:params.networkID];
if (params.breadcrumb != nil) {
auto & definedValue_0 = request.breadcrumb.Emplace();
definedValue_0 = params.breadcrumb.unsignedLongLongValue;
}
auto successFn = Callback<NetworkCommissioningClusterConnectNetworkResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::NetworkCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)reorderNetworkWithParams:(MTRNetworkCommissioningClusterReorderNetworkParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRNetworkCommissioningClusterNetworkConfigResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
NetworkCommissioning::Commands::ReorderNetwork::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.networkID = [self asByteSpan:params.networkID];
request.networkIndex = params.networkIndex.unsignedCharValue;
if (params.breadcrumb != nil) {
auto & definedValue_0 = request.breadcrumb.Emplace();
definedValue_0 = params.breadcrumb.unsignedLongLongValue;
}
auto successFn = Callback<NetworkCommissioningClusterNetworkConfigResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::NetworkCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxNetworksWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeMaxNetworksID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNetworksWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeNetworksID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeScanMaxTimeSecondsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeScanMaxTimeSecondsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeConnectMaxTimeSecondsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeConnectMaxTimeSecondsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInterfaceEnabledWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeInterfaceEnabledID)
params:params];
}
- (void)writeAttributeInterfaceEnabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInterfaceEnabledWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInterfaceEnabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeInterfaceEnabledID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLastNetworkingStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeLastNetworkingStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLastNetworkIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeLastNetworkIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLastConnectErrorValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeLastConnectErrorValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterNetworkCommissioningID)
attributeId:@(MTRClusterNetworkCommissioningAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterDiagnosticLogs
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)retrieveLogsRequestWithParams:(MTRDiagnosticLogsClusterRetrieveLogsRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDiagnosticLogsClusterRetrieveLogsResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DiagnosticLogs::Commands::RetrieveLogsRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.intent = static_cast<std::remove_reference_t<decltype(request.intent)>>(params.intent.unsignedCharValue);
request.requestedProtocol = static_cast<std::remove_reference_t<decltype(request.requestedProtocol)>>(
params.requestedProtocol.unsignedCharValue);
request.transferFileDesignator = [self asByteSpan:params.transferFileDesignator];
auto successFn = Callback<DiagnosticLogsClusterRetrieveLogsResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DiagnosticLogsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDiagnosticLogsID)
attributeId:@(MTRClusterDiagnosticLogsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDiagnosticLogsID)
attributeId:@(MTRClusterDiagnosticLogsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDiagnosticLogsID)
attributeId:@(MTRClusterDiagnosticLogsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDiagnosticLogsID)
attributeId:@(MTRClusterDiagnosticLogsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDiagnosticLogsID)
attributeId:@(MTRClusterDiagnosticLogsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterGeneralDiagnostics
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTriggerParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GeneralDiagnostics::Commands::TestEventTrigger::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.enableKey = [self asByteSpan:params.enableKey];
request.eventTrigger = params.eventTrigger.unsignedLongLongValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GeneralDiagnosticsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNetworkInterfacesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeNetworkInterfacesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRebootCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeRebootCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUpTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeUpTimeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTotalOperationalHoursWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeTotalOperationalHoursID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBootReasonsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeBootReasonsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveHardwareFaultsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeActiveHardwareFaultsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveRadioFaultsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeActiveRadioFaultsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveNetworkFaultsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeActiveNetworkFaultsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTestEventTriggersEnabledWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeTestEventTriggersEnabledID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGeneralDiagnosticsID)
attributeId:@(MTRClusterGeneralDiagnosticsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterSoftwareDiagnostics
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)resetWatermarksWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self resetWatermarksWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)resetWatermarksWithParams:(MTRSoftwareDiagnosticsClusterResetWatermarksParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
SoftwareDiagnostics::Commands::ResetWatermarks::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::SoftwareDiagnosticsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeThreadMetricsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeThreadMetricsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentHeapFreeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeCurrentHeapFreeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentHeapUsedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeCurrentHeapUsedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentHeapHighWatermarkWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeCurrentHeapHighWatermarkID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSoftwareDiagnosticsID)
attributeId:@(MTRClusterSoftwareDiagnosticsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterThreadNetworkDiagnostics
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)resetCountsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self resetCountsWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)resetCountsWithParams:(MTRThreadNetworkDiagnosticsClusterResetCountsParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ThreadNetworkDiagnostics::Commands::ResetCounts::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ThreadNetworkDiagnosticsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeChannelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeChannelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRoutingRoleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRoutingRoleID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNetworkNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeNetworkNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePanIdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributePanIdID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeExtendedPanIdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeExtendedPanIdID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeshLocalPrefixWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeMeshLocalPrefixID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOverrunCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeOverrunCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNeighborTableListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeNeighborTableListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRouteTableListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRouteTableListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePartitionIdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributePartitionIdID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWeightingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeWeightingID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDataVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeDataVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStableDataVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeStableDataVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLeaderRouterIdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeLeaderRouterIdID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDetachedRoleCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeDetachedRoleCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeChildRoleCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeChildRoleCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRouterRoleCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRouterRoleCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLeaderRoleCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeLeaderRoleCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttachAttemptCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeAttachAttemptCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePartitionIdChangeCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributePartitionIdChangeCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBetterPartitionAttachAttemptCountWithParams:(MTRReadParams * _Nullable)params
{
return
[self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeBetterPartitionAttachAttemptCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeParentChangeCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeParentChangeCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxTotalCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxTotalCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxUnicastCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxUnicastCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxBroadcastCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxBroadcastCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxAckRequestedCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxAckRequestedCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxAckedCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxAckedCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxNoAckRequestedCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxNoAckRequestedCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxDataCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxDataCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxDataPollCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxDataPollCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxBeaconCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxBeaconCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxBeaconRequestCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxBeaconRequestCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxOtherCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxOtherCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxRetryCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxRetryCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxDirectMaxRetryExpiryCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxDirectMaxRetryExpiryCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxIndirectMaxRetryExpiryCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxIndirectMaxRetryExpiryCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxErrCcaCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxErrCcaCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxErrAbortCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxErrAbortCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxErrBusyChannelCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeTxErrBusyChannelCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxTotalCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxTotalCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxUnicastCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxUnicastCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxBroadcastCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxBroadcastCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxDataCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxDataCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxDataPollCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxDataPollCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxBeaconCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxBeaconCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxBeaconRequestCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxBeaconRequestCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxOtherCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxOtherCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxAddressFilteredCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxAddressFilteredCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxDestAddrFilteredCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxDestAddrFilteredCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxDuplicatedCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxDuplicatedCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxErrNoFrameCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxErrNoFrameCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxErrUnknownNeighborCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxErrUnknownNeighborCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxErrInvalidSrcAddrCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxErrInvalidSrcAddrCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxErrSecCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxErrSecCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxErrFcsCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxErrFcsCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRxErrOtherCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeRxErrOtherCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveTimestampWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeActiveTimestampID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePendingTimestampWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributePendingTimestampID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeDelayID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSecurityPolicyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeSecurityPolicyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeChannelPage0MaskWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeChannelPage0MaskID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOperationalDatasetComponentsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeOperationalDatasetComponentsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveNetworkFaultsListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeActiveNetworkFaultsListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThreadNetworkDiagnosticsID)
attributeId:@(MTRClusterThreadNetworkDiagnosticsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterWiFiNetworkDiagnostics
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)resetCountsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self resetCountsWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)resetCountsWithParams:(MTRWiFiNetworkDiagnosticsClusterResetCountsParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WiFiNetworkDiagnostics::Commands::ResetCounts::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WiFiNetworkDiagnosticsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBssidWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeBssidID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSecurityTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeSecurityTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWiFiVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeWiFiVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeChannelNumberWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeChannelNumberID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRssiWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeRssiID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBeaconLostCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeBeaconLostCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBeaconRxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeBeaconRxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePacketMulticastRxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributePacketMulticastRxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePacketMulticastTxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributePacketMulticastTxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePacketUnicastRxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributePacketUnicastRxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePacketUnicastTxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributePacketUnicastTxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentMaxRateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeCurrentMaxRateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOverrunCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeOverrunCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWiFiNetworkDiagnosticsID)
attributeId:@(MTRClusterWiFiNetworkDiagnosticsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterEthernetNetworkDiagnostics
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)resetCountsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self resetCountsWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)resetCountsWithParams:(MTREthernetNetworkDiagnosticsClusterResetCountsParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
EthernetNetworkDiagnostics::Commands::ResetCounts::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::EthernetNetworkDiagnosticsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributePHYRateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributePHYRateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFullDuplexWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeFullDuplexID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePacketRxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributePacketRxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePacketTxCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributePacketTxCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTxErrCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeTxErrCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCollisionCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeCollisionCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOverrunCountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeOverrunCountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCarrierDetectWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeCarrierDetectID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTimeSinceResetWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeTimeSinceResetID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterEthernetNetworkDiagnosticsID)
attributeId:@(MTRClusterEthernetNetworkDiagnosticsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBridgedDeviceBasic
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeVendorNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeVendorIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeVendorIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeProductNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNodeLabelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeNodeLabelID)
params:params];
}
- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNodeLabelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeNodeLabelID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeHardwareVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeHardwareVersionStringID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeSoftwareVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeSoftwareVersionStringID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeManufacturingDateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeManufacturingDateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePartNumberWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributePartNumberID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductURLWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeProductURLID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductLabelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeProductLabelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSerialNumberWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeSerialNumberID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeReachableWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeReachableID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUniqueIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeUniqueIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBridgedDeviceBasicID)
attributeId:@(MTRClusterBridgedDeviceBasicAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterSwitch
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfPositionsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeNumberOfPositionsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeCurrentPositionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMultiPressMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeMultiPressMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterSwitchID)
attributeId:@(MTRClusterSwitchAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterAdministratorCommissioning
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)openCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenCommissioningWindowParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AdministratorCommissioning::Commands::OpenCommissioningWindow::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.commissioningTimeout = params.commissioningTimeout.unsignedShortValue;
request.PAKEVerifier = [self asByteSpan:params.pakeVerifier];
request.discriminator = params.discriminator.unsignedShortValue;
request.iterations = params.iterations.unsignedIntValue;
request.salt = [self asByteSpan:params.salt];
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AdministratorCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)openBasicCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenBasicCommissioningWindowParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.commissioningTimeout = params.commissioningTimeout.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AdministratorCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)revokeCommissioningWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self revokeCommissioningWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)revokeCommissioningWithParams:(MTRAdministratorCommissioningClusterRevokeCommissioningParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AdministratorCommissioning::Commands::RevokeCommissioning::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AdministratorCommissioningCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeWindowStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeWindowStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAdminFabricIndexWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeAdminFabricIndexID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAdminVendorIdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeAdminVendorIdID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAdministratorCommissioningID)
attributeId:@(MTRClusterAdministratorCommissioningAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterOperationalCredentials
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)attestationRequestWithParams:(MTROperationalCredentialsClusterAttestationRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterAttestationResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::AttestationRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.attestationNonce = [self asByteSpan:params.attestationNonce];
auto successFn = Callback<OperationalCredentialsClusterAttestationResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)certificateChainRequestWithParams:(MTROperationalCredentialsClusterCertificateChainRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterCertificateChainResponseCallbackBridge(self.callbackQueue, baseDevice,
completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::CertificateChainRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.certificateType = params.certificateType.unsignedCharValue;
auto successFn
= Callback<OperationalCredentialsClusterCertificateChainResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)CSRRequestWithParams:(MTROperationalCredentialsClusterCSRRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterCSRResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterCSRResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::CSRRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.CSRNonce = [self asByteSpan:params.csrNonce];
if (params.isForUpdateNOC != nil) {
auto & definedValue_0 = request.isForUpdateNOC.Emplace();
definedValue_0 = params.isForUpdateNOC.boolValue;
}
auto successFn = Callback<OperationalCredentialsClusterCSRResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)addNOCWithParams:(MTROperationalCredentialsClusterAddNOCParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterNOCResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::AddNOC::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.NOCValue = [self asByteSpan:params.nocValue];
if (params.icacValue != nil) {
auto & definedValue_0 = request.ICACValue.Emplace();
definedValue_0 = [self asByteSpan:params.icacValue];
}
request.IPKValue = [self asByteSpan:params.ipkValue];
request.caseAdminSubject = params.caseAdminSubject.unsignedLongLongValue;
request.adminVendorId = static_cast<std::remove_reference_t<decltype(request.adminVendorId)>>(
params.adminVendorId.unsignedShortValue);
auto successFn = Callback<OperationalCredentialsClusterNOCResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)updateNOCWithParams:(MTROperationalCredentialsClusterUpdateNOCParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterNOCResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::UpdateNOC::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.NOCValue = [self asByteSpan:params.nocValue];
if (params.icacValue != nil) {
auto & definedValue_0 = request.ICACValue.Emplace();
definedValue_0 = [self asByteSpan:params.icacValue];
}
auto successFn = Callback<OperationalCredentialsClusterNOCResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)updateFabricLabelWithParams:(MTROperationalCredentialsClusterUpdateFabricLabelParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterNOCResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::UpdateFabricLabel::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.label = [self asCharSpan:params.label];
auto successFn = Callback<OperationalCredentialsClusterNOCResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)removeFabricWithParams:(MTROperationalCredentialsClusterRemoveFabricParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTROperationalCredentialsClusterNOCResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::RemoveFabric::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.fabricIndex = params.fabricIndex.unsignedCharValue;
auto successFn = Callback<OperationalCredentialsClusterNOCResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAddTrustedRootCertificateParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
OperationalCredentials::Commands::AddTrustedRootCertificate::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.rootCertificate = [self asByteSpan:params.rootCertificate];
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::OperationalCredentialsCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNOCsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeNOCsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFabricsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeFabricsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportedFabricsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeSupportedFabricsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCommissionedFabricsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeCommissionedFabricsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTrustedRootCertificatesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeTrustedRootCertificatesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentFabricIndexWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeCurrentFabricIndexID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOperationalCredentialsID)
attributeId:@(MTRClusterOperationalCredentialsAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterGroupKeyManagement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)keySetWriteWithParams:(MTRGroupKeyManagementClusterKeySetWriteParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GroupKeyManagement::Commands::KeySetWrite::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupKeySet.groupKeySetID = params.groupKeySet.groupKeySetID.unsignedShortValue;
request.groupKeySet.groupKeySecurityPolicy
= static_cast<std::remove_reference_t<decltype(request.groupKeySet.groupKeySecurityPolicy)>>(
params.groupKeySet.groupKeySecurityPolicy.unsignedCharValue);
if (params.groupKeySet.epochKey0 == nil) {
request.groupKeySet.epochKey0.SetNull();
} else {
auto & nonNullValue_1 = request.groupKeySet.epochKey0.SetNonNull();
nonNullValue_1 = [self asByteSpan:params.groupKeySet.epochKey0];
}
if (params.groupKeySet.epochStartTime0 == nil) {
request.groupKeySet.epochStartTime0.SetNull();
} else {
auto & nonNullValue_1 = request.groupKeySet.epochStartTime0.SetNonNull();
nonNullValue_1 = params.groupKeySet.epochStartTime0.unsignedLongLongValue;
}
if (params.groupKeySet.epochKey1 == nil) {
request.groupKeySet.epochKey1.SetNull();
} else {
auto & nonNullValue_1 = request.groupKeySet.epochKey1.SetNonNull();
nonNullValue_1 = [self asByteSpan:params.groupKeySet.epochKey1];
}
if (params.groupKeySet.epochStartTime1 == nil) {
request.groupKeySet.epochStartTime1.SetNull();
} else {
auto & nonNullValue_1 = request.groupKeySet.epochStartTime1.SetNonNull();
nonNullValue_1 = params.groupKeySet.epochStartTime1.unsignedLongLongValue;
}
if (params.groupKeySet.epochKey2 == nil) {
request.groupKeySet.epochKey2.SetNull();
} else {
auto & nonNullValue_1 = request.groupKeySet.epochKey2.SetNonNull();
nonNullValue_1 = [self asByteSpan:params.groupKeySet.epochKey2];
}
if (params.groupKeySet.epochStartTime2 == nil) {
request.groupKeySet.epochStartTime2.SetNull();
} else {
auto & nonNullValue_1 = request.groupKeySet.epochStartTime2.SetNonNull();
nonNullValue_1 = params.groupKeySet.epochStartTime2.unsignedLongLongValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupKeyManagementCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)keySetReadWithParams:(MTRGroupKeyManagementClusterKeySetReadParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGroupKeyManagementClusterKeySetReadResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GroupKeyManagement::Commands::KeySetRead::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupKeySetID = params.groupKeySetID.unsignedShortValue;
auto successFn = Callback<GroupKeyManagementClusterKeySetReadResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupKeyManagementCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)keySetRemoveWithParams:(MTRGroupKeyManagementClusterKeySetRemoveParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GroupKeyManagement::Commands::KeySetRemove::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.groupKeySetID = params.groupKeySetID.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupKeyManagementCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)keySetReadAllIndicesWithParams:(MTRGroupKeyManagementClusterKeySetReadAllIndicesParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseCallbackBridge(self.callbackQueue, baseDevice,
completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
GroupKeyManagement::Commands::KeySetReadAllIndices::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.groupKeySetIDs)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.groupKeySetIDs.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.groupKeySetIDs.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.groupKeySetIDs.count; ++i_0) {
if (![params.groupKeySetIDs[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.groupKeySetIDs[i_0];
listHolder_0->mList[i_0] = element_0.unsignedShortValue;
}
request.groupKeySetIDs = ListType_0(listHolder_0->mList, params.groupKeySetIDs.count);
} else {
request.groupKeySetIDs = ListType_0();
}
}
auto successFn
= Callback<GroupKeyManagementClusterKeySetReadAllIndicesResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::GroupKeyManagementCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGroupKeyMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeGroupKeyMapID)
params:params];
}
- (void)writeAttributeGroupKeyMapWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeGroupKeyMapWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeGroupKeyMapWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeGroupKeyMapID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGroupTableWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeGroupTableID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxGroupsPerFabricWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeMaxGroupsPerFabricID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxGroupKeysPerFabricWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeMaxGroupKeysPerFabricID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterGroupKeyManagementID)
attributeId:@(MTRClusterGroupKeyManagementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterFixedLabel
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFixedLabelID)
attributeId:@(MTRClusterFixedLabelAttributeLabelListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFixedLabelID)
attributeId:@(MTRClusterFixedLabelAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFixedLabelID)
attributeId:@(MTRClusterFixedLabelAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFixedLabelID)
attributeId:@(MTRClusterFixedLabelAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFixedLabelID)
attributeId:@(MTRClusterFixedLabelAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFixedLabelID)
attributeId:@(MTRClusterFixedLabelAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterUserLabel
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeLabelListID)
params:params];
}
- (void)writeAttributeLabelListWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLabelListWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLabelListWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeLabelListID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterUserLabelID)
attributeId:@(MTRClusterUserLabelAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBooleanState
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeStateValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBooleanStateID)
attributeId:@(MTRClusterBooleanStateAttributeStateValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBooleanStateID)
attributeId:@(MTRClusterBooleanStateAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBooleanStateID)
attributeId:@(MTRClusterBooleanStateAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBooleanStateID)
attributeId:@(MTRClusterBooleanStateAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBooleanStateID)
attributeId:@(MTRClusterBooleanStateAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBooleanStateID)
attributeId:@(MTRClusterBooleanStateAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterModeSelect
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)changeToModeWithParams:(MTRModeSelectClusterChangeToModeParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ModeSelect::Commands::ChangeToMode::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.newMode = params.newMode.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ModeSelectCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeDescriptionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeDescriptionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStandardNamespaceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeStandardNamespaceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportedModesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeSupportedModesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeCurrentModeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStartUpModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeStartUpModeID)
params:params];
}
- (void)writeAttributeStartUpModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeStartUpModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeStartUpModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeStartUpModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOnModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeOnModeID)
params:params];
}
- (void)writeAttributeOnModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOnModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOnModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeOnModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterModeSelectID)
attributeId:@(MTRClusterModeSelectAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterDoorLock
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)lockDoorWithParams:(MTRDoorLockClusterLockDoorParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::LockDoor::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
if (params != nil) {
if (params.pinCode != nil) {
auto & definedValue_0 = request.pinCode.Emplace();
definedValue_0 = [self asByteSpan:params.pinCode];
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)unlockDoorWithParams:(MTRDoorLockClusterUnlockDoorParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::UnlockDoor::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
if (params != nil) {
if (params.pinCode != nil) {
auto & definedValue_0 = request.pinCode.Emplace();
definedValue_0 = [self asByteSpan:params.pinCode];
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)unlockWithTimeoutWithParams:(MTRDoorLockClusterUnlockWithTimeoutParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::UnlockWithTimeout::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.timeout = params.timeout.unsignedShortValue;
if (params.pinCode != nil) {
auto & definedValue_0 = request.pinCode.Emplace();
definedValue_0 = [self asByteSpan:params.pinCode];
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setWeekDayScheduleWithParams:(MTRDoorLockClusterSetWeekDayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::SetWeekDaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.weekDayIndex = params.weekDayIndex.unsignedCharValue;
request.userIndex = params.userIndex.unsignedShortValue;
request.daysMask
= static_cast<std::remove_reference_t<decltype(request.daysMask)>>(params.daysMask.unsignedCharValue);
request.startHour = params.startHour.unsignedCharValue;
request.startMinute = params.startMinute.unsignedCharValue;
request.endHour = params.endHour.unsignedCharValue;
request.endMinute = params.endMinute.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getWeekDayScheduleWithParams:(MTRDoorLockClusterGetWeekDayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDoorLockClusterGetWeekDayScheduleResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::GetWeekDaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.weekDayIndex = params.weekDayIndex.unsignedCharValue;
request.userIndex = params.userIndex.unsignedShortValue;
auto successFn = Callback<DoorLockClusterGetWeekDayScheduleResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)clearWeekDayScheduleWithParams:(MTRDoorLockClusterClearWeekDayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::ClearWeekDaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.weekDayIndex = params.weekDayIndex.unsignedCharValue;
request.userIndex = params.userIndex.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setYearDayScheduleWithParams:(MTRDoorLockClusterSetYearDayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::SetYearDaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.yearDayIndex = params.yearDayIndex.unsignedCharValue;
request.userIndex = params.userIndex.unsignedShortValue;
request.localStartTime = params.localStartTime.unsignedIntValue;
request.localEndTime = params.localEndTime.unsignedIntValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getYearDayScheduleWithParams:(MTRDoorLockClusterGetYearDayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDoorLockClusterGetYearDayScheduleResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::GetYearDaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.yearDayIndex = params.yearDayIndex.unsignedCharValue;
request.userIndex = params.userIndex.unsignedShortValue;
auto successFn = Callback<DoorLockClusterGetYearDayScheduleResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)clearYearDayScheduleWithParams:(MTRDoorLockClusterClearYearDayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::ClearYearDaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.yearDayIndex = params.yearDayIndex.unsignedCharValue;
request.userIndex = params.userIndex.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setHolidayScheduleWithParams:(MTRDoorLockClusterSetHolidayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::SetHolidaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.holidayIndex = params.holidayIndex.unsignedCharValue;
request.localStartTime = params.localStartTime.unsignedIntValue;
request.localEndTime = params.localEndTime.unsignedIntValue;
request.operatingMode
= static_cast<std::remove_reference_t<decltype(request.operatingMode)>>(params.operatingMode.unsignedCharValue);
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getHolidayScheduleWithParams:(MTRDoorLockClusterGetHolidayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRDoorLockClusterGetHolidayScheduleResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDoorLockClusterGetHolidayScheduleResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::GetHolidaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.holidayIndex = params.holidayIndex.unsignedCharValue;
auto successFn = Callback<DoorLockClusterGetHolidayScheduleResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)clearHolidayScheduleWithParams:(MTRDoorLockClusterClearHolidayScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::ClearHolidaySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.holidayIndex = params.holidayIndex.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setUserWithParams:(MTRDoorLockClusterSetUserParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::SetUser::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.operationType
= static_cast<std::remove_reference_t<decltype(request.operationType)>>(params.operationType.unsignedCharValue);
request.userIndex = params.userIndex.unsignedShortValue;
if (params.userName == nil) {
request.userName.SetNull();
} else {
auto & nonNullValue_0 = request.userName.SetNonNull();
nonNullValue_0 = [self asCharSpan:params.userName];
}
if (params.userUniqueId == nil) {
request.userUniqueId.SetNull();
} else {
auto & nonNullValue_0 = request.userUniqueId.SetNonNull();
nonNullValue_0 = params.userUniqueId.unsignedIntValue;
}
if (params.userStatus == nil) {
request.userStatus.SetNull();
} else {
auto & nonNullValue_0 = request.userStatus.SetNonNull();
nonNullValue_0
= static_cast<std::remove_reference_t<decltype(nonNullValue_0)>>(params.userStatus.unsignedCharValue);
}
if (params.userType == nil) {
request.userType.SetNull();
} else {
auto & nonNullValue_0 = request.userType.SetNonNull();
nonNullValue_0
= static_cast<std::remove_reference_t<decltype(nonNullValue_0)>>(params.userType.unsignedCharValue);
}
if (params.credentialRule == nil) {
request.credentialRule.SetNull();
} else {
auto & nonNullValue_0 = request.credentialRule.SetNonNull();
nonNullValue_0
= static_cast<std::remove_reference_t<decltype(nonNullValue_0)>>(params.credentialRule.unsignedCharValue);
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getUserWithParams:(MTRDoorLockClusterGetUserParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRDoorLockClusterGetUserResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDoorLockClusterGetUserResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::GetUser::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.userIndex = params.userIndex.unsignedShortValue;
auto successFn = Callback<DoorLockClusterGetUserResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)clearUserWithParams:(MTRDoorLockClusterClearUserParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::ClearUser::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.userIndex = params.userIndex.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setCredentialWithParams:(MTRDoorLockClusterSetCredentialParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRDoorLockClusterSetCredentialResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDoorLockClusterSetCredentialResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::SetCredential::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.operationType
= static_cast<std::remove_reference_t<decltype(request.operationType)>>(params.operationType.unsignedCharValue);
request.credential.credentialType
= static_cast<std::remove_reference_t<decltype(request.credential.credentialType)>>(
params.credential.credentialType.unsignedCharValue);
request.credential.credentialIndex = params.credential.credentialIndex.unsignedShortValue;
request.credentialData = [self asByteSpan:params.credentialData];
if (params.userIndex == nil) {
request.userIndex.SetNull();
} else {
auto & nonNullValue_0 = request.userIndex.SetNonNull();
nonNullValue_0 = params.userIndex.unsignedShortValue;
}
if (params.userStatus == nil) {
request.userStatus.SetNull();
} else {
auto & nonNullValue_0 = request.userStatus.SetNonNull();
nonNullValue_0
= static_cast<std::remove_reference_t<decltype(nonNullValue_0)>>(params.userStatus.unsignedCharValue);
}
if (params.userType == nil) {
request.userType.SetNull();
} else {
auto & nonNullValue_0 = request.userType.SetNonNull();
nonNullValue_0
= static_cast<std::remove_reference_t<decltype(nonNullValue_0)>>(params.userType.unsignedCharValue);
}
auto successFn = Callback<DoorLockClusterSetCredentialResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getCredentialStatusWithParams:(MTRDoorLockClusterGetCredentialStatusParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRDoorLockClusterGetCredentialStatusResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRDoorLockClusterGetCredentialStatusResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::GetCredentialStatus::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.credential.credentialType
= static_cast<std::remove_reference_t<decltype(request.credential.credentialType)>>(
params.credential.credentialType.unsignedCharValue);
request.credential.credentialIndex = params.credential.credentialIndex.unsignedShortValue;
auto successFn = Callback<DoorLockClusterGetCredentialStatusResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)clearCredentialWithParams:(MTRDoorLockClusterClearCredentialParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
DoorLock::Commands::ClearCredential::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
if (params.credential == nil) {
request.credential.SetNull();
} else {
auto & nonNullValue_0 = request.credential.SetNonNull();
nonNullValue_0.credentialType = static_cast<std::remove_reference_t<decltype(nonNullValue_0.credentialType)>>(
params.credential.credentialType.unsignedCharValue);
nonNullValue_0.credentialIndex = params.credential.credentialIndex.unsignedShortValue;
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::DoorLockCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLockStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLockStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLockTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLockTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActuatorEnabledWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeActuatorEnabledID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDoorStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeDoorStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDoorOpenEventsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeDoorOpenEventsID)
params:params];
}
- (void)writeAttributeDoorOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeDoorOpenEventsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeDoorOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeDoorOpenEventsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeDoorClosedEventsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeDoorClosedEventsID)
params:params];
}
- (void)writeAttributeDoorClosedEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeDoorClosedEventsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeDoorClosedEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeDoorClosedEventsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOpenPeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeOpenPeriodID)
params:params];
}
- (void)writeAttributeOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOpenPeriodWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeOpenPeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfTotalUsersSupportedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfTotalUsersSupportedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfPINUsersSupportedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfPINUsersSupportedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfRFIDUsersSupportedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfRFIDUsersSupportedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfWeekDaySchedulesSupportedPerUserID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfYearDaySchedulesSupportedPerUserWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfYearDaySchedulesSupportedPerUserID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfHolidaySchedulesSupportedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfHolidaySchedulesSupportedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxPINCodeLengthWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeMaxPINCodeLengthID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinPINCodeLengthWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeMinPINCodeLengthID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxRFIDCodeLengthWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeMaxRFIDCodeLengthID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinRFIDCodeLengthWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeMinRFIDCodeLengthID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCredentialRulesSupportWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeCredentialRulesSupportID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfCredentialsSupportedPerUserWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeNumberOfCredentialsSupportedPerUserID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLanguageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLanguageID)
params:params];
}
- (void)writeAttributeLanguageWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLanguageWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLanguageWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLanguageID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLEDSettingsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLEDSettingsID)
params:params];
}
- (void)writeAttributeLEDSettingsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLEDSettingsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLEDSettingsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLEDSettingsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeAutoRelockTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeAutoRelockTimeID)
params:params];
}
- (void)writeAttributeAutoRelockTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeAutoRelockTimeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeAutoRelockTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeAutoRelockTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSoundVolumeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeSoundVolumeID)
params:params];
}
- (void)writeAttributeSoundVolumeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeSoundVolumeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeSoundVolumeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeSoundVolumeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOperatingModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeOperatingModeID)
params:params];
}
- (void)writeAttributeOperatingModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOperatingModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOperatingModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeOperatingModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportedOperatingModesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeSupportedOperatingModesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDefaultConfigurationRegisterWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeDefaultConfigurationRegisterID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEnableLocalProgrammingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnableLocalProgrammingID)
params:params];
}
- (void)writeAttributeEnableLocalProgrammingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnableLocalProgrammingWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeEnableLocalProgrammingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnableLocalProgrammingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnableOneTouchLockingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnableOneTouchLockingID)
params:params];
}
- (void)writeAttributeEnableOneTouchLockingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnableOneTouchLockingWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeEnableOneTouchLockingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnableOneTouchLockingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnableInsideStatusLEDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnableInsideStatusLEDID)
params:params];
}
- (void)writeAttributeEnableInsideStatusLEDWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnableInsideStatusLEDWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeEnableInsideStatusLEDWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnableInsideStatusLEDID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnablePrivacyModeButtonWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnablePrivacyModeButtonID)
params:params];
}
- (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnablePrivacyModeButtonWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeEnablePrivacyModeButtonID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLocalProgrammingFeaturesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLocalProgrammingFeaturesID)
params:params];
}
- (void)writeAttributeLocalProgrammingFeaturesWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLocalProgrammingFeaturesWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeLocalProgrammingFeaturesWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeLocalProgrammingFeaturesID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeWrongCodeEntryLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeWrongCodeEntryLimitID)
params:params];
}
- (void)writeAttributeWrongCodeEntryLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeWrongCodeEntryLimitWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeWrongCodeEntryLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeWrongCodeEntryLimitID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUserCodeTemporaryDisableTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeUserCodeTemporaryDisableTimeID)
params:params];
}
- (void)writeAttributeUserCodeTemporaryDisableTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUserCodeTemporaryDisableTimeWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeUserCodeTemporaryDisableTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeUserCodeTemporaryDisableTimeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSendPINOverTheAirWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeSendPINOverTheAirID)
params:params];
}
- (void)writeAttributeSendPINOverTheAirWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeSendPINOverTheAirWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeSendPINOverTheAirWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeSendPINOverTheAirID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRequirePINforRemoteOperationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeRequirePINforRemoteOperationID)
params:params];
}
- (void)writeAttributeRequirePINforRemoteOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRequirePINforRemoteOperationWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeRequirePINforRemoteOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeRequirePINforRemoteOperationID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeExpiringUserTimeoutWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeExpiringUserTimeoutID)
params:params];
}
- (void)writeAttributeExpiringUserTimeoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeExpiringUserTimeoutWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeExpiringUserTimeoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeExpiringUserTimeoutID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterDoorLockID)
attributeId:@(MTRClusterDoorLockAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterWindowCovering
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)upOrOpenWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self upOrOpenWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)upOrOpenWithParams:(MTRWindowCoveringClusterUpOrOpenParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::UpOrOpen::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)downOrCloseWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self downOrCloseWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)downOrCloseWithParams:(MTRWindowCoveringClusterDownOrCloseParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::DownOrClose::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopMotionWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self stopMotionWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)stopMotionWithParams:(MTRWindowCoveringClusterStopMotionParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::StopMotion::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)goToLiftValueWithParams:(MTRWindowCoveringClusterGoToLiftValueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::GoToLiftValue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.liftValue = params.liftValue.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)goToLiftPercentageWithParams:(MTRWindowCoveringClusterGoToLiftPercentageParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::GoToLiftPercentage::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.liftPercent100thsValue = params.liftPercent100thsValue.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)goToTiltValueWithParams:(MTRWindowCoveringClusterGoToTiltValueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::GoToTiltValue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.tiltValue = params.tiltValue.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)goToTiltPercentageWithParams:(MTRWindowCoveringClusterGoToTiltPercentageParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
WindowCovering::Commands::GoToTiltPercentage::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.tiltPercent100thsValue = params.tiltPercent100thsValue.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::WindowCoveringCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalClosedLimitLiftWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributePhysicalClosedLimitLiftID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalClosedLimitTiltWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributePhysicalClosedLimitTiltID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionLiftWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeCurrentPositionLiftID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionTiltWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeCurrentPositionTiltID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfActuationsLiftWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeNumberOfActuationsLiftID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfActuationsTiltWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeNumberOfActuationsTiltID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeConfigStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeConfigStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionLiftPercentageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeCurrentPositionLiftPercentageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionTiltPercentageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeCurrentPositionTiltPercentageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOperationalStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeOperationalStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTargetPositionLiftPercent100thsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeTargetPositionLiftPercent100thsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTargetPositionTiltPercent100thsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeTargetPositionTiltPercent100thsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEndProductTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeEndProductTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionLiftPercent100thsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeCurrentPositionLiftPercent100thsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionTiltPercent100thsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeCurrentPositionTiltPercent100thsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstalledOpenLimitLiftWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeInstalledOpenLimitLiftID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstalledClosedLimitLiftWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeInstalledClosedLimitLiftID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstalledOpenLimitTiltWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeInstalledOpenLimitTiltID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstalledClosedLimitTiltWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeInstalledClosedLimitTiltID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeModeID)
params:params];
}
- (void)writeAttributeModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSafetyStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeSafetyStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWindowCoveringID)
attributeId:@(MTRClusterWindowCoveringAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBarrierControl
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)barrierControlGoToPercentWithParams:(MTRBarrierControlClusterBarrierControlGoToPercentParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BarrierControl::Commands::BarrierControlGoToPercent::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.percentOpen = params.percentOpen.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BarrierControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)barrierControlStopWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self barrierControlStopWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)barrierControlStopWithParams:(MTRBarrierControlClusterBarrierControlStopParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
BarrierControl::Commands::BarrierControlStop::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::BarrierControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierMovingStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierMovingStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierSafetyStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierSafetyStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierCapabilitiesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCapabilitiesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierOpenEventsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierOpenEventsID)
params:params];
}
- (void)writeAttributeBarrierOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBarrierOpenEventsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBarrierOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierOpenEventsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierCloseEventsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCloseEventsID)
params:params];
}
- (void)writeAttributeBarrierCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBarrierCloseEventsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBarrierCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCloseEventsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierCommandOpenEventsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCommandOpenEventsID)
params:params];
}
- (void)writeAttributeBarrierCommandOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBarrierCommandOpenEventsWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeBarrierCommandOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCommandOpenEventsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierCommandCloseEventsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCommandCloseEventsID)
params:params];
}
- (void)writeAttributeBarrierCommandCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBarrierCommandCloseEventsWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeBarrierCommandCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierCommandCloseEventsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierOpenPeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierOpenPeriodID)
params:params];
}
- (void)writeAttributeBarrierOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBarrierOpenPeriodWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBarrierOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierOpenPeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierClosePeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierClosePeriodID)
params:params];
}
- (void)writeAttributeBarrierClosePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBarrierClosePeriodWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBarrierClosePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierClosePeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBarrierPositionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeBarrierPositionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBarrierControlID)
attributeId:@(MTRClusterBarrierControlAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterPumpConfigurationAndControl
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMaxPressureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxPressureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxSpeedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxSpeedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxFlowWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxFlowID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinConstPressureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMinConstPressureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxConstPressureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxConstPressureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinCompPressureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMinCompPressureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxCompPressureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxCompPressureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinConstSpeedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMinConstSpeedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxConstSpeedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxConstSpeedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinConstFlowWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMinConstFlowID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxConstFlowWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxConstFlowID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinConstTempWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMinConstTempID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxConstTempWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeMaxConstTempID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePumpStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributePumpStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEffectiveOperationModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeEffectiveOperationModeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEffectiveControlModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeEffectiveControlModeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCapacityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeCapacityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSpeedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeSpeedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLifetimeRunningHoursWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeLifetimeRunningHoursID)
params:params];
}
- (void)writeAttributeLifetimeRunningHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLifetimeRunningHoursWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLifetimeRunningHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeLifetimeRunningHoursID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributePowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLifetimeEnergyConsumedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeLifetimeEnergyConsumedID)
params:params];
}
- (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLifetimeEnergyConsumedWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeLifetimeEnergyConsumedID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOperationModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeOperationModeID)
params:params];
}
- (void)writeAttributeOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOperationModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeOperationModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeControlModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeControlModeID)
params:params];
}
- (void)writeAttributeControlModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeControlModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeControlModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeControlModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPumpConfigurationAndControlID)
attributeId:@(MTRClusterPumpConfigurationAndControlAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterThermostat
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)setpointRaiseLowerWithParams:(MTRThermostatClusterSetpointRaiseLowerParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Thermostat::Commands::SetpointRaiseLower::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.mode = static_cast<std::remove_reference_t<decltype(request.mode)>>(params.mode.unsignedCharValue);
request.amount = params.amount.charValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ThermostatCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)setWeeklyScheduleWithParams:(MTRThermostatClusterSetWeeklyScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Thermostat::Commands::SetWeeklySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.numberOfTransitionsForSequence = params.numberOfTransitionsForSequence.unsignedCharValue;
request.dayOfWeekForSequence = static_cast<std::remove_reference_t<decltype(request.dayOfWeekForSequence)>>(
params.dayOfWeekForSequence.unsignedCharValue);
request.modeForSequence = static_cast<std::remove_reference_t<decltype(request.modeForSequence)>>(
params.modeForSequence.unsignedCharValue);
{
using ListType_0 = std::remove_reference_t<decltype(request.transitions)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.transitions.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.transitions.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.transitions.count; ++i_0) {
if (![params.transitions[i_0] isKindOfClass:[MTRThermostatClusterThermostatScheduleTransition class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRThermostatClusterThermostatScheduleTransition *) params.transitions[i_0];
listHolder_0->mList[i_0].transitionTime = element_0.transitionTime.unsignedShortValue;
if (element_0.heatSetpoint == nil) {
listHolder_0->mList[i_0].heatSetpoint.SetNull();
} else {
auto & nonNullValue_2 = listHolder_0->mList[i_0].heatSetpoint.SetNonNull();
nonNullValue_2 = element_0.heatSetpoint.shortValue;
}
if (element_0.coolSetpoint == nil) {
listHolder_0->mList[i_0].coolSetpoint.SetNull();
} else {
auto & nonNullValue_2 = listHolder_0->mList[i_0].coolSetpoint.SetNonNull();
nonNullValue_2 = element_0.coolSetpoint.shortValue;
}
}
request.transitions = ListType_0(listHolder_0->mList, params.transitions.count);
} else {
request.transitions = ListType_0();
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ThermostatCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getWeeklyScheduleWithParams:(MTRThermostatClusterGetWeeklyScheduleParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRThermostatClusterGetWeeklyScheduleResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRThermostatClusterGetWeeklyScheduleResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Thermostat::Commands::GetWeeklySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.daysToReturn
= static_cast<std::remove_reference_t<decltype(request.daysToReturn)>>(params.daysToReturn.unsignedCharValue);
request.modeToReturn
= static_cast<std::remove_reference_t<decltype(request.modeToReturn)>>(params.modeToReturn.unsignedCharValue);
auto successFn = Callback<ThermostatClusterGetWeeklyScheduleResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ThermostatCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)clearWeeklyScheduleWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self clearWeeklyScheduleWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)clearWeeklyScheduleWithParams:(MTRThermostatClusterClearWeeklyScheduleParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Thermostat::Commands::ClearWeeklySchedule::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ThermostatCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLocalTemperatureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeLocalTemperatureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOutdoorTemperatureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOutdoorTemperatureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupancyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupancyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAbsMinHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeAbsMinHeatSetpointLimitID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAbsMaxHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeAbsMaxHeatSetpointLimitID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAbsMinCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeAbsMinCoolSetpointLimitID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAbsMaxCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeAbsMaxCoolSetpointLimitID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePICoolingDemandWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributePICoolingDemandID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePIHeatingDemandWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributePIHeatingDemandID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeHVACSystemTypeConfigurationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeHVACSystemTypeConfigurationID)
params:params];
}
- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeHVACSystemTypeConfigurationWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeHVACSystemTypeConfigurationID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLocalTemperatureCalibrationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeLocalTemperatureCalibrationID)
params:params];
}
- (void)writeAttributeLocalTemperatureCalibrationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLocalTemperatureCalibrationWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeLocalTemperatureCalibrationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeLocalTemperatureCalibrationID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupiedCoolingSetpointWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedCoolingSetpointID)
params:params];
}
- (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOccupiedCoolingSetpointWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedCoolingSetpointID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupiedHeatingSetpointWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedHeatingSetpointID)
params:params];
}
- (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOccupiedHeatingSetpointWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedHeatingSetpointID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedCoolingSetpointWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedCoolingSetpointID)
params:params];
}
- (void)writeAttributeUnoccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUnoccupiedCoolingSetpointWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeUnoccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedCoolingSetpointID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedHeatingSetpointWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedHeatingSetpointID)
params:params];
}
- (void)writeAttributeUnoccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUnoccupiedHeatingSetpointWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeUnoccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedHeatingSetpointID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMinHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMinHeatSetpointLimitID)
params:params];
}
- (void)writeAttributeMinHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMinHeatSetpointLimitWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMinHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMinHeatSetpointLimitID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMaxHeatSetpointLimitID)
params:params];
}
- (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMaxHeatSetpointLimitWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMaxHeatSetpointLimitID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMinCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMinCoolSetpointLimitID)
params:params];
}
- (void)writeAttributeMinCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMinCoolSetpointLimitWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMinCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMinCoolSetpointLimitID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMaxCoolSetpointLimitID)
params:params];
}
- (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMaxCoolSetpointLimitWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMaxCoolSetpointLimitID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMinSetpointDeadBandWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMinSetpointDeadBandID)
params:params];
}
- (void)writeAttributeMinSetpointDeadBandWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMinSetpointDeadBandWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMinSetpointDeadBandWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeMinSetpointDeadBandID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRemoteSensingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeRemoteSensingID)
params:params];
}
- (void)writeAttributeRemoteSensingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRemoteSensingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeRemoteSensingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeRemoteSensingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeControlSequenceOfOperationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeControlSequenceOfOperationID)
params:params];
}
- (void)writeAttributeControlSequenceOfOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeControlSequenceOfOperationWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeControlSequenceOfOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeControlSequenceOfOperationID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSystemModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeSystemModeID)
params:params];
}
- (void)writeAttributeSystemModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeSystemModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeSystemModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeSystemModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeThermostatRunningModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeThermostatRunningModeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStartOfWeekWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeStartOfWeekID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfWeeklyTransitionsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeNumberOfWeeklyTransitionsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfDailyTransitionsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeNumberOfDailyTransitionsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTemperatureSetpointHoldWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeTemperatureSetpointHoldID)
params:params];
}
- (void)writeAttributeTemperatureSetpointHoldWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeTemperatureSetpointHoldWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeTemperatureSetpointHoldWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeTemperatureSetpointHoldID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeTemperatureSetpointHoldDurationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeTemperatureSetpointHoldDurationID)
params:params];
}
- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeTemperatureSetpointHoldDurationWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeTemperatureSetpointHoldDurationID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeThermostatProgrammingOperationModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeThermostatProgrammingOperationModeID)
params:params];
}
- (void)writeAttributeThermostatProgrammingOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeThermostatProgrammingOperationModeWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeThermostatProgrammingOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeThermostatProgrammingOperationModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeThermostatRunningStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeThermostatRunningStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSetpointChangeSourceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeSetpointChangeSourceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSetpointChangeAmountWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeSetpointChangeAmountID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSetpointChangeSourceTimestampWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeSetpointChangeSourceTimestampID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupiedSetbackWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedSetbackID)
params:params];
}
- (void)writeAttributeOccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOccupiedSetbackWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedSetbackID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupiedSetbackMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedSetbackMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupiedSetbackMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeOccupiedSetbackMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedSetbackWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedSetbackID)
params:params];
}
- (void)writeAttributeUnoccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUnoccupiedSetbackWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeUnoccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedSetbackID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedSetbackMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedSetbackMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedSetbackMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeUnoccupiedSetbackMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEmergencyHeatDeltaWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeEmergencyHeatDeltaID)
params:params];
}
- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEmergencyHeatDeltaWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeEmergencyHeatDeltaID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACTypeID)
params:params];
}
- (void)writeAttributeACTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACTypeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACTypeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACCapacityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCapacityID)
params:params];
}
- (void)writeAttributeACCapacityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACCapacityWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACCapacityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCapacityID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACRefrigerantTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACRefrigerantTypeID)
params:params];
}
- (void)writeAttributeACRefrigerantTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACRefrigerantTypeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACRefrigerantTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACRefrigerantTypeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACCompressorTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCompressorTypeID)
params:params];
}
- (void)writeAttributeACCompressorTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACCompressorTypeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACCompressorTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCompressorTypeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACErrorCodeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACErrorCodeID)
params:params];
}
- (void)writeAttributeACErrorCodeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACErrorCodeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACErrorCodeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACErrorCodeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACLouverPositionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACLouverPositionID)
params:params];
}
- (void)writeAttributeACLouverPositionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACLouverPositionWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACLouverPositionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACLouverPositionID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeACCoilTemperatureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCoilTemperatureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeACCapacityformatWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCapacityformatID)
params:params];
}
- (void)writeAttributeACCapacityformatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeACCapacityformatWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeACCapacityformatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeACCapacityformatID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatID)
attributeId:@(MTRClusterThermostatAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterFanControl
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeFanModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeFanModeID)
params:params];
}
- (void)writeAttributeFanModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeFanModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeFanModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeFanModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeFanModeSequenceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeFanModeSequenceID)
params:params];
}
- (void)writeAttributeFanModeSequenceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeFanModeSequenceWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeFanModeSequenceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeFanModeSequenceID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePercentSettingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributePercentSettingID)
params:params];
}
- (void)writeAttributePercentSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePercentSettingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributePercentSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributePercentSettingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePercentCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributePercentCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSpeedMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeSpeedMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSpeedSettingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeSpeedSettingID)
params:params];
}
- (void)writeAttributeSpeedSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeSpeedSettingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeSpeedSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeSpeedSettingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeSpeedCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeSpeedCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRockSupportWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeRockSupportID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRockSettingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeRockSettingID)
params:params];
}
- (void)writeAttributeRockSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRockSettingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeRockSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeRockSettingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeWindSupportWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeWindSupportID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWindSettingWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeWindSettingID)
params:params];
}
- (void)writeAttributeWindSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeWindSettingWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeWindSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeWindSettingID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFanControlID)
attributeId:@(MTRClusterFanControlAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterThermostatUserInterfaceConfiguration
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeTemperatureDisplayModeWithParams:(MTRReadParams * _Nullable)params
{
return
[self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeTemperatureDisplayModeID)
params:params];
}
- (void)writeAttributeTemperatureDisplayModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeTemperatureDisplayModeWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeTemperatureDisplayModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeTemperatureDisplayModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeKeypadLockoutWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeKeypadLockoutID)
params:params];
}
- (void)writeAttributeKeypadLockoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeKeypadLockoutWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeKeypadLockoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeKeypadLockoutID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeScheduleProgrammingVisibilityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device
readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeScheduleProgrammingVisibilityID)
params:params];
}
- (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeScheduleProgrammingVisibilityWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device
writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeScheduleProgrammingVisibilityID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterThermostatUserInterfaceConfigurationID)
attributeId:@(MTRClusterThermostatUserInterfaceConfigurationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterColorControl
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)moveToHueWithParams:(MTRColorControlClusterMoveToHueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveToHue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.hue = params.hue.unsignedCharValue;
request.direction
= static_cast<std::remove_reference_t<decltype(request.direction)>>(params.direction.unsignedCharValue);
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveHueWithParams:(MTRColorControlClusterMoveHueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveHue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.moveMode
= static_cast<std::remove_reference_t<decltype(request.moveMode)>>(params.moveMode.unsignedCharValue);
request.rate = params.rate.unsignedCharValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stepHueWithParams:(MTRColorControlClusterStepHueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::StepHue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepMode
= static_cast<std::remove_reference_t<decltype(request.stepMode)>>(params.stepMode.unsignedCharValue);
request.stepSize = params.stepSize.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedCharValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveToSaturationWithParams:(MTRColorControlClusterMoveToSaturationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveToSaturation::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.saturation = params.saturation.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveSaturationWithParams:(MTRColorControlClusterMoveSaturationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveSaturation::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.moveMode
= static_cast<std::remove_reference_t<decltype(request.moveMode)>>(params.moveMode.unsignedCharValue);
request.rate = params.rate.unsignedCharValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stepSaturationWithParams:(MTRColorControlClusterStepSaturationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::StepSaturation::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepMode
= static_cast<std::remove_reference_t<decltype(request.stepMode)>>(params.stepMode.unsignedCharValue);
request.stepSize = params.stepSize.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedCharValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveToHueAndSaturationWithParams:(MTRColorControlClusterMoveToHueAndSaturationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveToHueAndSaturation::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.hue = params.hue.unsignedCharValue;
request.saturation = params.saturation.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveToColorWithParams:(MTRColorControlClusterMoveToColorParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveToColor::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.colorX = params.colorX.unsignedShortValue;
request.colorY = params.colorY.unsignedShortValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveColorWithParams:(MTRColorControlClusterMoveColorParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveColor::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.rateX = params.rateX.shortValue;
request.rateY = params.rateY.shortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stepColorWithParams:(MTRColorControlClusterStepColorParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::StepColor::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepX = params.stepX.shortValue;
request.stepY = params.stepY.shortValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveToColorTemperatureWithParams:(MTRColorControlClusterMoveToColorTemperatureParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveToColorTemperature::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.colorTemperature = params.colorTemperature.unsignedShortValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enhancedMoveToHueWithParams:(MTRColorControlClusterEnhancedMoveToHueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::EnhancedMoveToHue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.enhancedHue = params.enhancedHue.unsignedShortValue;
request.direction
= static_cast<std::remove_reference_t<decltype(request.direction)>>(params.direction.unsignedCharValue);
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enhancedMoveHueWithParams:(MTRColorControlClusterEnhancedMoveHueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::EnhancedMoveHue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.moveMode
= static_cast<std::remove_reference_t<decltype(request.moveMode)>>(params.moveMode.unsignedCharValue);
request.rate = params.rate.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enhancedStepHueWithParams:(MTRColorControlClusterEnhancedStepHueParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::EnhancedStepHue::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepMode
= static_cast<std::remove_reference_t<decltype(request.stepMode)>>(params.stepMode.unsignedCharValue);
request.stepSize = params.stepSize.unsignedShortValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)enhancedMoveToHueAndSaturationWithParams:(MTRColorControlClusterEnhancedMoveToHueAndSaturationParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::EnhancedMoveToHueAndSaturation::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.enhancedHue = params.enhancedHue.unsignedShortValue;
request.saturation = params.saturation.unsignedCharValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)colorLoopSetWithParams:(MTRColorControlClusterColorLoopSetParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::ColorLoopSet::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.updateFlags
= static_cast<std::remove_reference_t<decltype(request.updateFlags)>>(params.updateFlags.unsignedCharValue);
request.action = static_cast<std::remove_reference_t<decltype(request.action)>>(params.action.unsignedCharValue);
request.direction
= static_cast<std::remove_reference_t<decltype(request.direction)>>(params.direction.unsignedCharValue);
request.time = params.time.unsignedShortValue;
request.startHue = params.startHue.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopMoveStepWithParams:(MTRColorControlClusterStopMoveStepParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::StopMoveStep::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)moveColorTemperatureWithParams:(MTRColorControlClusterMoveColorTemperatureParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::MoveColorTemperature::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.moveMode
= static_cast<std::remove_reference_t<decltype(request.moveMode)>>(params.moveMode.unsignedCharValue);
request.rate = params.rate.unsignedShortValue;
request.colorTemperatureMinimumMireds = params.colorTemperatureMinimumMireds.unsignedShortValue;
request.colorTemperatureMaximumMireds = params.colorTemperatureMaximumMireds.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stepColorTemperatureWithParams:(MTRColorControlClusterStepColorTemperatureParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ColorControl::Commands::StepColorTemperature::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.stepMode
= static_cast<std::remove_reference_t<decltype(request.stepMode)>>(params.stepMode.unsignedCharValue);
request.stepSize = params.stepSize.unsignedShortValue;
request.transitionTime = params.transitionTime.unsignedShortValue;
request.colorTemperatureMinimumMireds = params.colorTemperatureMinimumMireds.unsignedShortValue;
request.colorTemperatureMaximumMireds = params.colorTemperatureMaximumMireds.unsignedShortValue;
request.optionsMask = params.optionsMask.unsignedCharValue;
request.optionsOverride = params.optionsOverride.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ColorControlCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentHueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeCurrentHueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentSaturationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeCurrentSaturationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRemainingTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeRemainingTimeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentXWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeCurrentXID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentYWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeCurrentYID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDriftCompensationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeDriftCompensationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCompensationTextWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeCompensationTextID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorTemperatureWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorTemperatureID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorModeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOptionsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeOptionsID)
params:params];
}
- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOptionsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeOptionsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNumberOfPrimariesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeNumberOfPrimariesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary1XWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary1XID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary1YWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary1YID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary1IntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary1IntensityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary2XWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary2XID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary2YWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary2YID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary2IntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary2IntensityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary3XWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary3XID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary3YWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary3YID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary3IntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary3IntensityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary4XWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary4XID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary4YWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary4YID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary4IntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary4IntensityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary5XWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary5XID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary5YWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary5YID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary5IntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary5IntensityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary6XWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary6XID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary6YWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary6YID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePrimary6IntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributePrimary6IntensityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeWhitePointXWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeWhitePointXID)
params:params];
}
- (void)writeAttributeWhitePointXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeWhitePointXWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeWhitePointXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeWhitePointXID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeWhitePointYWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeWhitePointYID)
params:params];
}
- (void)writeAttributeWhitePointYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeWhitePointYWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeWhitePointYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeWhitePointYID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointRXWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointRXID)
params:params];
}
- (void)writeAttributeColorPointRXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointRXWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointRXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointRXID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointRYWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointRYID)
params:params];
}
- (void)writeAttributeColorPointRYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointRYWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointRYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointRYID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointRIntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointRIntensityID)
params:params];
}
- (void)writeAttributeColorPointRIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointRIntensityWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointRIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointRIntensityID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointGXWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointGXID)
params:params];
}
- (void)writeAttributeColorPointGXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointGXWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointGXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointGXID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointGYWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointGYID)
params:params];
}
- (void)writeAttributeColorPointGYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointGYWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointGYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointGYID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointGIntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointGIntensityID)
params:params];
}
- (void)writeAttributeColorPointGIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointGIntensityWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointGIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointGIntensityID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointBXWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointBXID)
params:params];
}
- (void)writeAttributeColorPointBXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointBXWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointBXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointBXID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointBYWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointBYID)
params:params];
}
- (void)writeAttributeColorPointBYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointBYWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointBYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointBYID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeColorPointBIntensityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointBIntensityID)
params:params];
}
- (void)writeAttributeColorPointBIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeColorPointBIntensityWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeColorPointBIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorPointBIntensityID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnhancedCurrentHueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeEnhancedCurrentHueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeEnhancedColorModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeEnhancedColorModeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorLoopActiveWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorLoopActiveID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorLoopDirectionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorLoopDirectionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorLoopTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorLoopTimeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorLoopStartEnhancedHueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorLoopStartEnhancedHueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorLoopStoredEnhancedHueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorLoopStoredEnhancedHueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorCapabilitiesWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorCapabilitiesID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorTempPhysicalMinMiredsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorTempPhysicalMinMiredsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeColorTempPhysicalMaxMiredsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeColorTempPhysicalMaxMiredsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCoupleColorTempToLevelMinMiredsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeCoupleColorTempToLevelMinMiredsID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStartUpColorTemperatureMiredsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeStartUpColorTemperatureMiredsID)
params:params];
}
- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeStartUpColorTemperatureMiredsWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeStartUpColorTemperatureMiredsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterColorControlID)
attributeId:@(MTRClusterColorControlAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterBallastConfiguration
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalMinLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributePhysicalMinLevelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalMaxLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributePhysicalMaxLevelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeBallastStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeBallastStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeMinLevelID)
params:params];
}
- (void)writeAttributeMinLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMinLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMinLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeMinLevelID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxLevelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeMaxLevelID)
params:params];
}
- (void)writeAttributeMaxLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeMaxLevelWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeMaxLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeMaxLevelID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeIntrinsicBalanceFactorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeIntrinsicBalanceFactorID)
params:params];
}
- (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeIntrinsicBalanceFactorWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeIntrinsicBalanceFactorID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBallastFactorAdjustmentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeBallastFactorAdjustmentID)
params:params];
}
- (void)writeAttributeBallastFactorAdjustmentWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBallastFactorAdjustmentWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeBallastFactorAdjustmentWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeBallastFactorAdjustmentID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLampQuantityWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampQuantityID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLampTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampTypeID)
params:params];
}
- (void)writeAttributeLampTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLampTypeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLampTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampTypeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLampManufacturerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampManufacturerID)
params:params];
}
- (void)writeAttributeLampManufacturerWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLampManufacturerWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLampManufacturerWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampManufacturerID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLampRatedHoursWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampRatedHoursID)
params:params];
}
- (void)writeAttributeLampRatedHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLampRatedHoursWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLampRatedHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampRatedHoursID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLampBurnHoursWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampBurnHoursID)
params:params];
}
- (void)writeAttributeLampBurnHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLampBurnHoursWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLampBurnHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampBurnHoursID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLampAlarmModeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampAlarmModeID)
params:params];
}
- (void)writeAttributeLampAlarmModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLampAlarmModeWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLampAlarmModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampAlarmModeID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLampBurnHoursTripPointWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampBurnHoursTripPointID)
params:params];
}
- (void)writeAttributeLampBurnHoursTripPointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLampBurnHoursTripPointWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeLampBurnHoursTripPointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeLampBurnHoursTripPointID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterBallastConfigurationID)
attributeId:@(MTRClusterBallastConfigurationAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterIlluminanceMeasurement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeMinMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeMaxMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeToleranceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLightSensorTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeLightSensorTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterIlluminanceMeasurementID)
attributeId:@(MTRClusterIlluminanceMeasurementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterTemperatureMeasurement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeMinMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeMaxMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeToleranceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTemperatureMeasurementID)
attributeId:@(MTRClusterTemperatureMeasurementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterPressureMeasurement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeMinMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeMaxMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeToleranceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeScaledValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeScaledValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinScaledValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeMinScaledValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxScaledValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeMaxScaledValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeScaledToleranceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeScaledToleranceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeScaleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeScaleID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterPressureMeasurementID)
attributeId:@(MTRClusterPressureMeasurementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterFlowMeasurement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeMinMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeMaxMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeToleranceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterFlowMeasurementID)
attributeId:@(MTRClusterFlowMeasurementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterRelativeHumidityMeasurement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeMinMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeMaxMeasuredValueID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeToleranceID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterRelativeHumidityMeasurementID)
attributeId:@(MTRClusterRelativeHumidityMeasurementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterOccupancySensing
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeOccupancyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeOccupancyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupancySensorTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeOccupancySensorTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOccupancySensorTypeBitmapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeOccupancySensorTypeBitmapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePirOccupiedToUnoccupiedDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePirOccupiedToUnoccupiedDelayID)
params:params];
}
- (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePirOccupiedToUnoccupiedDelayWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePirOccupiedToUnoccupiedDelayID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePirUnoccupiedToOccupiedDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePirUnoccupiedToOccupiedDelayID)
params:params];
}
- (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePirUnoccupiedToOccupiedDelayWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePirUnoccupiedToOccupiedDelayID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePirUnoccupiedToOccupiedThresholdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePirUnoccupiedToOccupiedThresholdID)
params:params];
}
- (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePirUnoccupiedToOccupiedThresholdWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePirUnoccupiedToOccupiedThresholdID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUltrasonicOccupiedToUnoccupiedDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeUltrasonicOccupiedToUnoccupiedDelayID)
params:params];
}
- (void)writeAttributeUltrasonicOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUltrasonicOccupiedToUnoccupiedDelayWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeUltrasonicOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeUltrasonicOccupiedToUnoccupiedDelayID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUltrasonicUnoccupiedToOccupiedDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeUltrasonicUnoccupiedToOccupiedDelayID)
params:params];
}
- (void)writeAttributeUltrasonicUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUltrasonicUnoccupiedToOccupiedDelayWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeUltrasonicUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeUltrasonicUnoccupiedToOccupiedDelayID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeUltrasonicUnoccupiedToOccupiedThresholdID)
params:params];
}
- (void)writeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeUltrasonicUnoccupiedToOccupiedThresholdID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalContactOccupiedToUnoccupiedDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePhysicalContactOccupiedToUnoccupiedDelayID)
params:params];
}
- (void)writeAttributePhysicalContactOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePhysicalContactOccupiedToUnoccupiedDelayWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributePhysicalContactOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePhysicalContactOccupiedToUnoccupiedDelayID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalContactUnoccupiedToOccupiedDelayWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePhysicalContactUnoccupiedToOccupiedDelayID)
params:params];
}
- (void)writeAttributePhysicalContactUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePhysicalContactUnoccupiedToOccupiedDelayWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributePhysicalContactUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePhysicalContactUnoccupiedToOccupiedDelayID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithParams:
(MTRReadParams * _Nullable)params
{
return [self.device
readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePhysicalContactUnoccupiedToOccupiedThresholdID)
params:params];
}
- (void)writeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributePhysicalContactUnoccupiedToOccupiedThresholdID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterOccupancySensingID)
attributeId:@(MTRClusterOccupancySensingAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterWakeOnLan
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeMACAddressWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWakeOnLanID)
attributeId:@(MTRClusterWakeOnLanAttributeMACAddressID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWakeOnLanID)
attributeId:@(MTRClusterWakeOnLanAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWakeOnLanID)
attributeId:@(MTRClusterWakeOnLanAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWakeOnLanID)
attributeId:@(MTRClusterWakeOnLanAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWakeOnLanID)
attributeId:@(MTRClusterWakeOnLanAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterWakeOnLanID)
attributeId:@(MTRClusterWakeOnLanAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterChannel
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)changeChannelWithParams:(MTRChannelClusterChangeChannelParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRChannelClusterChangeChannelResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRChannelClusterChangeChannelResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Channel::Commands::ChangeChannel::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.match = [self asCharSpan:params.match];
auto successFn = Callback<ChannelClusterChangeChannelResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ChannelCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)changeChannelByNumberWithParams:(MTRChannelClusterChangeChannelByNumberParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Channel::Commands::ChangeChannelByNumber::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.majorNumber = params.majorNumber.unsignedShortValue;
request.minorNumber = params.minorNumber.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ChannelCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)skipChannelWithParams:(MTRChannelClusterSkipChannelParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
Channel::Commands::SkipChannel::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.count = params.count.unsignedShortValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ChannelCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeChannelListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeChannelListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLineupWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeLineupID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentChannelWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeCurrentChannelID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterChannelID)
attributeId:@(MTRClusterChannelAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterTargetNavigator
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)navigateTargetWithParams:(MTRTargetNavigatorClusterNavigateTargetParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTargetNavigatorClusterNavigateTargetResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TargetNavigator::Commands::NavigateTarget::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.target = params.target.unsignedCharValue;
if (params.data != nil) {
auto & definedValue_0 = request.data.Emplace();
definedValue_0 = [self asCharSpan:params.data];
}
auto successFn = Callback<TargetNavigatorClusterNavigateTargetResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TargetNavigatorCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeTargetListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeTargetListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentTargetWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeCurrentTargetID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTargetNavigatorID)
attributeId:@(MTRClusterTargetNavigatorAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterMediaPlayback
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)playWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self playWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)playWithParams:(MTRMediaPlaybackClusterPlayParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::Play::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)pauseWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self pauseWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)pauseWithParams:(MTRMediaPlaybackClusterPauseParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::Pause::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopPlaybackWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self stopPlaybackWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)stopPlaybackWithParams:(MTRMediaPlaybackClusterStopPlaybackParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::StopPlayback::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)startOverWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self startOverWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)startOverWithParams:(MTRMediaPlaybackClusterStartOverParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::StartOver::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)previousWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self previousWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)previousWithParams:(MTRMediaPlaybackClusterPreviousParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::Previous::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)nextWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self nextWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)nextWithParams:(MTRMediaPlaybackClusterNextParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::Next::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)rewindWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self rewindWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)rewindWithParams:(MTRMediaPlaybackClusterRewindParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::Rewind::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)fastForwardWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self fastForwardWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)fastForwardWithParams:(MTRMediaPlaybackClusterFastForwardParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::FastForward::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)skipForwardWithParams:(MTRMediaPlaybackClusterSkipForwardParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::SkipForward::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.deltaPositionMilliseconds = params.deltaPositionMilliseconds.unsignedLongLongValue;
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)skipBackwardWithParams:(MTRMediaPlaybackClusterSkipBackwardParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::SkipBackward::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.deltaPositionMilliseconds = params.deltaPositionMilliseconds.unsignedLongLongValue;
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)seekWithParams:(MTRMediaPlaybackClusterSeekParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRMediaPlaybackClusterPlaybackResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaPlayback::Commands::Seek::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.position = params.position.unsignedLongLongValue;
auto successFn = Callback<MediaPlaybackClusterPlaybackResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaPlaybackCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentStateWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeCurrentStateID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStartTimeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeStartTimeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDurationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeDurationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSampledPositionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeSampledPositionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePlaybackSpeedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributePlaybackSpeedID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSeekRangeEndWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeSeekRangeEndID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSeekRangeStartWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeSeekRangeStartID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaPlaybackID)
attributeId:@(MTRClusterMediaPlaybackAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterMediaInput
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)selectInputWithParams:(MTRMediaInputClusterSelectInputParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaInput::Commands::SelectInput::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.index = params.index.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaInputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)showInputStatusWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self showInputStatusWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)showInputStatusWithParams:(MTRMediaInputClusterShowInputStatusParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaInput::Commands::ShowInputStatus::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaInputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)hideInputStatusWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self hideInputStatusWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)hideInputStatusWithParams:(MTRMediaInputClusterHideInputStatusParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaInput::Commands::HideInputStatus::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaInputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)renameInputWithParams:(MTRMediaInputClusterRenameInputParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
MediaInput::Commands::RenameInput::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.index = params.index.unsignedCharValue;
request.name = [self asCharSpan:params.name];
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::MediaInputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInputListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeInputListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentInputWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeCurrentInputID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterMediaInputID)
attributeId:@(MTRClusterMediaInputAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterLowPower
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)sleepWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self sleepWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)sleepWithParams:(MTRLowPowerClusterSleepParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
LowPower::Commands::Sleep::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::LowPowerCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLowPowerID)
attributeId:@(MTRClusterLowPowerAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLowPowerID)
attributeId:@(MTRClusterLowPowerAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLowPowerID)
attributeId:@(MTRClusterLowPowerAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLowPowerID)
attributeId:@(MTRClusterLowPowerAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterLowPowerID)
attributeId:@(MTRClusterLowPowerAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterKeypadInput
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)sendKeyWithParams:(MTRKeypadInputClusterSendKeyParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRKeypadInputClusterSendKeyResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
KeypadInput::Commands::SendKey::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.keyCode = static_cast<std::remove_reference_t<decltype(request.keyCode)>>(params.keyCode.unsignedCharValue);
auto successFn = Callback<KeypadInputClusterSendKeyResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::KeypadInputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterKeypadInputID)
attributeId:@(MTRClusterKeypadInputAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterKeypadInputID)
attributeId:@(MTRClusterKeypadInputAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterKeypadInputID)
attributeId:@(MTRClusterKeypadInputAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterKeypadInputID)
attributeId:@(MTRClusterKeypadInputAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterKeypadInputID)
attributeId:@(MTRClusterKeypadInputAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterContentLauncher
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)launchContentWithParams:(MTRContentLauncherClusterLaunchContentParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRContentLauncherClusterLaunchResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRContentLauncherClusterLaunchResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ContentLauncher::Commands::LaunchContent::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_1 = std::remove_reference_t<decltype(request.search.parameterList)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.search.parameterList.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.search.parameterList.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.search.parameterList.count; ++i_1) {
if (![params.search.parameterList[i_1] isKindOfClass:[MTRContentLauncherClusterParameter class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (MTRContentLauncherClusterParameter *) params.search.parameterList[i_1];
listHolder_1->mList[i_1].type
= static_cast<std::remove_reference_t<decltype(listHolder_1->mList[i_1].type)>>(
element_1.type.unsignedCharValue);
listHolder_1->mList[i_1].value = [self asCharSpan:element_1.value];
if (element_1.externalIDList != nil) {
auto & definedValue_3 = listHolder_1->mList[i_1].externalIDList.Emplace();
{
using ListType_4 = std::remove_reference_t<decltype(definedValue_3)>;
using ListMemberType_4 = ListMemberTypeGetter<ListType_4>::Type;
if (element_1.externalIDList.count != 0) {
auto * listHolder_4 = new ListHolder<ListMemberType_4>(element_1.externalIDList.count);
if (listHolder_4 == nullptr || listHolder_4->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_4);
for (size_t i_4 = 0; i_4 < element_1.externalIDList.count; ++i_4) {
if (![element_1.externalIDList[i_4]
isKindOfClass:[MTRContentLauncherClusterAdditionalInfo class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_4
= (MTRContentLauncherClusterAdditionalInfo *) element_1.externalIDList[i_4];
listHolder_4->mList[i_4].name = [self asCharSpan:element_4.name];
listHolder_4->mList[i_4].value = [self asCharSpan:element_4.value];
}
definedValue_3 = ListType_4(listHolder_4->mList, element_1.externalIDList.count);
} else {
definedValue_3 = ListType_4();
}
}
}
}
request.search.parameterList = ListType_1(listHolder_1->mList, params.search.parameterList.count);
} else {
request.search.parameterList = ListType_1();
}
}
request.autoPlay = params.autoPlay.boolValue;
if (params.data != nil) {
auto & definedValue_0 = request.data.Emplace();
definedValue_0 = [self asCharSpan:params.data];
}
auto successFn = Callback<ContentLauncherClusterLaunchResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ContentLauncherCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)launchURLWithParams:(MTRContentLauncherClusterLaunchURLParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRContentLauncherClusterLaunchResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRContentLauncherClusterLaunchResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ContentLauncher::Commands::LaunchURL::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.contentURL = [self asCharSpan:params.contentURL];
if (params.displayString != nil) {
auto & definedValue_0 = request.displayString.Emplace();
definedValue_0 = [self asCharSpan:params.displayString];
}
if (params.brandingInformation != nil) {
auto & definedValue_0 = request.brandingInformation.Emplace();
definedValue_0.providerName = [self asCharSpan:params.brandingInformation.providerName];
if (params.brandingInformation.background != nil) {
auto & definedValue_2 = definedValue_0.background.Emplace();
if (params.brandingInformation.background.imageUrl != nil) {
auto & definedValue_4 = definedValue_2.imageUrl.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.background.imageUrl];
}
if (params.brandingInformation.background.color != nil) {
auto & definedValue_4 = definedValue_2.color.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.background.color];
}
if (params.brandingInformation.background.size != nil) {
auto & definedValue_4 = definedValue_2.size.Emplace();
definedValue_4.width = params.brandingInformation.background.size.width.doubleValue;
definedValue_4.height = params.brandingInformation.background.size.height.doubleValue;
definedValue_4.metric = static_cast<std::remove_reference_t<decltype(definedValue_4.metric)>>(
params.brandingInformation.background.size.metric.unsignedCharValue);
}
}
if (params.brandingInformation.logo != nil) {
auto & definedValue_2 = definedValue_0.logo.Emplace();
if (params.brandingInformation.logo.imageUrl != nil) {
auto & definedValue_4 = definedValue_2.imageUrl.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.logo.imageUrl];
}
if (params.brandingInformation.logo.color != nil) {
auto & definedValue_4 = definedValue_2.color.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.logo.color];
}
if (params.brandingInformation.logo.size != nil) {
auto & definedValue_4 = definedValue_2.size.Emplace();
definedValue_4.width = params.brandingInformation.logo.size.width.doubleValue;
definedValue_4.height = params.brandingInformation.logo.size.height.doubleValue;
definedValue_4.metric = static_cast<std::remove_reference_t<decltype(definedValue_4.metric)>>(
params.brandingInformation.logo.size.metric.unsignedCharValue);
}
}
if (params.brandingInformation.progressBar != nil) {
auto & definedValue_2 = definedValue_0.progressBar.Emplace();
if (params.brandingInformation.progressBar.imageUrl != nil) {
auto & definedValue_4 = definedValue_2.imageUrl.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.progressBar.imageUrl];
}
if (params.brandingInformation.progressBar.color != nil) {
auto & definedValue_4 = definedValue_2.color.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.progressBar.color];
}
if (params.brandingInformation.progressBar.size != nil) {
auto & definedValue_4 = definedValue_2.size.Emplace();
definedValue_4.width = params.brandingInformation.progressBar.size.width.doubleValue;
definedValue_4.height = params.brandingInformation.progressBar.size.height.doubleValue;
definedValue_4.metric = static_cast<std::remove_reference_t<decltype(definedValue_4.metric)>>(
params.brandingInformation.progressBar.size.metric.unsignedCharValue);
}
}
if (params.brandingInformation.splash != nil) {
auto & definedValue_2 = definedValue_0.splash.Emplace();
if (params.brandingInformation.splash.imageUrl != nil) {
auto & definedValue_4 = definedValue_2.imageUrl.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.splash.imageUrl];
}
if (params.brandingInformation.splash.color != nil) {
auto & definedValue_4 = definedValue_2.color.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.splash.color];
}
if (params.brandingInformation.splash.size != nil) {
auto & definedValue_4 = definedValue_2.size.Emplace();
definedValue_4.width = params.brandingInformation.splash.size.width.doubleValue;
definedValue_4.height = params.brandingInformation.splash.size.height.doubleValue;
definedValue_4.metric = static_cast<std::remove_reference_t<decltype(definedValue_4.metric)>>(
params.brandingInformation.splash.size.metric.unsignedCharValue);
}
}
if (params.brandingInformation.waterMark != nil) {
auto & definedValue_2 = definedValue_0.waterMark.Emplace();
if (params.brandingInformation.waterMark.imageUrl != nil) {
auto & definedValue_4 = definedValue_2.imageUrl.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.waterMark.imageUrl];
}
if (params.brandingInformation.waterMark.color != nil) {
auto & definedValue_4 = definedValue_2.color.Emplace();
definedValue_4 = [self asCharSpan:params.brandingInformation.waterMark.color];
}
if (params.brandingInformation.waterMark.size != nil) {
auto & definedValue_4 = definedValue_2.size.Emplace();
definedValue_4.width = params.brandingInformation.waterMark.size.width.doubleValue;
definedValue_4.height = params.brandingInformation.waterMark.size.height.doubleValue;
definedValue_4.metric = static_cast<std::remove_reference_t<decltype(definedValue_4.metric)>>(
params.brandingInformation.waterMark.size.metric.unsignedCharValue);
}
}
}
auto successFn = Callback<ContentLauncherClusterLaunchResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ContentLauncherCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptHeaderWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeAcceptHeaderID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeSupportedStreamingProtocolsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeSupportedStreamingProtocolsID)
params:params];
}
- (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeSupportedStreamingProtocolsWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeSupportedStreamingProtocolsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterContentLauncherID)
attributeId:@(MTRClusterContentLauncherAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterAudioOutput
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)selectOutputWithParams:(MTRAudioOutputClusterSelectOutputParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AudioOutput::Commands::SelectOutput::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.index = params.index.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AudioOutputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)renameOutputWithParams:(MTRAudioOutputClusterRenameOutputParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AudioOutput::Commands::RenameOutput::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.index = params.index.unsignedCharValue;
request.name = [self asCharSpan:params.name];
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AudioOutputCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOutputListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeOutputListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentOutputWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeCurrentOutputID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAudioOutputID)
attributeId:@(MTRClusterAudioOutputAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterApplicationLauncher
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)launchAppWithParams:(MTRApplicationLauncherClusterLaunchAppParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRApplicationLauncherClusterLauncherResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ApplicationLauncher::Commands::LaunchApp::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.application.catalogVendorId = params.application.catalogVendorId.unsignedShortValue;
request.application.applicationId = [self asCharSpan:params.application.applicationId];
if (params.data != nil) {
auto & definedValue_0 = request.data.Emplace();
definedValue_0 = [self asByteSpan:params.data];
}
auto successFn = Callback<ApplicationLauncherClusterLauncherResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ApplicationLauncherCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)stopAppWithParams:(MTRApplicationLauncherClusterStopAppParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRApplicationLauncherClusterLauncherResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ApplicationLauncher::Commands::StopApp::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.application.catalogVendorId = params.application.catalogVendorId.unsignedShortValue;
request.application.applicationId = [self asCharSpan:params.application.applicationId];
auto successFn = Callback<ApplicationLauncherClusterLauncherResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ApplicationLauncherCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)hideAppWithParams:(MTRApplicationLauncherClusterHideAppParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRApplicationLauncherClusterLauncherResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ApplicationLauncher::Commands::HideApp::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.application.catalogVendorId = params.application.catalogVendorId.unsignedShortValue;
request.application.applicationId = [self asCharSpan:params.application.applicationId];
auto successFn = Callback<ApplicationLauncherClusterLauncherResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ApplicationLauncherCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeCatalogListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeCatalogListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentAppWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeCurrentAppID)
params:params];
}
- (void)writeAttributeCurrentAppWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeCurrentAppWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeCurrentAppWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeCurrentAppID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationLauncherID)
attributeId:@(MTRClusterApplicationLauncherAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterApplicationBasic
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (NSDictionary<NSString *, id> *)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeVendorNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeVendorIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeVendorIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApplicationNameWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeApplicationNameID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeProductIDWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeProductIDID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApplicationWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeApplicationID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeStatusWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeStatusID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApplicationVersionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeApplicationVersionID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAllowedVendorListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeAllowedVendorListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterApplicationBasicID)
attributeId:@(MTRClusterApplicationBasicAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterAccountLogin
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)getSetupPINWithParams:(MTRAccountLoginClusterGetSetupPINParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRAccountLoginClusterGetSetupPINResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AccountLogin::Commands::GetSetupPIN::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.tempAccountIdentifier = [self asCharSpan:params.tempAccountIdentifier];
auto successFn = Callback<AccountLoginClusterGetSetupPINResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AccountLoginCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)loginWithParams:(MTRAccountLoginClusterLoginParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AccountLogin::Commands::Login::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
request.tempAccountIdentifier = [self asCharSpan:params.tempAccountIdentifier];
request.setupPIN = [self asCharSpan:params.setupPIN];
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AccountLoginCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)logoutWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self logoutWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)logoutWithParams:(MTRAccountLoginClusterLogoutParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
AccountLogin::Commands::Logout::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::AccountLoginCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccountLoginID)
attributeId:@(MTRClusterAccountLoginAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccountLoginID)
attributeId:@(MTRClusterAccountLoginAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccountLoginID)
attributeId:@(MTRClusterAccountLoginAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccountLoginID)
attributeId:@(MTRClusterAccountLoginAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterAccountLoginID)
attributeId:@(MTRClusterAccountLoginAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterElectricalMeasurement
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)getProfileInfoCommandWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self getProfileInfoCommandWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)getProfileInfoCommandWithParams:(MTRElectricalMeasurementClusterGetProfileInfoCommandParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ElectricalMeasurement::Commands::GetProfileInfoCommand::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ElectricalMeasurementCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)getMeasurementProfileCommandWithParams:(MTRElectricalMeasurementClusterGetMeasurementProfileCommandParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.attributeId = params.attributeId.unsignedShortValue;
request.startTime = params.startTime.unsignedIntValue;
request.numberOfIntervals = params.numberOfIntervals.unsignedCharValue;
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::ElectricalMeasurementCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasurementTypeWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasurementTypeID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcVoltageMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcVoltageMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcVoltageMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcVoltageMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcCurrentMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcCurrentMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcCurrentMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcCurrentMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcPowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcPowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcPowerMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcPowerMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcPowerMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcPowerMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcVoltageMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcVoltageMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcVoltageDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcVoltageDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcCurrentMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcCurrentDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcCurrentDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcPowerMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcPowerMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeDcPowerDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeDcPowerDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcFrequencyID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcFrequencyMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcFrequencyMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeNeutralCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeNeutralCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTotalActivePowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeTotalActivePowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTotalReactivePowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeTotalReactivePowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeTotalApparentPowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeTotalApparentPowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasured1stHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasured1stHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasured3rdHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasured3rdHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasured5thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasured5thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasured7thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasured7thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasured9thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasured9thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasured11thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasured11thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase1stHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasuredPhase1stHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase3rdHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasuredPhase3rdHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase5thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasuredPhase5thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase7thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasuredPhase7thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase9thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasuredPhase9thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase11thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeMeasuredPhase11thHarmonicCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcFrequencyMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcFrequencyDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePowerMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributePowerMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePowerDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributePowerDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeHarmonicCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeHarmonicCurrentMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePhaseHarmonicCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributePhaseHarmonicCurrentMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstantaneousVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeInstantaneousVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstantaneousLineCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeInstantaneousLineCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstantaneousActiveCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeInstantaneousActiveCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstantaneousReactiveCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeInstantaneousReactiveCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeInstantaneousPowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeInstantaneousPowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerMinWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerMinID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerMaxWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerMaxID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeReactivePowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeReactivePowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApparentPowerWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeApparentPowerID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePowerFactorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributePowerFactorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsVoltageMeasurementPeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsVoltageMeasurementPeriodID)
params:params];
}
- (void)writeAttributeAverageRmsVoltageMeasurementPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeAverageRmsVoltageMeasurementPeriodWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeAverageRmsVoltageMeasurementPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsVoltageMeasurementPeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageCounterWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsUnderVoltageCounterID)
params:params];
}
- (void)writeAttributeAverageRmsUnderVoltageCounterWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeAverageRmsUnderVoltageCounterWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeAverageRmsUnderVoltageCounterWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsUnderVoltageCounterID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltagePeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeOverVoltagePeriodID)
params:params];
}
- (void)writeAttributeRmsExtremeOverVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRmsExtremeOverVoltagePeriodWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeRmsExtremeOverVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeOverVoltagePeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltagePeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeUnderVoltagePeriodID)
params:params];
}
- (void)writeAttributeRmsExtremeUnderVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRmsExtremeUnderVoltagePeriodWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeRmsExtremeUnderVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeUnderVoltagePeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagPeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSagPeriodID)
params:params];
}
- (void)writeAttributeRmsVoltageSagPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRmsVoltageSagPeriodWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeRmsVoltageSagPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSagPeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellPeriodWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSwellPeriodID)
params:params];
}
- (void)writeAttributeRmsVoltageSwellPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRmsVoltageSwellPeriodWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeRmsVoltageSwellPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSwellPeriodID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeAcVoltageMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcVoltageMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcVoltageDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcVoltageDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcCurrentMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcCurrentDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcCurrentDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcPowerMultiplierWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcPowerMultiplierID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcPowerDivisorWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcPowerDivisorID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeOverloadAlarmsMaskWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeOverloadAlarmsMaskID)
params:params];
}
- (void)writeAttributeOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOverloadAlarmsMaskWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeOverloadAlarmsMaskID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeVoltageOverloadWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeVoltageOverloadID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeCurrentOverloadWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeCurrentOverloadID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcOverloadAlarmsMaskWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcOverloadAlarmsMaskID)
params:params];
}
- (void)writeAttributeAcOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeAcOverloadAlarmsMaskWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeAcOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcOverloadAlarmsMaskID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeAcVoltageOverloadWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcVoltageOverloadID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcCurrentOverloadWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcCurrentOverloadID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcActivePowerOverloadWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcActivePowerOverloadID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcReactivePowerOverloadWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcReactivePowerOverloadID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsOverVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsOverVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsUnderVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeOverVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltageWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeUnderVoltageID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSagID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSwellID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLineCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeLineCurrentPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActiveCurrentPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeReactiveCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeReactiveCurrentPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltagePhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltagePhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMinPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageMinPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMaxPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageMaxPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMinPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentMinPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMaxPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentMaxPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerMinPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerMinPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerMaxPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerMaxPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeReactivePowerPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeReactivePowerPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApparentPowerPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeApparentPowerPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePowerFactorPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributePowerFactorPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device
readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsVoltageMeasurementPeriodPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsOverVoltageCounterPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsOverVoltageCounterPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageCounterPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsUnderVoltageCounterPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltagePeriodPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeOverVoltagePeriodPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeUnderVoltagePeriodPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagPeriodPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSagPeriodPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellPeriodPhaseBWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSwellPeriodPhaseBID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeLineCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeLineCurrentPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActiveCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActiveCurrentPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeReactiveCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeReactiveCurrentPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltagePhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltagePhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMinPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageMinPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMaxPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageMaxPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMinPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentMinPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMaxPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsCurrentMaxPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerMinPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerMinPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeActivePowerMaxPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeActivePowerMaxPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeReactivePowerPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeReactivePowerPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeApparentPowerPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeApparentPowerPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributePowerFactorPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributePowerFactorPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device
readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsVoltageMeasurementPeriodPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsOverVoltageCounterPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsOverVoltageCounterPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageCounterPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAverageRmsUnderVoltageCounterPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltagePeriodPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeOverVoltagePeriodPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsExtremeUnderVoltagePeriodPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagPeriodPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSagPeriodPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellPeriodPhaseCWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeRmsVoltageSwellPeriodPhaseCID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterElectricalMeasurementID)
attributeId:@(MTRClusterElectricalMeasurementAttributeClusterRevisionID)
params:params];
}
@end
@implementation MTRClusterTestCluster
- (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
{
if (self = [super initWithQueue:queue]) {
if (device == nil) {
return nil;
}
_endpoint = endpoint;
_device = device;
}
return self;
}
- (void)testWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self testWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)testWithParams:(MTRTestClusterClusterTestParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::Test::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testNotHandledWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self testNotHandledWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)testNotHandledWithParams:(MTRTestClusterClusterTestNotHandledParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestNotHandled::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testSpecificWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
[self testSpecificWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)testSpecificWithParams:(MTRTestClusterClusterTestSpecificParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestSpecificResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestSpecific::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<TestClusterClusterTestSpecificResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testUnknownCommandWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self testUnknownCommandWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)testUnknownCommandWithParams:(MTRTestClusterClusterTestUnknownCommandParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestUnknownCommand::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testAddArgumentsWithParams:(MTRTestClusterClusterTestAddArgumentsParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestAddArgumentsResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestAddArguments::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1 = params.arg1.unsignedCharValue;
request.arg2 = params.arg2.unsignedCharValue;
auto successFn = Callback<TestClusterClusterTestAddArgumentsResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testSimpleArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestSimpleArgumentResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestSimpleArgumentResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestSimpleArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1 = params.arg1.boolValue;
auto successFn = Callback<TestClusterClusterTestSimpleArgumentResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testStructArrayArgumentRequestWithParams:(MTRTestClusterClusterTestStructArrayArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRTestClusterClusterTestStructArrayArgumentResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestStructArrayArgumentResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestStructArrayArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg1)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg1.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg1.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg1.count; ++i_0) {
if (![params.arg1[i_0] isKindOfClass:[MTRTestClusterClusterNestedStructList class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRTestClusterClusterNestedStructList *) params.arg1[i_0];
listHolder_0->mList[i_0].a = element_0.a.unsignedCharValue;
listHolder_0->mList[i_0].b = element_0.b.boolValue;
listHolder_0->mList[i_0].c.a = element_0.c.a.unsignedCharValue;
listHolder_0->mList[i_0].c.b = element_0.c.b.boolValue;
listHolder_0->mList[i_0].c.c
= static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].c.c)>>(
element_0.c.c.unsignedCharValue);
listHolder_0->mList[i_0].c.d = [self asByteSpan:element_0.c.d];
listHolder_0->mList[i_0].c.e = [self asCharSpan:element_0.c.e];
listHolder_0->mList[i_0].c.f
= static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].c.f)>>(
element_0.c.f.unsignedCharValue);
listHolder_0->mList[i_0].c.g = element_0.c.g.floatValue;
listHolder_0->mList[i_0].c.h = element_0.c.h.doubleValue;
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].d)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.d.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.d.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.d.count; ++i_2) {
if (![element_0.d[i_2] isKindOfClass:[MTRTestClusterClusterSimpleStruct class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (MTRTestClusterClusterSimpleStruct *) element_0.d[i_2];
listHolder_2->mList[i_2].a = element_2.a.unsignedCharValue;
listHolder_2->mList[i_2].b = element_2.b.boolValue;
listHolder_2->mList[i_2].c
= static_cast<std::remove_reference_t<decltype(listHolder_2->mList[i_2].c)>>(
element_2.c.unsignedCharValue);
listHolder_2->mList[i_2].d = [self asByteSpan:element_2.d];
listHolder_2->mList[i_2].e = [self asCharSpan:element_2.e];
listHolder_2->mList[i_2].f
= static_cast<std::remove_reference_t<decltype(listHolder_2->mList[i_2].f)>>(
element_2.f.unsignedCharValue);
listHolder_2->mList[i_2].g = element_2.g.floatValue;
listHolder_2->mList[i_2].h = element_2.h.doubleValue;
}
listHolder_0->mList[i_0].d = ListType_2(listHolder_2->mList, element_0.d.count);
} else {
listHolder_0->mList[i_0].d = ListType_2();
}
}
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].e)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.e.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.e.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.e.count; ++i_2) {
if (![element_0.e[i_2] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSNumber *) element_0.e[i_2];
listHolder_2->mList[i_2] = element_2.unsignedIntValue;
}
listHolder_0->mList[i_0].e = ListType_2(listHolder_2->mList, element_0.e.count);
} else {
listHolder_0->mList[i_0].e = ListType_2();
}
}
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].f)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.f.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.f.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.f.count; ++i_2) {
if (![element_0.f[i_2] isKindOfClass:[NSData class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSData *) element_0.f[i_2];
listHolder_2->mList[i_2] = [self asByteSpan:element_2];
}
listHolder_0->mList[i_0].f = ListType_2(listHolder_2->mList, element_0.f.count);
} else {
listHolder_0->mList[i_0].f = ListType_2();
}
}
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].g)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.g.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.g.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.g.count; ++i_2) {
if (![element_0.g[i_2] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSNumber *) element_0.g[i_2];
listHolder_2->mList[i_2] = element_2.unsignedCharValue;
}
listHolder_0->mList[i_0].g = ListType_2(listHolder_2->mList, element_0.g.count);
} else {
listHolder_0->mList[i_0].g = ListType_2();
}
}
}
request.arg1 = ListType_0(listHolder_0->mList, params.arg1.count);
} else {
request.arg1 = ListType_0();
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg2)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg2.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg2.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg2.count; ++i_0) {
if (![params.arg2[i_0] isKindOfClass:[MTRTestClusterClusterSimpleStruct class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRTestClusterClusterSimpleStruct *) params.arg2[i_0];
listHolder_0->mList[i_0].a = element_0.a.unsignedCharValue;
listHolder_0->mList[i_0].b = element_0.b.boolValue;
listHolder_0->mList[i_0].c = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].c)>>(
element_0.c.unsignedCharValue);
listHolder_0->mList[i_0].d = [self asByteSpan:element_0.d];
listHolder_0->mList[i_0].e = [self asCharSpan:element_0.e];
listHolder_0->mList[i_0].f = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].f)>>(
element_0.f.unsignedCharValue);
listHolder_0->mList[i_0].g = element_0.g.floatValue;
listHolder_0->mList[i_0].h = element_0.h.doubleValue;
}
request.arg2 = ListType_0(listHolder_0->mList, params.arg2.count);
} else {
request.arg2 = ListType_0();
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg3)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg3.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg3.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg3.count; ++i_0) {
if (![params.arg3[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.arg3[i_0];
listHolder_0->mList[i_0] = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0])>>(
element_0.unsignedCharValue);
}
request.arg3 = ListType_0(listHolder_0->mList, params.arg3.count);
} else {
request.arg3 = ListType_0();
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg4)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg4.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg4.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg4.count; ++i_0) {
if (![params.arg4[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.arg4[i_0];
listHolder_0->mList[i_0] = element_0.boolValue;
}
request.arg4 = ListType_0(listHolder_0->mList, params.arg4.count);
} else {
request.arg4 = ListType_0();
}
}
request.arg5 = static_cast<std::remove_reference_t<decltype(request.arg5)>>(params.arg5.unsignedCharValue);
request.arg6 = params.arg6.boolValue;
auto successFn = Callback<TestClusterClusterTestStructArrayArgumentResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testStructArgumentRequestWithParams:(MTRTestClusterClusterTestStructArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterBooleanResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestStructArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1.a = params.arg1.a.unsignedCharValue;
request.arg1.b = params.arg1.b.boolValue;
request.arg1.c = static_cast<std::remove_reference_t<decltype(request.arg1.c)>>(params.arg1.c.unsignedCharValue);
request.arg1.d = [self asByteSpan:params.arg1.d];
request.arg1.e = [self asCharSpan:params.arg1.e];
request.arg1.f = static_cast<std::remove_reference_t<decltype(request.arg1.f)>>(params.arg1.f.unsignedCharValue);
request.arg1.g = params.arg1.g.floatValue;
request.arg1.h = params.arg1.h.doubleValue;
auto successFn = Callback<TestClusterClusterBooleanResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testNestedStructArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterBooleanResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestNestedStructArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1.a = params.arg1.a.unsignedCharValue;
request.arg1.b = params.arg1.b.boolValue;
request.arg1.c.a = params.arg1.c.a.unsignedCharValue;
request.arg1.c.b = params.arg1.c.b.boolValue;
request.arg1.c.c
= static_cast<std::remove_reference_t<decltype(request.arg1.c.c)>>(params.arg1.c.c.unsignedCharValue);
request.arg1.c.d = [self asByteSpan:params.arg1.c.d];
request.arg1.c.e = [self asCharSpan:params.arg1.c.e];
request.arg1.c.f
= static_cast<std::remove_reference_t<decltype(request.arg1.c.f)>>(params.arg1.c.f.unsignedCharValue);
request.arg1.c.g = params.arg1.c.g.floatValue;
request.arg1.c.h = params.arg1.c.h.doubleValue;
auto successFn = Callback<TestClusterClusterBooleanResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testListStructArgumentRequestWithParams:(MTRTestClusterClusterTestListStructArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterBooleanResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestListStructArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg1)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg1.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg1.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg1.count; ++i_0) {
if (![params.arg1[i_0] isKindOfClass:[MTRTestClusterClusterSimpleStruct class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRTestClusterClusterSimpleStruct *) params.arg1[i_0];
listHolder_0->mList[i_0].a = element_0.a.unsignedCharValue;
listHolder_0->mList[i_0].b = element_0.b.boolValue;
listHolder_0->mList[i_0].c = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].c)>>(
element_0.c.unsignedCharValue);
listHolder_0->mList[i_0].d = [self asByteSpan:element_0.d];
listHolder_0->mList[i_0].e = [self asCharSpan:element_0.e];
listHolder_0->mList[i_0].f = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].f)>>(
element_0.f.unsignedCharValue);
listHolder_0->mList[i_0].g = element_0.g.floatValue;
listHolder_0->mList[i_0].h = element_0.h.doubleValue;
}
request.arg1 = ListType_0(listHolder_0->mList, params.arg1.count);
} else {
request.arg1 = ListType_0();
}
}
auto successFn = Callback<TestClusterClusterBooleanResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testListInt8UArgumentRequestWithParams:(MTRTestClusterClusterTestListInt8UArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterBooleanResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestListInt8UArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg1)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg1.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg1.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg1.count; ++i_0) {
if (![params.arg1[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.arg1[i_0];
listHolder_0->mList[i_0] = element_0.unsignedCharValue;
}
request.arg1 = ListType_0(listHolder_0->mList, params.arg1.count);
} else {
request.arg1 = ListType_0();
}
}
auto successFn = Callback<TestClusterClusterBooleanResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testNestedStructListArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructListArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterBooleanResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestNestedStructListArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1.a = params.arg1.a.unsignedCharValue;
request.arg1.b = params.arg1.b.boolValue;
request.arg1.c.a = params.arg1.c.a.unsignedCharValue;
request.arg1.c.b = params.arg1.c.b.boolValue;
request.arg1.c.c
= static_cast<std::remove_reference_t<decltype(request.arg1.c.c)>>(params.arg1.c.c.unsignedCharValue);
request.arg1.c.d = [self asByteSpan:params.arg1.c.d];
request.arg1.c.e = [self asCharSpan:params.arg1.c.e];
request.arg1.c.f
= static_cast<std::remove_reference_t<decltype(request.arg1.c.f)>>(params.arg1.c.f.unsignedCharValue);
request.arg1.c.g = params.arg1.c.g.floatValue;
request.arg1.c.h = params.arg1.c.h.doubleValue;
{
using ListType_1 = std::remove_reference_t<decltype(request.arg1.d)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.arg1.d.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.arg1.d.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.arg1.d.count; ++i_1) {
if (![params.arg1.d[i_1] isKindOfClass:[MTRTestClusterClusterSimpleStruct class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (MTRTestClusterClusterSimpleStruct *) params.arg1.d[i_1];
listHolder_1->mList[i_1].a = element_1.a.unsignedCharValue;
listHolder_1->mList[i_1].b = element_1.b.boolValue;
listHolder_1->mList[i_1].c = static_cast<std::remove_reference_t<decltype(listHolder_1->mList[i_1].c)>>(
element_1.c.unsignedCharValue);
listHolder_1->mList[i_1].d = [self asByteSpan:element_1.d];
listHolder_1->mList[i_1].e = [self asCharSpan:element_1.e];
listHolder_1->mList[i_1].f = static_cast<std::remove_reference_t<decltype(listHolder_1->mList[i_1].f)>>(
element_1.f.unsignedCharValue);
listHolder_1->mList[i_1].g = element_1.g.floatValue;
listHolder_1->mList[i_1].h = element_1.h.doubleValue;
}
request.arg1.d = ListType_1(listHolder_1->mList, params.arg1.d.count);
} else {
request.arg1.d = ListType_1();
}
}
{
using ListType_1 = std::remove_reference_t<decltype(request.arg1.e)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.arg1.e.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.arg1.e.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.arg1.e.count; ++i_1) {
if (![params.arg1.e[i_1] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (NSNumber *) params.arg1.e[i_1];
listHolder_1->mList[i_1] = element_1.unsignedIntValue;
}
request.arg1.e = ListType_1(listHolder_1->mList, params.arg1.e.count);
} else {
request.arg1.e = ListType_1();
}
}
{
using ListType_1 = std::remove_reference_t<decltype(request.arg1.f)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.arg1.f.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.arg1.f.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.arg1.f.count; ++i_1) {
if (![params.arg1.f[i_1] isKindOfClass:[NSData class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (NSData *) params.arg1.f[i_1];
listHolder_1->mList[i_1] = [self asByteSpan:element_1];
}
request.arg1.f = ListType_1(listHolder_1->mList, params.arg1.f.count);
} else {
request.arg1.f = ListType_1();
}
}
{
using ListType_1 = std::remove_reference_t<decltype(request.arg1.g)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.arg1.g.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.arg1.g.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.arg1.g.count; ++i_1) {
if (![params.arg1.g[i_1] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (NSNumber *) params.arg1.g[i_1];
listHolder_1->mList[i_1] = element_1.unsignedCharValue;
}
request.arg1.g = ListType_1(listHolder_1->mList, params.arg1.g.count);
} else {
request.arg1.g = ListType_1();
}
}
auto successFn = Callback<TestClusterClusterBooleanResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testListNestedStructListArgumentRequestWithParams:
(MTRTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterBooleanResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestListNestedStructListArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg1)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg1.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg1.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg1.count; ++i_0) {
if (![params.arg1[i_0] isKindOfClass:[MTRTestClusterClusterNestedStructList class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (MTRTestClusterClusterNestedStructList *) params.arg1[i_0];
listHolder_0->mList[i_0].a = element_0.a.unsignedCharValue;
listHolder_0->mList[i_0].b = element_0.b.boolValue;
listHolder_0->mList[i_0].c.a = element_0.c.a.unsignedCharValue;
listHolder_0->mList[i_0].c.b = element_0.c.b.boolValue;
listHolder_0->mList[i_0].c.c
= static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].c.c)>>(
element_0.c.c.unsignedCharValue);
listHolder_0->mList[i_0].c.d = [self asByteSpan:element_0.c.d];
listHolder_0->mList[i_0].c.e = [self asCharSpan:element_0.c.e];
listHolder_0->mList[i_0].c.f
= static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].c.f)>>(
element_0.c.f.unsignedCharValue);
listHolder_0->mList[i_0].c.g = element_0.c.g.floatValue;
listHolder_0->mList[i_0].c.h = element_0.c.h.doubleValue;
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].d)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.d.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.d.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.d.count; ++i_2) {
if (![element_0.d[i_2] isKindOfClass:[MTRTestClusterClusterSimpleStruct class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (MTRTestClusterClusterSimpleStruct *) element_0.d[i_2];
listHolder_2->mList[i_2].a = element_2.a.unsignedCharValue;
listHolder_2->mList[i_2].b = element_2.b.boolValue;
listHolder_2->mList[i_2].c
= static_cast<std::remove_reference_t<decltype(listHolder_2->mList[i_2].c)>>(
element_2.c.unsignedCharValue);
listHolder_2->mList[i_2].d = [self asByteSpan:element_2.d];
listHolder_2->mList[i_2].e = [self asCharSpan:element_2.e];
listHolder_2->mList[i_2].f
= static_cast<std::remove_reference_t<decltype(listHolder_2->mList[i_2].f)>>(
element_2.f.unsignedCharValue);
listHolder_2->mList[i_2].g = element_2.g.floatValue;
listHolder_2->mList[i_2].h = element_2.h.doubleValue;
}
listHolder_0->mList[i_0].d = ListType_2(listHolder_2->mList, element_0.d.count);
} else {
listHolder_0->mList[i_0].d = ListType_2();
}
}
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].e)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.e.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.e.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.e.count; ++i_2) {
if (![element_0.e[i_2] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSNumber *) element_0.e[i_2];
listHolder_2->mList[i_2] = element_2.unsignedIntValue;
}
listHolder_0->mList[i_0].e = ListType_2(listHolder_2->mList, element_0.e.count);
} else {
listHolder_0->mList[i_0].e = ListType_2();
}
}
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].f)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.f.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.f.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.f.count; ++i_2) {
if (![element_0.f[i_2] isKindOfClass:[NSData class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSData *) element_0.f[i_2];
listHolder_2->mList[i_2] = [self asByteSpan:element_2];
}
listHolder_0->mList[i_0].f = ListType_2(listHolder_2->mList, element_0.f.count);
} else {
listHolder_0->mList[i_0].f = ListType_2();
}
}
{
using ListType_2 = std::remove_reference_t<decltype(listHolder_0->mList[i_0].g)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (element_0.g.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(element_0.g.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < element_0.g.count; ++i_2) {
if (![element_0.g[i_2] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSNumber *) element_0.g[i_2];
listHolder_2->mList[i_2] = element_2.unsignedCharValue;
}
listHolder_0->mList[i_0].g = ListType_2(listHolder_2->mList, element_0.g.count);
} else {
listHolder_0->mList[i_0].g = ListType_2();
}
}
}
request.arg1 = ListType_0(listHolder_0->mList, params.arg1.count);
} else {
request.arg1 = ListType_0();
}
}
auto successFn = Callback<TestClusterClusterBooleanResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testListInt8UReverseRequestWithParams:(MTRTestClusterClusterTestListInt8UReverseRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestListInt8UReverseResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestListInt8UReverseRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
{
using ListType_0 = std::remove_reference_t<decltype(request.arg1)>;
using ListMemberType_0 = ListMemberTypeGetter<ListType_0>::Type;
if (params.arg1.count != 0) {
auto * listHolder_0 = new ListHolder<ListMemberType_0>(params.arg1.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_0);
for (size_t i_0 = 0; i_0 < params.arg1.count; ++i_0) {
if (![params.arg1[i_0] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_0 = (NSNumber *) params.arg1[i_0];
listHolder_0->mList[i_0] = element_0.unsignedCharValue;
}
request.arg1 = ListType_0(listHolder_0->mList, params.arg1.count);
} else {
request.arg1 = ListType_0();
}
}
auto successFn = Callback<TestClusterClusterTestListInt8UReverseResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testEnumsRequestWithParams:(MTRTestClusterClusterTestEnumsRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestEnumsResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestEnumsResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestEnumsRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1 = static_cast<std::remove_reference_t<decltype(request.arg1)>>(params.arg1.unsignedShortValue);
request.arg2 = static_cast<std::remove_reference_t<decltype(request.arg2)>>(params.arg2.unsignedCharValue);
auto successFn = Callback<TestClusterClusterTestEnumsResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testNullableOptionalRequestWithParams:(MTRTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestNullableOptionalResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestNullableOptionalRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (params != nil) {
if (params.arg1 != nil) {
auto & definedValue_0 = request.arg1.Emplace();
if (params.arg1 == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
nonNullValue_1 = params.arg1.unsignedCharValue;
}
}
}
auto successFn = Callback<TestClusterClusterTestNullableOptionalResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testComplexNullableOptionalRequestWithParams:(MTRTestClusterClusterTestComplexNullableOptionalRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(MTRTestClusterClusterTestComplexNullableOptionalResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestComplexNullableOptionalResponseCallbackBridge(self.callbackQueue, baseDevice,
completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestComplexNullableOptionalRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (params.nullableInt == nil) {
request.nullableInt.SetNull();
} else {
auto & nonNullValue_0 = request.nullableInt.SetNonNull();
nonNullValue_0 = params.nullableInt.unsignedShortValue;
}
if (params.optionalInt != nil) {
auto & definedValue_0 = request.optionalInt.Emplace();
definedValue_0 = params.optionalInt.unsignedShortValue;
}
if (params.nullableOptionalInt != nil) {
auto & definedValue_0 = request.nullableOptionalInt.Emplace();
if (params.nullableOptionalInt == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
nonNullValue_1 = params.nullableOptionalInt.unsignedShortValue;
}
}
if (params.nullableString == nil) {
request.nullableString.SetNull();
} else {
auto & nonNullValue_0 = request.nullableString.SetNonNull();
nonNullValue_0 = [self asCharSpan:params.nullableString];
}
if (params.optionalString != nil) {
auto & definedValue_0 = request.optionalString.Emplace();
definedValue_0 = [self asCharSpan:params.optionalString];
}
if (params.nullableOptionalString != nil) {
auto & definedValue_0 = request.nullableOptionalString.Emplace();
if (params.nullableOptionalString == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
nonNullValue_1 = [self asCharSpan:params.nullableOptionalString];
}
}
if (params.nullableStruct == nil) {
request.nullableStruct.SetNull();
} else {
auto & nonNullValue_0 = request.nullableStruct.SetNonNull();
nonNullValue_0.a = params.nullableStruct.a.unsignedCharValue;
nonNullValue_0.b = params.nullableStruct.b.boolValue;
nonNullValue_0.c = static_cast<std::remove_reference_t<decltype(nonNullValue_0.c)>>(
params.nullableStruct.c.unsignedCharValue);
nonNullValue_0.d = [self asByteSpan:params.nullableStruct.d];
nonNullValue_0.e = [self asCharSpan:params.nullableStruct.e];
nonNullValue_0.f = static_cast<std::remove_reference_t<decltype(nonNullValue_0.f)>>(
params.nullableStruct.f.unsignedCharValue);
nonNullValue_0.g = params.nullableStruct.g.floatValue;
nonNullValue_0.h = params.nullableStruct.h.doubleValue;
}
if (params.optionalStruct != nil) {
auto & definedValue_0 = request.optionalStruct.Emplace();
definedValue_0.a = params.optionalStruct.a.unsignedCharValue;
definedValue_0.b = params.optionalStruct.b.boolValue;
definedValue_0.c = static_cast<std::remove_reference_t<decltype(definedValue_0.c)>>(
params.optionalStruct.c.unsignedCharValue);
definedValue_0.d = [self asByteSpan:params.optionalStruct.d];
definedValue_0.e = [self asCharSpan:params.optionalStruct.e];
definedValue_0.f = static_cast<std::remove_reference_t<decltype(definedValue_0.f)>>(
params.optionalStruct.f.unsignedCharValue);
definedValue_0.g = params.optionalStruct.g.floatValue;
definedValue_0.h = params.optionalStruct.h.doubleValue;
}
if (params.nullableOptionalStruct != nil) {
auto & definedValue_0 = request.nullableOptionalStruct.Emplace();
if (params.nullableOptionalStruct == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
nonNullValue_1.a = params.nullableOptionalStruct.a.unsignedCharValue;
nonNullValue_1.b = params.nullableOptionalStruct.b.boolValue;
nonNullValue_1.c = static_cast<std::remove_reference_t<decltype(nonNullValue_1.c)>>(
params.nullableOptionalStruct.c.unsignedCharValue);
nonNullValue_1.d = [self asByteSpan:params.nullableOptionalStruct.d];
nonNullValue_1.e = [self asCharSpan:params.nullableOptionalStruct.e];
nonNullValue_1.f = static_cast<std::remove_reference_t<decltype(nonNullValue_1.f)>>(
params.nullableOptionalStruct.f.unsignedCharValue);
nonNullValue_1.g = params.nullableOptionalStruct.g.floatValue;
nonNullValue_1.h = params.nullableOptionalStruct.h.doubleValue;
}
}
if (params.nullableList == nil) {
request.nullableList.SetNull();
} else {
auto & nonNullValue_0 = request.nullableList.SetNonNull();
{
using ListType_1 = std::remove_reference_t<decltype(nonNullValue_0)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.nullableList.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.nullableList.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.nullableList.count; ++i_1) {
if (![params.nullableList[i_1] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (NSNumber *) params.nullableList[i_1];
listHolder_1->mList[i_1] = static_cast<std::remove_reference_t<decltype(listHolder_1->mList[i_1])>>(
element_1.unsignedCharValue);
}
nonNullValue_0 = ListType_1(listHolder_1->mList, params.nullableList.count);
} else {
nonNullValue_0 = ListType_1();
}
}
}
if (params.optionalList != nil) {
auto & definedValue_0 = request.optionalList.Emplace();
{
using ListType_1 = std::remove_reference_t<decltype(definedValue_0)>;
using ListMemberType_1 = ListMemberTypeGetter<ListType_1>::Type;
if (params.optionalList.count != 0) {
auto * listHolder_1 = new ListHolder<ListMemberType_1>(params.optionalList.count);
if (listHolder_1 == nullptr || listHolder_1->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_1);
for (size_t i_1 = 0; i_1 < params.optionalList.count; ++i_1) {
if (![params.optionalList[i_1] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_1 = (NSNumber *) params.optionalList[i_1];
listHolder_1->mList[i_1] = static_cast<std::remove_reference_t<decltype(listHolder_1->mList[i_1])>>(
element_1.unsignedCharValue);
}
definedValue_0 = ListType_1(listHolder_1->mList, params.optionalList.count);
} else {
definedValue_0 = ListType_1();
}
}
}
if (params.nullableOptionalList != nil) {
auto & definedValue_0 = request.nullableOptionalList.Emplace();
if (params.nullableOptionalList == nil) {
definedValue_0.SetNull();
} else {
auto & nonNullValue_1 = definedValue_0.SetNonNull();
{
using ListType_2 = std::remove_reference_t<decltype(nonNullValue_1)>;
using ListMemberType_2 = ListMemberTypeGetter<ListType_2>::Type;
if (params.nullableOptionalList.count != 0) {
auto * listHolder_2 = new ListHolder<ListMemberType_2>(params.nullableOptionalList.count);
if (listHolder_2 == nullptr || listHolder_2->mList == nullptr) {
return CHIP_ERROR_INVALID_ARGUMENT;
}
listFreer.add(listHolder_2);
for (size_t i_2 = 0; i_2 < params.nullableOptionalList.count; ++i_2) {
if (![params.nullableOptionalList[i_2] isKindOfClass:[NSNumber class]]) {
// Wrong kind of value.
return CHIP_ERROR_INVALID_ARGUMENT;
}
auto element_2 = (NSNumber *) params.nullableOptionalList[i_2];
listHolder_2->mList[i_2]
= static_cast<std::remove_reference_t<decltype(listHolder_2->mList[i_2])>>(
element_2.unsignedCharValue);
}
nonNullValue_1 = ListType_2(listHolder_2->mList, params.nullableOptionalList.count);
} else {
nonNullValue_1 = ListType_2();
}
}
}
}
auto successFn
= Callback<TestClusterClusterTestComplexNullableOptionalResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)simpleStructEchoRequestWithParams:(MTRTestClusterClusterSimpleStructEchoRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterSimpleStructResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterSimpleStructResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::SimpleStructEchoRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1.a = params.arg1.a.unsignedCharValue;
request.arg1.b = params.arg1.b.boolValue;
request.arg1.c = static_cast<std::remove_reference_t<decltype(request.arg1.c)>>(params.arg1.c.unsignedCharValue);
request.arg1.d = [self asByteSpan:params.arg1.d];
request.arg1.e = [self asCharSpan:params.arg1.e];
request.arg1.f = static_cast<std::remove_reference_t<decltype(request.arg1.f)>>(params.arg1.f.unsignedCharValue);
request.arg1.g = params.arg1.g.floatValue;
request.arg1.h = params.arg1.h.doubleValue;
auto successFn = Callback<TestClusterClusterSimpleStructResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)timedInvokeRequestWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
[self timedInvokeRequestWithParams:nil
expectedValues:expectedValues
expectedValueInterval:expectedValueIntervalMs
completionHandler:completionHandler];
}
- (void)timedInvokeRequestWithParams:(MTRTestClusterClusterTimedInvokeRequestParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TimedInvokeRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (!timedInvokeTimeoutMs.HasValue()) {
timedInvokeTimeoutMs.SetValue(10000);
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testSimpleOptionalArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(StatusCompletion)completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRCommandSuccessCallbackBridge(
self.callbackQueue, baseDevice,
^(id _Nullable value, NSError * _Nullable error) {
completionHandler(error);
},
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
if (params != nil) {
if (params.arg1 != nil) {
auto & definedValue_0 = request.arg1.Emplace();
definedValue_0 = params.arg1.boolValue;
}
}
auto successFn = Callback<CommandSuccessCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testEmitTestEventRequestWithParams:(MTRTestClusterClusterTestEmitTestEventRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:(void (^)(MTRTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestEmitTestEventResponseCallbackBridge(self.callbackQueue, baseDevice, completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestEmitTestEventRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1 = params.arg1.unsignedCharValue;
request.arg2 = static_cast<std::remove_reference_t<decltype(request.arg2)>>(params.arg2.unsignedCharValue);
request.arg3 = params.arg3.boolValue;
auto successFn = Callback<TestClusterClusterTestEmitTestEventResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams *)params
expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
completionHandler:
(void (^)(
MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
NSError * _Nullable error))completionHandler
{
// Make a copy of params before we go async.
params = [params copy];
[self.device connectAndPerformAsync:^(MTRBaseDevice * baseDevice) {
new MTRTestClusterClusterTestEmitTestFabricScopedEventResponseCallbackBridge(self.callbackQueue, baseDevice,
completionHandler,
^(ExchangeManager & exchangeManager, const SessionHandle & session, Cancelable * success, Cancelable * failure) {
chip::Optional<uint16_t> timedInvokeTimeoutMs;
ListFreer listFreer;
TestCluster::Commands::TestEmitTestFabricScopedEventRequest::Type request;
if (params != nil) {
if (params.timedInvokeTimeoutMs != nil) {
timedInvokeTimeoutMs.SetValue(params.timedInvokeTimeoutMs.unsignedShortValue);
}
}
request.arg1 = params.arg1.unsignedCharValue;
auto successFn
= Callback<TestClusterClusterTestEmitTestFabricScopedEventResponseCallbackType>::FromCancelable(success);
auto failureFn = Callback<DefaultFailureCallbackType>::FromCancelable(failure);
chip::Controller::TestClusterCluster cppCluster(exchangeManager, session, self->_endpoint);
return cppCluster.InvokeCommand(
request, successFn->mContext, successFn->mCall, failureFn->mCall, timedInvokeTimeoutMs);
});
}];
[self.device setExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBooleanWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBooleanID)
params:params];
}
- (void)writeAttributeBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBooleanWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBooleanID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBitmap8WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap8ID)
params:params];
}
- (void)writeAttributeBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBitmap8WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap8ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBitmap16WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap16ID)
params:params];
}
- (void)writeAttributeBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBitmap16WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap16ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBitmap32WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap32ID)
params:params];
}
- (void)writeAttributeBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBitmap32WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap32ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeBitmap64WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap64ID)
params:params];
}
- (void)writeAttributeBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeBitmap64WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeBitmap64ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt8uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt8uID)
params:params];
}
- (void)writeAttributeInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt8uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt8uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt16uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt16uID)
params:params];
}
- (void)writeAttributeInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt16uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt16uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt24uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt24uID)
params:params];
}
- (void)writeAttributeInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt24uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt24uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt32uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt32uID)
params:params];
}
- (void)writeAttributeInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt32uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt32uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt40uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt40uID)
params:params];
}
- (void)writeAttributeInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt40uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt40uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt48uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt48uID)
params:params];
}
- (void)writeAttributeInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt48uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt48uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt56uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt56uID)
params:params];
}
- (void)writeAttributeInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt56uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt56uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt64uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt64uID)
params:params];
}
- (void)writeAttributeInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt64uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt64uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt8sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt8sID)
params:params];
}
- (void)writeAttributeInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt8sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt8sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt16sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt16sID)
params:params];
}
- (void)writeAttributeInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt16sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt16sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt24sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt24sID)
params:params];
}
- (void)writeAttributeInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt24sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt24sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt32sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt32sID)
params:params];
}
- (void)writeAttributeInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt32sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt32sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt40sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt40sID)
params:params];
}
- (void)writeAttributeInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt40sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt40sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt48sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt48sID)
params:params];
}
- (void)writeAttributeInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt48sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt48sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt56sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt56sID)
params:params];
}
- (void)writeAttributeInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt56sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt56sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeInt64sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt64sID)
params:params];
}
- (void)writeAttributeInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeInt64sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeInt64sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnum8WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEnum8ID)
params:params];
}
- (void)writeAttributeEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnum8WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEnum8ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnum16WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEnum16ID)
params:params];
}
- (void)writeAttributeEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnum16WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEnum16ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeFloatSingleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeFloatSingleID)
params:params];
}
- (void)writeAttributeFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeFloatSingleWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeFloatSingleID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeFloatDoubleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeFloatDoubleID)
params:params];
}
- (void)writeAttributeFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeFloatDoubleWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeFloatDoubleID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeOctetStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeOctetStringID)
params:params];
}
- (void)writeAttributeOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeOctetStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeOctetStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeListInt8uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListInt8uID)
params:params];
}
- (void)writeAttributeListInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeListInt8uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeListInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListInt8uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeListOctetStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListOctetStringID)
params:params];
}
- (void)writeAttributeListOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeListOctetStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeListOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListOctetStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeListStructOctetStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListStructOctetStringID)
params:params];
}
- (void)writeAttributeListStructOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeListStructOctetStringWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeListStructOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListStructOctetStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLongOctetStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeLongOctetStringID)
params:params];
}
- (void)writeAttributeLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLongOctetStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeLongOctetStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeCharStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeCharStringID)
params:params];
}
- (void)writeAttributeCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeCharStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeCharStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeLongCharStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeLongCharStringID)
params:params];
}
- (void)writeAttributeLongCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeLongCharStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeLongCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeLongCharStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEpochUsWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEpochUsID)
params:params];
}
- (void)writeAttributeEpochUsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEpochUsWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeEpochUsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEpochUsID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEpochSWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEpochSID)
params:params];
}
- (void)writeAttributeEpochSWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEpochSWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeEpochSWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEpochSID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeVendorIdWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeVendorIdID)
params:params];
}
- (void)writeAttributeVendorIdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeVendorIdWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeVendorIdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeVendorIdID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeListNullablesAndOptionalsStructWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListNullablesAndOptionalsStructID)
params:params];
}
- (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeListNullablesAndOptionalsStructWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListNullablesAndOptionalsStructID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeEnumAttrWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEnumAttrID)
params:params];
}
- (void)writeAttributeEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeEnumAttrWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeEnumAttrID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeStructAttrWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeStructAttrID)
params:params];
}
- (void)writeAttributeStructAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeStructAttrWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeStructAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeStructAttrID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt8uID)
params:params];
}
- (void)writeAttributeRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRangeRestrictedInt8uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt8uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt8sID)
params:params];
}
- (void)writeAttributeRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRangeRestrictedInt8sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt8sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt16uID)
params:params];
}
- (void)writeAttributeRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRangeRestrictedInt16uWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt16uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt16sID)
params:params];
}
- (void)writeAttributeRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeRangeRestrictedInt16sWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeRangeRestrictedInt16sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeListLongOctetStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListLongOctetStringID)
params:params];
}
- (void)writeAttributeListLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeListLongOctetStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeListLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListLongOctetStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeListFabricScopedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListFabricScopedID)
params:params];
}
- (void)writeAttributeListFabricScopedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeListFabricScopedWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeListFabricScopedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeListFabricScopedID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeTimedWriteBooleanWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeTimedWriteBooleanID)
params:params];
}
- (void)writeAttributeTimedWriteBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeTimedWriteBooleanWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeTimedWriteBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeTimedWriteBooleanID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneralErrorBooleanWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeGeneralErrorBooleanID)
params:params];
}
- (void)writeAttributeGeneralErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeGeneralErrorBooleanWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeGeneralErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeGeneralErrorBooleanID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterErrorBooleanWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeClusterErrorBooleanID)
params:params];
}
- (void)writeAttributeClusterErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeClusterErrorBooleanWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeClusterErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeClusterErrorBooleanID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeUnsupportedWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeUnsupportedID)
params:params];
}
- (void)writeAttributeUnsupportedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeUnsupportedWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeUnsupportedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeUnsupportedID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableBooleanWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBooleanID)
params:params];
}
- (void)writeAttributeNullableBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableBooleanWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBooleanID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap8WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap8ID)
params:params];
}
- (void)writeAttributeNullableBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableBitmap8WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap8ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap16WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap16ID)
params:params];
}
- (void)writeAttributeNullableBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableBitmap16WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap16ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap32WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap32ID)
params:params];
}
- (void)writeAttributeNullableBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableBitmap32WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap32ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap64WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap64ID)
params:params];
}
- (void)writeAttributeNullableBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableBitmap64WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableBitmap64ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt8uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt8uID)
params:params];
}
- (void)writeAttributeNullableInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt8uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt8uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt16uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt16uID)
params:params];
}
- (void)writeAttributeNullableInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt16uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt16uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt24uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt24uID)
params:params];
}
- (void)writeAttributeNullableInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt24uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt24uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt32uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt32uID)
params:params];
}
- (void)writeAttributeNullableInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt32uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt32uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt40uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt40uID)
params:params];
}
- (void)writeAttributeNullableInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt40uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt40uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt48uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt48uID)
params:params];
}
- (void)writeAttributeNullableInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt48uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt48uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt56uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt56uID)
params:params];
}
- (void)writeAttributeNullableInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt56uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt56uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt64uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt64uID)
params:params];
}
- (void)writeAttributeNullableInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt64uWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt64uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt8sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt8sID)
params:params];
}
- (void)writeAttributeNullableInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt8sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt8sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt16sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt16sID)
params:params];
}
- (void)writeAttributeNullableInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt16sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt16sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt24sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt24sID)
params:params];
}
- (void)writeAttributeNullableInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt24sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt24sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt32sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt32sID)
params:params];
}
- (void)writeAttributeNullableInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt32sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt32sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt40sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt40sID)
params:params];
}
- (void)writeAttributeNullableInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt40sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt40sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt48sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt48sID)
params:params];
}
- (void)writeAttributeNullableInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt48sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt48sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt56sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt56sID)
params:params];
}
- (void)writeAttributeNullableInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt56sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt56sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableInt64sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt64sID)
params:params];
}
- (void)writeAttributeNullableInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableInt64sWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableInt64sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableEnum8WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableEnum8ID)
params:params];
}
- (void)writeAttributeNullableEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableEnum8WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableEnum8ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableEnum16WithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableEnum16ID)
params:params];
}
- (void)writeAttributeNullableEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableEnum16WithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableEnum16ID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableFloatSingleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableFloatSingleID)
params:params];
}
- (void)writeAttributeNullableFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableFloatSingleWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableFloatSingleID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableFloatDoubleWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableFloatDoubleID)
params:params];
}
- (void)writeAttributeNullableFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableFloatDoubleWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableFloatDoubleID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableOctetStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableOctetStringID)
params:params];
}
- (void)writeAttributeNullableOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableOctetStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableOctetStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableCharStringWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableCharStringID)
params:params];
}
- (void)writeAttributeNullableCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableCharStringWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableCharStringID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableEnumAttrWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableEnumAttrID)
params:params];
}
- (void)writeAttributeNullableEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableEnumAttrWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableEnumAttrID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableStructWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableStructID)
params:params];
}
- (void)writeAttributeNullableStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableStructWithValue:dataValueDictionary expectedValueInterval:expectedValueIntervalMs params:nil];
}
- (void)writeAttributeNullableStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableStructID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt8uID)
params:params];
}
- (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableRangeRestrictedInt8uWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt8uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt8sID)
params:params];
}
- (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableRangeRestrictedInt8sWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt8sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt16uID)
params:params];
}
- (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableRangeRestrictedInt16uWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt16uID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt16sID)
params:params];
}
- (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
{
[self writeAttributeNullableRangeRestrictedInt16sWithValue:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
params:nil];
}
- (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
expectedValueInterval:(NSNumber *)expectedValueIntervalMs
params:(MTRWriteParams * _Nullable)params
{
NSNumber * waitTimeInMs = params.timedWriteTimeout;
[self.device writeAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeNullableRangeRestrictedInt16sID)
value:dataValueDictionary
expectedValueInterval:expectedValueIntervalMs
timedWriteTimeout:waitTimeInMs];
}
- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeGeneratedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeAcceptedCommandListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeAttributeListID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeFeatureMapID)
params:params];
}
- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointId:@(_endpoint)
clusterId:@(MTRClusterTestClusterID)
attributeId:@(MTRClusterTestClusterAttributeClusterRevisionID)
params:params];
}
@end
// NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)