设备组

针对某些需要对设备进行批量操作的场景,可以通过设备组完成。

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 查询设备组中的设备列表。