更新时间:2024-07-16 06:28:45下载pdf
多控关联 UI 业务包的业务功能包括涂鸦多控关联模块的 关联多控设备 的业务逻辑及 UI 界面。
设备多控关联是指设备的某个 DP 与另一个设备的某个 DP 之间建立关联,生成一个多控组。当控制多控组内某个建立 DP 关联的设备,组内其他设备关联的 DP 状态同步。
例如,三个二路 Zigbee 子设备开关,每个开关的第一个 DP 与另外两个开关的第一个 DP 建立多控组,当控制其中一个开关的第一个 DP 状态为关闭状态,另外两个开关的第一个 DP 同步关闭。
目前支持多控关联的设备有:
在工程的 Podfile
文件中添加多控关联业务包组件,并执行 pod update
命令:
source 'https://github.com/tuya/tuya-pod-specs.git'
source 'https://cdn.cocoapods.org/'
platform :ios, '11.0'
target 'your_target_name' do
# 添加多控关联业务包
pod 'ThingSmartDeviceSyncBizBundle'
end
调用业务包前,您需要先查询对应的执行设备 ID。
多控关联业务包实现 ThingDeviceSyncProtocol.h
协议以提供对外服务。您可以在 ThingModuleServices
组件中查看 ThingDeviceSyncProtocol.h
,协议文件内容为:
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol ThingDeviceSyncProtocol <NSObject>
/**
跳转到多控关联设备中心
@param devId 设备的 devId
*/
- (void)gotoDeviceBindViewControllerWithDevId:(NSString *)devId;
/**
判断当前主设备是否支持多控关联
@param devId 主设备的设备ID
@result BOOL 主设备是否支持多控关联
*/
- (BOOL)isSupportMultiControl:(NSString *)devId;
@end
NS_ASSUME_NONNULL_END
Objective-C 示例
#import <ThingSmartBizCore/ThingSmartBizCore.h>
#import <ThingModuleServices/ThingDeviceSyncProtocol.h>
// 实现对应的协议方法
- (void)isSupportMultiControl {
NSString *deviceId = @"deviceId";
id<ThingDeviceSyncProtocol> impl = [[ThingSmartBizCore sharedInstance] serviceOfProtocol:@protocol(ThingDeviceSyncProtocol)];
BOOL isSupport = [impl isSupportMultiControl:deviceId];
}
Swift 示例
let impl = ThingSmartBizCore.sharedInstance().service(of:ThingDeviceSyncProtocol.self) as?ThingDeviceSyncProtocol
impl?.isSupportMultiControl(devId: @"deviceId")
Objective-C 示例
#import <ThingSmartBizCore/ThingSmartBizCore.h>
#import <ThingModuleServices/ThingDeviceSyncProtocol.h>
// 实现对应的协议方法
- (void)gotoMultiControl {
NSString *deviceId = @"deviceId";
id<ThingDeviceSyncProtocol> impl = [[ThingSmartBizCore sharedInstance] serviceOfProtocol:@protocol(ThingDeviceSyncProtocol)];
[impl gotoDeviceBindViewControllerWithDevId:deviceId];
}
Swift 示例
let impl = ThingSmartBizCore.sharedInstance().service(of:ThingDeviceSyncProtocol.self) as?ThingDeviceSyncProtocol
impl?.gotoDeviceBindViewControllerWithDevId(devId: @"deviceId")
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈