The present disclosure relates generally to the field of building management systems (BMSs). A BMS is, in general, a system of devices configured to control, monitor, and manage equipment in or around a building. A BMS can include, for example, a variety of domain systems such as a HVAC system, a security system, a lighting system, a fire alerting system, any other system that is capable of managing building functions or devices, or any combination thereof. A facility may also be served by other domain systems, such as an access control system, a ticketing system, a scheduling system, an information technology system, a plumbing system, an audio-visual system, a telecom system, a networking system, etc. In some embodiments, such systems generate a variety of alarms indicative of malfunction of equipment (e.g., HVAC equipment failing to track a setpoint), occupant-related events (e.g., intrusion through a security feature), emergency events (e.g., fire detected by a fire alerting system), etc. Some systems may generate a large number of alarms, for example duplicate/repetitive alarms where a root cause of the alarm persists over time. Building operators struggle to monitor such large numbers of alarms from disparate domain systems, preventing building operators from efficiently resolving alarms and improving overall facility performance.
One embodiment of the present disclosure is a method. The method includes obtaining, at a communications bridge, a first alarm and a second alarm from a domain system serving a facility, assigning, by the communications bridge, an alarm expiry time to the first alarm, labeling, by the communications bridge, the second alarm as noise based on whether the second alarm has a generation time before the alarm expiry time assigned to the first alarm, and providing the first alarm, the second alarm, and the labeling from the communications bridge to a cloud computing system.
In some embodiments, the method also includes providing the first alarm and the second alarm with a same alarm ID in response to labeling the second alarm as noise. In some embodiments, the method also includes generating, by the cloud computing system, an alarm list for the facility, wherein the first alarm and the second alarm are grouped in a shared entry of the alarm list based on the same alarm ID. The shared entry of the alarm list can include an occurrence count based on a count of alarms having the same alarm ID.
In some embodiments, the method includes generating, by the cloud computing system, a graphical interface including a plurality of alarm icons overlaid on a map or three-dimensional representation of the facility. The plurality of alarm icons include a shared icon representing both the first alarm and the second alarm in response to labeling the second alarm as noise. In some embodiments, the method includes obtaining a third alarm from an additional domain system serving the facility and reformatting the first alarm, second alarm, and third alarm to have a common data structure.
Another implementation of the present disclosure is a system. The system includes a cloud computing system and a communications bridge providing communications between the cloud computing system and a plurality of domain systems serving a facility. The communications bridge comprises circuitry programmed to label a plurality of alarms from the plurality of domain systems with generated times, alarm expiry times, and alarm IDs. Assigning the alarm IDs includes determining whether to reuse, for a second alarm, a first alarm ID from a first alarm based on whether the generated time for the second alarm is between the generated time for the first alarm and the alarm expiry time for the first alarm. The circuitry is also programmed to provide the plurality of alarms and the labels to the cloud computing system.
In some embodiments, determining whether to reuse, for the second alarm, the first alarm ID from the first alarm is further based on whether the first alarm and the second alarm are for a same device or equipment unit of the plurality of domain systems. In some embodiments, determining whether to reuse, for the second alarm, the first alarm ID from the first alarm is further based on whether the first alarm and the second alarm have a same alarm type.
In some embodiments, the cloud computing system is programmed to generate a report of the plurality of alarms by grouping the plurality of alarms based on the alarm IDs. The report may include a three-dimensional building model with icons for the alarm IDs overlaid on the three-dimensional building model. The cloud computing system may be programmed to generate the report using a digital twin of the facility. In some embodiments, the report indicates a count of the plurality of alarms which share the first alarm ID.
In some embodiments, the circuitry is further programmed to normalize the plurality of alarms from the plurality of domain systems to have a common data structure. Assigning the alarm IDs may also include, in response to determining to reuse the first alarm ID for the second alarm, determining whether to reuse the first alarm ID from the first alarm for a third alarm based on whether the generated time for the third alarm is between the generated time for the first alarm and the alarm expiry time for the second alarm.
In some embodiments, the cloud computing system is programmed to execute a rules-based fault suppression logic. The cloud computing system may also be programmed to automatically add a fault suppression rule to the rules-based fault suppression logic by processing the plurality of alarms using an artificial intelligence.
Another implementation of the present disclosure is a communications bridge. The communications bridge is configured to obtain a first alarm and a second alarm from the building system, assign an alarm expiry time to the first alarm, label the second alarm as noise based on whether the second alarm has a generation time before the alarm expiry time assigned to the first alarm, and provide the first alarm, the second alarm, and the labeling from the communications bridge to the remote computing resource.
In some embodiments, the communications bridge is configured to label the first alarm and the second alarm with a same alarm ID in response to labeling the second alarm as noise. The communications bridge may be configured to obtain a third alarm from an additional building system serving the facility, and reformat the first alarm, second alarm, and third alarm to have a common data structure.
In some embodiments, the communications bridge is configured to label the second alarm as noise further based on whether the first alarm and the second alarm are for a same device or equipment unit of the building system. In some embodiments, the communications bridge is configured to delete a third alarm in response to determining that the third alarm is for a same device as the first alarm, has a same generated time as the first alarm, and has a same alarm time as the first alarm.
Various objects, aspects, features, and advantages of the disclosure will become more apparent and better understood by referring to the detailed description taken in conjunction with the accompanying drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements.
Referring generally to the Figures, systems and methods for unified building alarm processing at communications bridge are shown, according to some embodiments. The unified building alarm processing described herein can handle alarms for multiple different building domain systems. Building domain systems correspond to different domains of a building, for example heating, ventilation, and/or cooling (HVAC) systems, lighting systems, fire alerting systems, access control systems, security systems, information technology (IT) networks, electricity systems, plumbing systems (e.g., running water, water heaters), intercom systems, and/or various other technologies that may be present at a building depending on the use or purpose of the building. For example, a stadium may include scoreboard systems, audio-visual systems, ticketing systems, turf care systems, merchant payment systems, etc. As another example, a hospital may include patient call and monitoring systems, room booking systems, medical device systems, etc. The terms “building domain systems” and “domain systems” are used synonymously throughout the present disclosure. The processes herein enable unified alarm processing from any combination of domain systems, including systems provided by different manufacturers and using different communications protocols, message syntaxes, or other differences that obstruct direct comparison or interoperability between different domain systems.
Conventionally, monitoring alarms from disparate building domain systems would require operators to separate monitor each separate system (e.g., view separate interfaces, programs, devices, etc. for the separate systems). Even if collected into a single set of displays (e.g., in a control room), large amounts of differently-formatted information is provided to a building operator. Such scenarios make it difficult or impossible for building operators to comprehend and respond to alarms in an efficient manner. Systems and methods disclosed herein address the technical challenge of surfacing alarms from multiple domain systems to a user in a manner which enables efficient reaction and resolution of alarms and quick understanding of building performance.
Additional challenges in monitoring complex buildings are created because building domain systems often push very large numbers of alarms, especially where a condition creating an alarm persists over time. For example, an access control system may generate an alarm in response to unauthorized opening of a door and may repeatedly generate the alarm so long as the door stays open, which can result in a large number of alarms (e.g., hundreds, thousands) if the door is propped open. As another example, an HVAC system may generate an alarm in response to a measured value (e.g., temperature) not tracking an expected value (e.g., temperature setpoint) in an expected manner, and may repeatedly push the alarm so long as a rule based on the values remains violated. As such, conventional systems may provide many alarms which may provide a building operator with no or limited new information, while also cluttering displays of alarm information and obfuscating important alarm information. Systems and methods disclosed herein address the technical challenge of handling such large numbers of alarms, including by providing a computationally efficient method for labeling alarms as noise and by providing clear views of alarms with suppression of alarm noise and duplicates.
In some embodiments, the innovations described herein are provide using a communications bridge. The communications bridge may be a version of OpenBlue® Bridge by Johnson Controls International plc. As described in further detail below, the communications bridge provides communications between building/facility domain systems which serve a building/facility (e.g., which include hardware in the built environment) and computing resources such as a remote computing system or cloud computing system (e.g., such as OpenBlue® Cloud by Johnson Controls International plc.). In the embodiments herein, the communications bridge is configured to label certain alarms as noise and/or reuse alarm identifiers (IDs) while processing alarm data in a manner which facilitates communications (e.g., in a data standardization/normalization process). Applying labels at the communications bridge efficiently leverages the system architecture utilizing such a communications bridge, including such that alarms are labeled with noise or alarm ID information before being provided to the cloud computing system. Such an approach can significantly reduce a computation burden on the cloud computing system which would otherwise be needed to achieve similar results.
Referring now to
The communications bridge 102 is shown as including domain connectors corresponding to each of the domain systems, illustrated in
As illustrated in
The communications bridge 102 is programmed to receive alarms from the various domain systems 104-108, including in various syntaxes and via different IT/OT networks and using different communication protocols, and to normalize such alarms into a common format and syntax. As shown, the communications bridge 102 includes a connector for each domain system. The different connectors 154-158 may be separate hardware devices, for example including the appropriate input ports, etc. to enable communication with the different domain systems 104-108, may be implemented in software on common circuitry of the communications bridge 102, or some combination thereof. The domain A connector 154 receives alarms from domain system A 104 and normalizes the alarms into a common syntax. The domain B connector 156 receives alarms from domain system B 106 and normalizes the alarms into the common syntax. The domain Ω connector 158 receives alarms from domain system Ω 108 and normalizes the alarms into the common syntax. Each domain connector 154-158 can be customized (e.g., programmed) using specific knowledge of the corresponding syntax used by the corresponding domain system, thereby enabling the communications bridge 102 to handle any variety of domain systems across different implementations.
The communications bridge 102 is further configured to label the alarms in conjunction with normalizing the alarms into a common syntax. Labeling the alarms can include adding information (e.g., as labels, tags, metadata, etc.) to the alarms. Labeling performed by the communications bridge 102, for example by the domain connectors 154-158, can include executing process 200 of
In some embodiments, the communications bridge 102 is programmed to delete duplicate alarms, such that deleted duplicate alarms are not uploaded to the cloud platform 110, thereby saving communications bandwidth and memory demands on the cloud platform 110. For example, some domain systems may provide duplicates of certain alarms, for example with immaterial differences (e.g., a variable labeling the alarm as an event or alert). The communications bridge 102 (e.g., the domain connectors 154-158) may be programmed to detect alarms which share a generated time, a type of alarm, and a corresponding device or equipment unit (i.e., the device or equipment unit for which the alarm is generated, which is in a fault state, which detected fire, which detected an intrusion, etc.) are identical, and delete such alarms as duplicates. For certain domain systems, duplicate deletion in this manner can remove half or more of all alarms before upload to the cloud platform 110, saving bandwidth, memory requirements, and data clutter.
As illustrated in
The cloud platform 110 is also shown as including operational digital twin 112. The operational digital twin 112 is a digital twin of the facility 10 and the equipment/devices therein, including equipment/devices of the domain systems 104-108. The operational digital twin 122 (which can include both space twin and asset twin) is the aggregation of all possible data types and data sets, both historical and real-time, directly or indirectly related to a given physical asset or managed virtual asset or a managed point or set of assets in a single, unified location. The collected data may be clean and contextualized, linked in a way that mirrors how things are or would be linked in the real world, and made consumable depending on the use case or smart experience. In some embodiments, the operational digital twin 112 may be provided using approaches described in PCT Patent Application PCT/US2022/034101, filed Jun. 17, 2022, the entire disclosure of which is incorporated by reference herein. In some embodiments, the operational digital twin 112 uses a three-dimensional building model, for example a building information model (BIM) file along with spatial and relationship information which indicates where equipment/devices of the domain systems 104-108 are located relative to the building model.
In some embodiments, alarms are provided into the operational digital twin 112. Each alarm may include information identifying the relevant device, equipment unit, space, etc. to which it applies, which can be used to associate each alarm with an asset of the digital twin 112 and a location in the three-dimensional building model. Populating the operational digital twin 112 with alarm information is streamlined by the labeling and normalization provided by the communications bridge 102. With respect to syntax normalization, population of the operational digital twin 112 is simplified because digital twin population deals with the normalized syntax rather than attempting to handle a large number of different syntaxes (data structures, data formats, etc.) in a digital twin population process. With respect to labeling, in particular labeling of alarms as noise and/or grouping alarms under shared alarm IDs can greatly reduce the number of unique alarms to be populated into the digital twin. Alarms labeled as noise can be omitted from population into the digital twin (or used only to increase an occurrence count of an associated alarm populated into the digital twin) and while a single instance of alarms having a shared alarm ID can be populated into the digital twin without loss of relevant alarm information. Further, because such alarms are labeled with such information before the alarms arrive at the cloud platform 110, no such alarm labeling and assessment need be performed in a digital twin population step.
The unified operations center 116 is shown as interoperating with the cloud platform 110. In some embodiments, the unified operations center 116 is provided as a part of the cloud platform 110. In some embodiments, the unified operations center 116 is provided using separate hardware than the cloud platform 110 (e.g., communicable via the internet with the cloud platform 110). The unified operations center 116 enables one or more operators (e.g., human technicians) to monitor facility operations, including across multiple domain systems 104-108, and to adjust facility operations, order maintenance, order emergency response, or take other interventional actions.
As shown in
Referring now to
The domain A connector 104 is shown as including one or more processors 170 and one or more computer-readable media 172. The processor(s) 170 may be implemented as one or more general-purpose processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), other suitable electronic processing components, or a combination thereof. The one or more computer-readable media 172 (e.g., computer memory) can be implanted as RAM, ROM, NVRAM, Flash Memory, hard disk storage, solid state storage, etc. and may store data and/or computer-readable instructions (programming, logic, code) executable by the processor(s) 170 for executing the features attributed herein to the domain A connector 104 and components thereof.
The one or more computer-readable media 172 is/are shown as including a payload normalizer 174 including a severity normalizer 176 and a priority normalize 178, a duplicate alarm handler 180, and a noise labeler 182, which can be implemented as different programs, sets of instructions, and/or hardware, etc. in the one or more computer-readable media 172.
The payload normalizer 174 is configured to normalize incoming domain data from the corresponding domain system (e.g., domain A system 104). In the example shown, the payload normalizer 174 is configured to normal various aspects of alarms having Syntax A from domain A system 104 to enable the domain A connector 102 to output an alarm data object (payload) having a normalized syntax and data structure. An example normalized alarm is shown in
The severity normalizer 176 normalizes the severity of alarms from a classification used by a corresponding domain system to a standard used by the cloud platform 110, unified operations center 116, etc. In some embodiments, the normalized severities provided by the severity normalizer 176 comply with the X.733 industry standard. In some embodiments, the normalized severities are selected from a list including: Critical, Major, Minor, Warning, and Intermediate. The severity normalizer 176 is programmed with logic (e.g., rules-based logic) for taking severity indication in a different severity syntax from the domain system (e.g., numerical rankings of severity from 1 to 5, etc.) and translate such severity index into the standard/normalized syntax and format. An alarm payload is thereby provided with a normalized severity attribute.
The priority normalizer 178 provides the alarm with a normalized priority, i.e., a priority in a syntax/format/etc. used by the cloud platform 110, unified operations center 116, etc. In some embodiments, the priority normalizer 178 translates from a priority provided by a corresponding domain system (i.e., a priority level indicated in Syntax A by the domain A system 104) to a priority attribute in a normalized syntax/format, for example using a rules-based translation logic. In some embodiments, the priority normalizer 178 generates the alarm priority based on other alarm information, for example based on a type of the alarm, the domain involved, etc. Such priority assignments can be based on user preferences and may be user-adjustable (e.g., via communications via the unified operations center 116 and user interface 122, in some embodiments). The normalized priority output from the priority normalizer 178 can be Critical, High, Medium, or Low, in some embodiments.
The duplicate alarm handler 180 is enabled to detect and delete duplicate alarms, i.e., alarms provided at the same time and corresponding to the same fault/event/etc. (e.g., having materially the same information/attributes/etc.). For example, some domain systems will output duplicate alarms, for example with slight, immaterial variations (e.g., a state flag showing different values which may not be relevant for the applications contemplated herein). The duplicate alarm handler 180 can delete (ignore, not process, not forward to the cloud platform 110), alarms having the same alarm type, corresponding entity (i.e., equipment unit, device, etc.), and time stamp as another alarm. Only one of multiple such duplicate alarms is preserved for other operations described herein, and memory and data transmissions savings can be achieved by omitting other processing on the duplicate alarms and avoiding transmitting the duplicate alarm from the domain A connector 154 to the BMS could 110. In experimental application, such an approach was found to reduce alarms (and corresponding processing, storage, bandwidth) by 75% for some domain systems.
The noise labeler 182 is configured to label certain alarms as noise as the alarms are processed by the domain A connector 104. Noise labeling can occur in coordination with payload normalization by the pay load normalization 174, such that the normalized alarms include indications as to whether the alarms are noise. The noise labeler 182 can provide operations as shown in
Based on operations of the pay load normalizer 174 and the noise labeler 182, resulting alarm payloads (data objects, etc.) can outputted from the domain A connector 104 having normalized attributes including alarm severity, alarm priority, and a noise indicator (indicating an alarm as noise or not noise). Such payloads may be handled by the cloud platform 110 and may be accessible by and/or transmitted to the unified operations center 116, in some embodiments.
Referring now to
The computer-readable medium or media 186 is shown as including an alarm grouper 188, a suppression logic selector 180, an alarm filterer 192, and an alarm status manager 194. The alarm suppressor 124 can receive alarms substantially as output from the communications bridge 102 (e.g., as output from the domain A connector 154, domain B connector 156, etc.), i.e., alarm payloads having normalized attributes with labeling indicating alarms as noise or not noise (e.g., attribute value, flag, alarm IDs, etc.).
The alarm grouper 188 is configured to group alarms. For example, the alarm group 188 may group all alarms having a common alarm ID into a group, so that all such alarms can be treated as one alarm plus additional occurrence of the alarm labeled as noise. Such an operation can leverage the labeling applied by the communications bridge 102 and described in detail with reference to
In some embodiments, the alarm grouper 188 is also enabled to group alarms based on other categorizations or criteria, for example based on user defined groupings. For example, alarms (or groups of alarms) can be further grouped based on alarm type, asset, type, space type, and/or severity, in some embodiments. Such alarm groupings can be provided by the alarm grouper 188, for example for presentation to a user via user interface 122.
The suppression logic selector 190 is configured to enable user selection of suppression logic to be implemented for alarm suppression. The suppression logic selector 190 can provide interoperations with the user interface 122 to prompt a user to input suppression logic and to receive such user inputs from a user. For example, a user may input rules defining alarms to not show (or to show) in reports, dashboards, etc. (examples of which are described below). For example, the suppression logic selector 190 can enable selection of suppression rules based on normalized attributes such as alarm severity, alarm type, manufacture, asset type, and space time, for example linked with Boolean operators (e.g., AND, OR). For example, the suppression logic selector 190 can enable user definition of rules whereby all alarms will be suppressed except those which meet a set of criteria (e.g., such as “Severity”=“critical” OR “high” AND “Alarm Type”=“Controller Failure” OR “Controller Tamper Alarm.”). The suppression logic selector 190 can allow for on-demand updates and changes to such logic, in some embodiments. In some embodiments, changes to logic will only apply for new, incoming alarms whereas historical alarms remain as suppressed/not suppressed based on the logic in use at the time of such alarms.
The alarm filterer 192 provides for filtering incoming alarms, for example based on the suppression logic selected via the suppression logic selector 190. For example, the alarm filterer 192 may receive all incoming alarms and suppress (e.g., delete, hide, etc.) a subset of those alarms based on compliance with selected suppression logic (or some other desired filter). The alarm filterer 192 leverages normalized attributes applied by the communications bridge 102, which simplifies the processing, computing power requirements, latency, etc. at the alarm filterer 192 level (as compared to an alternative approach where the alarm filterer 192 acts on raw data). The alarm filterer 192 can further act on groups of alarms, such that the alarm filterer 192 need only analyze each group once (as opposed to additional processing power/time that would be needed to analyze each alarm including noise individually). Accordingly, the alarm falterer 192 can pass a desired set of grouped alarms through to other operations of the unified operations center 116.
The alarm status manager 194 provides for updating alarm statuses. In some embodiments, alarms with certain status can be suppressed, deleted, removed, etc. (e.g., statuses such as expired, resolved, etc.). The alarm status manager 194 may enable users to change alarm status (e.g., via user interface 122). For example, alarm statuses may include Active (corresponding to a default statue of the alarm when generated/received), Duplicate (a user selectable-status indicating that a user thinks the alarm is a duplicate), False (user-selectable to indicate the user thinks the alarm is false), Ignore (user-selected to indicate that the alarm is not of interest), Resolved (indicating that a cause of an alarm has been addressed), Abandoned (which may be automatically applied after a certain amount of time—e.g., at an alarm expiry time). In some embodiments, the alarm status manager 194 allows a user to change the status of a given alarm only once, after which the state is saved and locked. Alarms can be presented, suppressed, provided with options, etc. differently depending on alarm status, in various embodiments.
Referring now to
At step 202, a first alarm is obtained from a domain system serving a facility. The domain system can be any domain system, for example for the types of building domains discussed above. Step 202 can include receiving the first alarm at the communications bridge 102, for example via an IT or OT network.
At step 204, the first alarm is labeled with a generated time. The generated time may be provided with the alarm by the domain system and can indicate a time when the alarm was generated by the domain system (e.g., when a condition triggering the alarm occurred). The generated time may be the time when the alarm was received by the communications bridge 102, for example if the domain system is not configured to provide a time with the alarm. Labeling the first alarm with the generated time can include providing a data object for the first alarm with a property that indicates the generated time.
At step 206, the first alarm is labeled with an alarm expiry time. In some embodiments, the alarm expiry time is set to be a particular amount of time after the generated time (e.g., five hours, five days). For example, the particular amount of time after the generated time by which the alarm expiry time is set may be based on the type of the alarm and/or the relevant building/facility domain. In some embodiments, the amount of time used in setting the alarm expiry time is user-defined and may be user-adjustable. Labeling the first alarm with the alarm expiry time can including a providing a data object for the first alarm with a property that indicates the alarm expiry time.
At step 208, a second alarm is obtained from the domain system. The second alarm can have a same alarm type and be for a same device or equipment unit as the first alarm. Obtaining the second alarm at step 208 can include receiving the second alarm at communications bridge 102, for example via an IT or OT network.
At step 210, the second alarm is labeled with a generated time. The generated time may be provided with the second alarm by the domain system and can indicate a time when the second alarm was generated by the domain system (e.g., when a condition triggering the alarm occurred). The generated time may be the time when the second alarm was received by the communications bridge 102, for example if the domain system is not configured to provide a time with alarms output from the domain system. Labeling the second alarm with a generated time can include providing a data object for the second alarm with a property that indicates the generated time.
At step 212, a determination is made of whether the generated time of the second alarm is between the generated time of the first alarm and the alarm expiry time of the first alarm. Step 212 can include checking whether the generated time of the second alarm is after the generated time of the first alarm and checking whether the generated time of the second alarm is before the alarm expiry time. Step 212 may also include verifying that the first alarm and the second alarm have a same alarm type and are for a same device or unit of equipment.
If the generated time of the second alarm is between the generated time of the first alarm and the alarm expiry time of the first arm (“Yes” at step 212), process 200 proceeds to step 214 where an alarm ID for the first alarm is reused for the second alarm and/or the second alarm is labeled as noise. The generated time of the second alarm being between the generated time of the first alarm and the alarm expiry time of the first arm can indicate that the second alarm is repetitive and would not provide substantial new information to an operator, as the first alarm is already active over that period. The second alarm can thus be labeled as noise, for example by updating an attribute/property of data object for the second alarm. The second alarm can thus also be provided with a same alarm ID as the first alarm, indicating for subsequent processing that the second alarm is an instance, re-occurrence, etc. of the first alarm. For example, the second alarm may have been generated because an error condition or detected issue persisted, as opposed to being generated because an independent, new issue arose. In such examples, step 214 provides labeling to the second alarm indicating that the second alarm need not be treated as an independent, separate alarm for future processing (e.g., for visualizations, for display on graphical user interfaces). In some embodiments, step 214 includes increasing an occurrence count attribute of the first alarm.
If the generated time of the second alarm is not between the generated time of the first alarm and the alarm expiry time of the first arm (“No” at step 212), process 200 proceeds to step 216 where the second alarm is provided with a distinct alarm ID (i.e., different than the first alarm) and/or the second alarm is labeled as not being noise (e.g., as being a new alarm). For example, if the generated time of the second alarm is after the alarm expiry time of the first alarm, the second alarm may correspond to a new issue or re-development of an issue (e.g., following resolution or expiration of the first alarm). Step 216 can include causing an attribute/property of the second alarm to indicate the second alarm as new, original, non-noise, etc.
The process 200 can be repeated for any number of alarms, with new alarms being introduced as the second alarm and fed through corresponding logic of process 200. In some embodiments, step 214 includes updating the alarm expiry time of the first alarm in response to another alarm being labeled as noise and being indicated as repetitive of the first alarm. For example, step 206 can be repeated with the alarm expiry time set to be the same amount of time after the later alarms as used in setting the original alarm expiry time. For example, if the first alarm occurs at t=0 and the alarm expiry time was set to t=5 (i.e., 5 time units later), and the second alarm occurs at t=3 (i.e., between 0 and 5), the second alarm will be labeled as noise and the alarm expiry can be advanced to t=3+5=8. The updated alarm expiry time can be used to determine whether a third alarm is noise, and so forth. The alarm expiry time can thus be advanced as new instances of repeat alarms are generated, indicating that the underlying condition causing the alarm is ongoing. For example, process 200 can provide for operations including labeling a plurality of alarms from the plurality of domain systems with generated times, alarm expiry times, and alarm IDs, where assigning the alarm IDs includes determining whether to reuse, for a second alarm, a first alarm ID from a first alarm based on whether the generated time for the second alarm is between the generated time for the first alarm and the alarm expiry time for the first alarm. Process 200 is thus adaptable to handle any number of alarms to label certain alarms as noise and/or to reuse alarm IDs as a result of assessing relative generated times and alarm expiry times of the alarms.
Referring now to
In the example of
Referring now to
At step 402, the alarms are mapped to a digital twin of the facility (e.g., operational digital twin 112). Mapping the alarms to the digital twin can include creating or using connections between assets and spaces represented in the digital twin. For example, an asset ID included with the alarm can be used to associate the alarm with an asset already represented in the digital twin. Mapping the alarms to the digital twin can use features of PCT Patent Application PCT/US2022/034101, filed Jun. 17, 2022, the entire disclosure of which is incorporated by reference herein. The digital twin 112 can thus be updated to include alarm information, including alarm information that includes the labels, normalization, etc. applied by the communications bridge 102.
At step 404, a three-dimensional visualization of the facility is displayed, with an icon overlaid on the three-dimensional visualization for each distinct alarm, i.e., for each distinct alarm ID and/or for each alarm not labeled as noise. Various other alarms suppression can also be applied to further limit the number of alarms displayed. Example interfaces that can be generated in step 404 are shown in
At step 406, an indication of a number of occurrences of each alarm ID is provided via the visualization. For example, a user may select an icon for an alarm to view more information about the alarm. A window, view, pop-up, etc. may display which provides further information including a number of occurrences of the alarm. The number of occurrences of the alarm may be a count of alarms which share the alarm ID and/or a count of the original alarm and all alarms labeled as noise due to their relationship with the original alarm (e.g., having a same alarm type, same device/equipment, and a generated time between the generated time and expiry time of the original alarm). Information about how many instances of an alarm are being generated by a domain system thus remains available to a user without the clutter, obfuscation, etc. that would result from displaying all such noise as separate alarms.
At step 408, a resolution of an alarm is executed in response to a user selection made via the visualization. The visualization can be provided with an option for a user to initiate resolution of an alarm, for example an option to change a control strategy for a device or equipment unit to correct for the issue creating the alarm, an option to order maintenance for a device or equipment unit, an option to request an emergency response via active responder service 118, etc. Step 408 can include receiving selection of such an option and then automatically executing the requested action, for example in a way that tangibly affects building operations (e.g., due to a change in device operations, due to completion of a maintenance activity, by controlling an access control system to allow emergency responders to an area of a facility, etc.). Resolution of alarms can thus be achieved in a streamlined, efficient manner following the teachings herein.
Referring now to
As shown in
As shown in
As shown in
An entry on the list 804 can be selected to navigate to a fifth view 900 as shown in
By providing the first view 500, the second view 600, the third view 700, the fourth view 800, and the fifth view 900, the user interface 122 can provide a user with a variety of intuitive ways to view and assess building alarms without encountering noise, clutter, misleading duplication, etc. that might otherwise occur in other embodiments. Such efficient views are enabled by the alarm labeling and normalization performed by the communications bridge 102 and by use of the operational digital twin 112. Building operations and management can thus be improved by the teachings herein.
Referring now to
The AI as a Service 1002 of the system 1000 is configured to provide advisory messages relating to alarm suppression logic. As illustrated in
With respect to the domain systems shown in
The following are examples of alarm types that can be included in various embodiments herein and handled by the teachings herein: Authentication Failure, Failed Ticket Retrieval from Source, Invalid Ticket Data, SEACS Unreachable, Invalid SEACS Credentials, Failure to pull ticket statistics from SEACS, Ticket Push Failure to SEACS, Crowd Detected, Battery level low, Boundary Breach, Sensor Unreachable, Person-Boundary Breach, SLA Breach, controller failure, ControllerFailure, ControllerFailureReturn, ControllerInput1Anomaly, ControllerTamperAlarm, ControllerTamperAlarmReturn, DoorCarddenied, DoorCarddisabled, DoorDisabled, DoorExceededPlNretries, DoorGatewayforcedopen, DoorGatewaylocked, DoorGatewaynotclosed, DoorGatewayopen, DoorOutoforder, DoorPlNcodeerror, DoorTransitdenied, DoorTransitunderduress, DoorUserdidnottransit, DoorWrongPlN, FieldActive, FieldCutalarm, FieldShortcircuitalarm, FieldTamperalarm, ZoneControl, ZoneDisarmed, ZoneEmergency, ZoneLocked, ZoneLockedEntry, oneLockedExit, ZoneNormal, ZoneOpenEntry, ZoneOpenExitDefault, CommandControl, CardGranted, CardDenied, Alarm, PVHigh, LoRange, HiRange, PVLow, XMTHigh, XMTLow, CommunicationError, CommunicationStopped, CommunicationStarted, BookmarkReferenceRequested, LiveClientFeedRequested, LiveClientFeedTerminated, ManualRecordingStarted, ManualRecordingStopped, MotionStartedDriver, MotionStoppedDriver, MotionStarted, MotionDetected, MotionStopped, OutputActivated, OutputChanged, OutputDeactivated, RecordingStarted, RecordingStopped, SettingsChanged, SettingsChangedError, RequestPlayAudioMessage, RequestStartRecording, ArchiveUnavailable, DatabaseDeletingRecordingsB eforeSetRetentionSize, DatabaseDeletingRecordingsBeforeSetRetentionTime, FailoverEncryptedCommunicationError, FailoverStarted, FailoverStopped, ServiceAvailableCritical, ServiceAvailableNormal.
In some embodiments, the unified operations center 116 (e.g., as in
In some embodiments, the operator is allowed to change the status only a single time, with the unified operations center 116 preventing further changes after a status is selected and saved. The unified operations center 116 can prevent a user from creating an incident (e.g., requesting emergency responses) for alarms with statuses other than “active,” in some embodiments.
Various interrelated functions are thereby provided by the features, systems, processes, etc. of the present disclosure which provide technological solutions to technical challenges associated with monitoring large numbers of alarms from diverse domain systems which serve complex facilities in a way that enables meaningful and timely responses to and resolution of alarms.
The construction and arrangement of the systems and methods as shown in the various exemplary embodiments are illustrative only. Although only a few embodiments have been described in detail in this disclosure, many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.). For example, the position of elements may be reversed or otherwise varied and the nature or number of discrete elements or positions may be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products including machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Although the figures show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule Based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision step.