更新时间:2024-06-12 10:22:48下载pdf
群组是一个或多个设备按照一定规则组成的聚合体。通过对群组的控制,达到群控该群组下设备的目的。
组合群组是指一个或多个不同类型的小群组的聚合体。通过对组合群组的控制,达到群控该组合群组内的小群组的目的,进而控制所有小群组中的设备。
商照 SDK 提供组合群组的创建、编辑和控制等能力,暂不支持对单个小群组进行操作。
组合群组附属于区域维度下,没有区域时无法创建组合群组。
组合群组、(小)群组和设备 三者之间的关系如图所示:
接口说明
//创建组合群组实例
ILightingGroupPack groupPackInstance = ThingCommercialLightingGroupPack.newGroupPackInstance(long projectId,String groupPackId);
//获取能够加入该组合群组的设备列表
groupPackInstance.getAvailableDevices2JoinGroupPack(long areaId, @GroupPackType String topCategory, int limit,
String offsetKey,IThingResultCallback<GroupDeviceListRespBean> callback)
参数说明
参数 | 说明 |
---|---|
projectId | 当前项目 ID。 |
groupPackId | 组合群组 ID。创建时,无组合群组 ID 时,可传空字符串。 |
areaId | 当前区域 ID。组合群组附属于区域维度下,没有区域时无法创建组合群组。 |
topCategory | 一级品类 code。当前版本仅支持创建照明品类组合群组,固定传 GroupPackCategory.CATEGORY_LIGHTING 。 |
limit | 每页请求的设备列表数量。 |
offsetKey | 当前请求的页数,第一页为 1,后续页数依次递增。 |
callback | 设备列表结果回调。 |
接口说明
ThingCommercialLightingGroupPack.getGroupPackManager()
.createPackedGroup(long projectId,long areaId,String packedGroupName,List<ComplexDeviceBean> addDevices,
@GroupPackCategory int topCategory,String deviceId,DefaultDeviceTransferListener listener)
参数说明
参数 | 说明 |
---|---|
projectId | 当前项目 ID。 |
areaId | 当前区域 ID。组合群组附属于区域维度下,没有区域时无法创建组合群组。 |
packedGroupName | 组合群组名称。 |
addDevices | 要加入该组合群组的设备列表,该设备列表为 获取能够加入组合群组的设备列表 接口返回的数据。 |
topCategory | 一级品类 code。当前版本仅支持创建照明品类组合群组,固定传 GroupPackCategory.CATEGORY_LIGHTING 。 |
deviceId | 主设备 ID,默认传空字符串。 |
listener | 创建组合群组的回调,各种回调方法的具体含义可参考 区域管理 中 DefaultDeviceTransferListener 的介绍。 |
接口说明
//创建组合群组实例对象
ILightingGroupPack groupPackInstance = ThingCommercialLightingGroupPack.newGroupPackInstance(long projectId,String groupPackId);
//更新群组中的设备列表
groupPackInstance.updateDevicesByIds(List<String> bindDevIds, List<String> unbindDevIds, final IThingResultCallback<DeviceTaskResultBean> callback);
参数说明
参数 | 说明 |
---|---|
projectId | 项目 ID |
groupPackId | 组合群组 ID |
bindDevIds | 新添加到当前组合群组的设备 ID 集合 |
unbindDevIds | 从当前组合群组中移除的设备 ID 集合 |
callback | 结果回调,其中,DeviceTaskResultBean#success 为操作成功的设备集合,failed 为操作失败的设备 ID 集合 |
接口说明
//创建组合群组实例对象
ILightingGroupPack groupPackInstance = ThingCommercialLightingGroupPack.newGroupPackInstance(long projectId,String groupPackId);
//获取信息
groupPackInstance.getPackedGroupInfo(IThingResultCallback<GroupPackBean> resultListener);
参数说明
参数 | 说明 |
---|---|
projectId | 项目 ID |
groupPackId | 组合群组 ID |
resultListener | 结果回调 |
接口说明
//创建组合群组实例对象
ILightingGroupPack groupPackInstance = ThingCommercialLightingGroupPack.newGroupPackInstance(long projectId,String groupPackId);
groupPackInstance.renamePackedGroup(String name,IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
projectId | 项目 ID |
groupPackId | 组合群组 ID |
name | 当前组合群组的新名称 |
callback | 结果回调 |
接口说明
//创建组合群组实例对象
ILightingGroupPack groupPackInstance = ThingCommercialLightingGroupPack.newGroupPackInstance(long projectId,String groupPackId);
groupPackInstance.getDevicesInGroupPack(int limit,String offsetKey,IThingResultCallback<GroupDeviceListRespBean> callback);
参数说明
参数 | 说明 |
---|---|
projectId | 项目 ID |
groupPackId | 组合群组 ID |
limit | 每页请求的设备列表数量 |
offsetKey | 当前请求的页数,第一页为 1,后续页数依次递增 |
callback | 结果回调 |
接口说明
解散组合群组时,建议先将该组合群组中的所有设备移出。蓝牙 Mesh 设备能够加入的群组的数量是有限制的,超出群组数量后会出现无法再次加入群组的情况。
//创建组合群组实例对象
ILightingGroupPack groupPackInstance = ThingCommercialLightingGroupPack.newGroupPackInstance(long projectId,String groupPackId);
groupPackInstance.dismiss(IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
projectId | 项目 ID |
groupPackId | 组合群组 ID |
callback | 结果回调 |
接口说明
ILightingGroupPackManager groupPackManager = ThingCommercialLightingGroupPack.getGroupPackManager();
groupPackManager.getPackedGroupList(long areaId, int limit, String offsetKey, IThingResultCallback<GroupPackListBean> callback);
参数说明
参数 | 说明 |
---|---|
areaId | 当前区域 ID |
limit | 每页请求的组合群组列表数量 |
offsetKey | 当前请求的页数,第一页为 1,后续页数依次递增 |
callback | 结果回调 |
代码示例
ThingCommercialLightingGroupPack.getGroupPackManager().unRegisterGroupPackListener(listener);
接口说明
ILightingGroupPackManager groupPackManager = ThingCommercialLightingGroupPack.getGroupPackManager();
groupPackManager.registerGroupPackListener(ILightingGroupPackListener listener);
参数说明
参数 | 说明 |
---|---|
listener | 结果回调 |
接口说明
ILightingGroupPackManager groupPackManager = ThingCommercialLightingGroupPack.getGroupPackManager();
groupPackManager.unRegisterGroupPackListener(ILightingGroupPackListener listener);
参数说明
参数 | 说明 |
---|---|
listener | 结果回调 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈