Alarm Message Templates
Alarm Notification Templates and DialerLocation have been moved from Settings.Dynamic to the default languages file (en.csv). To find a template phrase in the Languages panel of the Application Properties dialog, use the View button to display the Key column. Template phrases use the original property names as keys.
You may still use these properties in [System] section of your Settings.Dynamic file, but you must insert them using the Advanced mode of the Edit Properties dialog. The property will take precedence over the phrase in the language file.
Alternatively, you may create localized template values as properties of a parent Context tag.
Control the content of alarm messages by defining templates using the Languages panel of the Application Configuration dialog. You can also add templates as properties of Context tags for use by alarms within a site or other user-defined tag structure.
You can define a separate template for each of:
Template name | Used for... |
---|---|
Section 1: Alarm message templates | |
AlarmDialerTemplate | Telephone alarm descriptions. The initial greeting is not set by a template. You can set the spoken name in the greeting using the Alarms tab of the Edit Properties dialog. |
AlarmEmailTemplate | Emailed alarm descriptions. Does not apply to SMS-ready emails. |
AlarmPagerTemplate | Paged alarm descriptions. |
AlarmSMSTemplate | Descriptions of alarms when sent by SMS message including SMS-ready email. |
AlarmSpeechTemplate |
Locally spoken alarm descriptions |
Section 2: Alarm status templates. If DialOnClear is enabled, the status will be appended to the message. Does not apply to locally spoken alarms. | |
AlarmDialerStatusTemplate | Alarm status appended to telephone messages. |
AlarmEmailStatusTemplate | Alarm status appended to emailed alarms. |
AlarmPagerStatusTemplate | Alarm status appended to paged alarms. |
AlarmSMSStatusTemplate | Alarm status appended to SMS alarms, including SMS-ready emails. |
Section 3: Additional email and SMS templates | |
AlarmEmailAckTemplate | Message confirming alarm acknowledgment by email. |
AlarmEmailAckSubjectTemplate | Subject line for alarm acknowledgment by email. |
AlarmEmailAckCollisionTemplate | Emailed message to operators, informing them that the code they used acknowledged more than one alarm. |
AlarmSMSAckTemplate | Message confirming alarm acknowledgment by text. |
AlarmSMSAckCollisionTemplate | Text message to operators, informing them that the code they used acknowledged more than one alarm. |
In addition to these, you may set the subject line for alarm emails using the property, AlarmEmailSubjectTemplate.
The control string can be a combination of words and the following replaceable parameters. Note that the pause can add clarity to the message by separating words that might otherwise run together when spoken.
Token |
Meaning |
---|---|
%A |
Area of the Alarm tag. |
%C |
Custom data provided by the application. (See following notes.) |
%D |
Date of the alarm |
%F | Full tag name |
%H | Short tag name |
%K |
Station number (Part of every Polling driver, and Station type. Context tags used as site must be given a property named "Stn", in which the station number may be stored.) |
%L |
Opt-out message. This is be used only with SMS and EMail templates The message is stored with the language phrase key AlarmOptOutMsg and defaults to: |
%M |
Alarm description |
%N |
New sentence for email and pager messages. |
%O | Operator |
%P |
Priority of the alarm. |
%S | Status of the alarm |
%T |
Time of the alarm |
%U |
Units of the Triggering tag. |
%V |
Alarm value (this is the value of the alarm trigger at the time that it triggered the alarm) |
%W |
Pause for ¼ second. Has no effect on email or pager messages. |
%Z | Setpoint. |
Value (%V) and Setpoint (%Z) will use the labels corresponding to these values as stored in the record where applicable. If no labels can be found, the raw numbers will be used.
The %C token in a template can only obtain numeric and text values, not complex values. If a numeric or string value that exists inside a complex value needs to be included in an alarm notification, an AlarmTemplateHookC module will need to be created that returns this value.
The Custom field can be set in a variety of ways:
- In the Commission() call via the Custom field of the Alarm Configuration record.
- In the EvaluateAlarm() call via the Custom parameter
- In any Alarm<Action>Hook module by setting the Custom field of the TransactionInfo structure.
Examples:
AlarmSpeechTemplate = %P alarm. %T, %M
Speaks (for example): "Critical alarm. 10:35 pm, Well level high"
AlarmSpeechTemplate = VTScada %P alarm in %A %W %M has reached %V at %T.
"VTScada critical alarm in zone one <pause> Holding tank level has reached eighty at eleven forty nine a. m.".
Context (Site) Tags and Alarm Notification
Context tags (or custom types derived from a Context tag) may define custom alarm message templates, for use by all alarms occurring within the structure. This is done by adding the desired template name(s) to the Context's list of properties. If doing so, it is typical to use an expression when defining the template so that the message will be unique for each instance of the type.
For example, Concat(\Name, "%N%M") would show the name of the Context tag plus the description of the alarm (which may be a child, grandchild, etc. of the context).
Because tag names and other properties may contain characters that would conflict with template characters, such as percent signs (%), you should always process information from the Context tag using the \PrepStringForTemplate() function. Updating the previous example, Concat(\PrepStringForTemplate(\Name), "%N%M") is the safer way to reference \Name in case any given name contains a %.
Note that you might also need to use a \GetPhrase or \GetParmPhrase call in your expression. See: Multilingual Expressions
AlarmTemplateDateFmt - Controls the date format spoken.
AlarmTemplateTimeFmt - Controls the time format spoken.
AlarmEmailSubjectTemplate - Sets the subject line for alarm emails.