Changes for page 7. Events Setup

Last modified by Iaroslav Platonov on 2026/06/09 11:03

From version 62.1
edited by Lana
on 2025/12/11 01:19
Change comment: Uploaded new attachment "Screenshot 2025-12-10 at 22.19.25.png", version {1}
To version 64.1
edited by Lana
on 2025/12/11 01:23
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,7 @@
1 1  = CONTENT =
2 2  
3 +{{toc/}}
4 +
3 3  = 1. INTRODUCTION =
4 4  
5 5  CENTO is a multifunctional software platform for data collection, processing and display. This Manual describes the user tool in CENTO "Events".
... ... @@ -16,13 +16,13 @@
16 16  
17 17  Settings > Events > Event editor.
18 18  
19 -[[image:Screenshot 2025-12-10 at 21.28.44.png]]
21 +[[image:Screenshot 2025-12-10 at 21.28.44.png||height="318" width="274"]]
20 20  
21 21  Fig. 2.1 - Event editor in the CENTO menu
22 22  
23 23  Figure 2.2. shows the interface of the **Event editor.**
24 24  
25 -[[image:Screenshot 2025-12-10 at 21.29.15.png]]
27 +[[image:Screenshot 2025-12-10 at 21.29.15.png||height="483" width="1424"]]
26 26  
27 27  Fig. 2.2 - Event editor
28 28  
... ... @@ -46,7 +46,7 @@
46 46  Edit event configuration [[image:Screenshot 2025-12-10 at 21.36.56.png||height="22" width="86"]]
47 47  )))
48 48  1. (((
49 -Adjust the setpoint text [[image:Screenshot 2025-12-10 at 21.37.32.png||height="23" width="122"]]
51 +Adjust the setpoint text [[image:Screenshot 2025-12-10 at 21.37.32.png||height="20" width="108"]]
50 50  )))
51 51  
52 52  == 2.2. Creating and editing an event in web-interface ==
... ... @@ -72,7 +72,7 @@
72 72  
73 73  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: [[image:Screenshot 2025-12-10 at 21.39.52.png||height="18" width="18"]] **< no value> > 10**.
74 74  
75 -[[image:Screenshot 2025-12-10 at 21.40.35.png]]
77 +[[image:Screenshot 2025-12-10 at 21.40.35.png||height="788" width="874"]]
76 76  
77 77  Fig. 2.3 - Setpoint editing page
78 78  
... ... @@ -82,11 +82,11 @@
82 82  
83 83  Fig. 2.4. shows the page for creating a new event.
84 84  
85 -[[image:Screenshot 2025-12-10 at 21.41.54.png]]
87 +[[image:Screenshot 2025-12-10 at 21.41.54.png||height="606" width="1425"]]
86 86  
87 87  Fig. Event editor: creation page
88 88  
89 -The** Event editor** window contains the following fields:
91 +The** Event editor** window contains the following fields:
90 90  
91 91  **Identifier **contains the sequence number of the event (filled in automatically), can be changed if necessary.
92 92  
... ... @@ -124,13 +124,13 @@
124 124  
125 125  2. Select "Site settings".
126 126  
127 -[[image:Screenshot 2025-12-10 at 21.45.18.png]]
129 +[[image:Screenshot 2025-12-10 at 21.45.18.png||height="350" width="366"]]
128 128  
129 129  Fig. 2.5 - Site settings
130 130  
131 131  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).
132 132  
133 -[[image:Screenshot 2025-12-10 at 21.48.19.png]]
135 +[[image:Screenshot 2025-12-10 at 21.48.19.png||height="264" width="1104"]]
134 134  
135 135  Fig. 2.6 - Allow sound
136 136  
... ... @@ -138,13 +138,13 @@
138 138  
139 139  After filling in all the required fields, click [[image:Screenshot 2025-12-10 at 21.48.55.png||height="25" width="70"]] and update the configuration (see Fig. 2.7).
140 140  
141 -[[image:Screenshot 2025-12-10 at 21.49.27.png]]
143 +[[image:Screenshot 2025-12-10 at 21.49.27.png||height="338" width="340"]]
142 142  
143 143  Fig. 2.7 - Update  configuration
144 144  
145 145  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.
146 146  
147 -[[image:Screenshot 2025-12-10 at 21.49.59.png]]
149 +[[image:Screenshot 2025-12-10 at 21.49.59.png||height="600" width="1390"]]
148 148  
149 149  Fig. 2.8 - With return event editor window
150 150  
... ... @@ -152,13 +152,13 @@
152 152  
153 153  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).
154 154  
155 -[[image:Screenshot 2025-12-10 at 21.51.04.png]]
157 +[[image:Screenshot 2025-12-10 at 21.51.04.png||height="474" width="1388"]]
156 156  
157 157  Fig. 2.9 - Import/Export configuration file page
158 158  
159 159  To configure events, download the events.xlsx file by clicking the button [[image:Screenshot 2025-12-10 at 21.51.37.png||height="28" width="97"]], then fill in the appropriate cells in the new line of the table in the **Events** tab (see Fig. 2.10).
160 160  
161 -[[image:Screenshot 2025-12-10 at 21.52.08.png]]
163 +[[image:Screenshot 2025-12-10 at 21.52.08.png||height="565" width="1397"]]
162 162  
163 163  Fig. 2.10 - Events tab in the events.xslx file
164 164  
... ... @@ -220,7 +220,7 @@
220 220  
221 221  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 [[image:Screenshot 2025-12-10 at 21.55.29.png||height="24" width="25"]], then click on the button [[image:Screenshot 2025-12-10 at 21.55.55.png||height="25" width="95"]]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**.
222 222  
223 -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).
225 +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).
224 224  
225 225  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).
226 226  
... ... @@ -238,9 +238,9 @@
238 238  
239 239  To customize the flashing of a diagram object by tag:
240 240  
241 -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. **
243 +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. **
242 242  
243 -[[image:Screenshot 2025-12-10 at 21.58.43.png]]
245 +[[image:Screenshot 2025-12-10 at 21.58.43.png||height="824" width="1407"]]
244 244  
245 245  Fig. 2.13 - Event for tag flashing
246 246  
... ... @@ -264,13 +264,13 @@
264 264  
265 265  Let us consider an example of this solution.
266 266  
267 -A) Create an event with the selected object of the information model in the **Object** field (see Fig. 2.15).[[image:Screenshot 2025-12-10 at 22.01.01.png]]
269 +A) Create an event with the selected object of the information model in the **Object** field (see Fig. 2.15).[[image:Screenshot 2025-12-10 at 22.01.01.png||height="914" width="1408"]]
268 268  
269 269  Fig. 2.15 - Creating an event with the information model object.
270 270  
271 271  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).
272 272  
273 -[[image:Screenshot 2025-12-10 at 22.02.05.png]]
275 +[[image:Screenshot 2025-12-10 at 22.02.05.png||height="538" width="724"]]
274 274  
275 275  Fig. 2.16 - Creating a diagram object bound to the information model.
276 276  
... ... @@ -301,10 +301,250 @@
301 301  1. **Iteration period** is the minimum time interval between notifications, meaning notifications cannot be sent to the recipient more frequently than this set period.
302 302  1. **Operation threshold **is the number of event triggers required before a notification is sent.
303 303  1. **State **is on/off.
304 -1. **Actions** are operations available to the user that can be performed in response to an event (edit [[image:Screenshot 2025-12-10 at 22.05.05.png||height="25" width="27"]], copy [[image:Screenshot 2025-12-10 at 22.05.32.png||height="26" width="26"]], delete [[image:Screenshot 2025-12-10 at 22.05.55.png||height="26" width="23"]]).​​​​​​​
306 +1. **Actions** are operations available to the user that can be performed in response to an event (edit [[image:Screenshot 2025-12-10 at 22.05.05.png||height="25" width="27"]], copy [[image:Screenshot 2025-12-10 at 22.05.32.png||height="26" width="26"]], delete [[image:Screenshot 2025-12-10 at 22.05.55.png||height="26" width="23"]]).
305 305  
308 +To create a new notification, click the button [[image:Screenshot 2025-12-10 at 22.06.27.png||height="33" width="151"]].
306 306  
310 +Only an authorized user with appropriate permissions can create and edit notifications.
307 307  
308 -
312 +The notifications creation is shown in Fig. 3.2.
309 309  
314 +[[image:Screenshot 2025-12-10 at 22.07.01.png||height="517" width="1422"]]
315 +
316 +Fig. 3.2 - Notifications: creation page
317 +
318 +To create a notification, fill in the following fields in the **Notification settings** tab:
319 +
320 +**Name** is used to specify the name of the notification.
321 +
322 +**State **is a switch that enables or disables the notification.
323 +
324 +**Operation threshold **is the number of event triggers required before a notification is sent.
325 +
326 +**Dispatch period** is the time of the day allowed for sending notifications.
327 +
328 +**Iteration period** is the minimum time interval between notifications, meaning notifications cannot be sent to the recipient more frequently than this set period.
329 +
330 +**Delay (s) **is** **set to accumulate events during the delay from the first event.
331 +
332 +**Notification method:**
333 +
334 +**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").
335 +
336 +Recipients is a field for entering e-mail addresses of notification recipients.
337 +
338 +[[image:Screenshot 2025-12-10 at 22.07.55.png]]
339 +
340 +Fig. 3.3 - Event selection tab
341 +
342 +In the "Event selection" tab (Fig. 3.3), tick the events required for notification in the left column and use the "Right" button [[image:Screenshot 2025-12-10 at 22.08.29.png||height="27" width="24"]]to move them to the right column. Unnecessary events can be moved from the right column using the "Left" button [[image:Screenshot 2025-12-10 at 22.08.55.png||height="28" width="25"]], having previously marked them with checkmarks.
343 +
344 +After filling in all the fields, click the button [[image:Screenshot 2025-12-10 at 22.09.48.png||height="24" width="60"]] and update the configuration.
345 +
346 +== 3.2. Notification operation ==
347 +
348 +There are three types of filters in the notifications:
349 +
350 +1. Operation threshold;
351 +1. Iteration period;
352 +1. Dispatch period.
353 +
354 +When configured without restrictions, the notification comes whenever any of the configured events added to the notification are triggered.
355 +
356 +**Operation threshold**
357 +
358 +The notification is triggered when the total number of triggered events in the notification reaches the number the user set.
359 +
360 +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.
361 +
362 +**Iteration period**
363 +
364 +The iteration period report starts from the time when the last notification was triggered. The iteration period is set in days and hours.
365 +
366 +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.
367 +
368 +**Dispatch period**
369 +
370 +If the dispatch period is set to 0:00 - 24:00, notifications can be sent at any time of the day.
371 +
372 +If the dispatch period is set to a specific time, such as 8:00, notifications will be sent once a day at that time.
373 +
374 +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.
375 +
376 +[[image:Screenshot 2025-12-10 at 22.11.07.png]]
377 +
378 +Fig.3.4 - Logic of settings operation when generating notifications
379 +
380 +**Changing notification settings**
381 +
382 +If you change the alert settings (name, addresses, mail servers, triggering limits, message set, etc.) at any time, the following will happen:
383 +
384 +If the notification settings (name, recipients, email servers, operation limits, message set, etc.) are changed at any time, the following will occur:
385 +
386 +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.
387 +
388 +The iteration period is reset.
389 +
390 +**Examples of changing notification settings:**
391 +
392 +1. 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.
393 +1. 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.
394 +1. 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.
395 +1. 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.
396 +
397 +**Examples of alert notification logic**
398 +
399 +[[image:Screenshot 2025-12-10 at 22.12.07.png]]
400 +
401 +Fig.3.5 - Notification with operation threshold
402 +
403 +[[image:Screenshot 2025-12-10 at 22.12.39.png]]
404 +
405 +Fig. 3.6 - Notification with dispatch period
406 +
407 +[[image:Screenshot 2025-12-10 at 22.13.08.png]]
408 +
409 +Fig. 3.7 - Notification with all restrictions
410 +
411 +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).
412 +
413 +[[image:Screenshot 2025-12-10 at 22.13.46.png]]
414 +
415 +Fig. 4.1 - "Sound Editor" page
416 +
417 +The **Sound editor** page shows a table with available sounds. The table contains the following columns:
418 +
419 +**ID **is a unique digital identifier of the sound.
420 +
421 +**Name** is the name of the sound.
422 +
423 +**File name **is the name of the uploaded sound file.
424 +
425 +**Uploaded **is the date when the sound was uploaded to the system.
426 +
427 +**Actions **is used to manage sounds: edit sound, play sound file, and delete.
428 +
429 +**Note: t**he sound editor allows only ".mp3" to be uploaded.
430 +
431 +To create a new sound, click the button [[image:Screenshot 2025-12-10 at 22.14.32.png||height="25" width="110"]]. After that a pop-up window appears (see Fig. 4.2).
432 +
433 +[[image:Screenshot 2025-12-10 at 22.15.12.png||height="242" width="376"]]
434 +
435 +Fig. 4.2 - New sound upload window
436 +
437 +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 [[image:Screenshot 2025-12-10 at 22.15.48.png||height="22" width="43"]], the created sound will appear in the Sound Editor.
438 +
439 +**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).
440 +
441 += 5. EXAMPLES OF EVENT SETTING =
442 +
443 +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.
444 +
445 +Example No.1: Setting up an event on tag value change.
446 +
447 +[[image:Screenshot 2025-12-10 at 22.17.31.png||height="683" width="1366"]]
448 +
449 +Fig. 5.1 - Event setting on tag value change
450 +
451 +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.
452 +
453 +Example No. 2: Setting up the event on device status change.
454 +
455 +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:
456 +
457 +1. 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.
458 +1. 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.
459 +
460 +[[image:Screenshot 2025-12-10 at 22.19.25.png||height="650" width="1372"]]
461 +
462 +Fig. 5.2 - Setting up the event on device status change
463 +
464 +----
465 +
466 +Annex: description of formula
467 +
468 +Arithmetic operations, conditions, mathematical and special functions, etc., are allowed. Up to three levels of nested pre-calculated measurements are permitted.
469 +
470 +Table A.1 - Variables in formulas
471 +
472 +|(% style="width:404px" %)Variable|(% style="width:472px" %)Description
473 +|(% style="width:404px" %)(((
474 +[tiN],
475 +
476 +where N is the sequence number of TI
477 +)))|(% style="width:472px" %)Current value of tag with id N
478 +|(% style="width:404px" %)(((
479 +[prevN],
480 +
481 +where N is the sequence number of TI
482 +)))|(% style="width:472px" %)Previous value of the tag with id N
483 +|(% style="width:404px" %)(((
484 +[statusN],
485 +
486 +where N is the sequence number of TI
487 +)))|(% style="width:472px" %)Current status of tag with id N
488 +|(% style="width:404px" %)(((
489 +[prevstatusN],
490 +
491 +where N is the sequence number of TI
492 +)))|(% style="width:472px" %)Previous status of tag with id N
493 +|(% style="width:404px" %)(((
494 +[lasttimeN],
495 +
496 +where N is the sequence number of TI
497 +)))|(% style="width:472px" %)Current timestamp of the tag with id N
498 +|(% style="width:404px" %)(((
499 +[beforetimeN],
500 +
501 +where N is the sequence number of TI
502 +)))|(% style="width:472px" %)Previous timestamp of the tag with id N
503 +|(% style="width:404px" %)(((
504 +[devstatusN],
505 +
506 +where N is the device number (ID)
507 +)))|(% style="width:472px" %)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)
508 +|(% style="width:404px" %)(((
509 +[devprevstatusN] or
510 +
511 + [prevdevstatusN]
512 +
513 +where N is the device number (ID)
514 +)))|(% style="width:472px" %)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)
515 +|(% style="width:404px" %)(((
516 +[devlastdtN],
517 +
518 +where N is the device number (ID)
519 +)))|(% style="width:472px" %)The time when the latest device data was received
520 +|(% style="width:404px" %)(((
521 +[devpingtimeN],
522 +
523 +where N is the device number (ID)
524 +)))|(% style="width:472px" %)Response time (in ms) to the ping command of the device polled by ICMP
525 +|(% style="width:404px" %)(((
526 +[connectedN],
527 +
528 +where N is the sequence number of TI
529 +)))|(% style="width:472px" %)Connection with the device with id N restored
530 +|(% style="width:404px" %)(((
531 +[!connectedN],
532 +
533 +where N is the sequence number of TI
534 +)))|(% style="width:472px" %)Connection with the device with id N is lost
535 +
536 +Table A.2 - Operators in formulas
537 +
538 +|(% style="width:130px" %)Operator|(% style="width:639px" %)Description|(% style="width:293px" %)Utilization|(% style="width:282px" %)Result
539 +|(% style="width:130px" %)+|(% style="width:639px" %)Adds up numbers or tag values|(% style="width:293px" %)5 + 5|(% style="width:282px" %)10
540 +|(% style="width:130px" %)-|(% style="width:639px" %)Subtracts the first number or tag value from the second number or tag value|(% style="width:293px" %)5 - 3|(% style="width:282px" %)2
541 +|(% style="width:130px" %)*|(% style="width:639px" %)Multiplies numbers or tag values|(% style="width:293px" %)0.01 * [val]|(% style="width:282px" %)0.01 * [val]
542 +|(% style="width:130px" %)/|(% style="width:639px" %)Divides the first number or tag value by the second number or tag value|(% style="width:293px" %)[val] / 1000|(% style="width:282px" %)[val] / 1000
543 +|(% style="width:130px" %)%|(% style="width:639px" %)Returns the remainder of the division|(% style="width:293px" %)10 / 3|(% style="width:282px" %)1
544 +|=(% style="width: 130px;" %) |(% style="width:639px" %)Assigns a specific value to a tag|(% style="width:293px" %)[ti123] = 5|(% style="width:282px" %)5
545 +|=(% style="width: 130px;" %)=|(% style="width:639px" %)Returns true if the compared values are equal, and false if they are not equal|(% style="width:293px" %)2 == 2|(% style="width:282px" %)true
546 +|(% style="width:130px" %)<, >, <=, >=|(% style="width:639px" %)Returns true if the arithmetic condition is met and false if it is not met|(% style="width:293px" %)2 >= 3|(% style="width:282px" %)false
547 +|(% style="width:130px" %)&&, &, &, &|(% style="width:639px" %)Logical operator "and"|(% style="width:293px" %) |(% style="width:282px" %)
548 +|(% style="width:130px" %)~~|~|, OR, or|(% style="width:639px" %)Logical operator "or"|(% style="width:293px" %) |(% style="width:282px" %)
549 +
550 +
551 +
310 310