- Описание функциональных характеристик системы
- Поддержание жизненного цикла
- Установка PromUC
- Настройка сервисов
- Обновление PromUC
- Резервное копирование и восстановление базы данных Promuc FrameWork
- Рекомендации по безопасности
- Руководство по эксплуатации и администрированию
- Module GIS
- Конфигурирование правил и сценариев
- Module Framework
- Module Interface
- Технологии проекта
- Эксплуатация КТС
- Единый сервис аутентификации
- Информация о релизах
Тревога по условию¶
Узел анализирует входные данные, если условие, указанное пользователем, соблюдается, то отправляет сообщение о нормальной величине входного значения. Если полученное значение не соотвествует ожидаемому, то отправляет сообщение указанное в настройках.
Сообщение, поступающее на вход данного узла должно быть в формате: *
values[] * property-name - имя входной переменной str
*
value - значение на проверку bool|number
* source - по
желанию, str
Если новое поступившее value будет идентично старому, то тревога не сработает.
Конфигурация узла:¶
Входные данные¶
Структура csv файла: - property_name - имя входящей переменной,
указать требуется значение входящего property-name; str
-
alarm_text - сообщение, которое будет отправлено с тревогой str
- description - доп. сообщение, которое будет отправлено с тревогой
str
- type - способ анализа значения свойства для отправки
следующему узлу. Далее нужные значения для каждого типа: - bool -
преобразует в binary
оператор - true - на вход можно подать в
любом регистре, всё переводится в нижний. - false - threshold -
min_value - условие тревоги double
- max_value - условие
тревоги double
- threshold - входное значение равно этому
значению double
- cov - Если изменение в пределах шума,
проверяем была ли ранее тревога. Если уже была, то скипаем double
-
interval - min_value - условие тревоги double
-
max_value - условие тревоги double
- min_resolution -
Проверяем на пересечение пределов измерения double
-
max_resolution - Проверяем на пересечение пределов измерения
double
- cov - Если изменение в пределах шума, проверяем была ли
ранее тревога. Если уже была, то скипаем double
- status_flag -
пользовательский флаг unsigned int
Загрузка настроек из файла csv, пример¶
prop_y_name |
alarm_parm_text |
description |
type |
min_val |
max_val |
thresh |
bin |
min_resolution |
max_resolution |
cov |
status_flag |
---|---|---|---|---|---|---|---|---|---|---|---|
adress0 |
alarm |
Тревога! |
int |
1 |
2 |
-100 |
100 |
0.5 |
10 |
||
adress1 |
alarm |
Тревога! |
thresh |
40 |
-100 |
100 |
0.5 |
0 |
|||
adress2 |
alarm |
Тревога! |
bool |
false |
0 |
Csv
property_name;alarm_text;description;type;min_value;max_value;threshold;binary;min_resolution;max_resolution;cov;status_flag
address0;alarm;Тревога! Выход за интервал;interval;10;20;;;-100;100;0.5;10
address1;alarm;Тревога! Критический уровень;threshold;;;40;;-100;100;0.5;0
address2;alarm;Тревога! Условие истинно;bool;;;;false;;;;0
Пример сообщения на вход¶
Json
{
"values":[
{
"property-name": "address0",
"value": 22.000000,
"source": "temperature-checker"
},
{
"property-name": "address1",
"value": 16.43,
"source": "Jason"
}
]
}
Данные на выходе из узла¶
Json
{
"alarms": [
{
"alarm_text": "alarm",
"description": "Тревогa! Казахстан угрожает нам бомбардировкой!",
"property-name": "address0",
"source": "temperature-checker",
"status_flag":1,
"value": 22.000000
},
{
"alarm_text": "normal"
"property-name": "address1",
"description": "Норма",
"source": "Jason",
"status_flag":0,
"value": 16.43
}
]
}
Пример использования:¶
Построим схему: (или возьмём готовую test_alert.yaml
)
Настройте схему по следующим параметрам:
{
"values":[
{
"property-name": "address0",
"value": 16.43
}
]
}
Python
import random
obj['DATA']['values'][0]['value']=random.randint(0,30)
return obj
alarm(202).csv
property_name;alarm_text;description;type;min_value;max_value;threshold;binary;min_resolution;max_resolution;cov;status_flag
address0;alarm;Тревога! Выход за интервал;interval;10;20;;;-100;100;0.5;10
Сохраняем цепочку и смотрим вывод в сокет