@@ -2835,59 +2835,6 @@ - (void)writeAttributeWithEndpointID:(NSNumber *)endpointID
2835
2835
[_asyncWorkQueue enqueueWorkItem: workItem descriptionWithFormat: @" write %@ 0x%llx 0x%llx " , endpointID, clusterID.unsignedLongLongValue, attributeID.unsignedLongLongValue];
2836
2836
}
2837
2837
2838
- - (void )invokeCommandWithEndpointID : (NSNumber *)endpointID
2839
- clusterID : (NSNumber *)clusterID
2840
- commandID : (NSNumber *)commandID
2841
- commandFields : (NSDictionary <NSString *, id> * _Nullable)commandFields
2842
- expectedValues : (NSArray <NSDictionary<NSString *, id> *> * _Nullable)expectedValues
2843
- expectedValueInterval : (NSNumber * _Nullable)expectedValueInterval
2844
- queue : (dispatch_queue_t )queue
2845
- completion : (MTRDeviceResponseHandler)completion
2846
- {
2847
- if (commandFields == nil ) {
2848
- commandFields = @{
2849
- MTRTypeKey : MTRStructureValueType,
2850
- MTRValueKey : @[],
2851
- };
2852
- }
2853
-
2854
- [self invokeCommandWithEndpointID: endpointID
2855
- clusterID: clusterID
2856
- commandID: commandID
2857
- commandFields: commandFields
2858
- expectedValues: expectedValues
2859
- expectedValueInterval: expectedValueInterval
2860
- timedInvokeTimeout: nil
2861
- queue: queue
2862
- completion: completion];
2863
- }
2864
-
2865
- - (void )invokeCommandWithEndpointID : (NSNumber *)endpointID
2866
- clusterID : (NSNumber *)clusterID
2867
- commandID : (NSNumber *)commandID
2868
- commandFields : (id )commandFields
2869
- expectedValues : (NSArray <NSDictionary<NSString *, id> *> * _Nullable)expectedValues
2870
- expectedValueInterval : (NSNumber * _Nullable)expectedValueInterval
2871
- timedInvokeTimeout : (NSNumber * _Nullable)timeout
2872
- queue : (dispatch_queue_t )queue
2873
- completion : (MTRDeviceResponseHandler)completion
2874
- {
2875
- // We don't have a way to communicate a non-default invoke timeout
2876
- // here for now.
2877
- // TODO: https://github.com/project-chip/connectedhomeip/issues/24563
2878
-
2879
- [self _invokeCommandWithEndpointID: endpointID
2880
- clusterID: clusterID
2881
- commandID: commandID
2882
- commandFields: commandFields
2883
- expectedValues: expectedValues
2884
- expectedValueInterval: expectedValueInterval
2885
- timedInvokeTimeout: timeout
2886
- serverSideProcessingTimeout: nil
2887
- queue: queue
2888
- completion: completion];
2889
- }
2890
-
2891
2838
- (void )_invokeCommandWithEndpointID : (NSNumber *)endpointID
2892
2839
clusterID : (NSNumber *)clusterID
2893
2840
commandID : (NSNumber *)commandID
@@ -2985,58 +2932,6 @@ - (void)_invokeCommandWithEndpointID:(NSNumber *)endpointID
2985
2932
[_asyncWorkQueue enqueueWorkItem: workItem descriptionWithFormat: @" invoke %@ 0x%llx 0x%llx " , endpointID, clusterID.unsignedLongLongValue, commandID.unsignedLongLongValue];
2986
2933
}
2987
2934
2988
- - (void )_invokeKnownCommandWithEndpointID : (NSNumber *)endpointID
2989
- clusterID : (NSNumber *)clusterID
2990
- commandID : (NSNumber *)commandID
2991
- commandPayload : (id )commandPayload
2992
- expectedValues : (NSArray <NSDictionary<NSString *, id> *> * _Nullable)expectedValues
2993
- expectedValueInterval : (NSNumber * _Nullable)expectedValueInterval
2994
- timedInvokeTimeout : (NSNumber * _Nullable)timeout
2995
- serverSideProcessingTimeout : (NSNumber * _Nullable)serverSideProcessingTimeout
2996
- responseClass : (Class _Nullable)responseClass
2997
- queue : (dispatch_queue_t )queue
2998
- completion : (void (^)(id _Nullable response, NSError * _Nullable error))completion
2999
- {
3000
- if (![commandPayload respondsToSelector: @selector (_encodeAsDataValue: )]) {
3001
- dispatch_async (queue, ^{
3002
- completion (nil , [MTRError errorForCHIPErrorCode: CHIP_ERROR_INVALID_ARGUMENT]);
3003
- });
3004
- return ;
3005
- }
3006
-
3007
- NSError * encodingError;
3008
- auto * commandFields = [commandPayload _encodeAsDataValue: &encodingError];
3009
- if (commandFields == nil ) {
3010
- dispatch_async (queue, ^{
3011
- completion (nil , encodingError);
3012
- });
3013
- return ;
3014
- }
3015
-
3016
- auto responseHandler = ^(NSArray <NSDictionary <NSString *, id > *> * _Nullable values, NSError * _Nullable error) {
3017
- id _Nullable response = nil ;
3018
- if (error == nil ) {
3019
- if (values.count != 1 ) {
3020
- error = [NSError errorWithDomain: MTRErrorDomain code: MTRErrorCodeSchemaMismatch userInfo: nil ];
3021
- } else if (responseClass != nil ) {
3022
- response = [[responseClass alloc ] initWithResponseValue: values[0 ] error: &error];
3023
- }
3024
- }
3025
- completion (response, error);
3026
- };
3027
-
3028
- [self _invokeCommandWithEndpointID: endpointID
3029
- clusterID: clusterID
3030
- commandID: commandID
3031
- commandFields: commandFields
3032
- expectedValues: expectedValues
3033
- expectedValueInterval: expectedValueInterval
3034
- timedInvokeTimeout: timeout
3035
- serverSideProcessingTimeout: serverSideProcessingTimeout
3036
- queue: queue
3037
- completion: responseHandler];
3038
- }
3039
-
3040
2935
- (void )openCommissioningWindowWithSetupPasscode : (NSNumber *)setupPasscode
3041
2936
discriminator : (NSNumber *)discriminator
3042
2937
duration : (NSNumber *)duration
@@ -4072,27 +3967,6 @@ + (MTRDevice *)deviceWithNodeID:(uint64_t)nodeID deviceController:(MTRDeviceCont
4072
3967
return [self deviceWithNodeID: @(nodeID) controller: deviceController];
4073
3968
}
4074
3969
4075
- - (void )invokeCommandWithEndpointID : (NSNumber *)endpointID
4076
- clusterID : (NSNumber *)clusterID
4077
- commandID : (NSNumber *)commandID
4078
- commandFields : (id )commandFields
4079
- expectedValues : (NSArray <NSDictionary<NSString *, id> *> * _Nullable)expectedValues
4080
- expectedValueInterval : (NSNumber * _Nullable)expectedValueInterval
4081
- timedInvokeTimeout : (NSNumber * _Nullable)timeout
4082
- clientQueue : (dispatch_queue_t )queue
4083
- completion : (MTRDeviceResponseHandler)completion
4084
- {
4085
- [self invokeCommandWithEndpointID: endpointID
4086
- clusterID: clusterID
4087
- commandID: commandID
4088
- commandFields: commandFields
4089
- expectedValues: expectedValues
4090
- expectedValueInterval: expectedValueInterval
4091
- timedInvokeTimeout: timeout
4092
- queue: queue
4093
- completion: completion];
4094
- }
4095
-
4096
3970
@end
4097
3971
4098
3972
#pragma mark - SubscriptionCallback
0 commit comments