# 设备组
针对某些需要对设备进行批量操作的场景,可以通过设备组完成。
# 1. 设备组的限制
- 一个设备组默认最多添加50 个设备,一个设备只能属于一个设备组。
- 符合大容量设备组使用条件的,可以使用扩容组。
- 同一个设备组内的设备必须属于同一设备类型(model_type),例如「校园电话」,但不一定是相同设备型号(model_id)。
- 设备组必须通过后台 API 创建,创建后不允许修改设备组的名称。用户授权和接听通话时看到的都是设备组的名称,而不能针对用户自定义。
# 2. 管理设备组
开发者可以通过下列后台接口完成对设备组的增删改查操作。
开发者需要维护创建的所有设备组的 group_id,已便后续查询和授权时使用。微信只做校验,不维护小程序下创建的所有 group_id 列表。
注意:
除了设备组创建时添加设备外,一般添加或删除设备只应发生在添购设备、设备损坏更换、设备裁撤等场景。请开发者保持设备组内设备的相对稳定,避免过于频繁的修改设备组的组成。
微信会对设备组操作进行监测,并在必要时要求小程序管理员进行手动确认。这种情况下,设备组操作会在管理员确认后生效。
# 3. 适用场景
目前可用于设备批量授权的场景。
# 4. 问题排查指引
# 4.1 为什么设备之前添加过设备组了,但是设备组里查不到?
- 可能由其他逻辑调用了
removeIotGroupDevice从设备组中将设备删除; - 可能由其他地方使用
addIotGroupDevice(force_add=true) 强制将设备转移到了其他设备组,也会导致设备从之前的组里移除。
# 4.2 用户授权设备组后,仍提示未授权设备(errCode = 9)如何排查?
使用设备组的设备,如果提示未授权,可能有以下几种可能
- 用户未授权设备组,或曾经授权后用户清空或取消授权
- 可以使用授权状态查询 接口,判断用户和设备/设备组直接是否存在授权关系
- 用户授权了设备组,但是设备组内无此设备。
- 可以使用getIotGroupInfo 查询设备组中的设备列表。
# 4.3 A、B 两名用户都授权了设备组 X,但是 A 能打通设备组内的设备 X1,B 却不行?
一般是由于用户 A 和设备之间其实已存在直接授权(未通过设备组)。假设设备 X1 存在于设备组 X 中。
- 用户 A 同时授权设备组 X 和直接授权设备 X1。此时即使设备 X1 被移除出设备组 X,用户 A 仍能拨打给设备。
- 用户 B 仅授权设备组 X。此时设备 X1 被移除设备组 X 后,用户 B 无法打给设备。
The translations are provided by WeChat Translation and are for reference only. In case of any inconsistency and discrepancy between the Chinese version and the English version, the Chinese version shall prevail.Incorrect translation.Tap to report.