# 微瓴数字空间实时消息订阅指南

# 1. 微瓴实时消息简介

# 1.1 背景介绍:

物联网平台的数据具有时延低, 数据更新快等一系类的特点, 所以通过传统的api接口调用定时获取数据的方式并不适合展示, 分析等场景, 所以微瓴数字空间基于 websocket 自研了 SWMP 服务, 对接入微瓴的所有应用以长连接的方式提供实时, 高效的数据推送。实时推送数据如人脸门禁的进出, 停车场车辆的驶入驶出, 电梯实时状态, 各系统及设备的告警, 通知等。

实时推送的数据分为三类: 告警数据, 消警数据, 通知数据, 不同的数据格式具有各自的标准, 通过实时消息体中的message_type区分数据所属类型。

# 1.2 服务介绍:

SWMP(Space web message protocol)应用于数字空间实时消息分流、分权限 向数据下游子系统提供, 该服务结合STOMP设计。全部使用UTF-8格式, 头名统一大写, 非body部分统一英文

# 1.3 微瓴实时消息来源:

微瓴数字空间的所有数据处理,分发,挖掘功能均基于微瓴对象模型。按照对象模型上报的数据均可通过自动化或者非自动化的方式以实时消息推送给下游应用层。事件对象默认推送,属性,文件等对象可按需配置推送。

  • 自动化数据推送: 只要在对象模型中的 事件(events) 结构体中以正确的格式上报了标准的事件,微瓴数据空间即可将对象模型数据转化为标准的微瓴实时消息,根据对象模型事件结构体中的eventType字段,分别流转到告警,通知或者消警三个通路中,进行后续的逻辑。

  • 定制化状态数据推送: 但是对于某些实时性状态要求较高的设备,如电梯,业务方或下游子系统希望每次底层设备端上报了新的状态,都可以通过微瓴数字空间的实时数据服务及时的获取。所以微瓴项目管理平台提供了可配置的实时状态转通知的功能,详细操作步骤可参照文档5.1章节

  • 定制化规则匹配推送: 对于某些属性触发告警,如空气质量超标,温度超标等。通用可以通过微瓴项目管理平台的规则配置界面,设置告警或者通知触发条件。详细操作步骤可参照文档5.2章节

# 2. 订阅准备工作

接入微瓴物联平台的应用, 无论此应用用于数据上报还是用于数据接收, 均需要在微瓴开放平台 (opens new window)进行应用接入申请, 并获取appid等一系列与平台通讯所必须票据。通过申请到的登入鉴权套件(appid及其票据等), 可以获得订阅数字空间实时数据接口所需的token, 微瓴对于每个appid所能订阅的消息类型会进行分配和管控。

  • 登入鉴权套件接入及权限申请:

通过 https://open.welink.qq.com (opens new window) 的指引,完成在对应的项目下完成项目应用的入驻, 然后获取appid, app_key及app_ticket等参数

APP ID: 应用唯一标识符, 每创建一个新应用, 后台会为其配置一个新的应用ID, 且后续不可更改 创建过的应用即使在删除后, 其应用ID仍然不能被新创建的应用所占有, 在所属环境中具有特定性,唯一性,不可更改性及永久性

APP Ticket: 应用票据, 在进行鉴权获取定时token时使用, 所获取票据用于登录微瓴openAPI, 票据具有有效期限的, 在沙箱阶段, 默认有效期限是一年(一年按365天计算) 注:在距离到期时间前15天内, 您可以根据自身需要对App Ticket进行重置, 重置后会生成新的App Ticket, 有效期限重置

# 3. 订阅实时消息及获取

# 3.1 接入步骤

实时数据推送服务接入主要分为以下六个步骤

  • step1:确认调用地址域名
  • step2:获取相应token
  • step3:确认appid相应权限
  • step4:接入websocket并与datahub建立长连接
  • step5:订阅所需topic
  • step6:维持连接
  • step7:取消订阅

# 3.2 接入详细介绍

  • step1 确认调用地址域名 文档中所有示例域名均为正式环境的域名, 用户需根据自身项目所在环境进行选择, 不同环境之间相互独立, 所申请所有资源不互通。如对项目所属环境有疑问, 请于项目的交付架构师进行联系和咨询。
接入地域 环境类别 域名
华南地区(广州) 开放平台新沙箱环境 sandbox2api.welink.qq.com
华南地区(广州) 公有云环境 api-gz.welink.qq.com
  • step2 获取相应token 通过登陆鉴权 (opens new window)的指引, 获取对应的token, 文档中提供了多种登入鉴权以及token的获取方式, token有效期为20分钟

  • step3 确认appid相应权限 请于项目的交付架构师进行联系和咨询, 开通所需订阅系统的相应数据权限

  • step4 接入websocket并与datahub建立长连接 从上述登入鉴权接口中通过appid及app_ticket获取token,与websocket连接的请求地址为为:

    • 公有云项目地址: wss://Domain/space/websocket/datahub/swmp/messageHub?token=xxxxxxx
    • 私有化项目地址 ws://Domain/space/websocket/datahub/swmp/messageHub?token=xxxxxxx

    注意:单个appid最多建立20个长链接

  • step5 订阅所需topic 通过 告警(4.1节) (opens new window), 消警(4.2节) (opens new window)通知(4.3节) (opens new window) 可获取数字空间通用topic。 部分项目存在定制化topic,数字空间会在项目交付文档中列举所有topic。请相关开发联系项目交付架构师获取所属项目完整可订阅topic。 微瓴权限服务可控制及分配应用订阅数据权限, 订阅前请先确定是否有权限订阅所需topic,然后发出订阅请求

    • 请求示例
    websocket.send("SUBSCRIBE 0.1\r\nFRAME-ID:151215125\r\nTOPIC:/space/datahub/***订阅type***/***订阅subtype***\r\n\0")
    
    1

    注:FRAME-ID建议使用当前毫秒级时间戳 如若订阅成功, 返回以下数据

    • 返回示例
    RESPONSE 0.1
    FRAME-ID: **************
    STATUS: 200
    REQUEST-FRAME-ID: ********
    CONTENT-LENGTH:2
    
    SUBSCRIBE SUCCESS
    
    1
    2
    3
    4
    5
    6
    7
  • step6 维持连接 如果应用所订阅topic 60秒 内没有数据推送, websocket将断开连接, 若要保持连接, 则需发送定时发送维持连接请求

    • 请求示例
    websocket.send("REQUEST 0.1\r\nFRAME-ID:fdsafsaf\r\nCONTENT-TYPE:text/plain;charset=utf-8\r\nCONTENT-LENGTH:4\r\nDESTINATION:/swmp/heartbeat\r\n\r\nkeep\r\n\0")
    
    1

    如若维持连接成功, 返回以下数据

    • 返回示例
    RESPONSE 0.1
    FRAME-ID: **************
    STATUS: 200
    REQUEST-FRAME-ID: ********
    CONTENT-LENGTH:2
    
    OK
    
    1
    2
    3
    4
    5
    6
    7
  • step7 取消订阅

    将需要取消订阅的topic 发送websocket server端

    • 请求示例

      websocket.send("UNSUBSCRIBE 0.1\r\nFRAME-ID:151215125\r\nTOPIC:/space/datahub/face_access/inout\r\n\0")
      
      1

    如若断开连接成功, 返回以下数据

    • 返回示例

      RESPONSE 0.1
      FRAME-ID: **************
      STATUS: 200
      REQUEST-FRAME-ID: ********
      CONTENT-LENGTH:2
      
      UNSUBSCRIBE SUCCESS
      
      1
      2
      3
      4
      5
      6
      7

# 3.3 注意事项

  1. 请求参数token仅在一段时间内有效(20分钟)。推荐每5分钟获取一次新token,以确保断线重连时使用新的token创建连接,并能够有效鉴权。否则可能发生400/401请求错误;
  2. 拼接URI过程中,注意请求的URI编码格式,如果token中含有特殊字符,需要注意进行编码(encodeUri)。尽可能避免直接使用 “+”等拼接字符串形式追加参数。否则可能导致 400/401参数鉴权问题;
  3. 建立成功后,请保持websocket心跳(仅1分钟有效,推荐每20秒发送一次心跳),确保网络环境正常。否则可能造成频繁断链;
  4. 若建立失败,请及时释放连接(进行close等相关操作)。重试过程中,推荐间隔1秒重试。过于频繁的重试可能导致IP、或appId被禁;
  5. 订阅指定的topic。请确保该appId已在管理平台中,被授予对应的数据订阅权限;
  6. 注意同一个appId的订阅限制,连接个数和订阅topic个数(尽可能避免使用同一组appId+token进行数据订阅),如有必要可申请新的appId。

# 3.4 接入代码范例

  • javaScript
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>SWMP Example</title>
</head>
<body>

<input id="text" type="text"></input>
<button onclick="send()">sent message</button>
<hr/>
<button onclick="closeWebSocket()">Close WebScoket Connection</button>
<hr/>
<div id="message"></div>
<script>
    var websocket = null;
    //Determine whether the current browser supports WebSocket.
    if ('WebSocket' in window) {

        websocket = new WebSocket("wss://#domain/space/websocket/datahub/swmp/messageHub?token=#token");

    } else {
        alert('Current do not support websocket.');
    }

    //Callback method for Connection Error
    websocket.onerror = function () {
        setMessageInnerHTML("WebSocket Connection Error");
    }

    //Callback method for Connection Successful
    websocket.onopen = function () {
        setMessageInnerHTML("WebSocket Connection Successful");
    }

    //Callback method for Receiving Message
    websocket.onmessage = function (event) {
        console.log(event.data);
        setMessageInnerHTML(event.data);
    }

    //Callback method for Closing Connection.
    websocket.onclose = function () {
        setMessageInnerHTML("Websocket Connection Closed");
        websocket.close(1000);
    }

    //Listen the event that window is closed.When close the window,
    //we close the websocket connection on our own.
    //To avoid the connection is keep aliving but the window has been closed.
    //or the server-side will throw exception.
    window.onbeforeunload = function () {
        closeWebSocket();
    }

    //Display message on HTML
    function setMessageInnerHTML(innerHTML) {
        document.getElementById('message').innerHTML += innerHTML + '<br/>';
    }

    //Close websocket connection
    function closeWebSocket() {
        websocket.close(1000);
    }

    //Send message
    function send() {
        var message = document.getElementById('text').value;
        websocket.send(message);
    }

</script>
</body>
</html>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

# 4. 订阅数据格式说明

  • 订阅topic统一为:
/space/datahub/$订阅type/$订阅subtype
1

使用英文字段订阅,字段名称遵守小驼峰命名方式,不会出现中划线等特殊字符。除缩写字符串外,不出现大写字母,一律使用小写字母表示。

# 4.1 告警数据(message_type:1000300)

# 4.1.1 通用可订阅topic

订阅type type中文 订阅sub_type sub_type中文 备注
security_monitoring 安防监控 invade 入侵检测
retention 非法滞留
fire 火灾监控
crowd 异常聚集
safety_helmet 安全帽检测
without_mask 口罩检测
tumble_arm 视觉摔倒检测
tumble tof跌倒检测
shibian_radar_tumble 雷达跌倒检测
crossing_line 跨线检测
parking_violation 违停占道
violent_motion 剧烈运动告警
getup 起身告警
key_person_getup 重点人员起身告警
standup 人员站立告警
audio_abnormal 声强突变告警
reach_height 攀高告警
toilet_tarry 如厕超时
yard_tarry 放风超时
people_num_change 人数突破告警
sit_quietly 静坐告警
line_detection 越线告警
trace_start 任务开始
trace_end 任务结束
trace_result 任务返回结果
video_loss 视频丢失
shelter 视频遮挡
moving 移动侦测
scene_change 场景变更
overstep 越界侦测
entering 进入区域
leaving 离开区域
repid_moving 快速移动
parking 停车侦测
object_left 物品遗留
object_take 物品拿取
energy 能耗 excessive 能耗用度异常
parking 停车场 inout 车辆进出
pay 离场支付
reserved 车辆预约
canceled 车辆预约取消
conference 会议室 start 会议开始
end 会议结束
reserve 会议室预定
cancel 会议室取消
device_offline 子设备离线
face_access 人脸门禁 inout 人员进出
device 设备 online 上线
offline 离线
fault 故障
elevator 电梯 block 滞留
delayed 延误
illumination 照明 light_on 开灯
light_off 关灯
people_flow 人流 excessive 人流数量异常
fire_protecting 消防 start_over 开启
monitoring 监控
ack 联动回答
dismiss 联动回答消除
access_control 进出控制 visual_check 安检人工检查
bomb_suspect 安检炸弹告警
liquid_suspect 安检液体告警
ticketbarrier_fault 闸机故障
escalator 扶梯 sub_device_fault 子设备故障
sub_device_subpar 子设备欠佳
sub_device_offline 自设备离线
component_fault 组件错误
platform_gate 站台门 radar_device_fault 防夹设备故障
radar_detected 防夹异物探知
broadcasting 广播系统 broadcast_fault 广播设备故障
lcd_controller_fault lcd控制器故障
lcd_fault lcd故障
environment 环境系统 toxic_gas_detected 毒气监测告警
robot 机器人 server_robot 机器人服务
work_order 工单 order_report 工单上报
order_cancel 工单取消
order_response 工单回复

# 4.1.2 格式详情

  • 数据格式说明
字段名称 字段类型 级别 字段描述 必须 备注
message_type integer 1 用于判断该消息的分类, 告警级别消息固定为1000300
content object 1 告警内容字段
id string 2 告警的唯一标识, 以uuid形式存储, 小写 隶属于一级字段content
time string 2 时间, 毫秒时间戳 隶属于一级字段content
type string 2 告警类型 隶属于一级字段content
sub_type string 2 告警子类型 隶属于一级字段content
level integer 2 告警级别: 1-通知类警告, 2-轻警告:48小时内处理, 3-中级警告:12小时内处理, 4-严重警告:2小时内处理, 5-致命警告:需要立即处理 隶属于一级字段content
position object 2 位置信息, 若无, 则保留{} 隶属于一级字段content
din string 3 设备 din,若非设备告警,可为空字符串 隶属于二级字段position
wId string 3 设备或位置 wId,若无该信息,可为空字符串 隶属于二级字段position
text string 3 位置文字描述 隶属于二级字段position
description string 2 告警补充描述信息,若无,则返回"" 隶属于一级字段content
advice string 2 处理建议,若无,则为"" 隶属于一级字段content
handler object 2 处理工具, 若无, 则保留{} 隶属于一级字段content
type integer 3 处理方式:"url" (打开链接处理) , "other"(其他处理方式) 隶属于二级字段handler
data string 3 对应的url或者其他的处理方式 隶属于二级字段handler
status string 2 固定为"unprocessed",未被处理 隶属于一级字段content
processor array 2 处理人员的所有信息, 若无, 则返回[],数组中每个元素为由id和name组成的object,{"id": "someid","name": "someone" } 隶属于一级字段content
id string 3 处理人的id 隶属于二级字段processor
name string 3 处理人的名字 隶属于二级字段processor
image object 2 告警图像, 若无, 则保留{} 隶属于一级字段content
type string 3 图像类型, 1: base64编码, 2: url, 3:image_id, 4:temporary_image_id 隶属于二级字段image
data base on type 3 图片数据, type1:base64, type2:String, type3:String, type4:String 隶属于二级字段image
extend object 2 告警扩展信息, 具体字段根据业务作区分, 若无,则返回{} 隶属于一级字段content
  • 格式样例
{
"message_type": 1000300,
"content": {
"id": "xxxx",
"time": "123454678000", 
"type": "security_monitoring", 
"sub_type": "invade",
"level": 1,
"position": {
"din": "", 
"wId": "", 
"text": ""
},
"description": "xxx",
"advice": "xxx", 
"handler": {
"type": "", 
"data": "" 
},
"status": "xxxxxx",
"processor": [
{
"id": "someid",
"name": "someone"
}
],
"image": {
"type": 1,
"data": "base64 data"
},
"extend": {} 
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 4.2 消警数据(message_type:1000302)

# 4.2.1 通用可订阅topic

同一个事件的告警和消警共用同一个订阅topic,订阅了告警后无需重复订阅消警。

订阅type type中文 订阅sub_type sub_type中文 备注
security_monitoring 安防监控 invade 入侵检测
retention 非法滞留
fire 火灾监控
crowd 异常聚集
tumble 摔倒检测
violent_motion 剧烈运动告警
getup 起身告警
key_person_getup 重点人员起身告警
standup 人员站立告警
audio_abnormal 声强突变告警
reach_height 攀高告警
toilet_tarry 如厕超时
yard_tarry 放风超时
people_num_change 人数突破告警
sit_quietly 静坐告警
line_detection 越线告警
trace_start 任务开始
trace_end 任务结束
trace_result 任务返回结果
video_loss 视频丢失
shelter 视频遮挡
moving 移动侦测
scene_change 场景变更
overstep 越界侦测
entering 进入区域
leaving 离开区域
repid_moving 快速移动
parking 停车侦测
object_left 物品遗留
object_take 物品拿取
energy 能耗 excessive 能耗用度异常
parking 停车场 inout 车辆进出
pay 离场支付
reserved 车辆预约
canceled 车辆预约取消
conference 会议室 start 会议开始
end 会议结束
reserve 会议室预定
cancel 会议室取消
device_offline 子设备离线
face_access 人脸门禁 inout 人员进出
device 设备 online 上线
offline 离线
fault 故障
elevator 电梯 block 滞留
delayed 延误
illumination 照明 light_on 开灯
light_off 关灯
people_flow 人流 excessive 人流数量异常
fire_protecting 消防 start_over 开启
monitoring 监控
ack 联动回答
dismiss 联动回答消除
access_control 进出控制 visual_check 安检人工检查
bomb_suspect 安检炸弹告警
liquid_suspect 安检液体告警
ticketbarrier_fault 闸机故障
escalator 扶梯 sub_device_fault 子设备故障
sub_device_subpar 子设备欠佳
sub_device_offline 自设备离线
component_fault 组件错误
platform_gate 站台门 radar_device_fault 防夹设备故障
radar_detected 防夹异物探知
broadcasting 广播系统 broadcast_fault 广播设备故障
lcd_controller_fault lcd控制器故障
lcd_fault lcd故障
environment 环境系统 toxic_gas_detected 毒气监测告警
robot 机器人 server_robot 机器人服务
work_order 工单 order_report 工单上报
order_cancel 工单取消
order_response 工单回复

# 4.2.2 格式详情

  • 数据格式说明
字段名称 字段类型 字段级别 字段描述 是否必须 备注
message_type integer 1 用于判断该消息的分类, 消警级别消息固定为1000302
content object 1 告警内容字段
id string 2 告警的唯一标识, 与之前告警的id信息对应 隶属于一级字段content
time integer 2 时间, 毫秒时间戳 隶属于一级字段content
status string 2 若处理完成则为processed状态 隶属于一级字段content
processor array 2 处理人员的所有信息, 若无, 则返回[],数组中每个元素为由id和name组成的object,{"id": "someid","name": "someone" } 隶属于一级字段content
id string 3 处理人的id 隶属于二级字段processor
name string 3 处理人的名字 隶属于二级字段processor
process_description string 2 告警补充描述信息,若无,则返回"" 隶属于一级字段content
process_extend object 2 告警扩展信息, 具体字段根据业务作区分,详见 告警类型,若无,则返回{} 隶属于一级字段content
  • 格式样例
{
"message_type": 1000302,
"content": {
"id": "xxxx",
"time": "123454678000", 
"status": "processed",
"processor": [
{
"id": "someid",
"name": "someone"
}
],
"process_description":"",
"process_extend": {} 
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 4.3 通知类数据(message_type:1000400)

# 4.3.1 通用可订阅topic

订阅type type中文 订阅sub_type sub_type中文 备注
security_monitoring 安防监控 trace_start 任务开始
trace_end 任务结束
trace_result 任务返回结果
energy 能耗 energy 能耗
energy_efficiency 能效 energy_efficiency 能效
parking 停车场 inout 车辆进出
pay 离场支付
reserved 车辆预约
canceles 车辆取消预约
conference 会议室 start 会议开始
end 会议结束
reserve 会议室预定
cancel 会议室取消
face_access 人脸门禁 inout 人员进出
device 设备
elevator 电梯 operational_parameter 运行参数
illumination 照明 light_on 开灯
light_off 关灯
people_flow 人流 people_flow 人流
fire_protecting 消防 fire_protecting 消防
access_control 进出控制 access_control 进出控制
robot 机器人 server_robot 机器人服务
device_operation 设备操作 device_delete 删除设备
device_update 更新设备
device_bind 设备绑定
device_unbind 设备解绑
device_upgrade_ota 设备固件升级
device_change 设备更换

# 4.3.2 格式详情

  • 格式说明
字段名称 字段类型 级别 字段描述 必须 备注
message_type integer 1 用于判断该消息的分类, 通知级别消息固定为1000400
content object 1 通知内容字段
id string 2 通知的唯一标识, 以uuid形式存储, 小写 隶属于一级字段content
time string 2 时间, 毫秒时间戳 隶属于一级字段content
type string 2 通知类型 隶属于一级字段content
sub_type string 2 通知子类型 隶属于一级字段content
position object 2 位置信息, 若无, 则保留{} 隶属于一级字段content
din string 3 设备 din,若非设备通知,可为空字符串 隶属于二级字段position
wId string 3 设备或位置 wId,若无该信息,可为空字符串 隶属于二级字段position
text string 3 位置文字描述 隶属于二级字段position
description string 2 通知补充描述信息, 若无则放回 "" 隶属于一级字段content
image object 2 通知图像, 若无, 则保留{} 隶属于一级字段content
type integer 3 图像类型, 1: base64编码, 2: url, 3:image_id 隶属于二级字段image
data base on type 3 图片数据, type1:base64, type2:String, type3:String 隶属于二级字段image
extend object 2 扩展信息, 具体字段根据业务作区分; 若无,则保留{} 隶属于一级字段content
  • 格式样例
{
"message_type": 1000400,
"content": {
"id": "xxxx",
"time": "123454678000", 
"type": "security-monitoring", 
"sub_type": "invade", 
"position": {
"din": "", 
"wId": "", 
"text": ""
},
"description": "xxx", 
"image": {
"type": 1,
"data": "base64 data"
},
"extend": {} 
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 4.4 通用类数据(message_type:1000500)

# 4.4.1 通用可订阅topic

订阅type type中文 订阅sub_type sub_type中文 备注
security_monitoring 安防监控 invade 入侵检测
retention 非法滞留
fire 火灾监控
crowd 异常聚集
tumble 摔倒检测
violent_motion 剧烈运动告警
getup 起身告警
key_person_getup 重点人员起身告警
standup 人员站立告警
audio_abnormal 声强突变告警
reach_height 攀高告警
toilet_tarry 如厕超时
yard_tarry 放风超时
people_num_change 人数突破告警
sit_quietly 静坐告警
line_detection 越线告警
trace_start 任务开始
trace_end 任务结束
trace_result 任务返回结果
video_loss 视频丢失
shelter 视频遮挡
moving 移动侦测
scene_change 场景变更
overstep 越界侦测
entering 进入区域
leaving 离开区域
repid_moving 快速移动
parking 停车侦测
object_left 物品遗留
object_take 物品拿取
energy 能耗 excessive 能耗用度异常
parking 停车场 inout 车辆进出
pay 离场支付
reserved 车辆预约
canceled 车辆预约取消
conference 会议室 start 会议开始
end 会议结束
reserve 会议室预定
cancel 会议室取消
device_offline 子设备离线
face_access 人脸门禁 inout 人员进出
device 设备 online 上线
offline 离线
fault 故障
elevator 电梯 block 滞留
delayed 延误
illumination 照明 light_on 开灯
light_off 关灯
people_flow 人流 excessive 人流数量异常
fire_protecting 消防 start_over 开启
monitoring 监控
ack 联动回答
dismiss 联动回答消除
access_control 进出控制 visual_check 安检人工检查
bomb_suspect 安检炸弹告警
liquid_suspect 安检液体告警
ticketbarrier_fault 闸机故障
escalator 扶梯 sub_device_fault 子设备故障
sub_device_subpar 子设备欠佳
sub_device_offline 自设备离线
component_fault 组件错误
platform_gate 站台门 radar_device_fault 防夹设备故障
radar_detected 防夹异物探知
broadcasting 广播系统 broadcast_fault 广播设备故障
lcd_controller_fault lcd控制器故障
lcd_fault lcd故障
environment 环境系统 toxic_gas_detected 毒气监测告警
robot 机器人 server_robot 机器人服务
work_order 工单 order_report 工单上报
order_cancel 工单取消
order_response 工单回复

# 4.4.2 格式详情

字段名称 字段类型 字段描述 层级隶属
reportTs string 数据上报时间 一级字段
profile struct 对象档案对象 一级字段
appType string 对象所属数字空间标准系统 profile
poiCode string 设备或应用系统分类编号 profile
modelId int 数字空间对象模型编号,由数字空间进行分配 profile
properties struct 设备或应用模块属性对象,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。 一级字段
events struct 设备或应用模块事件对象,设备运行时的事件。事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。如,某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送。 一级字段
eventName struct 事件子业务类型,事件名称。 events
eventTs Long 事件发生时间 eventName
eventType int 事件类型,0-告警,1-通知,2-消警 eventName
describe string 事件描述 eventName
level int 告警等级,eventType为0时携带,告警级别: 1-通知类警告, 2-轻警告:48小时内处理, 3-中级警告:12小时内处理, 4-严重警告:2小时内处理, 5-致命警告:需要立即处理,默认等级为3。 eventName
services struct 设备或应用模块 服务对象,设备可被外部调用的能力或方法,可设置输入参数和输出参数。相比于属性,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务。 一级字段
  • 格式样例
{
  "reportTs": 1572702827618,
  "profile": {
    "modelId": 1000, //微瓴数字空间负责分配
    "appType":"test application",  //微瓴数字空间负责分配,
    "poiCode": "t0000000" //微瓴数字空间负责分配
  },
  "properties": {
  },
  "events": {
      "$eventName":{
          "eventTs":1572702827618,
          "eventType":1, //0告警事件,1通知事件,2消警事件
          "describe":"事件描述",
        	"level": 3
      }
  },
  "services": {
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 5. 定制化实时推送

# 5.1 对象状态数据推送

# 5.1.1 设备对象(IOT上报)

  • 点击 联动配置 菜单栏选择 事件管理
  • 点击右上角 新增事件
  • 输入自定义 事件名称事件说明
  • 选择 设备上报触发
  • 自定义选择按照设备类型触发或者按照具体设备触发,然后选择相应的设备类型或者具体设备
  • 触发消息 栏中填入 profile.poiCode = $所配置设备的相应poiCode
  • 点击 确认
  • 点击 联动配置 菜单栏选择 动作管理
  • 点击右上角 新增动作
  • 输入自定义 动作名称动作说明
  • 选择 转换为通知
  • 自定义选择 通知类型通知子类型,如下拉框中不包含所需类型,可自定义,自定义类型及子类型采用小驼峰命名法(下划线连接),不可使用中文
  • 自定义选择 通知位置
  • 点击 确认
  • 点击 联动配置 菜单栏选择 联动管理
  • 点击右上角 新增联动
  • 输入自定义 联动名称联动说明
  • 有效周期选择 永久有效
  • 点击 确认

# 5.1.2 应用对象(report接口上报)

  • 点击 联动配置 菜单栏选择 事件管理
  • 点击右上角 新增事件
  • 输入自定义 事件名称事件说明
  • 选择 应用上报触发
  • 自定义选择按照设备类型触发或者按照具体设备触发,然后选择相应的设备类型或者具体设备
  • 触发消息 栏中填入 profile.poiCode = $所配置设备的相应poiCode
  • 点击 确认
  • 点击 联动配置 菜单栏选择 动作管理
  • 点击右上角 新增动作
  • 输入自定义 动作名称动作说明
  • 选择 转换为通知
  • 自定义选择 通知类型通知子类型,如下拉框中不包含所需类型,可自定义,自定义类型及子类型采用小驼峰命名法(下划线连接),不可使用中文
  • 自定义选择 通知位置
  • 点击 确认
  • 点击 联动配置 菜单栏选择 联动管理
  • 点击右上角 新增联动
  • 输入自定义 联动名称联动说明
  • 选择之前配置好的 触发事件执行动作
  • 有效周期选择 永久有效
  • 点击 确认

# 5.2 规则匹配推送

# 5.2.1 设备对象触发通知(IOT上报)

  • 点击 联动配置 菜单栏选择 事件管理
  • 点击右上角 新增事件
  • 输入自定义 事件名称事件说明
  • 选择 设备上报触发
  • 自定义选择按照设备类型触发或者按照具体设备触发,然后选择相应的设备类型或者具体设备
  • 触发消息 栏中填入 相应规则,中间用点连接结构体的层级
  • 点击 确认
  • 点击 联动配置 菜单栏选择 动作管理
  • 点击右上角 新增动作
  • 输入自定义 动作名称动作说明
  • 选择 转换为通知
  • 自定义选择 通知类型通知子类型,如下拉框中不包含所需类型,可自定义,自定义类型及子类型采用小驼峰命名法(下划线连接),不可使用中文
  • 自定义选择 通知位置
  • 点击 确认
  • 点击 联动配置 菜单栏选择 联动管理
  • 点击右上角 新增联动
  • 输入自定义 联动名称联动说明
  • 有效周期选择 永久有效
  • 点击 确认

# 5.2.2 应用对象触发通知(report接口上报)

  • 点击 联动配置 菜单栏选择 事件管理
  • 点击右上角 新增事件
  • 输入自定义 事件名称事件说明
  • 选择 应用上报触发
  • 自定义选择按照设备类型触发或者按照具体设备触发,然后选择相应的设备类型或者具体设备
  • 触发消息 相应规则,中间用点连接结构体的层级
  • 点击 确认
  • 点击 联动配置 菜单栏选择 动作管理
  • 点击右上角 新增动作
  • 输入自定义 动作名称动作说明
  • 选择 转换为通知
  • 自定义选择 通知类型通知子类型,如下拉框中不包含所需类型,可自定义,自定义类型及子类型采用小驼峰命名法(下划线连接),不可使用中文
  • 自定义选择 通知位置
  • 点击 确认
  • 点击 联动配置 菜单栏选择 联动管理
  • 点击右上角 新增联动
  • 输入自定义 联动名称联动说明
  • 选择之前配置好的 触发事件执行动作
  • 有效周期选择 永久有效
  • 点击 确认

# 5.2.3 设备对象触发告警(IOT上报)

  • 点击 联动配置 菜单栏选择 事件管理
  • 点击右上角 新增事件
  • 输入自定义 事件名称事件说明
  • 选择 设备上报触发
  • 自定义选择按照设备类型触发或者按照具体设备触发,然后选择相应的设备类型或者具体设备
  • 触发消息 相应规则,中间用点连接结构体的层级
  • 点击 确认
  • 点击 联动配置 菜单栏选择 动作管理
  • 点击右上角 新增动作
  • 输入自定义 动作名称动作说明
  • 选择 转换为通知
  • 自定义选择 通知类型通知子类型,如下拉框中不包含所需类型,可自定义,自定义类型及子类型采用小驼峰命名法(下划线连接),不可使用中文
  • 自定义选择 通知位置
  • 点击 确认
  • 点击 联动配置 菜单栏选择 联动管理
  • 点击右上角 新增联动
  • 输入自定义 联动名称联动说明
  • 有效周期选择 永久有效
  • 点击 确认

# 5.2.4 应用对象触发告警(report接口上报)

  • 点击 联动配置 菜单栏选择 事件管理
  • 点击右上角 新增事件
  • 输入自定义 事件名称事件说明
  • 选择 应用上报触发
  • 自定义选择按照设备类型触发或者按照具体设备触发,然后选择相应的设备类型或者具体设备
  • 触发消息 相应规则,中间用点连接结构体的层级
  • 点击 确认
  • 点击 联动配置 菜单栏选择 动作管理
  • 点击右上角 新增动作
  • 输入自定义 动作名称动作说明
  • 选择 转换为通知
  • 自定义选择 通知类型通知子类型,如下拉框中不包含所需类型,可自定义,自定义类型及子类型采用小驼峰命名法(下划线连接),不可使用中文
  • 自定义选择 通知位置
  • 点击 确认
  • 点击 联动配置 菜单栏选择 联动管理
  • 点击右上角 新增联动
  • 输入自定义 联动名称联动说明
  • 选择之前配置好的 触发事件执行动作
  • 有效周期选择 永久有效
  • 点击 确认

# 6.告警及消警数据子类型

针对于不同的告警子分类, 告警消息的 extend 字段中, 包含有不同的字段

# 6.1. security_monitoring(安防告警)

# 6.1.1 invade(入侵检测)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.2 retention(非法滞留)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.3 fire(火灾监控)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.4 crowd(异常聚集)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.5 tumble(tof摔倒)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.6 tumble_arm(视觉跌倒检测)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.7 shibian_radar_tumble(雷达跌倒检测)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.8 safety_helmet(安全帽检测)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.9 without_mask(口罩检测)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.10 parking_violation(违停占道)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.1.11 crossing_line(跨线检测)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.2. energy(能耗告警)

# 6.2.1 excessive(能耗用度异常)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
current_value integer 电量用度 "current_value" : 520.1314

# 6.3. energy_efficiency(能效告警)

# 6.4. parking(停车场告警)

# 6.5. conference(会议室告警)

# 6.6 face_access(人脸门禁告警)

# 6.7 elevator(电梯告警)

# 6.7.1 block(滞留)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.7.2 delayed(延误)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.8 illumination(照明告警)

# 6.8.1 double_switch(灯光控制)(双键入墙开关)

# 6.8.2 single_switch(灯光控制)(单键入墙开关)

# 6.9 people_flow(人流告警)

# 6.9.1 excessive(人流数量异常)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
current_value integer 当前人流 "current_value" : 1024

# 6.10 fire_protecting(消防告警)

# 6.10.1 fire_alarm(火警)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
- - - -
  • 数据示例
{
"message_type": 1000300,
"content": {
"id": "xxxx",
"time": "123454678000", 
"type": "fire_protecting", 
"sub_type": "fire_alarm",
"level": 5,
"position": {
"din": "", 
"wId": "", 
"text": ""
},
"description": "xxx",
"advice": "xxx", 
"handler": {
"type": "", 
"data": "" 
},
"status": "processed",
"processor": [],
"image": {
},
"extend": {} 
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 6.11 access_control(门禁告警)

# 6.12 HAVC(暖通空调系统告警)

# 6.13 robot(机器人告警)

# 6.14 environment(环境告警)

# 6.14.1 door_and_win_sensor(门窗传感器)

# 6.14.2 human_body_sensor(人体传感器)

# 6.14.3 tem_and_hum_sensor(温湿度传感器)

# 6.14.4 smoke_detector(烟雾报警器)

# 6.14.5 gas_leak(燃气报警器)

# 6.14.6 flood_sensor(水浸传感器)

# 6.14.7 illuminance_sensor(照度感应器)

# 6.15 work_order(工单系统)

# 6.15.1 order_response(工单回复)

  • extend对象中所含字段详情
字段名称 字段类型 字段描述 示例 备注 层级隶属
guid string 唯一编号 "guid":"xxxxxxxxxxxxx"
visitTime struct 回访时间 "visitTime":""
recorder int 回访人 "recorder":""
reviewContext string 回访记录 "reviewContext":""
customerSatify string 客户满意度 "customerSatify":"" 0:满意
1:不满意
finishTime string 报修人电子邮件 "email":""
remark string 故障工作记录 "remark":""
satisfaction enum 工程维修满意度 "satisfaction":"" 0:满意
1:不满意
reason enum 不满意原因 "reason":""
owner string 维修人 "owner":""
state string 表单状态 "state":"" 0:待分派
1:故障处理中
2:已完成
3:已回访
4:待物料
5:待承包商
stateChangeTime enum 状态更新时间 "stateChangeTime":1
receivedTime string 表单接收时间 "receivedTime":
stateCode enum 状态码 "stateCode":0 0 可用
1 不可用

# 6.15.2 order_report(工单上报)

  • extend对象中所含字段详情
字段名称 字段类型 字段描述 示例 备注 层级隶属
guid string 唯一编号 "guid":"xxxxxxxxxxxxx" events.order_report
reportedPersonInfo struct 上报人信息 "reportedPersonInfo":{} events.order_report
requestorType int 报修人类型 "requestorType":"" reportedPersonInfo
requestorName string 报修人姓名 "requestorName":"" reportedPersonInfo
phoneNumber string 报修人手机号码 "phoneNumber":"" reportedPersonInfo
email string 报修人电子邮件 "email":"" reportedPersonInfo
fax string 报修人传真 "fax":"" reportedPersonInfo
repairType enum 报修方式 "repairType":2 0: 电话
1:Email
2:微信
3:上门
4:保安巡逻
events.order_report
level enum 紧急级别 "level":3 1:常规
3:重要
5:紧急
events.order_report
describe string 故障说明 "describe":"" events.order_report
remark string 备注 "remark":"" events.order_report
formType enum 表单类型 "formType":1 0:正常
1:补单
events.order_report
address struct 地址对象 "address":{} events.order_report
roomName string 房间号 "roomName":"" address
floor string 楼层 "floor":"" address
buildingName string 楼栋名称 "buildingName":"" address
stateCode enum 状态码 "stateCode":0 0 可用
1 不可用
address

# 6.15.3 order_cancel(工单取消)

  • extend对象中所含字段详情
字段名称 字段类型 字段描述 示例 备注 层级隶属
guid string 唯一编号 "guid":"xxxxxxxxxxxxx"
reportedPersonInfo struct 上报人信息 "reportedPersonInfo":{}
requestorType int 报修人类型 "requestorType":"" reportedPersonInfo
requestorName string 报修人姓名 "requestorName":"" reportedPersonInfo
phoneNumber string 报修人手机号码 "phoneNumber":"" reportedPersonInfo
email string 报修人电子邮件 "email":"" reportedPersonInfo
fax string 报修人传真 "fax":"" reportedPersonInfo
repairType enum 报修方式 "repairType":2 0: 电话
1:Email
2:微信
3:上门
4:保安巡逻
level enum 紧急级别 "level":3 1:常规
3:重要
5:紧急
describe string 故障说明 "describe":""
remark string 备注 "remark":""
formType enum 表单类型 "formType":1 0:正常
1:补单
address struct 地址对象 "address":{}
roomName string 房间号 "roomName":"" address
floor string 楼层 "floor":"" address
buildingName string 楼栋名称 "buildingName":"" address
stateCode enum 状态码 "stateCode":0 0 可用
1 不可用
address

# 6.16 device(设备告警)

# 6.16.1 online(上线)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.16.2 offline(离线)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.16.3 fault(报错)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 6.17 curtain_wall(幕墙)

# 6.17.1 component_fault(元件故障)

# 7. 通知数据子类型

针对于不同的告警子分类, 告警消息的 extend 字段中, 所必须包含的子字段及其类型属性

# 7.1 security_monitoring(安防通知)

# 7.1.1 trace_start(任务开始)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
success Boolean 轨迹追踪任务是否成功开启 "success":True
error_msg string 错误信息, 若无报错, 则返回"OK" "error_msg":"OK"
task_id string 任务id "task_id":"03189df8-4b00-4041-9b2a-81ce1a2a94fc"

# 7.1.2 trace_end(任务结束)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
success Boolean 轨迹追踪任务是否成功结束 "success":True
error_msg string 错误信息, 若无报错, 则返回"OK" "error_msg":"OK"
task_id string 任务id "task_id":"03189df8-4b00-4041-9b2a-81ce1a2a94fc"

# 7.1.3 trace_result(任务返回结果)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
success Boolean 轨迹追踪任务是否查询成功 "success":True
error_msg string 错误信息, 若无报错, 则返回"OK" "error_msg":"OK"
task_id string 任务id "task_id":"03189df8-4b00-4041-9b2a-81ce1a2a94fc"
is_finished Boolean 结果返回为异步,查询可能返回多次result,该字段返回true时说明此次结果返回结束 "is_finished":True
trace_list array 轨迹追踪的记录,为对象的数组,对象内部包括设备din,设备经纬度,高度,时间戳,image_id,person_id,相似度等 [{'timestamp': '1556071040858', 'din': '144115194532172045', 'image_id': '9c6d1104-0bc3-424c-aa2e-2eac8920dc44', 'person_id': 'B0CD2705-5C4E-4CD3-8D3A-41B901BED094', 'similarity': 4}, {'timestamp': '1556071042609', 'din': '144115194549121985', 'image_id': '955a4bc1-e1f5-4638-8e2c-489eba62c0e4', 'person_id': '3240A4BB-93D6-4B3B-A679-6DD1B281906E', 'similarity': 3}]

# 7.2 energy(能耗通知)

# 7.3 energy_efficiency(能效通知)

# 7.4 parking(停车场通知)

# 7.4.1 inout(车辆进出)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 备注
inout_status String 0:进场车辆, 1:出场车辆 "inout_status":0
plate_num String 当前事件车牌号 "plate_num":"粤B88888"
car_type integer 车辆类型:0:未知
1:临时⻋车辆;
2:⽉月卡⻋车辆;
3:固定⻋车位;
4:VIP;
5:预约⻋车辆;
6:⿊黑名单⻋车辆;
"car_type":1
vehicle_type integer 车辆类型:0:未知
1:大型车
2:中型车
3:小型车
"vehicle_type":1
lane_type integer 车辆类型:0:未知
1:人工
2:自动(ETC, 无感)
9:其他
"lane_type":1
parking_lot_id string 停⻋车场id "parking_lot_id":"xxxxxxxxx"
parking_lot_name string 停⻋车场名称 "parking_lot_name": "腾大停车场"
free_berth integer 停车场空余车位数 "free_berth":12
occupy_berth integer 停车场当前车位数 "occupy_berth":435

# 7.4.2 pay(车辆支付数据)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述
plate_num String 当前事件车牌号 "plate_num":"粤B88888"
car_type integer 车辆类型:0:未知
1:临时⻋车辆;
2:⽉月卡⻋车辆;
3:固定⻋车位;
4:VIP;
5:预约⻋车辆;
6:⿊黑名单⻋车辆;
"car_type":1
pay_type integer 0:免费;
1:现⾦金金;
2:账户余额;
3:购物码;
4:月卡;
5:微信⽀支付;
6:微信免密;
7:支付宝;
8:支付宝免密
9:混合⽀支付;
99:其他(未知)
"pay_type":99
in_time integer "in_time":148813512323
park_duration integer 停车时长, 以毫秒为单位 "park_duration":1000
charge_duration integer 收费时长, 以毫秒为单位 "charge_duration":11111
amount double 收费金额, 以元为单位 "amount":20.00
parking_lot_id string 停⻋车场id "parking_lot_id":"xxxxxxxxx"
parking_lot_name string 停⻋车场名称 "parking_lot_name": "腾大停车场"

# 7.4.3 reserved(车辆预约)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 备注
reservationId String 预约事件唯一标识 "reservationId":“xxxxxxxxxx”
visitorId String 访客唯一标示 "visitorId":"66666"
contact_number string 车辆类型:0:未知
1:临时⻋车辆;
2:⽉月卡⻋车辆;
3:固定⻋车位;
4:VIP;
5:预约⻋车辆;
6:⿊黑名单⻋车辆;
"car_type":1
car_description string 车辆描述 "car_description":"迈巴赫S680"
plate_number string 车牌号码 "plate_number":"粤B66666"
start_ts timestamp 允许通过起始时间 "start_ts":148813512323
expire_ts timestamp 允许通过截止时间 "expire_ts"148813912323
parking_lot_id string 停⻋车场id "parking_lot_id":"xxxxxxxxx"
parking_lot_name string 停⻋车场名称 "parking_lot_name": "腾大停车场"

# 7.4.4 canceled(车辆取消预约)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.4.5 parking_place_information(停车位信息)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.5 conference(会议室通知)

# 7.5.1 start(会议开始)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.5.2 end(会议结束)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.5.3 reserved(已被预定)

  • extend对象中所含字段详情****
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.5.4 canceled(已取消)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.6 face_access(人脸门禁通知)

# 7.6.1 inout(人流进出)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
inout_status String 人员进出, in代表进入, out代表离开 "inout_status":"in"
recognition_id String 当前通过的人员的id "recognition_id":"weilinktest"

# 7.7 device(设备通知)

# 7.8 elevator(电梯通知)

# 7.8.1 operational_parameter(运行参数)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
weight_load integer 电梯轿厢内负载情况, 单位为KG "weight_load":120
subdoor_status integer 电梯副门状态,0代表关,1代表开 "subdoor_status": 1
maindoor_status integer 电梯主门状态,0代表关,1代表开 "maindoor_status": 1
current_floor integer 电梯当前所在楼层 "current_floor": 15

# 7.9 illumination(照明通知)

# 7.9.1 light_on(开灯)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.9.2 light_off(关灯)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.9.3 brightness_switch(亮度调节)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
light_brightness integer 灯光亮度 "light_brightness":100

# 7.10 people_flow(人流通知)

# 7.11 fire_protecting(消防通知)

# 7.12 access_control(门禁通知)

# 7.12.1 inout(通过闸机)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例 字段级别
personInfo struct 人员信息 1
recognitionId string 人员系统唯一标号 2
personName string 人员姓名 2
personType integer 人员类型
0:临时可通过
1:定时可通过
2:管理员
3:未授权通过
4:黑名单
9:未知
2
accessType integer 通过闸机类型
0:人脸验证
1:RFID卡验证
2:二维码验证
3:手掌验证
9:未知类型
1
event integer 进出事件
0:进入, 1:离开
1

# 7.13 robot(机器人通知)

# 7.13.1 running_status(运行状态参数)

  • extend对象中所含字段详情 除经纬度外所有number, integer型数据值为-1时代表底层未上报此数据
扩展字段名 扩展字段描述 扩展字段数据类型 示例
RobotType 机器人类型
1:服务机器人
2:安防机器人
integer

# 7.13.1 server_robot(机器人通知)

  • extend对象中所含字段详情 除经纬度外所有number, integer型数据值为-1时代表底层未上报此数据
扩展字段名 扩展字段描述 扩展字段数据类型 示例 字段级别
RobotType 机器人类型
1:服务机器人
2:安防机器人
integer 1
Status 机器人状态Object object 1
机器人坐标系统 string 2
x 机器人所在坐标X number 2
y 机器人所在坐标Y number 2
azimuth 机器人朝向(坐标方位角) number 2
velocity 机器人速度 number 2
powerPer 机器人电量百分比 number 2
runTemperature 机器人温度 number 2
estop 机器人急停状态 Boolean 2
bumper 机器人碰撞信息 Boolean 2
curFloor 当前楼层 string 2
taskStatus 任务状态 Boolean 2
environmentSensor 环境传感器object object 1
temperature 环境温度 numbern 2
humidity 环境湿度 number 2
noiseDecibel 环境噪音 number 2
smokeDetector 环境烟雾 number 2
AQI 空气质量指数 number 2
PM1_0 环境PM1.0 number 2
PM2_5 环境PM2.5 number 2
PM10 环境PM10 number 2
CO 一氧化碳 number 2
CO2 二氧化碳 number 2
H2 氢气 number 2
SO2 二氧化硫 number 2
H2S 硫化氢 number 2
Nox 氮氧化物 number 2
CL 氯气 number 2
HCHO 甲醛 number 2
TVOC 挥发性有机物 number 2
IR 红外强度 number 2
UV 紫外强度 number 2
radiation 放射强度 number 2
Task 任务Object object 1
taskStatus 用户id
1:执行中, 2:成功, 3:失败, 4:被取消
string 2
taskID 任务编号 integer 2
destinationName 目的地名称 string 2
destinationX 目的地坐标X number 2
destinationY 目的地坐标Y number 2
destinationFloor 目标楼层 string 2
startTime 任务开始时间 long 2
endTime 任务结束时间 long 2

# 7.14 visitor(访客)

# 7.14.1 appointment(访客预约)

  • extend对象中所含字段详情
扩展字段名 扩展字段数据类型 扩展字段描述 示例
Null - - -

# 7.15 device_operation(设备操作)

# 7.15.1 device_delete(删除设备)

{"content":{"type":"device_operation","subType":"device_delete","msg":"设备【300000000000200034】被删除"},"message_type",1000400}

# 7.15.2 device_update(更新设备)

{"content":{"type":"device_operation","subType":"device_update","msg":"设备【300000000000200034】名称更新为【滨海大厦7F走道】"},"message_type",1000400}

# 7.15.3 device_bind(设备绑定)

{"content":{"type":"device_operation","subType":"device_bind","msg":"设备【300000000000200034】绑定了应用【20548】"},"message_type",1000400}

# 7.15.4 device_unbind(设备解绑)

{"content":{"type":"device_operation","subType":"device_unbind","msg":"设备【300000000000200034】解绑定了应用【20548】"},"message_type",1000400}

# 7.15.5 device_upgrade_ota(设备固件升级)

{"content":{"type":"device_operation","subType":"device_upgrade_ota","msg":"设备【300000000000200034】更换固件升级为【v1.0.1】"},"message_type",1000400}

# 7.15.6 device_change(设备更换)

{"content":{"type":"device_operation","subType":"device_change","msg":"设备【300000000000200034】更换为【300000000000200035】"},"message_type",1000400}

# 7.15.7 device_new_otaversion(新固件版本)

{"content":{"type":"device_operation","subType":"device_new_otaversion", "msg":"产品【1700006185】创建新固件版本【1.1.1】","productId":"1700006185","ota_version":"1.1.1","description": "版本简介", "name": "test","ota_time": 1658225003613},"message_type":1000400}