房间管理

更新时间:2022-02-17 06:55:40下载pdf

房间管理 SDK 提供了房屋内新增房间、房间排序、添加设备到房间、移除设备、添加群组到房间、移除群组、删除房间等功能,以房间为维度对设备或群组进行操作。

功能介绍

ITuyaCommunityRoom用于描述单个房间的信息,在一个房屋下会有多个房间。ITuyaCommunityRoom提供的功能包括房间信息、设备列表、群组列表、设备和群组顺序等API。

房间相关信息由TuyaCommunitySDK.newRoomInstance()提供。

新增房间

接口说明

void addHouseRoom(String name, ITuyaCommunityResultCallback<TuyaCommunityRoomBean> callback);

参数说明

参数 说明
name 房间名称
callback 结果回调

TuyaCommunityRoomBean 数据类型

属性 类型 说明
roomId String 房间 ID
name String 房间名
displayOrder Integer 排列顺序,用于排序
deviceList List 设备列表
groupList List 群组列表

示例代码

TuyaCommunitySDK.newHouseInstance(houseId).addHouseRoom("房间名称", new ITuyaCommunityResultCallback<TuyaCommunityRoomBean>() {
		@Override
		public void onSuccess(TuyaCommunityRoomBean bean) {
			// do something
		}
		@Override
		public void onFailure(String errorCode, String errorMsg) {
			// do something
		}
	});

删除房间

接口说明

    void removeHouseRoom(long roomId, ISuccessFailureCallback callback);

参数说明

参数 说明
roomId 房间 ID
callback 结果回调

示例代码

TuyaCommunitySDK.newHouseInstance(houseId).removeHouseRoom(roomId, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

房间排序

接口说明

void sortHouseRoom(List<Long> idList, ISuccessFailureCallback callback)

参数说明

参数 说明
idList 房间 ID 列表
callback 结果回调

示例代码

TuyaCommunitySDK.newHouseInstance(houseId).sortHouseRoom(idList, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

根据设备查询房间信息

接口说明

通过设备 ID 查询房间信息。

TuyaCommunityRoomBean getDeviceRoomBean(String devId)

参数说明

参数 说明
devId 设备ID

示例代码

TuyaCommunitySDK.getHouseDataInstance().getDeviceRoomBean("设备ID");

更新房间名称

接口说明

void updateRoomName(String name, ISuccessFailureCallback callback)

参数说明

参数 说明
name 新房间名称

示例代码

TuyaCommunitySDK.newRoomInstance(roomId).updateRoomName(name, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

添加设备到房间

接口说明

void addDevice(String devId, ISuccessFailureCallback callback)

参数说明

参数 说明
devId 设备 ID

示例代码

TuyaCommunitySDK.newRoomInstance(roomId).addDevice(devId, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

从房间中移除设备

接口说明

void removeDevice(String devId, ISuccessFailureCallback callback)

参数说明

参数 说明
devId 设备 ID

示例代码

TuyaCommunitySDK.newRoomInstance(roomId).removeDevice(devId, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

添加群组到房间

接口说明

void addGroup(long groupId, ISuccessFailureCallback callback)

参数说明

参数 说明
groupId 群组 ID

示例代码

TuyaCommunitySDK.newRoomInstance(roomId).addGroup(groupId, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

从房间中移除群组

接口说明

void removeGroup(Long groupId, ISuccessFailureCallback resultCallback)

参数说明

参数 说明
groupId 群组 ID

示例代码

TuyaCommunitySDK.newRoomInstance(roomId).removeGroup(groupId, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});

批量修改房间与群组和设备的关系

接口说明

此方法可以用来批量地将设备和群组移入或者移出房间。

借助此方法,可以实现房间下的设备排序。具体步骤如下:

  1. 调用此方法,传入您要排序的设备集合CommunityDeviceAndGroupInRoomBean对象。
  2. 然后通过 查询家庭详细信息 getHouseDetail() 查询到TuyaCommunityHouseBean,从中查询到所有设备列表。
  3. 再从所有设备列表中根据设备ID 查找出您调用 batchModifyRoomRelation 方法传入的的设备列表。
  4. 再根据 DeviceBean 中的 displayOrder 字段本地排序。
void batchModifyRoomRelation(List<CommunityDeviceAndGroupInRoomBean> list, ISuccessFailureCallback callback)

参数说明

参数 说明
list 群组或者设备

CommunityDeviceAndGroupInRoomBean 数据格式

参数 参数类型 说明
id String 设备或者群组 ID
type int 类型:
6:设备
5:群组

示例代码

TuyaCommunitySDK.newRoomInstance(roomId).batchModifyRoomRelation(list, new ISuccessFailureCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onFailure(String code, String error) {
			// do something
		}
	});