涂鸦智能生活 App SDK 为全屋智能业务场景的移动端开发提供各类模块和组件。因此,家庭是抽象于全屋智能场景的概念,指用户在以家或者场所为单位的范围内所有设备、账号、权限等信息的集合。
家庭管理主要包括以下能力:
- 查询家庭列表
- 添加、修改和移除单个家庭
- 管理家庭名称,地理位置、房间列表信息,成员信息等
- 家庭下,设备添加、信息修改、监听移除、设备状态变化的监听等
用户登录成功后需要通过 TuyaSmartHomeManager
去查询整个家庭列表的信息,然后初始化其中的一个家庭 TuyaSmartHome
,查询家庭详情信息,就可以对家庭中的设备进行操作控制。
功能说明
类名(协议名) | 说明 |
---|---|
TuyaSmartHomeManager | 查询家庭列表、家庭列表排序、添加家庭 |
TuyaSmartHomeManagerDelegate | 增删家庭、MQTT 连接成功回调 |
单个家庭信息管理相关的所有功能对应 TuyaSmartHome
类,需要使用正确的 homeId
进行初始化。错误的 homeId
会导致初始化失败,返回 nil
。主要功能:单个家庭信息管理,家庭下的家庭成员管理,房间管理等。
类名(协议名) | 说明 |
---|---|
TuyaSmartHome | 家庭管理类 |
TuyaSmartHomeDelegate | 家庭下信息变更回调 |
初始化 home
对象之后需要去查询家庭的详情 getHomeDataWithSuccess:failure:
,home
实例对象中的属性 homeModel
、roomList
、deviceList
、groupList
、sharedDeviceList
、sharedGroupList
才有数据。
创建家庭
接口说明
- (void)addHomeWithName:(NSString *)homeName
geoName:(NSString *)geoName
rooms:(NSArray <NSString *>*)rooms
latitude:(double)latitude
longitude:(double)longitude
success:(TYSuccessLongLong)success
failure:(TYFailureError)failure;
参数说明
参数 | 说明 |
---|---|
homeName | 家庭的名称 |
geoName | 家庭的地址 |
rooms | 家庭下房间的名称列表 |
latitude | 家庭地址纬度 |
longitude | 家庭地址经度 |
success | 成功回调 |
failure | 失败回调 |
示例代码
Objc:
- (void)addHome {
[self.homeManager addHomeWithName:@"you_home_name"
geoName:@"city_name"
rooms:@[@"room_name"]
latitude:lat
longitude:lon
success:^(double homeId) {
// homeId 创建的家庭的 homeId
NSLog(@"add home success");
} failure:^(NSError *error) {
NSLog(@"add home failure: %@", error);
}];
}
Swift:
func addHome() {
homeManager.addHome(withName: "you_home_name",
geoName: "city_name",
rooms: ["room_name"],
latitude: lat,
longitude: lon,
success: { (homeId) in
// homeId 创建的家庭的 homeId
print("add home success")
}) { (error) in
if let e = error {
print("add home failure: \(e)")
}
}
}
查询家庭列表
本接口返回的数据只是家庭的简单信息。如果要查询具体家庭的详情,您需要去 TuyaSmartHome
初始化一个 home
,调用接口 getHomeDataWithSuccess:failure:。
接口说明
// 查询家庭的列表
- (void)getHomeListWithSuccess:(void(^)(NSArray <TuyaSmartHomeModel *> *homes))success
failure:(TYFailureError)failure;
参数说明
参数 | 说明 |
---|---|
success | 成功回调 |
failure | 失败回调 |
示例代码
Objc:
-