CONTENT
1. INTRODUCTION
CENTO is a multifunctional software platform for data collection, processing and display. This Manual describes the user tool in CENTO "Events".
It is assumed that the user is already familiar with the basic elements of the CENTO interface after reading the "User Manual" instructions.
"Events" in CENTO are designed to increase the observability of system operation by tracking changes in the system status and process equipment, logging events, and notifying users. Events help the personnel to timely react to changes in the technological process and system operation. To achieve these goals, CENTO offers user notification and acknowledgement features alongside event logging.
2. CENTO EVENTS
2.1. Event editor
To go to the Event editor, select the item in the main menu:
Settings > Events > Event editor.

Fig. 2.1 - Event editor in the CENTO menu
Figure 2.2. shows the interface of the Event editor.

Fig. 2.2 - Event editor
The Event editor page provides the option to:
- Add a new event to the system

- Activate
or disable
selected events Edit
, copy
, and delete
in the "Actions" columnDelete any number of events

Edit the number of records to be displayed
Search for events of interest by filtering
(the filter is located to the right of the table headings)Edit event configuration

Adjust the setpoint text

2.2. Creating and editing an event in web-interface
An event can be created manually and automatically. Events are automatically created when the setpoint parameter is enabled. For a detailed description, refer to the "Setup Manual".
The text of setpoints can be edited in the Event editor interface.
To do this, click on the button
. After that, the Setpoint editing window opens (see Fig. 2.3), where the wording of the setpoints for Triggering and/or Return can be modified, such as Upper/Lower warning limit, Upper/Lower alarm limit, and Upper/Lower physical limit.
One or more variables can be specified in the setpoint triggering message:
- {{.tag_name}} - tag name;
- {{.tag_code}} - tag code;
- {{.tag_id}} - tag ID;
- {{.tag_code_or_id}} - tag code, if the code is empty, then its ID;
- {{.tag_limit}} - setpoint value;
- {{.tag_unit}} - tag units;
- {{.device_name}} - name of the device to which the tag is linked.
IMPORTANT: if {figure brackets} or dots are missing when writing these parameters, a validation error will occur.
If a parameter with an error (non-existent parameter) is entered, for example: {{.tag_name_2}}, the Operating journal will receive an event of the following type:
< no value> > 10.

Fig. 2.3 - Setpoint editing page
To create a new event, click on the button
.
Only an authorized user with appropriate rights can create and edit events.
Fig. 2.4. shows the page for creating a new event.

Fig. Event editor: creation page
The Event editor window contains the following fields:
Identifier contains the sequence number of the event (filled in automatically), can be changed if necessary.
Name is a field for entering the name of the event.
Object field is used to add an object from the CENTO Information Model (IM), to which the event refers (see "Information Model Setup Manual"). The IM object is selected from the IM drop-down tree.
Device is the device to which the event refers is added in this field. The device is selected from the drop-down device tree.
Event type switches the event type between "Single" and "With return"
.
There are two types of events in CENTO – single and with return events. For system objects, there may be important state that the user should see in the active status (e.g., "Ground in a network with isolated neutral", "Switching on a sectionalizer", "Opening the emergency exit door"). Events reporting this important state are opening events. Events reporting the end of an important object state are closing events. These two types of events are events with return. Events with return should ALWAYS be paired: the second event ALWAYS closes the first one. Events in the active state are displayed in a separate tab of the operational log and disappear from there after triggering the closing event. Other events (regardless of their importance) are single events.
Tags field requires to specify the ID of the telemetering tag to which the event belongs;
Message is the message text that should be output when the event is triggered;
Formula field is used to enter a formula that describes the condition for the event to be triggered. Clicking on
will open the list of formulas for forming the event. Description of formulas is given in the Appendix.
Dead time, (ms) field specifies the delay time for the event to be generated in milliseconds. It helps prevent false events, such as those caused by frequent device polling failures due to poor communication.
Type is a drop-down list used to specify the importance or category of the event.
Acknowledgement is a switch to activate the function of user acknowledgement of event notification;
Sound field is used to select a sound for notification. The drop-down list contains those sounds that are loaded through the Sound Editor (see item 3). The selected sound can be listened to using the button
to the right of the "Sound" field.
Before acknowledgement is a switch to play the selected sound before the event is acknowledged;
Sound repeats field is used to set the number of repetitions of sound playback when the event occurs.
Warning! Modern browsers block playback of sounds in a browser by default, so sound alerts may not be played. To allow CENTO to play sounds in the browser, follow the steps below (an example is given for Chrome):
1. Left click to the left of the address bar (see Fig. 2.5).
2. Select "Site settings".

Fig. 2.5 - Site settings
3. In the opened window, go to Privacy and security → Site settings → Additional permissions → Content → Additional content settings → Sound, and select Allow (see Fig. 2.6).

Fig. 2.6 - Allow sound
4. Refresh the CENTO page.
After filling in all the required fields, click
and update the configuration (see Fig. 2.7).

Fig. 2.7 - Update configuration
If selecting With return in the Event type, the Event editor window displays additional fields with the general heading With return (see Fig. 2.8). These fields are the same as those used for the Single event type.

Fig. 2.8 - With return event editor window
2.3. Creating and editing events using Excel
Events can be configured using Excel files. This function is available on the page /CENTO/web/ui/configuration_loader/index (Settings > Configuration Files) (see Fig. 2.9).

Fig. 2.9 - Import/Export configuration file page
To configure events, download the events.xlsx file by clicking the button
, then fill in the appropriate cells in the new line of the table in the Events tab (see Fig. 2.10).

Fig. 2.10 - Events tab in the events.xslx file
To create an event, fill in the following columns:
Event ID is an event unique number.
Name is the name of the event.
Event type is one_position or two_position event.
Event status is responsible for the event status: 1 - event is enabled, 0 - event is disabled.
Device ID is a device identifier to which the event refers.
The device is not required to be filled in, it is generated when downloading an Excel file to help with debugging (displays the path of the linked device).
Object ID is an IM object identifier to which the event refers.
Object does not need to be filled in, it is generated when downloading an Excel file to help in debugging (displays the path of the linked object).
Tags is a tag (parameter) Identifier to which the event refers.
Formula defines the condition under which the event is to be triggered. Description of formulas is given in the Appendix.
Dead time, ms is a field to enter the delay time, in milliseconds, for the event to be triggered.
Event type code is a code, which is entered according to the Event type directory using a separate tab in this file.
Event type name is a name of the event type, the field is filled in automatically when uploading-downloading the configuration file.
Message is a message text that should be displayed in the logs when the event is triggered.
Acknowledgement is responsible for the event acknowledgement. True - acknowledgement is enabled, False - acknowledgement is disabled.
Sound ID specifies an ID of a sound file loaded through the sound editor.
Sound name is a name of the sound file, the field is filled in automatically when loading-unloading the configuration file.
Repeat count is used to set the number of repetitions of sound playback when the event is triggered.
Infinity repeat is responsible for repeating the sound until the user acknowledges the event. True - infinite repetition is enabled, False - infinite repetition is disabled.
After all required fields are filled in, the file should be uploaded using the button
on the Import/Export configuration file page (see Fig. 2.9). In the window that appears (see Fig. 2.11), select the filled in events.xlsx file. The system will automatically validate the file to ensure it is correctly filled in and formatted (see Fig. 2.12).

Fig. 2.11 - Upload configuration file window

Fig. 2.12 - Validating the configuration file
If errors are detected, they will be displayed in the file upload window. After all errors are eliminated, the Write configuration button will become available.
After uploading the file, the configuration should be refreshed to apply the changes (see Fig. 2.7).
To make working with events more convenient, CENTO provides the option to edit the event configuration partially using Excel.
To do this, on the page /CENTO/web/ui/event_editor/index (menu item Settings > Events > Event editor (see Fig. 2.1 - Fig. 2.2), search for an events using the filtering
, then click on the button
and select Download in the drop-down list. After that, the file events.xlsx will be downloaded to the PC, containing only the filtered events from the Events editor.
Actions when filling/editing the columns of the Excel table are similar to the actions during uploading from the Import/Export configuration file menu (see Fig. 2.9 - Fig. 2.10).
NOTE: when adding a new event, crossing Event ID is unacceptable as an incomplete event configuration is unloaded. The new ID should not match the existing one in the system (configuration).
To upload the changes made to the file, click on the button
select Upload from the drop-down list. Events that were not taken into account when downloading the Excel file will remain unchanged
IMPORTANT: partial upload/download is not compatible with previously downloaded Excel files. If an Excel file was downloaded using an earlier version of the service (prior to the introduction of the partial upload/download feature), it cannot be uploaded back - an error message saying "Version incompatibility" appears.
2.4. Flashing on the diagram
The flashing of an object on the diagram can be configured in the following ways:
1. Flashing by tag
This method is relevant if the system does not have and does not plan to customize the information model.
To customize the flashing of a diagram object by tag:
A) Set up an event that will contain the formula, for example, connection loss (ti40027171 != 1) or restoration of connection (ti40027171 == 1) with the device (see Fig. 2.13). The formula can refer not only to the device status, any tags registered in the system can be applied here, in this example, the device status is used as a special case. For more details on the available formulas and expressions, please refer to the Setup Manual.

Fig. 2.13 - Event for tag flashing
B) Create a calculated tag with the formula [devstatusNN], where NN is the device id (see Figure 2.14). The binding to devstatus is used for example. The tag to be used for the designated purpose may get the value from the real device or may be based on other tags.

Fig. 2.14 - Calculated tag to create tag flashing on the diagram
C) Set up an object on the diagram, in the rules of which the calculated tag from point b will be applied (see Fig. 2.15).

Figure 2.15 - Example rules with the tag created in step b.
D) After saving the diagram and updating the configuration, if the status of the NN device changes, the system will start it flashing on the diagram until acknowledged.
2. Flashing by the information model object
For this method to work, the information model should be configured, and the required information model object should be selected in the event setting (Object field). In this case, the diagram object should be active (see more details in the "Diagrams Development Manual") and bound to the information model object selected in the event.
Let us consider an example of this solution.
A) Create an event with the selected object of the information model in the Object field (see Fig. 2.15).
Fig. 2.15 - Creating an event with the information model object.
B) Create an active object on the diagram bound to the object of the information model, which was selected in the event settings (see Fig. 2.16).

Fig. 2.16 - Creating a diagram object bound to the information model.
3. NOTIFICATIONS SETTINGS
3.1. Creating and editing notifications
CENTO has the function to notify users about an event triggered via e-mail.
To configure notifications, go to the /CENTO/web/ui/notifications_configuration/index page (menu item Settings > Events > Notifications (see Fig. 2.1). The configuration of the mail server is described in the "Setup Manual, Mail servers".

Fig. 3.1 - Notifications interface
In the interface presented, the user has the ability to:
1. Create notifications;
2. Edit notifications.
The notification table has the following columns.
- Name is the name of the notification.
- Emails are the e-mail addresses that have been configured to receive notifications.
- Dispatch period is the time of the day allowed for sending notifications.
- Iteration period is the minimum time interval between notifications, meaning notifications cannot be sent to the recipient more frequently than this set period.
- Operation threshold is the number of event triggers required before a notification is sent.
- State is on/off.
- Actions are operations available to the user that can be performed in response to an event (edit
, copy
, delete
).
To create a new notification, click the button
.
Only an authorized user with appropriate permissions can create and edit notifications.
The notifications creation is shown in Fig. 3.2.

Fig. 3.2 - Notifications: creation page
To create a notification, fill in the following fields in the Notification settings tab:
Name is used to specify the name of the notification.
State is a switch that enables or disables the notification.
Operation threshold is the number of event triggers required before a notification is sent.
Dispatch period is the time of the day allowed for sending notifications.
Iteration period is the minimum time interval between notifications, meaning notifications cannot be sent to the recipient more frequently than this set period.
Delay (s) is set to accumulate events during the delay from the first event.
Notification method:
E-mail server is a mail server used for sending messages. Mail servers are configured in the Settings > Email servers menu (for details on configuring mail servers, refer to the "Setup Manual").
Recipients is a field for entering e-mail addresses of notification recipients.

Fig. 3.3 - Event selection tab
In the "Event selection" tab (Fig. 3.3), tick the events required for notification in the left column and use the "Right" button
to move them to the right column. Unnecessary events can be moved from the right column using the "Left" button
, having previously marked them with checkmarks.
After filling in all the fields, click the button
and update the configuration.
3.2. Notification operation
There are three types of filters in the notifications:
- Operation threshold;
- Iteration period;
- Dispatch period.
When configured without restrictions, the notification comes whenever any of the configured events added to the notification are triggered.
Operation threshold
The notification is triggered when the total number of triggered events in the notification reaches the number the user set.
If the operation threshold is 0, the notification is generated immediately after any of the events in the notification are triggered, unless the Iteration period is set and the Dispatch period is allowed.
Iteration period
The iteration period report starts from the time when the last notification was triggered. The iteration period is set in days and hours.
If the iteration period is set to 0 days 0 hours, notifications will be generated and sent immediately if the conditions of other filters are met.
Dispatch period
If the dispatch period is set to 0:00 - 24:00, notifications can be sent at any time of the day.
If the dispatch period is set to a specific time, such as 8:00, notifications will be sent once a day at that time.
Currently, the dispatch period can only be set within a single day. For example, it is not possible to set a period from 20:00 to 6:00 of the next day.

Fig.3.4 - Logic of settings operation when generating notifications
Changing notification settings
If you change the alert settings (name, addresses, mail servers, triggering limits, message set, etc.) at any time, the following will happen:
If the notification settings (name, recipients, email servers, operation limits, message set, etc.) are changed at any time, the following will occur:
The operation threshold is saved, but the notification will not be triggered until the next event in the notification if the operation threshold is reached.
The iteration period is reset.
Examples of changing notification settings:
- The operation threshold limit was set to 5, and 3 events were triggered. After the user increases the threshold to 10, the notification will be triggered after 7 more events.
- The operation threshold was set to 10, and 7 events were triggered. After the user reduces the operation threshold to 5, a notification will be sent after the next event, for a total of 8 triggered events.
- The iteration period was set to 10 hours, and the first notification was sent 2 hours ago. Events are triggered periodically. If the notification settings are changed, the iteration period will be reset, and a notification will be sent the next time an event is triggered. The iteration period counter will start again.
- The operation threshold was set to 10. There are 3 events in the notification. The 1st event triggered 2 times. Then the User deleted the first event from the notification. The triggering counter is not reset. When the triggering counter reaches the value of 10, the notification with 8 triggering messages will be sent. The first event (which was deleted) will not be included in the notification text.
Examples of alert notification logic

Fig.3.5 - Notification with operation threshold

Fig. 3.6 - Notification with dispatch period

Fig. 3.7 - Notification with all restrictions
The types of sound notifications are configured on the /CENTO/web/ui/sound_editor/index page (Settings > Events > Sound editor (see Fig. 2.1)) (see Fig. 4.1).

Fig. 4.1 - "Sound Editor" page
The Sound editor page shows a table with available sounds. The table contains the following columns:
ID is a unique digital identifier of the sound.
Name is the name of the sound.
File name is the name of the uploaded sound file.
Uploaded is the date when the sound was uploaded to the system.
Actions is used to manage sounds: edit sound, play sound file, and delete.
Note: the sound editor allows only ".mp3" to be uploaded.
To create a new sound, click the button
. After that a pop-up window appears (see Fig. 4.2).

Fig. 4.2 - New sound upload window
In the window that appears, specify the name of the new sound, select a file from your computer or drag and drop the sound file into the special field. After clicking the button
, the created sound will appear in the Sound Editor.
Attention! If CENTO is opened in multiple browser tabs, for example, with the sound editor in the first tab and the diagram in the second tab, the old sound will continue to play on the diagram tab after changing the sound in the sound editor. The new sound will only play on the diagram tab once the user interacts with the diagram page (e.g., by clicking a mouse button on the diagram tab).
5. EXAMPLES OF EVENT SETTING
Let’s look at some examples of event settings using the web interface. All actions are performed on the event creation page, as described in section 2.1 of this manual.
Example No.1: Setting up an event on tag value change.

Fig. 5.1 - Event setting on tag value change
Fig.5.1 shows that the event Switch position f.1.1 (1QF1) is configured with a one-position event type bound to the IM object and the device, from which the tag value changes come with the ID number 11013008. The text in the Message field will be written in the CENTO Event logs, which gets there when the tag value 11013008 is equal to 2, the formula ti11013008== 2 tells about it (formula operators are given in the Annex). This event will be configured with dead time 0 (there will be no delay in event generation), with acknowledgment and with playing the default sound, which will sound 5 times and then turn off.
Example No. 2: Setting up the event on device status change.
Let’s consider an example of configuring an event for changing the device status (see Fig. 5.2). The event is configured with a return. Fill all the necessary fields with information similar to the previous example. This event is divided into two notifications:
- The event Lost connection with the device Mikrotik SW1.2 switch enters the event log under the condition described in the formula (devstatus100== 3) AND (devprevstatus100 !=3), which indicates that the status of the device with ID100 came equal to 3 and the previous status does not equal 3. This event will be configured with dead time 3000 (delay on event generation will be equal to 3000 ms) as an alarm event with acknowledgment and with sound playing until the user acknowledges this notification.
- The event Restored connection with device Mikrotik SW1.2 switch is logged in the event log under the condition described in the formula (devstatus100== 1) AND (devprevstatus100 !=1), which indicates that the status of the device with ID100 came equal to 1 and the previous status is not equal to 1. This event will be configured as informative without acknowledgment and with a sound that will be played 3 times and then turned off.

Fig. 5.2 - Setting up the event on device status change
Annex: description of formula
Arithmetic operations, conditions, mathematical and special functions, etc., are allowed. Up to three levels of nested pre-calculated measurements are permitted.
Table A.1 - Variables in formulas
| Variable | Description |
[tiN], where N is the sequence number of TI | Current value of tag with id N |
[prevN], where N is the sequence number of TI | Previous value of the tag with id N |
[statusN], where N is the sequence number of TI | Current status of tag with id N |
[prevstatusN], where N is the sequence number of TI | Previous status of tag with id N |
[lasttimeN], where N is the sequence number of TI | Current timestamp of the tag with id N |
[beforetimeN], where N is the sequence number of TI | Previous timestamp of the tag with id N |
[devstatusN], where N is the device number (ID) | Current status of the device (0 - disabled in configuration; 1 - normal; 2 - at least one TI has abnormal quality (out of limits or error in formula); 3 - device polling error (device unavailable); 4 - manual input in tags or channels of the device, 7 - waiting for data) |
[devprevstatusN] or [prevdevstatusN] where N is the device number (ID) | Previous device status (0-disabled in configuration; 1 - normal; 2 - at least one TI has abnormal quality (out of limits or formula error); 3 - device polling error (device unavailable); 4 - manual input in device tags or channels, 7 - waiting for data) |
[devlastdtN], where N is the device number (ID) | The time when the latest device data was received |
[devpingtimeN], where N is the device number (ID) | Response time (in ms) to the ping command of the device polled by ICMP |
[connectedN], where N is the sequence number of TI | Connection with the device with id N restored |
[!connectedN], where N is the sequence number of TI | Connection with the device with id N is lost |
Table A.2 - Operators in formulas
| Operator | Description | Utilization | Result | |
| + | Adds up numbers or tag values | 5 + 5 | 10 | |
| - | Subtracts the first number or tag value from the second number or tag value | 5 - 3 | 2 | |
| * | Multiplies numbers or tag values | 0.01 * [val] | 0.01 * [val] | |
| / | Divides the first number or tag value by the second number or tag value | [val] / 1000 | [val] / 1000 | |
| % | Returns the remainder of the division | 10 / 3 | 1 | |
| Assigns a specific value to a tag | [ti123] = 5 | 5 | ||
| = | Returns true if the compared values are equal, and false if they are not equal | 2 == 2 | true | |
| <, >, <=, >= | Returns true if the arithmetic condition is met and false if it is not met | 2 >= 3 | false | |
| &&, &, &, & | Logical operator "and" | |||
| ~ | |, OR, or | Logical operator "or" |