涂鸦智能生活 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
*) 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);
- }];
- }
- 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:
-