设备电源事件
支持电源检测的设备报告供电中断或恢复时,服务会发送对应的 WebSocket 事件。
Topics
text
device.power.lost
device.power.restored权限
需要:
text
device:read断电事件
json
{
"type": "event",
"topic": "device.power.lost",
"data": {
"deviceId": "abc123456789",
"occurredAt": "2026-08-01T01:00:00Z"
}
}上电事件
json
{
"type": "event",
"topic": "device.power.restored",
"data": {
"deviceId": "abc123456789",
"occurredAt": "2026-08-01T01:03:20Z"
}
}data 结构
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
deviceId | string | 是 | 设备唯一标识 |
occurredAt | string | 是 | 服务端记录的事件时间,RFC3339 UTC |
事件语义
device.power.lost表示设备报告供电中断。device.power.restored表示设备报告供电恢复。- 电源事件与网络连接事件相互独立。上电不等于设备已经建立连接,断电也不等于服务已经确认设备离线。
device.power.restored与device.connection.online、device.power.lost与device.connection.offline均不保证到达顺序。- 不同设备类型可能不具备相同的电源检测能力。未收到电源事件不能证明供电没有变化。
- WebSocket 事件不会在重连后补发。需要长期保存的事件应由你的服务及时持久化。
客户端处理建议
- 收到
device.power.lost后记录告警,但仍以device.connection.offline判断连接是否断开。 - 收到
device.power.restored后可以结束电源中断告警,但应等待device.connection.online后再恢复可控制状态。 - 使用
deviceId + topic + occurredAt对重复处理进行去重。 - WebSocket 重连后,使用设备列表或单设备查询恢复当前状态基线。
