协议内容
功能名称 | 类型 | topic | 说明 |
---|---|---|---|
实时数据上报 | 发布 | sys/device/deviceId/variant_data | 设备端主动上报实时数据 |
数据控制请求 | 订阅 | sys/device/deviceId/write_variant | 平台端发起数据点控制请求 |
数据控制回复 | 发布 | sys/device/deviceId/write_variant_reply | 设备端回复数据控制结果 |
报警上报 | 发布 | sys/device/deviceId/alarm_event | 设备端主动上报报警事件 |
注:topic中的变量deviceId}在实际通信时需要替换为平台端显示的设备id
# 7.2.1. 实时数据上报
# 7.2.1.1. topic
sys/device/deviceId/variant_data
# 7.2.1.2. payload示例
{
"type": "variant_data",
"version": "1.0",
"time": 1600324099000,
"params": {
"Va": 221.5,
"Vb": 216.65,
"开关1": 0
}
}
# 7.2.1.3. 参数说明
名称 | 数据类型 | 必需 | 说明 |
---|---|---|---|
type | String | 是 | 功能类型,当前协议版本固定为"variant_data" |
version | String | 是 | 协议版本号,当前协议版本固定为"1.0" |
time | Number | 否 | 发生时间,格式为毫秒级的UNIX时间戳(从1970年开始的毫秒数) |
params | Object | 是 | 需要上报的数据信息,以变量名为json key,数值为value,支持同时上报一个或多个数据。 |
注:bool类型的数据点在上报实时数据时,对应数据值请使用1、0来代表true、false
# 7.2.2. 数据控制请求
# 7.2.2.1. topic
sys/device/deviceId/write_variant
# 7.2.2.2. payload示例
{
"id": "2ui7SBz6bzzawjrL",
"type": "write_variant",
"version": "1.0",
"time": 1600324099000,
"params": {
"开关1": 1
}
}
# 7.2.2.3. 参数说明
名称 | 数据类型 | 必需 | 说明 |
---|---|---|---|
id | String | 是 | 消息唯一id号,由平台端自动生成 |
type | String | 是 | 功能类型,当前协议版本固定为"write_variant" |
version | String | 是 | 协议版本号,当前协议版本固定为"1.0" |
time | Number | 否 | 发生时间,格式为毫秒级的UNIX时间戳(从1970年开始的毫秒数) |
params | Object | 是 | 需要控制的数据,以变量名为json key,数值为value,支持同时控制一个或多个数据。 |
注:bool类型的数据点在平台下发控制时,数值使用1、0代表true、false
# 7.2.3. 数据控制回复
# 7.2.3.1. topic
sys/device/deviceId/write_variant_reply
# 7.2.3.2. payload示例
{
"id": "2ui7SBz6bzzawjrL",
"type": "write_variant_reply",
"version": "1.0",
"time": 1600324099000,
"code": 0
}
# 7.2.3.3. 参数说明
名称 | 数据类型 | 必需 | 说明 |
---|---|---|---|
id | String | 是 | 消息唯一id号,需要和write_variant协议中的id对应 |
type | String | 是 | 功能类型,当前协议版本固定"write_variant_reply" |
version | String | 是 | 协议版本号,当前协议版本固定为"1.0" |
time | Number | 否 | 发生时间,格式为毫秒级的UNIX时间戳(从1970年开始的毫秒数) |
code | Number | 是 | 状态码,标识该操作是否成功。0:无错误,10000:其他原因,10001:不支持该操作,41001:子设备离线,41002:数据只读 |
# 7.2.4. 报警上报
# 7.2.4.1. topic
sys/device/deviceId/alarm_event
# 7.2.4.2. payload示例
{
"type": "alarm_event",
"version": "1.0",
"time": 1600324099000,
"params": {
"alarm1": 1,
"alarm2": 1
}
}
# 7.2.4.3. 参数说明
名称 | 数据类型 | 必需 | 说明 |
---|---|---|---|
type | String | 是 | 功能类型,当前协议版本固定为"alarm_event" |
version | String | 是 | 协议版本号,当前协议版本固定为"1.0" |
time | Number | 否 | 发生时间,格式为毫秒级的UNIX时间戳(从1970年开始的毫秒数) |
params | Object | 是 | 需要上报的报警信息,以报警名称为json key,报警触发类型为value(1:报警已触发,0:报警已恢复),支持同时上报一个或多个报警。 |