Description
The RecipientSwitch component is used to route received alarms to different recipients based on a schedule of on-call users and alarm escalations.
Implementation
-
Copy and paste the component into the AlarmService
-
Set the number of users per level from the component's LevelXUserCount slots
-
Prepare "EnumSchedule" type time schedules by defining names corresponding to the different related recipients in the "range" slot, starting with the ordinal 1 (see screen shot below).
-
Then define the time slots corresponding to the different recipients in each EnumSchedule.
(warning) You cannot link ConsoleRecipient components to this object
-
Link the Out slots of your EnumSchedule components to the SchedLevelX slots of the RecipientSwitch for each escalation level.
-
Link the LevelXUserY slots of the RecipientSwitch to the routeAlarm slot of your existing recipients based on the list defined in the EnumSchedule of the associated level.
-
Link the alarm topics of the alarm classes (AlarmClass) to the receive slot of the RecipientSwitch. Also link the EscalatedReceiveX topics to the EscalatedAlarmX slots if necessary.
Properties
-
Status: Indicates the general status of the component, {ok} if the operation was successful or {fault} to indicate abnormal behavior
-
FaultCause: Indicates the cause of a configuration error. The FaultCause is empty if the component is properly configured.
(warning) Configuration error: Execution of the component is blocked while it is misconfigured (non-empty Status.fault and FaultCause).
-
LastExecFailure: The date and time of the last execution failure of the component
-
LastExecFailureCause: The reason for the last execution failure of the component
(warning) Runtime Error: If the component fails to run, its status changes to fault. This status is lost if the configuration is changed but remains valid and if the station restarts.
-
LevelXUserCount: Determines the number of users per level. If this is 0, the level is considered not to exist.
-
SchedLevelX: Entry defining to which recipient the alarm will be redirected
Actions
-
EscalatedReceiveX : Actions allowing the reception of alarms from the alarm classes according to their level of escalation
Topics
-
LevelXUserY : Propogates the alarm to the associated recipient based on the associated EnumSchedule and the alarm level.
Errors
Configuration erorrs
-
-
LevelXUserCount: As soon as a level X is defined with 0 users, all subsequent levels are ignored. The following levels must therefore all be set to 0.
-
SchedLevelX: The value of a SchedLevelX must be between 1 (inclusive) and the number of users defined for this level X (from the LevelXUserCount slot) (inclusive).
-
Exécution errors
-
-
The level of the action cannot be found: the "receive" (or "escalatedReceive") action was renamed. In this case, set level X to 0 and then reset it to the right number of users via the levelXUserCount slot.
-
The SchedLevelX property cannot be found: to make it reappear, set level X to 0 and then reset it to the right number of users via the levelXUserCount slot.
-
The status of the SchedLevelX property is invalid: the execution is canceled; change its state to a valid one.
-
The levelXUserY topic cannot be found: either the property does not exist or it is not a topic. If it exists, delete it, set level X to 0 and then reset it to the right number of users via the levelXUserCount slot.
-
Training
You can follow this e-learning course to practice