修改设备属性
接口说明
设备的产品模型中定义了物联网平台可向设备下发的属性,应用服务器可调用此接口向指定设备下属性。平台负责将属性以同步方式发送给设备,并将设备执行属性结果同步返回。注意:此接口适用于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.