介绍
概念
联动是指当监控系统的变量满足一定要求时,系统自动触发已配置好的方案,执行应对当前场景的相关动作。
触发源与动作
联动系统有两个基本概念:触发源、动作
触发源:就是设定自动执行的条件。触发源名称可以根据需要填写。
触发来源的配置,就是配置系统根据哪个变量的值触发,一旦达到触发条件,系统就自动执行指定动作。触发来源可以是设备管理中某个变量的报警(目前仅支持该变量必须配置好了相关报警设置才可以联动处理)。
- 触发源。触发源就是事件,目前支持两种:
- 报警产生
- 定时触发
- 动作
- 变量控制
- 一组变量控制
- 可用变量控制
- 弹出画面
- 延时等待
联动优先级与同时执行的多个联动
联动具有优先级,优先级配置在联动的事件上,字段:priority。数字越大,优先级越高。
整个系统中,同时正在执行的联动事件允许有多个。
- 如果一个同时触发了多个联动事件,此时会判断优先级,选择优先级高的先执行,再执行优先级低的联动事件。
- 如果当前尚未执行任何联动,则触发一个联动事件后,无论优先级如何,均开始执行。
- 如果一个联动正在执行,即该事件对应的正在执行的动作还未全部执行完毕,此时又触发了一个新的事件的联动。那么:无论新的联动事件优先级比正在执行的联动事件优先级高还是低,均会执行新的联动事件
- 联动系统的提示信息,将会记录当前正在执行的联动的过程,和联动执行过程中的其他联动事件信息,提示给用户
自动执行联动与需用户确认的联动
每个联动事件对应的动作,都配置有如下与确认相关属性:
- 是否需要确认再执行(needconfirm)属性。该属性缺省为:不需要确认即自动执行
- 如果配置为:需要确认再执行(needconfirm=1),但用户在超时时间内未及时确认,则有个确认超时时间(confirmtimeout,单位:秒)。为0表示永不超时,一直等待用户确认。
- 如果已经超时,则根据是否超时执行属性(isexecuteontimeout),为1表示超时自动执行,否则表示超时自动取消
联动配置
联动系统提供直观方便的联动配置工具,快捷配置联动方案。
触发源管理
- 触发源增加与修改
- 点击上图新增或修改,弹出下面界面供输入
- 必输输入自定义的触发源名称,如:隧道中区火灾
- 状态必须选择:是
- 触发时机有两种:
- 报警产生触发。此时必须在触发配置选择一个,或多个变量/对象属性的一个报警类型
- 每个变量/对象属性的报警类型支持:HH,LL,H,L,HHH,LLL,FX1,FX2,ON,OFF
- 一个报警触发,选择之后触发配置的内容应为{对象属性}.{报警类型},如:
- tag1.HH
- 多个报警只要其中有一个触发,选择之后触发配置的内容应为:{对象属性}.{报警类型},{对象属性}.{报警类型},如:
- tag1.HH,tag1.LL
- 多个报警其中有N个一起触发,选择之后触发配置的内容应为:{对象属性}.{报警类型},{对象属性}.{报警类型},如同时有两个报警产生才触发:
- tag1.HH,tag1.LL,tag2.HH,tag.L;2
- 定时触发。此时必须在触发配置选择触发器。如下图,参数非必填项
- 可以任意配置秒、分钟、小时、日、月、年、周
弹出的cron表达式配置若什么都不选择,则会出现红框中的内容,无需意外,此为默认时间,若要选择时间自行点击即可
- 触发源删除
- 选中一个触发源,点击删除按钮,可以删除触发源
联动动作管理
- 选中一个触发源,可以配置该触发源对应的动作
- 每个动作需配置的属性包括:
- 自定义的名称(必须输入)
- 执行顺序,数字越小越靠前执行
- 是否启用,必须选择“是”才有效
- 类型指的是动作类型,包括下面几个:
- 变量控制,控制服务端对某个变量写入值
- 弹出画面,在某个客户端弹出一个画面,并带入参数
- 延时等待,在服务端执行过程中等待一段时间再执行下个动作
- 一组变量控制,控制
- 可用变量控制
-
- 动作支持如下几种:
- 单变量控制
- 参数1:变量名称
- 参数2:要控制的变量的值
- 参数3:控制的超时设置,单位:毫秒
- 多变量同时控制
- 同时控制多个变量的值为某个特定值
- 参数1:多个变量名称:变量值,以逗号隔开。
- 格式1:只有变量名称,如tag1,tag2,tag3,此时其控制值为参数2
- 格式2:变量名:变量值。如:tag1:1,tag2:0,tag3:10,表示将tag1值改为1,tag2改为0,tag3改为10,此时参数2 无效
- 参数2:要控制的变量的值。当参数1位格式1时,即每个变量没有给值的情况下,变量的控制值使用参数2。
- 参数3:控制的超时设置,单位:毫秒
- 多变量循环控制
- 配置多个变量/对象属性,每次触发本动作执行时,将按照配置的变量次序,依次选择一个变量,将其值修改为控制值。
- 参数1:多个变量,以逗号隔开
- 参数2:要控制的变量的值
- 参数3:控制的超时设置,单位:毫秒
- 如:配置了tag1,tag2,tag3这4个变量,控制值为1(见下图)
- 第一次触发本动作时,将tag1值设置为1
- 第二次触发本动作时,将tag2值设置为1
- 第三次触发本动作时,将tag3值设置为1
- 第四次触发本动作时,将tag1值设置为1
- 第五次触发本动作时,将tag2值设置为1
- 依次类推
- 服务端延时
- 等待一段时间再执行次序更低的动作
- 参数1:毫秒为单位的时间,如3000表示3秒
- 客户端弹窗
- 在客户端弹出一个画面,并带上初始参数
- 参数1:画面名称
- 参数2:打开画面时带入的参数类型,值可为:
objectreplace,打开画面并进行参数替换
switchcamera,打开画面同时切换摄像机
- 参数3:打开画面时带入的参数值
- objectreplace时,画面模板名1=对象实际名称1,画面模板名2=对象实际名称2 多个参数替换之间以逗号隔开
- switchcamera时,cam=cam13,preset=2。每次只能打开1个摄像头和设置预置位
- 如:打开一个画面video,并打开摄像头cam13,切换到预置位5
- 参数1:video
- 参数2:switchcamera
- 参数3:cam=cam13,preset=5
- 如:打开一个画面video,并打开摄像头cam13,若无预置位
- 参数1:video
- 参数2:switchcamera
- 参数3:cam=cam13
- 如:打开一个画面devicedetail,并替换其中模板1 (objectname1)为(设备1),替换其中模板1 (objectname2)为(设备5)
- 参数1:devicedetail
- 参数2:objectreplace
- 参数3:objectname1=设备1,objectname2=设备5
- 单变量控制