下发设备命令
功能介绍
设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可调用此接口向指定设备下发命令,以实现对设备的同步控制。平台负责将命令以同步方式发送给设备,并将设备执行命令结果同步返回, 如果设备没有响应,平台会返回给应用服务器超时,平台超时时间是20秒。
注意:
URI
POST /v1/iotfm/devices/{device_id}/commands
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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,只允许字母、数字的组合。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
service_id |
是 |
String |
参数说明:设备命令所属的设备服务ID,在设备关联的产品模型中定义。 取值范围:长度不超过64的字符串。 |
command_code |
是 |
String |
参数说明:设备命令名称,在设备关联的产品模型中定义。 取值范围:长度不超过128的字符串。 |
paras |
是 |
Object |
参数说明:设备执行的命令。 取值范围:Json格式,里面是一个个键值对,如果serviceId不为空,每个键都是profile中命令的参数名(paraName);如果serviceId为空则由用户自定义命令格式。设备命令示例:{"value":"1"},具体格式需要应用和设备约定。此参数仅支持Json格式,暂不支持字符串。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
command_id |
String |
参数说明:设备命令ID,用于唯一标识一条命令,在下发设备命令时由设施云平台分配获得。 取值范围:长度不超过36的字符串。 |
response |
Object |
参数说明:设备命令执行结果。 取值范围:JSON格式,具体格式需要应用和设备在物模型约定。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数说明:错误码。 取值范围:长度8-36。 |
error_msg |
String |
参数说明:错误描述。 取值范围:长度2-512。 |
请求示例
创建命令,命令名为ON_OFF,命令为ON。
POST https://{endpoint}/v1/iotfm/devices/16087212bc75410c9ad77163b4cf6aba/commands { "service_id" : "System", "command_code" : "ON_OFF", "paras" : { "value" : "ON" } }
响应示例
状态码:200
OK
{ "command_id" : "b1224afb-e9f0-4916-8220-b6bab568e888", "response" : { "result_code" : 0 } }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |