CATALOG

芯步的智能墙壁开关支持通过HTTP接口获取设备状态,但故障告警需基于“状态变化推送”机制来实现。以下方案采用标准的Webhook回调模式——设备发生故障时主动推送告警消息,你的服务器接收后解析并通知到具体负责人。

1. 概述与业务场景

1.1 解决背景

在智能楼宇、工业控制及高端家庭自动化场景中,电气故障的及时发现与处理至关重要。照明线路的短路、过载或开关离线往往会导致业务中断或安全隐患。

本方案基于芯步智能触摸墙壁开关2路的开放API接口,旨在解决以下痛点:

  • 被动响应变主动维护:改变“用户发现灯不亮才报修”的模式,实现设备故障实时感知。

  • 多路独立监控:对开关的两路物理线路分别进行状态监测,精准定位是“第1路”故障还是“第2路”故障。

  • 自动化闭环:实现故障触发 -> 告警推送 -> 工单系统对接的自动化闭环。

1.2 核心逻辑架构

本方案采用典型的物联网云平台架构

  1. 设备层:2路智能墙壁开关(具备电压/电流检测及离线判断能力)。

  2. 平台层:芯步云(处理设备鉴权、消息转发、HTTP API签名验证)。

  3. 应用层:用户自建服务器(接收Webhook推送,执行告警逻辑)。

2. 对接前置准备

在开始开发前,需要在芯步控制台完成以下基础配置,这是接收故障告警的前提

2.1 获取密钥凭证

登录芯步工作台,在“开发设置”中获取以下关键信息:

  • AppID:应用的唯一标识。

  • AppSecret:用于生成接口签名(Sign)的密钥。

    • 安全警示:AppSecret 严禁明文存储在客户端或前端代码中。

2.2 配置告警接收地址

为了实现“故障告警通知”,我们需要让芯步云知道“往哪推”。在控制台的“设备消息转发”或“HTTP回调”设置中,配置您的服务器公网地址:

  • 接收URLhttp(s)://your-domain.com/api/yoyo/alerts (示例地址)

  • 开启推送:勾选“设备异常告警”、“设备上下线”及“属性上报”事件。

2.3 理解故障触发机制

根据产品规范和行业通用技术,2路智能墙壁开关的“故障”通常定义为以下情况,这些情况发生时,设备会自动向平台上报数据

  • 离线故障:设备与云平台心跳丢失(通常连续30秒-1分钟无心跳)。

  • 过载告警:当前线路实际功率超过设定的阈值。

  • 短路保护:瞬间电流急剧升高,开关自动跳闸并上报原因。

  • 电压异常:市电波动超过正常运行范围(如低于180V或高于250V)。

3. 对接实施步骤

本章节将详细阐述如何通过代码实现故障告警的接收与通知分发。

3.1 步骤一:定义告警消息接收端点

您需要在您的后端服务中开发一个 POST 接口。芯步平台在检测到开关故障时,会向您配置的地址发送 JSON 格式的报文。

推荐接口设计(Python Flask 示例):

3.2 步骤二:故障日志的主动拉取(可选补充)

如果由于网络抖动未收到Webhook推送,您的系统也可以定时主动查询设备状态。这需要使用官方的鉴权方式发起HTTP请求

签名计算规则:芯步的API采用双重MD5加密机制。Sign = md5( md5(AppSecret) + ts )

主动查询设备状态代码示例:

3.3 步骤三:实现告警分发逻辑

当接收到故障消息后,需要根据不同的故障等级推送不同的通知。针对2路开关,在告警内容中明确区分哪一路出现问题。

告警级别定义与消息模板:

故障类型严重等级通知方式消息内容模板
设备离线钉钉/飞书/轮询电话【高危】仓库照明开关(设备ID: {id})已离线,远程控制失效,请现场检查网络或供电。
线路过载紧急短信 + 电话【紧急】办公室开关第{channel}路触发过载保护({current}A),已自动断电,请立即排查接入设备。
电压异常微信/应用内通知【警告】车间开关电压异常({voltage}V),设备可能损坏,请注意电压稳定。
物理按键卡死应用内记录【提示】2路开关按键触发异常,清理或维修物理按键。

Python 告警分发逻辑:

4. 核心命令与故障排查指引

在对接过程中,确认设备是否“健康”以及能否通过网络恢复,需要调用API下发控制或重启指令

4.1 故障恢复指令集

当收到“过载”告警后,管理员确认现场已安全,可通过API远程恢复(闭合)线路:

功能描述Order命令参数(JSON)说明
闭合第1路{"power1":1}恢复第一路供电
闭合第2路{"power2":1}恢复第二路供电
断开第1路{"power1":0}紧急情况下远程切断
查询状态{"state":"?"}查询当前两路实际通断及电压电流

4.2 常见对接报错处理

  1. 报错 Sign Invalid

    • 原因:时间戳(ts)误差超过允许范围(通常为5分钟),或MD5拼接顺序有误。

    • 解决:确保服务器时间与标准NTP时间同步;检查是否严格按照 md5(md5(secret)+ts) 顺序拼接。

  2. 收不到故障告警

    • 原因:设备尚未真正故障;或回调地址无外网访问能力;或未在控制台订阅“设备异常”事件。

    • 解决:可模拟拔掉设备电源测试“离线告警”是否触发;检查服务器路由及防火墙策略。

  3. 设备状态回传延迟

    • 原因:2路开关通常采用Wi-Fi通讯,若处于信号边缘区域会存在延迟。

    • 解决:在信号强度 RSSI > -70dBm 的环境下安装开关。

5. 总结

通过对接芯步2路智能墙壁开关的开放接口,开发者可以构建一套健壮的电气故障预警系统。方案的核心在于利用平台的 Webhook 推送机制 实时捕获 overloadoffline 等事件,并结合签名算法保障API交互安全。

实施本方案后,运维人员无需巡检即可第一时间获知具体是哪一路照明线路出现了过热或短路问题,显著提升故障响应效率,降低电气火灾风险。