
# 设备属性控制（边缘机电设备）
#### 功能介绍
应用服务器可调用此接口进行设备属性控制（边缘机电设备），单个网关最大支持50个并发（超过会出现流控）。
#### URI
POST /v1/iotfm/edge/devices/{device_id}/controls/set
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                           |
|:---|:---|:---|:---|
| device_id | 是    | String | **参数说明**：设备ID。 **取值范围**：长度不超过128，只允许字母、数字、以及_-字符的组合。 |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token   | 是    | String | **参数说明** ：用户Token。通过调用 [生成Token](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0008.html) 接口获取，接口返回的响应消息头中"X-Subject-Token"就是需要获取的用户Token。 **取值范围**：长度1-32768。 |
| X-Instance-Id  | 是    | String | **参数说明**：实例ID。通过登录设施aPaaS界面后获取，设施aPaaS资源均为实例级隔离，所有业务接口必须填写正确的实例ID才能被成功调用。 **取值范围**：长度8-36，只允许大小写字母、数字和-字符的组合。                                                                       |
| X-Root-Zone-Id | 否    | String | **参数说明**：根区域ID。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                                                                                                                      |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                |
|:---|:---|:---|:---|
| property_path  | 是    | String  | **参数说明**：设备属性。 **取值范围**：长度不超过128，只允许中文、字母、数字、以及_?/'#().,\&%@!-\]\*字符的组合。 |
| property_value | 是    | Object  | **参数说明**：设备属性值。                                                                                                   |
| priority       | 否    | Integer | **参数说明**：任务优先级。 **取值范围**：8-16的数字。                                        |
| end_time       | 否    | String  | **参数说明**：任务结束时间。 **取值范围**：长度不超过64，标准时间格式。                               |
| execute_time   | 是    | String  | **参数说明**：任务执行时间。 **取值范围**：长度不超过64，标准时间格式。                                 |
| description    | 否    | String  | **参数说明**：操作说明。 **取值范围**：长度不超过1024。                                        |
| operator       | 否    | String  | **参数说明**：用户名。 **取值范围**：长度不超过64。                                          |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数              | 参数类型              | 描述                                  |
|:---|:---|:---|
| instance_id     | String            | 实例ID                                |
| group_task_id   | String            | 分组控制任务ID                            |
| control_id      | String            | 控制ID，用于非定时类控制                       |
| schedule_id     | String            | 计划表ID，当前用于定时控制、定时控制释放               |
| device_id       | String            | 设备ID                                |
| device_name     | String            | 设备名称                                |
| control_type    | String            | 控制类型                                |
| priority        | Integer           | 控制优先级                               |
| last_priority   | Array of integers | 上一次控制优先级，仅强制控制场景存在该字段。              |
| content_display | String            | 执行内容（前台展示）                          |
| content         | String            | 执行内容                                |
| operator        | String            | 操作者                                 |
| property_path   | String            | 属性路径                                |
| operate_reason  | String            | 操作原因                                |
| action_result   | String            | 执行结果                                |
| error_reason    | String            | 错误原因                                |
| start_time      | String            | 格式为："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。 |
| end_time        | String            | 格式为："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。 |
   
**状态码：400**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数说明**：错误码。 **取值范围**：长度8-36。  |
| error_detail | Object | **参数说明**：错误详情。                                                          |
| error_msg    | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
设备属性控制
```
POST https://{endpoint}/v1/iotfm//edge/devices/16087212bc75410c9ad77163b4cf6aba/controls/set
{
  "property_path" : "InfoService/intp1",
  "execute_time" : "2023-12-24T04:52:38.180Z",
  "end_time" : "2023-12-24T04:53:38.180Z",
  "description" : "description",
  "property_value" : 1,
  "priority" : 16,
  "operator" : "operator_name"
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | 设备属性控制响应体             |
| 400 | Bad Request           |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0198.html)。
