Last Updated on : 2022-06-23 10:36:04download
Group Management UI BizBundle provides the service logic and UI encapsulation for device groups. This allows users to create device groups, and control multiple devices of the same group in each request. You can use the UI BizBundle to implement multiple features. For example, create a group of devices that belong to the same type, and add devices to or delete them from groups.
Add the components of the Group Management UI BizBundle to the Podfile and run the command pod update
.
source "https://github.com/tuya/TuyaPublicSpecs.git"
source 'https://cdn.cocoapods.org/'
target 'your_target_name' do
# TuyaSmartResidence SDK
pod "TuyaSmartResidenceKit"
# Adds the Group Management UI BizBundle
pod 'TuyaSmartResidenceGroupHandleBizBundle'
end
The UI BizBundle relies on the implementation of the protocol TuyaSmartResidenceGroupHandleProtocol
to provide services. You can view the TuyaSmartResidenceGroupHandleProtocol.h
file in the TYModuleServices
component.
@protocol TuyaSmartResidenceGroupHandleProtocol <NSObject>
/**
Creates a group.
@param deviceId The device ID.
@param completion Indicates whether the device supports group management.
*/
- (void)createGroup:(NSString *_Nonnull)deviceId completion:(void (^ _Nullable)(TYGroupHandleType type))completion;
/**
Modifies a group.
@param groupId The group ID.
@param completion The callback.
*/
- (void)editGroup:(NSString *_Nonnull)groupId completion:(void (^ _Nullable)(TYGroupHandleType type))completion;
@end
site
to pass it into the request.#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TuyaSmartResidenceGroupHandleProtocol.h>
- (void)initCurrentSite {
self.site = [TuyaResidenceSite siteWithSiteId:@"siteId"];
[self.site fetchSiteDetailWithSuccess:^(TuyaResidenceSiteModel * _Nonnull siteModel) {
} failure:^(NSError *error) {
}];
}
#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TuyaSmartResidenceGroupHandleProtocol.h>
- (void)createGroup:(NSString *_Nonnull)deviceId completion:(void (^ _Nullable)(TYGroupHandleType type))completion {
id <TuyaSmartResidenceGroupHandleProtocol> impl = [[TuyaSmartBizCore sharedInstance] serviceOfProtocol:@protocol(TuyaSmartResidenceGroupHandleProtocol)];
[impl createGroup:deviceId completion:^(TYGroupHandleType type) {
switch (type) {
case TYGroupHandleTypeInvalid:
NSLog(@"DeviceId is invalid");
break;
case TYGroupHandleTypeSupport:
NSLog(@"Support");
break;
case TYGroupHandleTypeNotSupport:
NSLog(@"Not Support");
break;
default:
break;
}
}];
}
#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TuyaSmartResidenceGroupHandleProtocol.h>
// The value of `groupId` can be obtained as a sub-element from `site.groupList`.
- (void)editGroup:(NSString *_Nonnull)groupId completion:(void (^ _Nullable)(TYGroupHandleType type))completion {
id <TuyaSmartResidenceGroupHandleProtocol> impl = [[TuyaSmartBizCore sharedInstance] serviceOfProtocol:@protocol(TuyaSmartResidenceGroupHandleProtocol)];
[impl editGroup:groupId completion:^(TYGroupHandleType type) {
switch (type) {
case TYGroupHandleTypeInvalid:
NSLog(@"DeviceId is invalid");
break;
case TYGroupHandleTypeSupport:
NSLog(@"Support");
break;
case TYGroupHandleTypeNotSupport:
NSLog(@"Not Support");
break;
default:
break;
}
}];
}
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback