功能概述
网关类型的设备,可通过与云端的数据通信,代理其下的子设备进行上线与下线操作。此类功能所用到的 Topic 与网关子设备拓扑管理的 Topic 一致:
数据上行 Topic(用于发布):
$gateway/operation/${productid}/${devicename}
数据下行 Topic(用于订阅):
$gateway/operation/result/${productid}/${devicename}
代理子设备上线
网关类型的设备,可以通过数据上行 Topic 代理子设备上线。请求成功之后,云端通过数据下行 Topic 返回子设备的上线结果信息。
网关代理子设备上线请求数据格式:
{"type": "online","payload": {"devices": [{"product_id": "CFC******AG7","device_name": "subdeviceaaaa"}]}}
代理子设备上线响应数据格式:
{"type": "online","payload": {"devices": [{"product_id": "CFC******AG7","device_name": "subdeviceaaaa","result":0}]}}
请求参数说明:
字段 | 类型 | 描述 |
type | String | 网关消息类型。代理子设备上线取值为: online 。 |
payload.devices | Array | 需上线的子设备列表。 |
product_id | String | 子设备产品 ID。 |
device_name | String | 子设备名称。 |
响应参数说明:
字段 | 类型 | 描述 |
type | String | 网关消息类型。代理子设备上线取值为: online 。 |
payload.devices | Array | 需上线的子设备列表。 |
product_id | String | 子设备产品 ID。 |
device_name | String | 子设备名称。 |
result | Int |
代理子设备下线
网关类型的设备, 可以通过数据上行 Topic 代理子设备下线。请求成功之后,云端通过数据下行 Topic 返回成功子设备的下线信息。
网关代理子设备下线请求数据格式:
{"type": "offline","payload": {"devices": [{"product_id": "CFC******AG7","device_name": "subdeviceaaaa"}]}}
网关代理子设备下线响应数据格式:
{"type": "offline","payload": {"devices": [{"product_id": "CFC******AG7","device_name": "subdeviceaaaa","result":-1}]}}
请求参数说明:
字段 | 类型 | 描述 |
type | String | 网关消息类型。代理子设备下线取值为: offline 。 |
payload.devices | Array | 需代理下线的子设备列表。 |
product_id | String | 子设备产品 ID。 |
device_name | String | 子设备名称。 |
响应参数说明:
字段 | 类型 | 描述 |
type | String | 网关消息类型。代理子设备下线取值为: offline 。 |
payload.devices | Array | 需代理下线的子设备列表。 |
product_id | String | 子设备产品 ID。 |
device_name | String | 子设备名称。 |
result | Int | 子设备下线结果,具体错误码见下表。 |
错误码
错误码 | 描述 |
0 | 成功。 |
-1 | 网关设备未绑定该子设备。 |
-2 | 系统错误,子设备上线或者下线失败。 |
801 | 请求参数错误。 |
802 | 设备名非法,或者设备不存在。 |
810 | 不支持的子设备。 |