设备属性设置(云端物联设备)
功能介绍
设备的产品模型中定义了设施云平台可向设备下发的属性,应用服务器可调用此接口向云端物联设备下发属性。平台负责将属性以同步方式发送给设备,并将设备执行属性结果同步返回。
注意:此接口适用于MQTT设备,暂不支持NB-IoT设备。
URI
POST /v1/iotfm/devices/{device_id}/set-properties
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
device_id |
是 |
String |
参数说明:设备ID,用于唯一标识一个设备,在注册设备时由设施云平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数说明:用户Token。通过调用 生成Token 接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。 |
X-Instance-Id |
是 |
String |
参数说明:实例ID。通过访问智能设施云平台界面后获取,智能设施云平台资源均为实例级隔离,所有业务接口必须填写正确的实例ID才能被成功调用。 取值范围:长度8-36,只允许大小写字母、数字和-字符的组合。 |
X-Root-Zone-Id |
否 |
String |
参数说明:项目ID。 取值范围:长度不超过24,只允许字母、数字的组合。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
services |
是 |
Array of PropertyService objects |
设备执行的属性,Json格式,里面是一个个键值对,如果serviceId不为空,每个键都是profile中属性的参数名(paraName);如果serviceId为空则由用户自定义属性格式。设属性令示例:[{"service_id": "Temperature","properties": {"value": 57}},{"service_id": "Battery","properties": {"level": 80}}],具体格式需要应用和设备约定。 |
operator |
否 |
String |
操作者 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
request_id |
String |
端侧返回的request id,用于问题跟踪和定位 |
response |
Object |
修改设备属性执行结果。Json格式,具体格式需要应用和设备在物模型约定。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数说明:错误码。 取值范围:长度8-36。 |
error_msg |
String |
参数说明:错误描述。 取值范围:长度2-512。 |
请求示例
下发设备属性,服务id为Temperature的属性为value,值为57,服务id为Batter的属性为level,值为80。
POST https://{endpoint}/v1/iotfm/devices/{device_id}/set-properties { "services" : [ { "service_id" : "Temperature", "properties" : { "value" : 57 } }, { "service_id" : "Battery", "properties" : { "level" : 80 } } ] }
响应示例
状态码:200
OK
{ "response" : { "result_code" : "0" } }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |