房间信息管理

更新时间:2024-03-04 08:42:54

新增房间

接口说明

void addRoom(String name, IThingRoomResultCallback callback)

参数说明

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

示例代码

ThingHomeSdk.newHomeInstance(10000).addRoom("房间名称", new IThingRoomResultCallback() {
		@Override
		public void onSuccess(RoomBean bean) {
			// do something
		}
		@Override
		public void onError(String errorCode, String errorMsg) {
			// do something
		}
	});

删除房间

接口说明

void removeRoom(long roomId, IResultCallback callback)

参数说明

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

示例代码

ThingHomeSdk.newHomeInstance(10000).removeRoom(roomId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

房间排序

接口说明

void sortRoom(List<Long> idList, IResultCallback callback)

参数说明

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

示例代码

ThingHomeSdk.newHomeInstance(10000).sortRoom(idList, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

根据设备查询房间信息

接口说明

RoomBean getDeviceRoomBean(String devId)

参数说明

参数 说明
devId 设备 ID

示例代码

ThingHomeSdk.getDataInstance().getDeviceRoomBean("设备ID");

修改房间名称

接口说明

void updateRoom(String name, IResultCallback callback)

参数说明

参数 说明
name 新房间名称

示例代码

ThingHomeSdk.newRoomInstance(10000).updateRoom(name, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

自定义房间背景图

自定义房间背景图为 3.19 版本 SDK 新增接口。

查询图片地址

房间背景图上传成功后可通过下述方法获取背景图地址。

RoomBean roomBean = homeBean.rooms.get(index);
String roomBgImageurl = roomBean.iconUrl;

接口说明

void updateIcon(File file, IResultCallback callback);

参数说明

参数 说明
file 房间图片
callback 回调

示例代码

ThingHomeSdk.newRoomInstance(10000).updateIcon(file, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

添加设备到房间

接口说明

void addDevice(String devId, IResultCallback callback)

参数说明

参数 说明
devId 设备 ID

示例代码

ThingHomeSdk.newRoomInstance(10000).addDevice(devId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

从房间中移除设备

接口说明

void removeDevice(String devId, IResultCallback callback)

参数说明

参数 说明
devId 设备 ID

示例代码

ThingHomeSdk.newRoomInstance(10000).removeDevice(devId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

添加群组到房间

接口说明

void addGroup(long groupId, IResultCallback callback)

参数说明

参数 说明
groupId 群组 ID

示例代码

ThingHomeSdk.newRoomInstance(10000).addGroup(groupId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

从房间中移除群组

接口说明

void removeGroup(Long groupId, IResultCallback resultCallback)

参数说明

参数 说明
groupId 群组 ID

示例代码

ThingHomeSdk.newRoomInstance(10000).removeGroup(groupId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

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

批量地将设备和群组移入或者移出房间。

此方法可以实现房间下的设备排序。调用此方法的推荐顺序为:

  1. 设置您要排序的设备集合 DeviceAndGroupInRoomBean 对象。
  2. 通过 查询家庭详细信息 获取到 HomeBean,即所有设备列表。
  3. HomeBean 中根据设备 ID 查找出您调用 moveDevGroupListFromRoom 方法传入的设备列表。
  4. 再根据 DeviceBean 中的 displayOrder 字段进行排序。

接口说明

void moveDevGroupListFromRoom(List<DeviceAndGroupInRoomBean> list, IResultCallback callback)

参数说明

参数 说明
list 群组或者设备

DeviceAndGroupInRoomBean 数据格式

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

示例代码

ThingHomeSdk.newRoomInstance(10000).moveDevGroupListFromRoom(list, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});