设备能力对接
设备能力对接
新接入从 能力使用 与 设备能力模型 入手:先 device.capability.list 看设备支持什么,再用 device.property.get / device.property.set / device.service.invoke 读写或触发能力。设备列表、在离线等仍用 设备 API;必须继续 POST /openapi/{method} 的见 旧版接口。
与设备 API、旧版 HTTP 的分工
| 需要 | 从这里开始 |
|---|---|
| 分页或批量设备详情 | 分页设备详情、批量详情 |
| 在线 / 绑定状态 | 在线状态、绑定状态 |
| 改名、密码、升级、侦测、录像计划等 | 能力使用 与各能力叶页 |
| 仍走旧 HTTP 的云台、本地录像计划等 | 旧版接口 中对应页 |
不要编造 targetId;propertyId / serviceId / eventId 必须来自 device.capability.list。
device.capability.list:列举可用能力
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.capability.list,传 deviceId(绑定前可用 productId)。只有列表里的 propertyId / serviceId 才能用于 get/set/invoke。详见 列举能力。
device.property.get:批量读配置
读一个或多个属性当前值。已绑定设备传 deviceId;productId 可选(传了且与设备实际型号不一致 → DV2009)。见 批量读配置 与具体能力叶页。
device.property.set:批量写配置
写属性(开关、计划、灵敏度等)。已绑定设备传 deviceId;productId 可选(校验同 list/get)。见 批量写配置 与各叶页 Default / Valid values。
device.service.invoke:调用一次动作
一次性动作(抓图、格式化、云台步进等)。已绑定设备传 deviceId;productId 可选(校验同 list/get)。见 调用一次动作。
字段与取值
默认值和合法值以 v2 能力叶页为准,不要假定旧 HTTP 字段名仍成立。通道级能力须带 channelId(IPC 常见 "0");漏传返回 DV2007。
联调建议
对一台已绑定设备跑 device.capability.list,确认目标叶存在且 accessMode 允许你要的操作,再 get/set/invoke 一次。未绑定按设备列举返回 DV2013。
错误分层
| 层 | 去哪查 |
|---|---|
| 请求体 / token / 签名 | 返回码、开发规范(TK1002、SN1005) |
能力 DV20xx | 能力错误码 与叶页 |
