Smart Zone — различия между версиями
Ipe (обсуждение | вклад) (→Настройка) |
Ipe (обсуждение | вклад) |
||
(не показаны 33 промежуточные версии этого же участника) | |||
Строка 3: | Строка 3: | ||
# Трансляция состояний устройств в состояние зоны. | # Трансляция состояний устройств в состояние зоны. | ||
# Отсечение ложных срабатываний путем перевода зоны в тревогу по минимум двум тревожным устройствам. | # Отсечение ложных срабатываний путем перевода зоны в тревогу по минимум двум тревожным устройствам. | ||
+ | # Трансляция команд от Зоны в устройства(При отправки команды "Снять с охраны/Взять под охрану" у зоны, всем устройствам подключенным к этой зоне будет так же транслироваться данная команда.) | ||
− | == | + | == Создание схемы == |
В редакторе СКАДА необходимо добавить элементы, для этого необходимо: | В редакторе СКАДА необходимо добавить элементы, для этого необходимо: | ||
Строка 13: | Строка 14: | ||
::3. Нажать кнопку "Добавить". Элемент появится на рабочей области. | ::3. Нажать кнопку "Добавить". Элемент появится на рабочей области. | ||
::4. Аналогично пункту 2 добавить элементы: Менеджер устройств (AcuarioManager), EGS Модуль (EGSModule). | ::4. Аналогично пункту 2 добавить элементы: Менеджер устройств (AcuarioManager), EGS Модуль (EGSModule). | ||
− | ::5. Smart Zone (Скрипт необходимо | + | ::5. Smart Zone (Скрипт необходимо сохранить отсюда [http://maps.integra-s.com:5434/resources/typedef2017/egs/Smart%20Zone.put Smart Zone]). Для того, чтобы импортировать скрипт необходимо в редакторе СКАДА нажать на меню Действия > Импорт элементов > выбрать сохраненный скрипт. |
Необходимо добавить следующие связи: | Необходимо добавить следующие связи: | ||
::1. Smart Zone: EGS вход:EGSInput + EGS Модуль: EGS Выход:EGSOutput. | ::1. Smart Zone: EGS вход:EGSInput + EGS Модуль: EGS Выход:EGSOutput. | ||
Строка 19: | Строка 20: | ||
::3. Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer. | ::3. Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer. | ||
[[File:базовая_схема_умнойЗоны.jpg|центр]] | [[File:базовая_схема_умнойЗоны.jpg|центр]] | ||
+ | |||
+ | ==Проверка== | ||
+ | |||
+ | После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей [http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Smart%20Zone.put&path=0/params/hash/value ссылке], в том случае если скрипт не был изменен. | ||
== Настройка == | == Настройка == | ||
Строка 25: | Строка 30: | ||
:1. Включен (enabled) - задействовать триггер. | :1. Включен (enabled) - задействовать триггер. | ||
:2. Настройки (settings) - настройки скрипта имеют следующие параметры: | :2. Настройки (settings) - настройки скрипта имеют следующие параметры: | ||
− | [[File: | + | [[File:Настройки скрипта.jpg|центр]] |
::1. alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено. | ::1. alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено. | ||
::2. interval - фиксированный интервал пересчета состояния зоны. | ::2. interval - фиксированный интервал пересчета состояния зоны. | ||
::3. precedence - типы тревожных состояний зоны, с указанием минимальных значений суммарного precedence(приоритет обработки) для перехода зоны в это состояние. | ::3. precedence - типы тревожных состояний зоны, с указанием минимальных значений суммарного precedence(приоритет обработки) для перехода зоны в это состояние. | ||
::4. alarm_info - информация о состоянии зоны: | ::4. alarm_info - информация о состоянии зоны: | ||
− | :::1. alarms_only - информировать только о тревожных датчиках | + | :::1. alarms_only - информировать только о тревожных датчиках. |
− | :::2. changes_only - информировать только при смене состояния зоны | + | :::2. changes_only - информировать только при смене состояния зоны. |
::5. importance - таблица соответствия типа члена зоны маске состояния данного типа и далее числовому значению importance (важности) этого состояния. В данном параметре указываются типы элементов и их состояния с числовым значением. | ::5. importance - таблица соответствия типа члена зоны маске состояния данного типа и далее числовому значению importance (важности) этого состояния. В данном параметре указываются типы элементов и их состояния с числовым значением. | ||
− | + | 3. У зоны должны быть настроены следующие параметры: | |
− | |||
− | |||
− | |||
− | |||
:1. Суммарный вес датчиков для перехода зону в тревогу (alarm_weight), если: | :1. Суммарный вес датчиков для перехода зону в тревогу (alarm_weight), если: | ||
::1. У зоны суммарный вес > 0, то означает минимальный необходимый суммарный вес входящих в зону датчиков для перевода зоны в состояние Тревога(alarm.alarm). Вес датчика определяется параметром Вес(weight) у Связь с зоной(ZoneLink) соединяющим датчик с зоной. | ::1. У зоны суммарный вес > 0, то означает минимальный необходимый суммарный вес входящих в зону датчиков для перевода зоны в состояние Тревога(alarm.alarm). Вес датчика определяется параметром Вес(weight) у Связь с зоной(ZoneLink) соединяющим датчик с зоной. | ||
− | ::2. У зоны суммарный вес = 0, то используется алгоритм с тремя тревожными состояниями Маловероятная тревога(alarm.unlikely), Вероятная тревога(alarm.likely) и Тревога(alarm.alarm), вес которых указывается в настройках Smart Zone. Вес датчика рассчитывается по формуле: вес * приоритет обработки датчика * importance. | + | ::2. У зоны суммарный вес = 0, то используется алгоритм с тремя тревожными состояниями Маловероятная тревога(alarm.unlikely), Вероятная тревога(alarm.likely) и Тревога(alarm.alarm), вес которых указывается в настройках Smart Zone(precedence). Вес датчика рассчитывается по формуле: вес * приоритет обработки датчика * importance. |
:2. Область (area) - заполняется при создании зоны через клиент Интегра планета Земля. | :2. Область (area) - заполняется при создании зоны через клиент Интегра планета Земля. | ||
− | :3. При | + | 4. У линка ZoneLink, соединяющего датчик с зоной, должны быть настроены следующие параметры: |
+ | ::1. weight - вес данного датчика в зоне, по умолчанию: 1. | ||
+ | |||
+ | == Дополнительно == | ||
+ | |||
+ | {{Скрытый текст|Видимый текст=:1. Информация о состоянии зоны в параметре alarm_info:|Скрытый текст= | ||
+ | :# alarm_factor - значение параметра alarm_factor зоны. | ||
+ | :# alarm_precedence - суммарный precedence (weight * precedence * importance) тревожных устройств зоны. | ||
+ | :# state_before - предыдущее состояние зоны. | ||
+ | :# state_after - текущее состояние зоны. | ||
+ | :# members - информация об устройствах зоны со следующими полями: | ||
+ | ::# type - тип устройства. | ||
+ | ::# state - состояние устройства (текущее или последнее тревожное, если не вышел таймаут alarm_timeout). | ||
+ | ::# datetime - время перехода устройства в состояние указанное в state. | ||
+ | ::# weight - вес устройства в зоне, т.е. значение параметра weight линка ZoneLink соединяющего устройство с зоной. | ||
+ | ::# precedence - значение параметра precedence устройства. | ||
+ | ::# importance - важность состояния указанного в state в соответствии с таблицей settings.importance. | ||
+ | ::# alarm - флаг указывающий является ли состояние в state тревожным. | ||
+ | ::# value - реальное текущее значение состояния устройства, может отличаться от значения в state в том случае, если state указывает на недавнюю, но уже сброшенную тревогу. | ||
+ | }} | ||
+ | :2. Таблица соответствия порогов тревожных приоритетов тревожным состояниям зоны settings.precedence: | ||
+ | Конфигурация использующая все три тревожных состояния зоны: | ||
+ | "precedence": { | ||
+ | "alarm_unlikely": 10.0, | ||
+ | "alarm_likely": 60, | ||
+ | "alarm_alarm": 90 | ||
+ | }, | ||
+ | где 10, 60, 90 - это значения параметра приоритет обработки устройств подключенные к зоне.<br /> | ||
+ | Если устройство подключенное к зоне ушло в тревогу со значением приоритета обработки: | ||
+ | ::1. От 0-9, то трансляция состояния устройства в состояние зоны не выполнится, значит Зона не изменит свое состояние. | ||
+ | ::2. От 10-59, то трансляция состояния устройства в состояние зоны выполнится и у зоны состояние будет = Маловероятная тревога(alarm_unlikely). | ||
+ | ::3. От 60-89, то трансляция состояния устройства в состояние зоны выполнится и у зоны состояние будет = Вероятная тревога(alarm_likely). | ||
+ | ::4. От 90 и выше, то трансляция состояния устройства в состояние зоны выполнится и у зоны состояние будет = Тревога(alarm_alarm). | ||
+ | При необходимости можно убирать или добавлять тревожные состояния зоны: | ||
+ | "precedence": { | ||
+ | "alarm_alarm": 90 | ||
+ | }, | ||
+ | Таблица важности состояний settings.importance для типа BOLID_ContactSensor (устройство может быть и другим) отключить тревогу по тревожному состоянию alarm_openCase, а для состояния alarm_longOpen наоборот повысить "тревожность" вдвое: | ||
+ | "importance": { | ||
+ | "BOLID_ContactSensor": { | ||
+ | "alarm_openCase": 0.0, | ||
+ | "alarm_longOpen": 2.0 | ||
+ | } | ||
+ | Если устройству BOLID_ContactSensor подключенного к зоне установилось состояние = alarm_openCase, то Зона не будет учитывать состояние этого устройства.<br /> | ||
+ | Если устройству BOLID_ContactSensor подключенного к зоне установилось состояние = alarm_longOpen, то приоритет обработки(например = 30) этого устройства * 2.0 (значение у alarm_longOpen), получая итоговое значение = 60, которое повлияет на состояние Зоны(будет не маловероятная тревога а вероятная тревога(т.к. приоритет обработки от 60-89)).<br /> | ||
+ | |||
+ | Не учитывать состояние всех датчиков типа StreetLighting: | ||
+ | "importance": { | ||
+ | "StreetLighting": { | ||
+ | "*": 0.0, | ||
+ | } | ||
+ | :3. Если в зоне нет ни одного устройства, состояние зоны устанавливается в Неизвестно (none.unknown). | ||
+ | :4. Команды activate и deactivate транслируются в соответствующие команды устройств зоны с ненулевым весом. | ||
+ | :5. Пересчет состояния зон происходит не по изменению параметров самих зон либо их устройств, но по таймеру с частотой не превышающей settings.interval для зон которых что-то поменялось с последнего пересчета, а так же с частотой не превышающей settings.alarm_timeout для всех зон вообще (это нужно для сброса "недавней" тревоги). Таким образом вне зависимости от частоты изменений состояний устройств зоны, управляя этими параметрами, можно добиться какой-то фиксированной нагрузки на сервер АМ. Так же пересчет состояний всех зон происходит при запуске скрипта. Ниже указаны параметры по изменению которых зона помечается как измененная и соответственно требующая пересчета своего состояния: | ||
+ | :# state - состояние самой зоны либо какого-то устройства подключенного к ней. | ||
+ | :# alarm_factor - параметр зоны. | ||
+ | :# precedence - параметр устройства зоны. | ||
+ | :# weight - параметр линка ZoneLink соединяющего зону с устройством. | ||
+ | :# settings - параметр зоны, при изменении настроек скрипт пересобирается и перезапускается. | ||
+ | :6. Важно при использовании отладочной настройки settings.alarm_info.changes_only не оставить ее в значении false, потому что в таком режиме параметр alarm_info зоны обновляется по таймеру в результате изменений указанных выше даже в том случае, если состояние зоны в результате пересчета не поменялось, например только в таком режиме возможно, чтобы alarm_info.state_before содержало такое же значение, что и alarm_info.state_after. | ||
+ | :7. Информация о состоянии зоны в параметре alarm_info обновляется в тех случаях если: | ||
+ | :# settings.changes_only == false. | ||
+ | :# состояние зоны изменилось. | ||
+ | :# alarm_info - пусто. | ||
+ | :# в зоне новая тревога, т.е. тревога устройства зоны произошла позднее смены состояния зоны. | ||
== Пример работы == | == Пример работы == | ||
+ | |||
+ | 1. Когда суммарный вес(alarm_weight) датчиков для перехода зоны в тревогу > 0. | ||
+ | |||
+ | :Для построения схемы необходимо: | ||
+ | |||
+ | ::1. Создать схему по выше описанному алгоритму (см. [[Smart Zone#Создание_схемы|Создание схемы]]). | ||
+ | ::2. Добавить элемент Зона и 3 IP видеокамеры, соединив пины "Зона:ZoneOutputPin" у Зоны и "Привязка к зоне:ZoneInputPin" у IP видеокамер. | ||
+ | [[File:Добавлена зона.jpg|центр]] | ||
+ | ::3. В свойствах элемента Зона установить суммарный вес датчиков для перехода зоны в тревогу = 2. | ||
+ | [[File:sum_zone.jpg|центр]] | ||
+ | ::4. Установить в 2 IP видеокамерах состояние "Тревога", в результате у Зоны устанавливается состояние "Тревога". | ||
+ | [[File:state_zone.jpg|центр]] | ||
+ | |||
+ | 2. Когда суммарный вес(alarm_weight) датчиков для перехода зоны в тревогу = 0 а так же использование важности какого то определенного состояния. | ||
+ | :Для построения схемы необходимо: | ||
+ | |||
+ | ::1. Создать схему по выше описанному алгоритму (см. [[Smart Zone#Создание_схемы|Создание схемы]]). | ||
+ | ::2. Добавить элемент Зона и 3 IP видеокамеры, соединив пины "Зона:ZoneOutputPin" у Зоны и "Привязка к зоне:ZoneInputPin" у IP видеокамер. | ||
+ | [[File:Добавлена зона.jpg|центр]] | ||
+ | ::3. В свойствах элемента Зона установить суммарный вес датчиков для перехода зоны в тревогу = 0. | ||
+ | ::4. В настройках скрипта smart zone установить желаемые значения для: | ||
+ | "precedence": { | ||
+ | "alarm_unlikely": 10.0, | ||
+ | "alarm_likely": 60, | ||
+ | "alarm_alarm": 90 | ||
+ | } | ||
+ | ::5. Установить значение параметру приоритет обработки у 3-х видеокамер: 10, 60, 90. | ||
+ | ::6. Изменить состояние на тревогу у видеокамеры с приоритетом обработки = 10. | ||
+ | :::Результат: у зоны изменится состояние на Маловероятную тревогу. Далее вернуть видеокамере состояние в норму, чтобы зоне установилось состояние В Норме. | ||
+ | ::7. Изменить состояние на тревогу у видеокамеры с приоритетом обработки = 60. | ||
+ | :::Результат: у зоны изменится состояние на Вероятную тревогу. Далее вернуть видеокамере состояние в норму, чтобы зоне установилось состояние В Норме. | ||
+ | ::8. Изменить состояние на тревогу у видеокамеры с приоритетом обработки = 90. | ||
+ | :::Результат: у зоны изменится состояние на Тревогу. Далее вернуть видеокамере состояние в норму, чтобы зоне установилось состояние В Норме. | ||
+ | ::9. В настройках smart zone установить важность определенному состоянию для увеличения приоритета обработки устройству: | ||
+ | "importance": { | ||
+ | "VideoCamera": { | ||
+ | "alarm_dmDisconnected": 0.0, | ||
+ | "alarm_alarm": 2.0 | ||
+ | } | ||
+ | ::10. Изменить состояние на тревогу(alarm_alarm) у видеокамеры с приоритетом обработки = 60. | ||
+ | :::Результат: у зоны изменится состояние на Тревогу, т.к. был указан importance для состояния = "alarm_alarm": 2.0.<br /> | ||
+ | |||
+ | Так же если за время указанное в alarm_timeout в тревогу уйдут несколько устройств подключенные к зоне, то учитываться приоритет обработки будет общий от этих нескольких устройств. <br /> | ||
+ | Например: | ||
+ | ::1. Если видеокамере с приоритетом обработки = 60 установится тревожное состояние, то у зоны состояние будет = Вероятная тревога. | ||
+ | ::2. Если за время указанное в alarm_timeout установится тревожное состояние другой видеокамере с приоритетом обработки = 30, то состояние зоны обновится с вероятной тревоги на тревога, т.к. общий приоритет обработки = 90. |
Текущая версия на 11:47, 22 сентября 2021
Назначение
- Трансляция состояний устройств в состояние зоны.
- Отсечение ложных срабатываний путем перевода зоны в тревогу по минимум двум тревожным устройствам.
- Трансляция команд от Зоны в устройства(При отправки команды "Снять с охраны/Взять под охрану" у зоны, всем устройствам подключенным к этой зоне будет так же транслироваться данная команда.)
Создание схемы
В редакторе СКАДА необходимо добавить элементы, для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент Компьютер (Computer).
- 2. Дважды нажать на элемент Компьютер, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
- 4. Аналогично пункту 2 добавить элементы: Менеджер устройств (AcuarioManager), EGS Модуль (EGSModule).
- 5. Smart Zone (Скрипт необходимо сохранить отсюда Smart Zone). Для того, чтобы импортировать скрипт необходимо в редакторе СКАДА нажать на меню Действия > Импорт элементов > выбрать сохраненный скрипт.
Необходимо добавить следующие связи:
- 1. Smart Zone: EGS вход:EGSInput + EGS Модуль: EGS Выход:EGSOutput.
- 2. Менеджер устройств: Менеджер устройств:ManagingContainer + EGS Модуль: Привязка к менеджеру:ManagingContent.
- 3. Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer.
Проверка
После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке, в том случае если скрипт не был изменен.
Настройка
1. У компьютера/сервера должен быть настроен параметр сетевой адрес (ip).
2. Параметры Smart Zone:
- 1. Включен (enabled) - задействовать триггер.
- 2. Настройки (settings) - настройки скрипта имеют следующие параметры:
- 1. alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено.
- 2. interval - фиксированный интервал пересчета состояния зоны.
- 3. precedence - типы тревожных состояний зоны, с указанием минимальных значений суммарного precedence(приоритет обработки) для перехода зоны в это состояние.
- 4. alarm_info - информация о состоянии зоны:
- 1. alarms_only - информировать только о тревожных датчиках.
- 2. changes_only - информировать только при смене состояния зоны.
- 5. importance - таблица соответствия типа члена зоны маске состояния данного типа и далее числовому значению importance (важности) этого состояния. В данном параметре указываются типы элементов и их состояния с числовым значением.
3. У зоны должны быть настроены следующие параметры:
- 1. Суммарный вес датчиков для перехода зону в тревогу (alarm_weight), если:
- 1. У зоны суммарный вес > 0, то означает минимальный необходимый суммарный вес входящих в зону датчиков для перевода зоны в состояние Тревога(alarm.alarm). Вес датчика определяется параметром Вес(weight) у Связь с зоной(ZoneLink) соединяющим датчик с зоной.
- 2. У зоны суммарный вес = 0, то используется алгоритм с тремя тревожными состояниями Маловероятная тревога(alarm.unlikely), Вероятная тревога(alarm.likely) и Тревога(alarm.alarm), вес которых указывается в настройках Smart Zone(precedence). Вес датчика рассчитывается по формуле: вес * приоритет обработки датчика * importance.
- 2. Область (area) - заполняется при создании зоны через клиент Интегра планета Земля.
4. У линка ZoneLink, соединяющего датчик с зоной, должны быть настроены следующие параметры:
- 1. weight - вес данного датчика в зоне, по умолчанию: 1.
Дополнительно
- 1. Информация о состоянии зоны в параметре alarm_info:
- alarm_factor - значение параметра alarm_factor зоны.
- alarm_precedence - суммарный precedence (weight * precedence * importance) тревожных устройств зоны.
- state_before - предыдущее состояние зоны.
- state_after - текущее состояние зоны.
- members - информация об устройствах зоны со следующими полями:
- type - тип устройства.
- state - состояние устройства (текущее или последнее тревожное, если не вышел таймаут alarm_timeout).
- datetime - время перехода устройства в состояние указанное в state.
- weight - вес устройства в зоне, т.е. значение параметра weight линка ZoneLink соединяющего устройство с зоной.
- precedence - значение параметра precedence устройства.
- importance - важность состояния указанного в state в соответствии с таблицей settings.importance.
- alarm - флаг указывающий является ли состояние в state тревожным.
- value - реальное текущее значение состояния устройства, может отличаться от значения в state в том случае, если state указывает на недавнюю, но уже сброшенную тревогу.
- 2. Таблица соответствия порогов тревожных приоритетов тревожным состояниям зоны settings.precedence:
Конфигурация использующая все три тревожных состояния зоны:
"precedence": { "alarm_unlikely": 10.0, "alarm_likely": 60, "alarm_alarm": 90 },
где 10, 60, 90 - это значения параметра приоритет обработки устройств подключенные к зоне.
Если устройство подключенное к зоне ушло в тревогу со значением приоритета обработки:
- 1. От 0-9, то трансляция состояния устройства в состояние зоны не выполнится, значит Зона не изменит свое состояние.
- 2. От 10-59, то трансляция состояния устройства в состояние зоны выполнится и у зоны состояние будет = Маловероятная тревога(alarm_unlikely).
- 3. От 60-89, то трансляция состояния устройства в состояние зоны выполнится и у зоны состояние будет = Вероятная тревога(alarm_likely).
- 4. От 90 и выше, то трансляция состояния устройства в состояние зоны выполнится и у зоны состояние будет = Тревога(alarm_alarm).
При необходимости можно убирать или добавлять тревожные состояния зоны:
"precedence": { "alarm_alarm": 90 },
Таблица важности состояний settings.importance для типа BOLID_ContactSensor (устройство может быть и другим) отключить тревогу по тревожному состоянию alarm_openCase, а для состояния alarm_longOpen наоборот повысить "тревожность" вдвое:
"importance": { "BOLID_ContactSensor": { "alarm_openCase": 0.0, "alarm_longOpen": 2.0 }
Если устройству BOLID_ContactSensor подключенного к зоне установилось состояние = alarm_openCase, то Зона не будет учитывать состояние этого устройства.
Если устройству BOLID_ContactSensor подключенного к зоне установилось состояние = alarm_longOpen, то приоритет обработки(например = 30) этого устройства * 2.0 (значение у alarm_longOpen), получая итоговое значение = 60, которое повлияет на состояние Зоны(будет не маловероятная тревога а вероятная тревога(т.к. приоритет обработки от 60-89)).
Не учитывать состояние всех датчиков типа StreetLighting:
"importance": { "StreetLighting": { "*": 0.0, }
- 3. Если в зоне нет ни одного устройства, состояние зоны устанавливается в Неизвестно (none.unknown).
- 4. Команды activate и deactivate транслируются в соответствующие команды устройств зоны с ненулевым весом.
- 5. Пересчет состояния зон происходит не по изменению параметров самих зон либо их устройств, но по таймеру с частотой не превышающей settings.interval для зон которых что-то поменялось с последнего пересчета, а так же с частотой не превышающей settings.alarm_timeout для всех зон вообще (это нужно для сброса "недавней" тревоги). Таким образом вне зависимости от частоты изменений состояний устройств зоны, управляя этими параметрами, можно добиться какой-то фиксированной нагрузки на сервер АМ. Так же пересчет состояний всех зон происходит при запуске скрипта. Ниже указаны параметры по изменению которых зона помечается как измененная и соответственно требующая пересчета своего состояния:
- state - состояние самой зоны либо какого-то устройства подключенного к ней.
- alarm_factor - параметр зоны.
- precedence - параметр устройства зоны.
- weight - параметр линка ZoneLink соединяющего зону с устройством.
- settings - параметр зоны, при изменении настроек скрипт пересобирается и перезапускается.
- 6. Важно при использовании отладочной настройки settings.alarm_info.changes_only не оставить ее в значении false, потому что в таком режиме параметр alarm_info зоны обновляется по таймеру в результате изменений указанных выше даже в том случае, если состояние зоны в результате пересчета не поменялось, например только в таком режиме возможно, чтобы alarm_info.state_before содержало такое же значение, что и alarm_info.state_after.
- 7. Информация о состоянии зоны в параметре alarm_info обновляется в тех случаях если:
- settings.changes_only == false.
- состояние зоны изменилось.
- alarm_info - пусто.
- в зоне новая тревога, т.е. тревога устройства зоны произошла позднее смены состояния зоны.
Пример работы
1. Когда суммарный вес(alarm_weight) датчиков для перехода зоны в тревогу > 0.
- Для построения схемы необходимо:
- 1. Создать схему по выше описанному алгоритму (см. Создание схемы).
- 2. Добавить элемент Зона и 3 IP видеокамеры, соединив пины "Зона:ZoneOutputPin" у Зоны и "Привязка к зоне:ZoneInputPin" у IP видеокамер.
- 3. В свойствах элемента Зона установить суммарный вес датчиков для перехода зоны в тревогу = 2.
- 4. Установить в 2 IP видеокамерах состояние "Тревога", в результате у Зоны устанавливается состояние "Тревога".
2. Когда суммарный вес(alarm_weight) датчиков для перехода зоны в тревогу = 0 а так же использование важности какого то определенного состояния.
- Для построения схемы необходимо:
- 1. Создать схему по выше описанному алгоритму (см. Создание схемы).
- 2. Добавить элемент Зона и 3 IP видеокамеры, соединив пины "Зона:ZoneOutputPin" у Зоны и "Привязка к зоне:ZoneInputPin" у IP видеокамер.
- 3. В свойствах элемента Зона установить суммарный вес датчиков для перехода зоны в тревогу = 0.
- 4. В настройках скрипта smart zone установить желаемые значения для:
"precedence": { "alarm_unlikely": 10.0, "alarm_likely": 60, "alarm_alarm": 90 }
- 5. Установить значение параметру приоритет обработки у 3-х видеокамер: 10, 60, 90.
- 6. Изменить состояние на тревогу у видеокамеры с приоритетом обработки = 10.
- Результат: у зоны изменится состояние на Маловероятную тревогу. Далее вернуть видеокамере состояние в норму, чтобы зоне установилось состояние В Норме.
- 7. Изменить состояние на тревогу у видеокамеры с приоритетом обработки = 60.
- Результат: у зоны изменится состояние на Вероятную тревогу. Далее вернуть видеокамере состояние в норму, чтобы зоне установилось состояние В Норме.
- 8. Изменить состояние на тревогу у видеокамеры с приоритетом обработки = 90.
- Результат: у зоны изменится состояние на Тревогу. Далее вернуть видеокамере состояние в норму, чтобы зоне установилось состояние В Норме.
- 9. В настройках smart zone установить важность определенному состоянию для увеличения приоритета обработки устройству:
"importance": { "VideoCamera": { "alarm_dmDisconnected": 0.0, "alarm_alarm": 2.0 }
- 10. Изменить состояние на тревогу(alarm_alarm) у видеокамеры с приоритетом обработки = 60.
- Результат: у зоны изменится состояние на Тревогу, т.к. был указан importance для состояния = "alarm_alarm": 2.0.
- Результат: у зоны изменится состояние на Тревогу, т.к. был указан importance для состояния = "alarm_alarm": 2.0.
- 10. Изменить состояние на тревогу(alarm_alarm) у видеокамеры с приоритетом обработки = 60.
Так же если за время указанное в alarm_timeout в тревогу уйдут несколько устройств подключенные к зоне, то учитываться приоритет обработки будет общий от этих нескольких устройств.
Например:
- 1. Если видеокамере с приоритетом обработки = 60 установится тревожное состояние, то у зоны состояние будет = Вероятная тревога.
- 2. Если за время указанное в alarm_timeout установится тревожное состояние другой видеокамере с приоритетом обработки = 30, то состояние зоны обновится с вероятной тревоги на тревога, т.к. общий приоритет обработки = 90.