芯步的三路开关我看了下接口文档,其实控制逻辑挺清晰的,无非就是把“if this then that”的规则翻译成HTTP请求。下面我会直接讲怎么串起来,顺便给几个实用的联动例子。
一、 核心思路:别再把它当“开关”,把它当成“执行器”
传统的三路照明,无非就是火线进来,通过两条“旅行线”在两个开关之间来回倒腾,控制灯灭灯亮。这种玩法在智能时代太死板了。
我们要做的集成,是把那三个物理按键(或者你在App里点的按钮)看作是“触发器”,把灯本身看作是“执行器”。
触发器:人体传感器、门磁传感器、语音音箱、甚至是另一个开关的按键。
执行器:芯步的1/2/3路智能墙壁开关。
中间的逻辑控制,则由你写的脚本、或者部署的规则引擎(Rule Engine)来充当。说白了,就是判断“如果A发生了,那么就对B执行C动作”。
二、 找到那把“扳手”:芯步开放接口(HTTP API)
芯步的开放接口设计得还算直接,不用绕弯子。
要控制三路照明,我们主要看这两个东西:
设备ID:你得先把那个三路开关添加到你的设备列表里,拿到它的唯一ID(在控制台能看到)。
下发指令接口:这是核心。官方文档里提到,通过
device/control这个接口,带着sign签名和ts时间戳,就能指挥它干活了。
具体怎么发指令?
假设我们有个三路开关,想要控制客厅灯带(接在L1)、餐厅灯(接在L2)、走廊灯(接在L3)。
你想远程关掉客厅的灯带,只需要向服务器POST一段JSON数据,像这样(用Curl命令举个例子,帮你理解数据格式):
看明白没? {"power1": "0"} 就是关掉第一路。如果想把第二路打开,就把 order 改成 {"power2": "1"}。
这就是基础的单次控制。
三、 实现自定义联动逻辑:三个“王炸”场景
光用手机App开关灯没意思,我们玩点进阶的。
第一种场景:人来全亮,人走延迟关(传感器联动)
需求:晚上7点后,当你推开玄关门(门磁触发),客厅三路灯光(筒灯、灯带、射灯)依次亮起,避免瞬时电流冲击;人离开2分钟后自动关闭。
实现逻辑(伪代码思路):首先,我们需要一个接收传感器信号的脚本(比如跑在树莓派上,或者云函数里)。当收到“门磁打开”事件时,检查当前时间。如果 当前时间 > 19:00,则依次调用API:
下发
{"power1": "1"}(第一路筒灯亮)延时500ms,下发
{"power2": "1"}(第二路灯带亮)延时500ms,下发
{"power3": "1"}(第三路射灯亮)
进阶Tips这里不用只发简单的开关。芯步的接口支持“先通后断”和“先断后通”。比如为了让灯带缓缓亮起(虽然它主要控制继电器,但结合可调光驱动),或者做“先通后断”提示,直接用 {"point1": "2000"} 就能让第一路通电2秒后自动断开,很适合做门铃联动。
第二种场景:物理开关与智能联动的“互不干扰”
痛点:很多时候,家人手动按了墙壁开关,你远程的状态就不同步了,或者你在远程控制,家人手动关灯后,你的自动化逻辑就乱了。
解决方案:这里要用到“状态保持”或“情景模式”。芯步的接口里有一个很有意思的参数,叫做 状态保持。比如你在做观影模式自动化时:
你喊了一声“观影模式”,系统下发指令:
这个 {"keep": "1", "revert": "10"} 意思是:强制把这一路打开(keep=1),但是如果有人手贱去按了一下开关把它关了,10秒后它又会自动变回打开状态。这在做回家模式和离家模式时特别有用,能保证你的自动化场景不被人工干扰。
第三种场景:多设备“群组”控制与“互锁”
需求:你家里可能不止一个三路开关,比如楼梯间上下各一个。
逻辑以前接楼梯双控灯需要接复杂的“旅行线”,把两个开关物理连起来。现在不用了!直接用逻辑搞定。
把楼上楼下的两个智能开关加进同一个自动化规则里:
规则A:如果检测到“楼上开关”的按键被按下(通过获取设备状态或事件推送),则调用API,改变“楼下开关”的继电器状态。
规则B:反之亦然。
甚至可以做互锁。比如你在控制一个水泵或者风扇,你希望L1和L2绝对不能同时开启(否则短路)。在编写联动逻辑时,判断一下:如果要开L1,先发一条指令把L2给关了,再发开L1。虽然API调用有点延迟,但在非工业场景下足够用了。
四、 避坑指南与实战
在实际写代码调试的过程中,有几点小经验分享给你:
关于签名(Sign):官方接口要求sign签名,如果你是在后端服务器跑(Node.js, Python, Java等),把签名算法封装成一个函数,不要去裸调,否则容易被各种时间戳和密钥格式搞疯。
别指望实时“轮询”:如果你想问“我怎么知道灯现在是开还是关?” —— 不每秒去查一次状态,太浪费资源了。芯步平台应该有消息推送机制(设备状态变更时,平台主动往你的服务器推数据),用那个来同步状态,零延迟。
三路开关的物理接线:虽然我们在做软件集成,但硬件底子要好。现在的智能三路开关,大部分要求零火线都有。如果你家装修底盒里没留零线,买的时候一定要确认是不是单火版,不然灯会“鬼闪”。
五、 总结
总的来说,在芯步的三路照明上做自定义联动,核心就是理解 “触发 -> 逻辑判断 -> HTTP指令下发”这个闭环。
你的编程能力越强,逻辑就越花哨。你可以把它接入HomeAssistant,写Python脚本做复杂的日照时间计算,甚至通过识别你在局域网内的手机IP来判定在家/离家,然后控制那三路电灯。
墙上的那个物理开关,最终只是一个“能量采集器”和“手感慰藉品”,真正的控制权,其实已经在你写的每一行代码里了。