CATALOG

芯步的三路开关我看了下接口文档,其实控制逻辑挺清晰的,无非就是把“if this then that”的规则翻译成HTTP请求。下面我会直接讲怎么串起来,顺便给几个实用的联动例子。

一、 核心思路:别再把它当“开关”,把它当成“执行器”

传统的三路照明,无非就是火线进来,通过两条“旅行线”在两个开关之间来回倒腾,控制灯灭灯亮。这种玩法在智能时代太死板了。

我们要做的集成,是把那三个物理按键(或者你在App里点的按钮)看作是“触发器”,把灯本身看作是“执行器”。

  • 触发器:人体传感器、门磁传感器、语音音箱、甚至是另一个开关的按键。

  • 执行器:芯步的1/2/3路智能墙壁开关

中间的逻辑控制,则由你写的脚本、或者部署的规则引擎(Rule Engine)来充当。说白了,就是判断“如果A发生了,那么就对B执行C动作”。

二、 找到那把“扳手”:芯步开放接口(HTTP API)

芯步的开放接口设计得还算直接,不用绕弯子。

要控制三路照明,我们主要看这两个东西:

  1. 设备ID:你得先把那个三路开关添加到你的设备列表里,拿到它的唯一ID(在控制台能看到)。

  2. 下发指令接口:这是核心。官方文档里提到,通过 device/control 这个接口,带着 sign 签名和 ts 时间戳,就能指挥它干活了

具体怎么发指令?

假设我们有个三路开关,想要控制客厅灯带(接在L1)餐厅灯(接在L2)走廊灯(接在L3)

你想远程关掉客厅的灯带,只需要向服务器POST一段JSON数据,像这样(用Curl命令举个例子,帮你理解数据格式):

看明白没? {"power1": "0"} 就是关掉第一路。如果想把第二路打开,就把 order 改成 {"power2": "1"}

这就是基础的单次控制。

三、 实现自定义联动逻辑:三个“王炸”场景

光用手机App开关灯没意思,我们玩点进阶的。

第一种场景:人来全亮,人走延迟关(传感器联动)

需求:晚上7点后,当你推开玄关门(门磁触发),客厅三路灯光(筒灯、灯带、射灯)依次亮起,避免瞬时电流冲击;人离开2分钟后自动关闭。

实现逻辑(伪代码思路):首先,我们需要一个接收传感器信号的脚本(比如跑在树莓派上,或者云函数里)。当收到“门磁打开”事件时,检查当前时间。如果 当前时间 > 19:00,则依次调用API:

  1. 下发 {"power1": "1"} (第一路筒灯亮)

  2. 延时500ms,下发 {"power2": "1"} (第二路灯带亮)

  3. 延时500ms,下发 {"power3": "1"} (第三路射灯亮)

进阶Tips这里不用只发简单的开关。芯步的接口支持“先通后断”和“先断后通”。比如为了让灯带缓缓亮起(虽然它主要控制继电器,但结合可调光驱动),或者做“先通后断”提示,直接用 {"point1": "2000"} 就能让第一路通电2秒后自动断开,很适合做门铃联动。

第二种场景:物理开关与智能联动的“互不干扰”

痛点:很多时候,家人手动按了墙壁开关,你远程的状态就不同步了,或者你在远程控制,家人手动关灯后,你的自动化逻辑就乱了。

解决方案:这里要用到“状态保持”或“情景模式”。芯步的接口里有一个很有意思的参数,叫做 状态保持。比如你在做观影模式自动化时:

你喊了一声“观影模式”,系统下发指令:

这个 {"keep": "1", "revert": "10"} 意思是:强制把这一路打开(keep=1),但是如果有人手贱去按了一下开关把它关了,10秒后它又会自动变回打开状态。这在做回家模式和离家模式时特别有用,能保证你的自动化场景不被人工干扰

第三种场景:多设备“群组”控制与“互锁”

需求:你家里可能不止一个三路开关,比如楼梯间上下各一个。

逻辑以前接楼梯双控灯需要接复杂的“旅行线”,把两个开关物理连起来。现在不用了!直接用逻辑搞定。

把楼上楼下的两个智能开关加进同一个自动化规则里:

  • 规则A:如果检测到“楼上开关”的按键被按下(通过获取设备状态或事件推送),则调用API,改变“楼下开关”的继电器状态。

  • 规则B:反之亦然。

甚至可以做互锁。比如你在控制一个水泵或者风扇,你希望L1和L2绝对不能同时开启(否则短路)。在编写联动逻辑时,判断一下:如果要开L1,先发一条指令把L2给关了,再发开L1。虽然API调用有点延迟,但在非工业场景下足够用了。

四、 避坑指南与实战

在实际写代码调试的过程中,有几点小经验分享给你:

  1. 关于签名(Sign):官方接口要求sign签名,如果你是在后端服务器跑(Node.js, Python, Java等),把签名算法封装成一个函数,不要去裸调,否则容易被各种时间戳和密钥格式搞疯

  2. 别指望实时“轮询”:如果你想问“我怎么知道灯现在是开还是关?” —— 不每秒去查一次状态,太浪费资源了。芯步平台应该有消息推送机制(设备状态变更时,平台主动往你的服务器推数据),用那个来同步状态,零延迟。

  3. 三路开关的物理接线:虽然我们在做软件集成,但硬件底子要好。现在的智能三路开关,大部分要求零火线都有。如果你家装修底盒里没留零线,买的时候一定要确认是不是单火版,不然灯会“鬼闪”

五、 总结

总的来说,在芯步的三路照明上做自定义联动,核心就是理解 “触发 -> 逻辑判断 -> HTTP指令下发”这个闭环。

你的编程能力越强,逻辑就越花哨。你可以把它接入HomeAssistant,写Python脚本做复杂的日照时间计算,甚至通过识别你在局域网内的手机IP来判定在家/离家,然后控制那三路电灯。

墙上的那个物理开关,最终只是一个“能量采集器”和“手感慰藉品”,真正的控制权,其实已经在你写的每一行代码里了。