CATALOG

芯步1路86型触摸开关本身是单路控制设备,要实现“分组控制”需要配合平台的“分组管理”接口,将多个设备加入同一逻辑分组后统一操控。以下方案涵盖分组创建、设备绑定、指令下发三个核心环节,代码示例可直接复用。

方案:基于芯步开放接口二次开发1路86型触摸开关实现设备分组控制

1. 总体技术架构

要实现多路开关的分组控制,核心是利用芯步开放平台提供的 “分组管理”“分组控制” 接口。

  • 硬件层:多个芯步1路86型触摸开关(固件支持API控制)。

  • 平台层:芯步开放平台(负责设备注册、分组逻辑、指令转发)。

  • 应用层:你的二次开发服务器或App(负责调用API创建分组并发送控制指令)。

二次开发核心环节:

  1. 设备注册:确保所有开关设备已接入平台并获得唯一 Device ID。

  2. 分组创建:调用接口创建一个“客厅灯光组”,并将多个 Device ID 绑定进去。

  3. 指令下发:调用分组控制接口,只要传递 Group ID 和开/关命令,即可实现一键全开或全关。

2. 准备工作

在开始编码前,请请一定要完成以下步骤:

  1. 获取密钥:登录芯步工作台,在“开发设置”中获取 AppIDAppSecret。这是调用API的身份证

  2. 获取设备ID:确保所有需要纳入分组的1路86型触摸开关都已经配网成功,并在控制台设备列表中获取每个设备的 Device ID(例如:12139853)。

  3. 确认指令格式:查阅1路开关的产品手册,确认控制命令为 {"power1":1}(开)或 {"power1":0}(关)

3. 关键步骤:实现分组控制功能

由于1路开关原生API仅支持单设备控制,二次开发的核心任务是封装一个虚拟分组层

3.1 创建分组

需要先创建一个逻辑分组(例如“书房总控”)。

  • 接口地址http(s)://api.thingboot.com/{AppID}/group/create

  • 请求参数group_name(分组名称)。

  • 返回结果group_id(后续控制需要用到的唯一ID)。

3.2 将设备加入分组

将需要联动的多个1路开关的Device ID添加到刚才创建的分组中。

  • 接口地址http(s)://api.thingboot.com/{AppID}/group/add_device

  • 请求参数

3.3 核心:执行分组控制

这是实现“一个按键控制多个开关”的关键代码。通过 HTTP 请求向该分组发送指令,平台会自动向组内所有 1 路开关下发命令。

  • 接口地址http(s)://api.thingboot.com/{AppID}/group/control/

  • 签名计算:为保证安全,每次请求需携带 sign 签名。

    公式:sign = md5( md5(AppSecret) + ts )

  • 请求示例(全开)只要组里有三个开关,执行一次此请求,三个开关会同时打开。

    请求URL示例POST https://api.thingboot.com/YOUR_APP_ID/group/control/?sign=COMPUTED_SIGN&ts= current_timestamp

    Request Body (JSON)

    指令解析:order 中的内容会根据组内设备的类型自动匹配。由于都是1路开关,power1:1 会被精准转发给组内所有设备

4. 实战:用 Python 实现分组开关控制代码

以下是一个完整的 Python 脚本示例,展示如何在你的服务器上通过二次开发代码实现“一键全开/全关”。

5. 前端交互设计(触发方式)

既然硬件是“触摸开关”,你希望保留物理触摸能力的同时,增加逻辑分组能力。二次开发时,前端通常有两种实现策略:

  • 策略 A:软件分组(推荐用于App/小程序)

    • 场景:用户点击手机App上的“离家模式”按钮。

    • 逻辑:App直接调用上述 /group/control API。

    • 效果:客厅灯、卧室灯、阳台灯几乎同时关闭。

  • 策略 B:硬件联动物理按键(进阶功能)

    • 如果希望物理触摸开关按下时,联动另一个开关,目前的1路开关硬件本身不支持直接物理连线。

    • 二次开发方案:利用平台的 “设备联动”(如果平台支持)或 “HTTP 回调”

    • 实现逻辑:在服务器端设置一个规则:“当监测到开关A的 power1 变为 1 时,自动调用一次分组控制 API,开启包含开关B、C的分组”。

    • 作用:这样你触碰开关A,开关B和C也会跟着亮。

6. 总结

通过芯步的开放接口,你可以轻松将物理上独立的“1路86型触摸开关”聚合成逻辑上的“多路开关组”。

  1. 免去复杂硬件改造:不需要重新布线,也不需要刷写固件。

  2. 接口透明:利用公开的 group/control API,只要掌握 AppIDGroup ID,即可在几行代码内实现全开全关

  3. 扩展性强:未来需要增加控制点数,只需购买新的1路开关加入分组,代码无需变动。