给设备服务下发命令
接口说明
应用可调用此接口给设备下发命令,用于对设备进行控制。
URI
| 请求方法 | POST |
|---|---|
| URI | /api/v3.0/devices/{deviceId}/commands |
| 传输协议 | HTTPS |
请求参数
| 名称 | 必选/可选 | 类型 | 位置 | 说明 |
|---|---|---|---|---|
| app_key | 必选 | String | Header | 已鉴权应用的appId。 |
| Authorization | 必选 | String | Header | 请求的认证信息,值为“Bearer ******”,其中******为Auth鉴权接口返回的accessToken。 |
| deviceId | 必选 | String | Path | 设备ID。 |
| ownerAppId | 可选 | String | Query | 资源所属应用的appId,访问其他应用所持有的资源时需要填写。 |
| serviceId | 必选 | String | Body | 服务ID。 |
| method | 必选 | String(32) | Body | 命令名称。 |
| expireTime | 可选 | Integer(<=3600) | Body | 下发命令的有效时间,单位为秒,表示设备命令在创建后expireTime秒内有效,超过这个时间范围后命令将不再下发 如果expireTime设置为0,则无论物联网平台上设置的命令下发模式是什么,该命令都会立即下发给设备(如果设备处于休眠状态或者链路已老化,则设备收不到命令,平台没收到设备的响应,该命令最终会超时)。 如果expireTime不为0,则在expireTime时间内命令缓存在平台(PENDING状态),仅当设备上线或向平台上报数据时,命令会下发给设备。 |
| body | 可选 | ObjectNode | Body | 命令参数,jsonString格式,里面是一个个健值对,具体格式需要应用和设备约定。 |
响应参数
| 名称 | 类型 | 说明 |
|---|---|---|
| commandId | String(128) | 命令ID。 |
请求示例
POST https://{host}:{port}/api/v3.0/devices/{deviceId}/commands?ownerAppId={ownerAppId}
Content-Type: application/json
app_key: ********
Authorization: ********
{
"serviceId" : "Brightness",
"method" : "SET_DEVICE_LEVEL",
"expireTime" : 0,
"body" : {
"value" : "1"
}
} 响应示例
Status Code: 201 Created
Content-Type: application/json
{
"commandId" : "string"
} 错误码
| HTTP状态码 | HTTP状态码说明 | 错误码 | 错误码描述 |
|---|---|---|---|
| 200 | OK | 100418 | The deviceData is not existed. 处理建议:请检查设备是否存在。 |
| 100428 | The device is not online. 处理建议:这个设备不在线,检查设备是否在线。 | ||
| 201 | Created | - | - |
| 400 | Bad Request | 00014105 | Invalid parameter 'mode'. |
| 100022 | The input is invalid. 处理建议:请检查参数是否符合要求 | ||
| 100223 | Command counts has reached the upLimit. | ||
| 100409 | The deviceId is invalid. 处理建议:检查并填写正确的deviceId。 | ||
| 100449 | The device is freezed cant operate. | ||
| 401 | Unauthorized | 100002 | Invalid access token. 处理建议:获取token失败,重新登录获取token信息。 |
| 100209 | The application is invalid. {"处理建议":"检查并填写正确的ownerAppId。"} | ||
| 403 | Forbidden | 100203 | The application is not existed. 处理建议:检查并填写正确的appId。 |
| 100450 | The gateway is not online. 处理建议:这个网关不在线,检查网关是否在线。 | ||
| 500 | Internal Server Error | 100023 | The data in dataBase is abnomal. 处理建议:联系物联网平台维护人员。 |
| 100220 | Get AppKey from header failed. 处理建议:联系物联网平台维护人员。 |
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.