Updated on 2023-02-16 GMT+08:00

Responding to a Request for Updating Child Device Statuses

Function

This API is used by IoTDA to respond to a gateway's request for updating child devices. The response is returned within 30 seconds after IoTDA receives the request and includes a list of updated statuses of child devices.

Topic

Downstream: $oc/devices/{device_id}/sys/events/down

Parameters

Parameter

Mandatory or Optional

Type

Description

object_device_id

Optional

String

Identifies a gateway.

services

Optional

List<ServiceEvent>

Indicates a list of services that the event is about.

ServiceEvent structure

Parameter

Mandatory or Optional

Type

Description

service_id

Mandatory

String

$sub_device_manager

event_type

Mandatory

String

sub_device_update_status

event_time

Optional

String

Indicates the time when the event occurs.

event_id

Mandatory

String

Identifies a request event. The value is used to associate with the corresponding request event.

paras

Mandatory

Object

Indicates the event parameters in JSON format.

paras structure

Parameter

Mandatory or Optional

Type

Description

successful_devices

Mandatory

List<DeviceStatus>

Indicates the details about the child devices that are updated.

failed_devices

Mandatory

List<Reason>

Indicates the cause of the failure to update the child device status.

DeviceStatus structure

Parameter

Mandatory or Optional

Type

Description

device_id

Mandatory

String

Identifies a device.

status

Optional

String

Indicates the device status update result.

  • ONLINE: The device is online.
  • OFFLINE: The device is offline.

Reason structure

Parameter

Mandatory or Optional

Type

Description

device_id

Mandatory

String

The value is that of device_id of the corresponding device in the corresponding request.

error_code

Mandatory

String

Error code.

error_msg

Mandatory

String

Error description.

Example

Topic: $oc/devices/{device_id}/sys/events/down  
Data format:
{
  "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"
          }
        ]

      }
    }
  ]
}