一种基于企业微信自动发送发电厂报警消息的方法
文献发布时间:2023-06-19 12:10:19
技术领域
本发明属于发电厂报警技术领域,特别涉及一种基于企业微信自动发送发电厂报警消息的方法。
背景技术
目前,在发电厂报警消息通知方面,通常采用邮件、短信、电话或电厂运行监管平台通知消息的方式给用户报警。但是邮件经常被工作人员搁置在角落中甚至被设置为垃圾邮件被过滤掉,短信和电话接口比较贵,复杂环境中使用短息和电话报警会使运维成本增加很多,电厂运行监管平台通知消息则需要工作人员24小时值守在电脑前。
在当下互联网蓬勃发展的时代里,微信已经成为了人们生活中不可分割的一部分。将报警消息第一时间发送到微信中,发电厂运行人员或管理人员可以在第一时间收到报警通知,及时进行报警处理已成为一种新的需求。
发明内容
为了克服上述现有技术的缺陷,本发明的目的在于提供一种基于企业微信自动发送发电厂报警消息的方法,实现了将不同发电厂不同类型的报警消息有针对性地自动发送给不同用户,配置灵活、实时性强,报警消息发送成本低。
一种基于企业微信自动发送发电厂报警消息的方法,包括以下步骤:
步骤一、获取发电厂报警平台产生的报警消息;
步骤二、基于报警消息的报警类型、组织机构与微信标签ID之间的对应关系,确定所述报警消息对应的目标微信标签ID列表;
步骤三、满足预设触发条件时,推送所述报警消息至消息发送队列,依次将所述报警消息推送给所述企业微信目标微信标签ID列表下的所有用户。
所述的报警消息包括:报警类型、报警级别、组织机构、报警消息内容、报警时间;报警消息是基于所述发电厂报警平台预先制定的报警判断规则和发电厂实时/历史运行数据,在周期性报警判断过程中产生包括机组非停报警、在线燃烧工况报警、辅机运行报警、四管壁温参数报警、主要运行参数严重越限报警,电气参数报警、经济指标监控报警类型的报警消息。
所述的组织机构指的是纳入报警平台监管范围内的发电厂及其发电机组,不同的组织机构能够配置不同的报警类型,且不同组织机构、不同报警类型能够匹配不同的目标微信标签ID列表。
所述的预设触发条件,即为了限定报警发送的时间和数量,预设了一系列的报警发送触发条件,所述预设触发条件包括:
当前时间达到第一预设条件;第一预设条件指的是允许发送报警消息的时间段。
报警类型的报警级别到达第二预设条件;第二预设条件指的是允许发送报警消息的报警级别范围。
报警类型的报警频率达到第三预设条件;报警频率是指同一组织机构某个报警类型持续同时满足第一、第二预设条件的次数,通过配置报警频率的阈值可以避免不重要的偶发情况,报警频率的阈值即为第三预设条件。
所述的消息发送队列依次将所述报警消息推送给所述企业微信目标微信标签ID列表下的所有用户,具体包括:
获取预设企业微信的ACCESS_TOKEN;将ACCESS_TOKEN作为调用接口凭证参数,调用企业微信预设应用的发送消息接口API;将企业微信预设应用ID、消息类型、报警消息内容、目标微信标签ID列表作为文本消息参数发送给接口API;企业微信后台推送消息给目标微信标签ID列表下的所有用户。
所述消息类型是文本类型text。
本发明的优点在于:
1、基于企业微信的第三方接口发送微信报警消息,实现了发电企业报警消息微信自动通知,配置灵活、运维成本低。
2、可根据报警类型和所属组织机构以及与微信标签ID之间的对应关系,向特定用户推送报警消息,针对性更强。
3、基于企业微信接收报警消息,终端容易扩展。用户只需要使用自己的智能手机,拥有微信账号并关注企业微信号即可接收到报警消息,不需要配置更多的硬件设备或安装更多的手机APP。
附图说明
图1为本发明实施例的基本流程示意图。
图2为本发明实施例的接口调用流程示意图。
图3位本发明实施例的消息接口流程示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
图1是本发明实施例的基本流程示意图,如图1所示的基于企业微信自动发送发电厂报警消息的方法,包括以下步骤:
步骤S1,获取发电厂报警平台产生的报警消息。
所述发电厂报警平台是一种基于发电厂实时/历史数据库,实时监控发电设备运行状态,进行各类异常状态判断并产生实时报警的监控平台。各发电厂根据发电设备实际情况,在发电厂报警平台预先制定报警类型及报警判断规则。在周期性报警判断过程中,结合发电厂设备运行实时/历史数据,产生异常报警。发电厂关注的报警类型一般包括:机组非停报警、在线燃烧工况报警、辅机运行报警、四管壁温参数报警、主要运行参数严重越限报警,电气参数报警、经济指标监控报警等。
获取的报警消息包括:报警类型、报警级别、组织机构、报警消息内容、报警时间。所述报警级别分为四级:0级报警(一般报警)、1级报警(较大报警)、2级报警(重大报警)、3级报警(特大报警),但不限于这四类等级划分方式。报警级别在数据库中以整型数据{0,1,2,3,}存储。报警级别是报警类型的一个属性,每个报警类型都要预先设置报警级别。所述组织机构指的是纳入报警平台监管范围内的发电厂及其发电机组。报警消息内容是字符串格式,由报警平台根据报警类型、组织机构、报警时间组合而成,例如:“德州电厂1#机组于2020年12月1日13:30:30发生机组非停报警”。
步骤S2,基于报警消息的报警类型、组织机构与微信标签ID之间的对应关系,确定所述报警消息对应的目标微信标签ID列表。
设置微信标签是给企业微信通讯录内用户归类归档的一种手段。企业微信管理员可以根据各种维度设置标签,如根据角色设置标签为运行值长、生产厂长、安生部负责人等,发消息可以选择使用标签。每个微信标签都有唯一性标识ID,即所述微信标签ID。
为了实现将不同组织机构的不同类型报警消息推送给相关的企业微信用户,需要在数据库中预先设定报警类型、组织机构与微信标签ID的对应关系表。对照关系表如下例:
步骤S3,满足预设触发条件时,推送所述报警消息至消息发送队列,依次将所述报警消息推送给所述目标微信标签ID列表下的所有用户。
为了限定报警发送的时间和数量,可根据需求预设一系列的报警发送触发条件,所述预设触发条件包括:
当前时间达到第一预设条件;所述第一预设条件指的是允许发送报警消息的时间段,例如,可设置第一预设条件为7:00-22:00,则只有在7:00-22:00期间内,才允许推送报警消息至企业微信。
所述报警类型的报警级别到达第二预设条件;所述第二预设条件指的是允许发送报警消息的报警级别范围。例如,可设置第二预设条件为报警级别范围为(2,3),则只有2级报警(重大报警)、3级报警(特大报警)才会推送报警消息至企业微信。
所述报警类型的报警频率达到第三预设条件。所述报警频率是指同一组织机构的某个报警类型持续同时满足第一、第二预设条件的次数,通过配置报警频率的阈值可以避免不重要的偶发情况。例如,可设置四管壁温参数报警的第三预设条件为5,则表示当同一机组四管壁温参数报警累计同时满足发送报警时间段限制,且报警级别满足发送消息要求级别的次数达到5次以后,再推送报警消息至企业微信。
下面结合图2和图3,对步骤S3消息发送队列依次将所述报警消息推送给所述企业微信目标微信标签ID列表下的所有用户的方法做进一步阐述。此方法包括以下步骤:
步骤S31,获取预设企业微信的ACCESS_TOKEN;获取ACCESS_TOKEN是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于ACCESS_TOKEN来鉴权调用者身份。根据预设企业微信的企业CorpID以及预设应用Secret,获取ACCESS_TOKEN。
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
其中,大写的ID和SECRET为要替换的变量,分别用所述企业CorpID和预设应用Secret替换。
步骤S32,将所述ACCESS_TOKEN作为调用接口凭证参数,调用企业微信预设应用的发送消息接口API;
请求方式:POST(HTTPS)
请求地址:
https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
步骤S33,将企业预设应用ID、消息类型、报警消息内容、目标微信标签ID列表作为参数发送给接口API;所述消息类型为文本类型text。
参数说明:
步骤S34,企业微信后台推送消息给目标微信标签ID列表下的所有用户。
- 一种基于企业微信自动发送发电厂报警消息的方法
- 一种基于企业微信的消息推送方法