
# 网关更新子设备状态响应
#### 功能介绍
平台将该网关更新子设备状态结果以列表返回，平台收到[网关更新子设备状态](https://support.huaweicloud.com/devg-ocsmartcampus/ocsmartcampus_04_0046.html)请求后会在30秒内通过此接口返回响应消息。网关与子设备关系，请查看[网关与子设备](https://support.huaweicloud.com/usermanual-iothub/iot_01_0052.html)。
#### Topic
下行: $oc/devices/{device_id}/sys/events/down
#### 参数说明
| 字段名              | 必选/可选 | 类型                   | 参数描述                                                                                                                                                            |
|:---|:---|:---|:---|
| object_device_id | 可选    | String               | **参数解释：** 该参数与Topic中的device_id一致。 |
| services         | 可选    | List\<ServiceEvent\> | **参数解释：** 事件服务列表。                 |
   
ServiceEvent定义表
| 字段名        | 必选/可选 | 类型     | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| service_id | 必选    | String | **参数解释：** 系统字段。 **取值范围：** 固定为："$sub_device_manager"。                   |
| event_type | 必选    | String | **参数解释：** 系统字段。 **取值范围：** 固定为："sub_device_update_status_response"。 |
| event_time | 可选    | String | **参数解释：** 事件时间。UTC时间，格式：yyyyMMdd'T'HHmmss'Z'。                                                                                                                                                                                                                                                                                    |
| event_id   | 必选    | String | **参数解释：** 事件请求Id，通过该参数关联对应的事件请求。                                                                                                                                                                                                                                                                                                 |
| paras      | 必选    | Object | **参数解释：** 事件参数JSON对象。                                                                                                                                                                                                                                                                                                            |
   
paras参数列表
| 字段名                | 必选/可选 | 类型                   | 参数描述                                                                                                                                                    |
|:---|:---|:---|:---|
| successful_devices | 必选    | List\<DeviceStatus\> | **参数解释：** 成功更新的子设备列表详情。   |
| failed_devices     | 必选    | List\<Reason\>       | **参数解释：** 更新子设备状态失败的原因。 |
   
DeviceStatus定义表
| 字段名       | 必选/可选 | 类型     | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| device_id | 必选    | String | **参数解释：** 设备ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| status    | 可选    | String | **参数解释：** 设备更新状态结果。 **取值范围：** - ONLINE：设备在线。  - OFFLINE：设备离线。   |
   
Reason定义表
| 字段名        | 必选/可选 | 类型     | 参数描述                                                                                                                                                           |
|:---|:---|:---|:---|
| device_id  | 必选    | String | **参数解释：** 对应请求中指定的设备的device_id。 |
| error_code | 必选    | String | **参数解释：** 更新失败错误原因码。            |
| error_msg  | 必选    | String | **参数解释：** 更新失败原因描述。            |
   
#### 示例
```
Topic: $oc/devices/{device_id}/sys/events/down  
数据格式： 
{
   "object_device_id": "{object_device_id}",
   "services": [
    {
      "service_id": "$sub_device_manager",
      "event_type": "sub_device_update_status_response",
      "event_time": "20151212T121212Z",
      "event_id": "40cc9ab1-3579-488c-95c6-c18941c99eb4",
      "paras": {
          "successful_devices": [
          {
            "device_id": "c6b39067b0325db34663d3ef421a42f6_subdevice11",
            "status": "ONLINE"
          }
        ],
        "failed_devices": [
          {
            "device_id": "c6b39067b0325db34663d3ef421a42f6_subdevice11",
            "error_code": "XXX",
            "error_msg": "XXXX"
          }
        ]
      }
    }
  ]
}
```
