修改设备属性
接口说明
设备的产品模型中定义了物联网平台可向设备下发的属性,应用服务器可调用此接口向指定设备下属性。平台负责将属性以同步方式发送给设备,并将设备执行属性结果同步返回。注意:此接口适用于MQTT设备,暂不支持NB-IoT设备。
调试
您可以在API Explorer中直接运行调试该接口。
URI
| 请求方法 | PUT |
|---|---|
| URI | /v5/iot/{project_id}/devices/{device_id}/properties |
| 传输协议 | HTTPS |
请求参数
| 名称 | 必选/可选 | 类型 | 位置 | 说明 |
|---|---|---|---|---|
| X-Auth-Token | 必选 | String | Header | 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
| Instance-Id | 可选 | String | Header | 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。 |
| device_id | 必选 | String | Path | 参数说明:下发属性的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
| project_id | 必选 | String | Path | 参数说明:项目ID。获取方法请参见 获取项目ID。 |
| services | 可选 | Object | Body | 参数说明:设备执行的属性,Json格式,里面是一个个健值对,如果serviceId不为空,每个健都是profile中属性的参数名(paraName);如果serviceId为空则由用户自定义属性格式。设属性令示例:[{"service_id": "Temperature","properties": {"value": 57}},{"service_id": "Battery","properties": {"level": 80}}],具体格式需要应用和设备约定。 |
响应参数
| 名称 | 类型 | 说明 |
|---|---|---|
| response | Object | 设备上报的属性执行结果。Json格式,具体格式需要应用和设备约定。 |
请求示例
PUT https://{Endpoint}/v5/iot/{project_id}/devices/{device_id}/properties
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
{
"services" : [ {
"service_id" : "Temperature",
"properties" : {
"value" : 57
}
}, {
"service_id" : "Battery",
"properties" : {
"level" : 80
}
} ]
} 响应示例
Status Code: 200 OK
Content-Type: application/json
{
"response" : {
"result_code" : "200",
"result_desc" : "success"
}
} 错误码
| HTTP状态码 | 错误码 | 错误码英文描述 | 错误码中文描述 | 处理建议 |
|---|---|---|---|---|
| 400 | IOTDA.014112 | Send to device failed, device not subscribe topic. | 发送到设备失败,设备没有订阅该主题 | 请确认设备是否订阅正确的topic。 |
| 403 | IOTDA.000021 | Operation not allowed. User not found by IAM token or the authorized user has not subscribed IOTDA service. | 没有找到IAM Token所对应的用户信息或该用户没有订阅设备接入服务(IOTDA) | 请排查IAM Token所在用户是否订阅了设备接入服务(IOTDA)。 |
| IOTDA.000022 | Operation not allowed. The user does not have the permission | 该用户没有权限 | 请排查该用户是否有权限访问。 | |
| IOTDA.001006 | Operation not allowed. Application not found by authorized user or the authorized user has no application. | 用户下没有应用或应用与用户不匹配 | 请排查用户下是否有应用或是否有指定的应用。 | |
| IOTDA.014016 | Operation not allowed. The device is not online. | 设备不在线 | 请将设备接入后再重试。 | |
| IOTDA.014018 | Operation not allowed. The device has been frozen, can not be operated. | 设备已被冻结,不允许操作 | 请将设备解冻后再重试。 | |
| 404 | IOTDA.014000 | The device does not exist. | 设备不存在 | 请排查请求参数是否有误并确认是否有在平台注册该设备。 |
| 500 | IOTDA.000001 | Internal server error. | 服务器内部错误 | 请联系华为工程师分析解决。 |
| IOTDA.000020 | Decrypt IAM token failed. | IAM Token解析失败 | 请联系华为工程师分析解决。 |
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.