Skip to content
目录

监控设备接口

初始化基础数据(北向)

URL地址:http://<ip>:<port>/api/initbasedata

HTTP POST方式,请求参数为一个JSON字符串,示例如下:

json
{
    "stations": [
        {
            "station_id": "S001",
            "station_name": "测试监控站点1"
        }
    ],
    "types": [
        {
            "type_id": "T001",
            "type_name": "温湿度"
        }
    ],
    "levels": [
        {
            "level_name": "紧急报警",
            "priority": 5,
            "alarm_color": "#FF0000",
        },
        {
            "level_name": "严重报警",
            "priority": 4
        },
        {
            "level_name": "一般报警",
            "priority": 3
        },
        {
            "level_name": "预警",
            "priority": 2
        }
    ]
}

JSON字符串由3部分组成,stations(监控站点)、types(设备类型)、levels(告警等级)。ID、名称命名没有强制要求,可以参考自身监控系统的命名规范。

监控站点属性描述

属性名称说明
station_id监控站点ID
station_name监控站点名称

设备类型属性描述

属性名称说明
type_id设备类型ID
type_name设备类型名称

注意

①3D大屏中的检视面板与设备类型相关联,在初始化基础数据后,需要在DCVM后台配置检视面板图标,再次初始化不影响已经配置的图标;

②温湿度设备的设备类型名称必须包含“温湿度”字样;

③门禁设备的设备类型名称必须为“门禁”字样。

告警等级属性描述

属性名称说明
level_name告警等级名称
priority优先级,优先级越大,表示告警越严重,值为5、4、3、2、1之一,约定:紧急报警=5,严重报警=4,一般报警=3,预警=2,正常=1
alarm_color告警闪烁颜色,可以为空,为空将使用默认颜色值

HTTP返回结果为一个JSON字符串,示例如下:

json
{
    "code": "1",
    "message": "初始化基础数据成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

初始化监控设备数据(北向)

URL地址:http://<ip>:<port>/api/initdevicedata

HTTP POST方式,参数为JSON字符串,请求JSON示例:

json
[
    {
        "station_id": "S001",
        "device_id": "WSD002",
        "type_id": "T001",
        "device_name": "温湿度2",
        "properties": [
            {
                "property_id": "P001",
                "property_type": "参数",
                "property_name": "温度",
                "property_value": "23.97",
                "remark": ""
            },
            {
                "property_id": "P002",
                "property_type": "参数",
                "property_name": "湿度",
                "property_value": "68.43",
                "remark": "%",
                "flag": "1",
                "time": "2022-08-23 21:16:32"
            }
        ]
    }
]

JSON字符串包含监控设备字段和监控设备属性字段。

监控设备字段描述

属性名称说明
device_id设备ID
type_id设备类型ID
device_name设备名称

监控设备属性字段描述

属性名称说明
property_type属性类型,值为“参数”、“状态”、“告警”之一
property_id属性ID
property_name属性名称
property_value实时属性值,property_type为“告警”时,属性值为“正常”或“告警”
remark备注。property_type为“参数”时表示单位;property_type为“告警”时表示告警等级,告警等级为名称而不是优先级;property_type为“状态”时表示原始枚举值数字。
flag标记,非必须。当property_type为“参数”或“状态”时生效,用来表示当前参数值是否处于告警状态,告警状态的值将标红显示。值为字符串形式的“0”、“1”,其中“1”表示告警状态。
time更新时间,非必须,格式必须为yyyy-MM-dd HH:mm:ss

注意

property_type为“状态”时,property_value表示可阅读的状态值,remark表示原始枚举值数字(仅在需要显示原始枚举数字时才设置值)。举例说明,假设“0”表示断开,“1”表示闭合,则property_value设置为“断开”或“闭合”;如果需要显示原始枚举数字,则remark设置为“0”或“1”,否则无需设置remark。

HTTP返回结果为一个JSON字符串,示例如下:

json
{
    "code": "1",
    "message": "初始化监控设备数据成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

注意

①此接口可以同时设置多个设备的数据,不要一次性传输大量数据,也不要一次性只传输一个设备,可以把设备打组,一次传输一个组,一个组的数据量不要超过1M,推荐10个设备为1组;

②对于某些设备,如温湿度、漏水、烟感等,在监控系统中经常会放在1个模块中,这时候应该把模块拆分成多个独立设备;

③DCVM在展示设备参数时,不会对参数值进行任何转换,因此需要注意参数值的可读性;特别的,门禁设备必须包含“状态”二字的参数,其值为“门开”或“门闭”,否则无法正确显示门的开闭;温湿度设备必须包含参数“温度”、“湿度”,否则3D温湿度小面板无法正确显示数值;

④此接口的数据存在较多不经常更新的部分,更适合用作初始化,推送实时数据请使用接口 推送监控设备实时数据(北向)

推送监控设备实时数据(北向)

URL地址:http://<ip>:<port>/api/pushdevicedata

HTTP POST方式,参数为JSON字符串。仅需更新值的JSON示例如下所示:

json
{
    "S001": {
        "WSD002": {
            "P001": "18.88",
            "P002": "66.66"
        }
    }
}

其中,最外层的键值为监控站点ID,中间层的键值为监控设备ID,最里层的键值为监控设备属性ID。此接口只包含必要的主键和有变化的属性值,最大程度减小了数据传输量。

如果需要更新值、值的告警状态标记、状态原始枚举值、更新时间,JSON示例如下所示:

json
{
    "S001": {
        "WSD002": {
            "P001": {//参数
                "value": "18.88",
                "flag": "0"
            },
            "P002": {
                "value": "66.66",
                "flag": "1"
            },
            "P003": {//状态
                "value": "运行正常",
                "flag": "0",
                "remark": "0"
            },
            "P004": {//告警
                "value": "正常",
                "time": "2022-08-23 21:17:46"
            }
        }
    }
}

最里层的value表示值,flag表示值的告警状态标记,remark表示状态原始枚举值,time表示更新时间(格式必须为yyyy-MM-dd HH:mm:ss)。其中value是必须的,flag、remark、time按需传,如果都传,需注意其表示的具体含义。

返回一个JSON字符串,示例如下:

json
{
    "code": "1",
    "message": "推送监控设备实时数据成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

删除所有监控设备告警(北向)

URL地址:http://<ip>:<port>/api/_clearalarms_

HTTP GET方式,无参数。此为隐藏接口,一般情形无需调用。

HTTP返回结果为一个JSON字符串,示例如下:

json
{
    "code": "1",
    "message": "删除所有告警成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

重置所有监控设备告警(北向)

URL地址:http://<ip>:<port>/api/_resetalarms_

HTTP GET方式,无参数。此为隐藏接口,一般情形无需调用。

HTTP返回结果为一个JSON字符串,示例如下:

json
{
    "code": "1",
    "message": "重置所有告警成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

设备控制(南向)

此接口由监控厂家根据自身监控系统量身定制,以供DCVM调用,达到控制监控设备的目的。接口必须为HTTP GET方式,编码方式为UTF-8,参数自定义,返回值必须为JSON字符串,格式如下:

json
{
    "code": "1",
    "message": "控制命令执行成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

查询巡检日志列表(北向)

URL地址:http://<ip>:<port>/api/queryroaminglog?start_date=2022-04-22&end_date=2022-04-23

HTTP GET请求方式,参数描述如下。

start_date:开始日期,格式为“yyyy-MM-dd”,非必须。

end_date:结束日期,格式为“yyyy-MM-dd”,非必须。

返回一个JSON字符串,示例如下:

json
{
    "data": [
        {
            "date": "2022-04-22",
            "time": "12:00"
        },
        {
            "date": "2022-04-22",
            "time": "21:25"
        },
        {
            "date": "2022-04-22",
            "time": "21:36"
        }
    ],
    "code": "1",
    "message": "查询巡检日志列表成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。当code为“1”时,将包含data属性,data属性为对象列表,表示巡检日志列表,其中的“date”表示巡检日志的日志,“time”表示巡检计划的时间点。

删除巡检日志(北向)

URL地址:http://<ip>:<port>/api/deleteroaminglog?date=2022-04-22&time=12:00

HTTP GET请求方式,参数描述如下。

date:日期,格式为“yyyy-MM-dd”,必须。

time:巡检计划时间点,格式为“HH:mm”,必须。

返回一个JSON字符串,示例如下:

json
{
    "code": "1",
    "message": "删除巡检日志成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。

获取巡检日志(北向)

URL地址:http://<ip>:<port>/api/getroaminglog?date=2022-04-22&time=21:30

HTTP GET请求方式,参数描述如下。

date:日期,格式为“yyyy-MM-dd”,必须。

time:巡检计划时间点,格式为“HH:mm”,必须。

返回一个JSON字符串,示例如下:

json
{
    "data": [
        {
            "time": "21:37:17",
            "station_name": "监控站点1",
            "device_name": "列头柜3",
            "device_status": "告警",
            "alarm_content": "通讯失败;B主路停电或单相掉电"
        },
        {
            "time": "21:37:29",
            "station_name": "监控站点1",
            "device_name": "空调3",
            "device_status": "正常",
            "alarm_content": ""
        }
    ],
    "code": "1",
    "message": "获取巡检日志成功!"
}

其中,code表示接口执行状态,值为“0”(失败)或“1”(成功);message表示消息。当code为“1”时,将包含data属性,data属性为对象列表,表示巡检日志内容列表。巡检日志内容对象属性描述如下:

属性名称说明
time巡检时间
station_name监控基站
device_name设备名称
device_status设备状态,值为“告警”或“正常”
alarm_content告警内容,设备状态为“正常”时值为空

技术支持:13352865103(柯工,微信同号);18688783852(柯工)