消息推送格式

目前支持以下消息推送类型:

  • 事件通知消息 指设备的事件消息,如:解绑/绑定设备,设备在线离线等。
事件类型 描述
gateway_bind 网关绑定
subdevice_bind 子设备绑定
gateway_unbind 网关解绑
unbind_sub_gw 子设备解绑
gateway_online 网关在线
gateway_offline 网关离线
subdevice_online 子设备在线
subdevice_offline 子设备离线
dev_name_change 修改设备名称
dev_position_assign 修改设备位置
resource_alias_changed 修改资源名称
linkage_created 创建自动化
scene_created 创建场景
event_created 创建条件集
linkage_deleted 删除自动化
scene_deleted 删除场景
event_deleted 删除条件集
  • 设备属性消息

    指设备或联动在使用的过程中,触发的状态变更或操作。如:插座的开关、功率、消耗的电能等数据。

注意:事件通知消息会全部推送给第三方服务器,属性消息会根据用户选择的订阅模式进行推送。

  • 设备控制失败消息

    指当控制设备出现失败情况时,会根据设备实际情况返回失败原因,包含触发源、错误码、触发时间等,便于快速定位失败原因。

格式说明

事件通知消息

  • 通用格式说明:
名称 类型 是否必须 描述
openId String 用户唯一标识
time String 消息产生的时间戳,单位毫秒
eventType String 事件消息通知类型,如:绑定 解绑 在线 离线
msgId String 消息唯一id标识
data Object 具体的消息内容
data.time Object 具体的消息产生的时间戳,单位毫秒

网关绑定通知消息

  • 参数说明:
名称 类型 是否必须 描述
time Object 具体的消息产生的时间戳,单位毫秒
model String 物模型
did String 设备id
bindKey String 设备入网时绑定的随机码
subDids Array(String) 网关入网时携带的子设备
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"gateway_bind",
    "data":{
        "bindKey":"709b1AXaXdETHPEx",
        "subDids":[
            "lumi1.7811dc93a344",
            "lumi1.7811dc93a344"
        ],
        "time":"1619489743705",
        "model":"lumi.gateway.iragl01",
        "did":"lumi1.7811dc93a344"
    }
}

子设备绑定通知消息

  • 参数说明:
名称 类型 是否必须 描述
model String 物模型
did String 设备id
time Object 具体的消息产生的时间戳,单位毫秒
parentDid String 网关设备id
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"subdevice_bind",
    "data":{
        "parentDid":"lumi1.xxx",
        "model":"lumi.plug.v1",
        "did":"lumi1.7811dc93a344",
        "time":"1619489743705"
    }
}

网关解绑通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
subDids Array(String) 网关下的子设备id
time String 消息产生的时间戳,单位毫秒
cause int 解绑原因,2-网关端操作,3-云端操作,4-网关端恢复出厂,5-云端重置网关
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"gateway_unbind",
    "data":{
        "did":"lumi1.xxx",
        "time":"1619489743705",
        "cause":2,
        "subDids":[
            "lumi1.7811dc93a344",
            "lumi1.7811dc93a344"
        ]
    }
}

子设备解绑通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
parentDid String 网关设备id
cause int 解绑原因,12-云端操作子设备操作,13-网关触发子设备解绑 ,17-子设备替换网购触发解绑
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"unbind_sub_gw",
    "data":{
        "did":"lumi1.xxx",
        "time":"1619489743705",
        "cause":12,
        "parentDid":"lumi1.7811dc93a344"
    }
}

网关上线通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
subDids Array(String) 跟随网关在线的子设备id列表
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"gateway_online",
    "data":{
        "did":"lumi1.xxx",
        "time":"1619489743705",
        "subDids":[
            "lumi1.7811dc93a344",
            "lumi1.7811dc93a344"
        ]
    }
}

网关下线通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
subDids Array(String) 跟随网关离线的子设备id列表
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"gateway_offline",
    "data":{
        "did":"lumi1.xxx",
        "time":"1619489743705",
        "subDids":[
            "lumi1.7811dc91a344",
            "lumi1.7811dc93a344"
        ]
    }
}

子设备在线通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
cause int 在线原因,11-子设备心跳上线, 16-子设备绑定在线
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"subdevice_online",
    "data":{
        "did":"lumi1.xxx",
        "cause":11,
        "time":"1619489743705"
    }
}

子设备离线通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
cause int 离线原因,12-子设备无心跳离线,15-子设备解绑离线
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"subdevice_offline",
    "data":{
        "did":"lumi1.xxx",
        "cause":12,
        "time":"1619489743705"
    }
}

修改设备名称通知消息

  • 参数说明:
名称 类型 是否必须 描述
parentDid String 网关id
positionId String 位置id
model String 物模型
time String 消息产生的时间戳,单位毫秒
deviceName String 设备名称
did String 设备id
  • 示例说明:
{
    "data":{
        "parentDid":"",
        "positionId":"real2.718491383196524544",
        "model":"lumi.camera.gwpagl01",
        "time":"1628309134211",
        "deviceName":"Camera Hub G3",
        "did":"lumi1.54ef44263144"
    },
    "openId":"openId",
    "msgId":"AC10C8E1000E18B4AAC2217E6F86C7F5",
    "eventType":"dev_name_change",
    "time":"1628500244165"
}

修改设备位置通知消息

  • 参数说明:
名称 类型 是否必须 描述
positionName String 位置名称
positionId String 位置id
dids String 设备id数组
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "data":{
        "positionName":"默认房间",
        "positionId":"real2.587738122830217216",
        "dids":[
            "lumi1.6490c17ac50e"
        ],
        "time":"1628308523160"
    },
    "openId":"openId",
    "msgId":"AC10C8E1000E18B4AAC221751C9CA113",
    "eventType":"dev_position_assign",
    "time":"1628499826376"
}

修改资源名称通知消息

  • 参数说明:
名称 类型 是否必须 描述
did String 设备id
time String 消息产生的时间戳,单位毫秒
changeValues Array(Object) 修改值数组

changeValues 说明:

名称 类型 是否必须 描述
resourceId String 资源id
name String 更新名称
  • 示例说明:
{
    "data":{
        "changeValues":[
            {
                "resourceId":"4.1.85",
                "name":"开关"
            }
        ],
        "time":"1628492027819",
        "did":"lumi.158d00044b219c"
    },
    "openId":"openId",
    "msgId":"AC10C8C7000E18B4AAC22C652BABB392",
    "eventType":"resource_alias_changed",
    "time":"1628499314047"
}

自动化创建通知消息

  • 参数说明:
名称 类型 是否必须 描述
model String 物模型
time String 消息产生的时间戳,单位毫秒
linkageId String 自动化id
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"linkage_created",
    "data":{
        "model":"xxx",
        "linkageId":"L.7811dc93a344",
        "time":"1619489743705"
    }
}

场景创建通知消息

  • 参数说明:
名称 类型 是否必须 描述
model String 物模型
time String 消息产生的时间戳,单位毫秒
sceneId String 场景id
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"scene_created",
    "data":{
        "model":"xxx",
        "sceneId":"AL.7811dc93a344",
        "time":"1619489743705"
    }
}

条件集创建通知消息

  • 参数说明:
名称 类型 是否必须 描述
model String 物模型
time String 消息产生的时间戳,单位毫秒
eventId String 条件集id
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"event_created",
    "data":{
        "model":"xxx",
        "eventId":"CL.7811dc93a344",
        "time":"1619489743705"
    }
}

自动化删除通知消息

  • 参数说明:
名称 类型 是否必须 描述
linkageIds Array(String) 自动化id
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"linkage_deleted",
    "data":{
        "linkageIds":[
            "L.7811dc93a345",
            "L.7811dc93a344"
        ],
        "time":"1619489743705"
    }
}

场景删除通知消息

  • 参数说明:
名称 类型 是否必须 描述
sceneIds Array(String) 场景id
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"scene_deleted",
    "data":{
        "sceneIds":[
            "AL.7811dc93a345",
            "AL.7811dc93a344"
        ],
        "time":"1619489743705"
    }
}

条件集删除通知消息

  • 参数说明:
名称 类型 是否必须 描述
eventIds Array(String) 条件集id
time String 消息产生的时间戳,单位毫秒
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "eventType":"event_deleted",
    "data":{
        "eventIds":[
            "CL.7811dc93a345",
            "CL.7811dc93a344"
        ],
        "time":"1619489743705"
    }
}

设备属性消息

主要指设备及相关联动对象在使用的过程中产生的状态变更或操作数据。如:插座的开关、功率、消耗的电能等相关数据。

  • 消息格式说明:
名称 类型 是否必须 描述
openId String 用户唯一标识
time String 消息产生的时间戳,单位毫秒
msgId String 消息唯一id标识
msgType String 消息类型,resource_report:属性上报消息
data Array(Object) 消息唯一id标识
data.subjectId String 对象id,如:设备id 或场景自动化id
data.resourceId String 对象的属性id,如:插座设备继电器的开关状态、功率等
data.value String 对象的属性变更到的值
data.time String 对象的属性变更时间戳,单位毫秒
data.statusCode int 状态变更结果,成功或失败,具体查看以下“触发结果”说明
data.triggerSource Object 消息触发原因
data.attach String 当用户使用自定义订阅模式时,通过“订阅资源”接口传递的参数,消息产生时系统将原样返回
data.triggerSource.type int 消息触发类型,具体查看以下“触发类型”说明
data.triggerSource.time String 导致消息变更原因的触发时间,单位秒
data.triggerSource.id String 导致消息变更原因的触发对象id,如自动化id
  • 示例说明:
{
    "msgId":"5657a659abeb42da8dc32e910405b5c8",
    "openId":"5657a659abeb42da10405b5c8",
    "time":"1561621051609",
    "msgType":"resource_report",
    "data":[
        {
            "subjectId":"lumi1.xxx",
            "resourceId":"3.1.85",
            "value":"1",
            "time":"1561621051609",
            "statusCode":0,
            "triggerSource":{
                "type":1,
                "time":"1561621050",
                "id":"AL.xxxx"
            }
        }
    ]
}

设备控制失败消息

指当控制设备出现失败情况时,会根据设备实际情况返回失败原因,包含触发源、错误码、触发时间等,便于快速定位失败原因。

  • 消息格式说明:
名称 类型 是否必须 描述
openId String 用户唯一标识
time String 消息产生的时间戳,单位毫秒
msgId String 消息唯一id标识
eventType String 消息类型,control_fail:设备控制失败消息
data Array(Object) 消息唯一id标识
data.time String 对象的属性变更时间戳,单位毫秒
data.subjectId String 对象id,如:设备id 或场景自动化id
data.resourceId String 对象的属性id,如:插座设备继电器的开关状态、功率等
data.value String 对象的属性变更到的值
data.statusCode int 状态变更失败结果,具体查看以下“触发结果”说明
data.triggerSource Object 消息触发原因
data.triggerSource.type int 消息触发类型,具体查看以下“触发类型”说明
data.triggerSource.time String 导致消息变更原因的触发时间,单位秒
  • 示例说明:
{
    "data":{
        "resourceId":"4.1.85",
        "time":"1639455380200", 
        "triggerSource":{
            "time":"1639453278",
            "type":21
        },
        "value":"",
        "subjectId":"lumi.158d0004112308",
        "statusCode":4
    },
    "openId":"289738515206846977290753",
    "msgId":"AC10C81E000F18B4AAC6F480C",
    "eventType":"control_fail",
    "time":"1639453292001"
}
  • 触发结果说明:
名称 描述
0 成功执行
1 某些延时action未执行
2 网关向子设备下发的命令已超时,未被成功执行
3 未收到网关下发的控制命令
4 zigbee网络无应答
5 网关内存资源不足,导致无法下发控制命令
6 延时action创建定时器失败,无法实现延时执行的功能
7 控制命令太多,响应繁忙
8 子设备处于断电状态
9 网关与子设备通信很不稳定
10 成功执行,旧命令被新命令覆盖
20 成功执行,此时设备处于幻灯模式,故不真实执行动作
51 局域网跨网关控制失败
100 云端请求网关无应答,超时
602 检测到设备离线,故不执行
612 云端与网关链路中断
  • 触发类型说明:
名称 描述
0 未知
1 设备按钮控制上报
2 遥控器控制上报
3 局域网命令控制上报
4 云端远程命令控制上报
5 网关本地化联动控制上报
6 云端联动控制上报
7 局域网联动控制上报
8 Homekit控制
9 系统自发,比如系统播放了某个提示音上报
10 设备自身触发上报
11 云端场景上报
12 网关本地化场景上报
13 局域网场景上报
14 云端代执行上报
21 开放平台应用控制上报
22 对接第三方设备其他云触发上报
26 物联行业平台控制上报
33 心跳上报
34 第三方语音控制上报
Copyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2024-09-27 21:51:47

results matching ""

    No results matching ""