ControlSystemStudio / phoebus

A framework and set of tools to monitor and operate large scale control systems, such as the ones in the accelerator community.
http://phoebus.org/
Eclipse Public License 1.0
90 stars 90 forks source link

Allow alarm permissions to be configured per alarm #1336

Open mark0n opened 4 years ago

mark0n commented 4 years ago

Currently alarm permissions for acknowledging, configuring, maintenance/normal mode and notification on/off can only be configured globally (that is per alarm server). It would be great if they could also be configured on a per-alarm basis. The per-alarm configuration could override the global definition.

Example use case: We want to maintain all alarms related to a system (let's say RF) on the same alarm server (otherwise we feel like we'll end up with too many alarm servers making it unnecessarily hard to monitor alarms on all of them). Some alarms are relevant to operators only (like "RF phase error larger than normal, if this is getting worse you're going to lose beam"), some are relevant to engineers only (like "fan speed low" or "one of two redundant power supplies failed") and some are relevant to both operators and engineers (like "water flow too low"). It would be great if we could set permissions such that only the described groups have access.

kasemir commented 4 years ago

The alarm system is currently designed for one audience, operators. Alarms are meant to help operators do their job. If an alarm is not really meant for operators, like relevant to engineers only, then why should it show up on the operator's display in the middle of the night? When operators see/hear an alarm, they need to be able to disable it, change the configuration, update the guidance etc.

Engineers might of course need their own "system internals summary" display which they check each morning or once per week to look at hour meters, fan speeds etc. There are other tools like https://github.com/andrewstarritt/kryten that can be set up for each subsystem to send emails etc. to some subset of people.