iotDeviceControl(请求物模型中Service方法)
新接入请使用 推荐入口。本页保留给仍在调用 POST /openapi/iotDeviceControl 的兼容对接。
iotDeviceControl:请求物模型中Service方法
遗留接口
本接口仍可调用。新接入优先 v2 device.service.invoke(物模型 Service,与本页 iotDeviceControl 等价);ref 与 content 入参见 getProductModel,选型见 IoT 物模型。
要点:https://openapi.lechange.cn/openapi/iotDeviceControl · 见 错误码
通过物模型操作设备物模型中指定Service方法
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 |
|---|---|---|---|---|---|
| token | String | 是 | 管理员或者子账号accessToken | ||
| productId | String | 是 | 产品id即为listDeviceDetailsByIds、listDeviceDetailsByPage查询设备列表接口中的返回值productId,若列表返回的productId字段有值,即代表该设备为IoT设备,支持调用IoT物模型相关协议 | 设备产品id | |
| deviceId | String | 是 | 设备序列号 | ||
| ref | String | 是 | 待调用的 service 标识,与 getProductModel 返回的 services[].ref 一致(请求顶层字段,不是 content 的键名) | ||
| content | Object | 是 | 该 service 的 inputData 入参:content 的键为物模型 inputData[].ref,值为对应类型;无入参时传 {} |
请求示例
{
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1603366491,
"nonce":"7aed0429-1a92-4a51-b8b0-cfebb60dcc85"
},
"id":"a25f887f-33f0-44ef-9ed3-f60f83193482",
"params":{
"token": "<yourAccessToken>",
"productId": "W8ql32289",
"deviceId": "TESTQWERXXXX",
"ref": "21600",
"content": {
"3302": 30,
"3301": 0
}
}
}
响应字段
| 字段名 | 类型 | 说明 |
|---|---|---|
| content | Object | 服务调用结果 |
| content.outputData | Object | 出参键值(ref→值),无出参时为 {} |
| content.service | String | 实际执行的 service 标识(与请求 ref 对应,IOTCommandValidate 兼容 method 别名) |
响应示例
{
"result": {
"msg": "操作成功。",
"code": "0",
"data": {
"content": {
"outputData": {},
"service": "21600"
}
}
},
"id": "a25f887f-33f0-44ef-9ed3-f60f83193482"
}
错误码
本接口可能返回下列码;完整分组见 错误码。
网关与鉴权(SN / TK / OP)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名异常 | 按 签名 核对 sign |
TK1002 | token 无效或过期 | 重新获取 token |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1039 | 分钟级限流 | 等到下一分钟再试 |
OP1040 | 调用超限 | 降低频率 |
DV1007 | 设备离线或超时 | 等设备上线 |
子账号(SUB)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SUB1001 | 子账号无指定权限 | 在 子账号策略 中补权限 |
SUB1002 | 子账号无任何设备权限 | 授权设备或调整策略 |
SUB1005 | 子账号 token 过期 | 重新 获取子账号 token |
SUB1006 | 子账号与设备无授权关系 | 核对 Resource 与设备序列号 |
SUB1008 | 子账号未绑定当前应用 | 先创建并绑定子账号 |
SUB1007 | 创建子账号失败 | 核对参数后重试 |
SUB1009 | 子账号创建失败,账号格式错误 | account 须为手机号或邮箱 |
SUB1010 | 子账号创建失败,账号已存在 | 勿重复绑定同一子账号到应用 |
更多见 错误码 · SUB。
设备访问与通道(DV10xx)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV1007 | 设备离线或超时 | 等设备上线;低电休眠先 唤醒 |
DV1009 | 设备正忙 | 稍后重试 |
DV1012 | 分享/授权设备权限不足 | 核对子账号 Permission / Resource |
DV1019 | 能力集不支持 | 确认型号与 设备能力 |
DV1020 | 通道离线 | 检查通道与设备状态 |
DV1026 | 不支持此功能 | 换接口或升级固件 |
DV1028 | 未绑定或通道不存在 | 核对 deviceId / channelId |
DV1030 | 设备休眠 | 唤醒后再调 |
DV1057 | 通道不存在 | 核对通道号 |
DV1061 | 设备响应超时 | 检查设备网络 |
DV1062 | 需先唤醒设备 | 调用唤醒接口 |
DV1069 | 不满足操作条件 | 见 msg |
说明
支持管理员或子账号 accessToken。子账号须在策略中授予对应设备/通道权限,配置见 权限码。请求 ref 为物模型 service ref,与部分下游 method 字段等价。