常见问题
常见问题
device.capability.list 里有,set 却失败
| 症状 | 原因 | 改法 |
|---|---|---|
DV2011 | 子账号缺权限码,或管理员操作被分享设备时没有对应权限 | 见 权限码 |
DV2005 | 该项只读 | 改用对应的获取页 |
DV2007 | 通道级漏 channelId,或设备级误传 | IPC 通道级仍传 "0";设备级不传 |
DV2004 | 值不在该型号取值范围,或传了 bool | 开关用 0 / 1;取值见该属性页 |
DV2003 | 这台设备未声明该项 | 以这次 device.capability.list 的返回为准 |
DV2014 | 对象缺必填成员 | 按 list 里必填项补齐 |
DV2103 / DV2104 | v2 能力读写/invoke 时设备离线或超时 | 等上线;低电休眠先调 power.sleep.wake |
DV1007 | 遗留 OpenAPI 路径离线或超时(非 v2 能力 API) | 优先用 v2 能力页;仍调遗留 openapi 时按设备不可达处理 |
| 把动作当配置 set | 动作没有持久状态 | 改 调用一次动作 |
开关用 0 / 1
开关(样例是数字 0 / 1 的)传整数,不要传 true / false,也不要传 "0" / "1"。传 bool 会返回 DV2004。
例外:具名维护接口如 device.wifi.current / device.wifi.control(m16–m18)中 linkEnable 等为 Boolean,按各页样例传 true/false,勿与 property 0/1 混用。
样例里已经是 "0" / "1" 的是枚举,按该页样例传字符串,不要改成数字。
重启 / WiFi 在 list 里找不到
重启、校时、扫连 WiFi、升级有自己的方法名,见 其他能力接口(含 WiFi 查询/控制 Boolean 字段说明)。详情、在离线、绑定见 设备管理。network.wifi 域多为信号与连接 property,与 m16–m18 不同路径。
按型号 list 成功,对真机 set 失败
按型号 list 是平台支持的项。对真机再按 deviceId 调一次 device.capability.list。同时传 deviceId 和 productId 且型号不一致时返回 DV2009。
推送 msgType 对不上
收能力事件推送须订阅 capabilityEvent(setMessageCallback)。此时 msgType 为 eventId(如 detection.motion.detected),见 事件总表 与 接收告警。历史 alarm / deviceStatus 字符串 msgType 见 事件消息类型定义(对照表);报文见 事件消息格式定义(历史对照)。
消息时间查不到
beginTime / endTime 是设备本地 yyyyMMddTHHmmss,不是请求体 system.time 的 Unix 秒。见 查询告警历史。
休眠设备配置失败
先 device.service.invoke,serviceId 为 power.sleep.wake(inputData 为 {}),再配置。权限 Config。见 休眠唤醒。
一次 set 混了设备级和通道级
返回 DV2008。拆成两次请求。
