| /* |
| * |
| * 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) |