Условия перехода состояния
Условия перехода состояния – набор пользовательских условий, которые определяют когда объект должен изменить своё состояние.
Условия перехода состояния можно задать в соответствующей секции сущностей. Условия перехода состояния по умолчанию для объектов можно задать с помощью классов.
Алгоритм выбора данных для нескольких условий
Если у сущности задано несколько условий перехода состояний, то система применяет следующий алгоритм:
-
для первого условия система производит поиск по всему доступному набору данных и возвращает набор из всех найденных совпадений;
-
для второго и последующих условий система ищет не по всему набору доступных сущности данных, а по набору оставшемуся после фильтрации в предыдущем условии.
Таким образом с каждой проверкой происходит "сужение" проверяемого набора данных.
Приоритетность условий
Проверка условий работает сверху вниз до первого выполненного условия. Чем выше запись, тем приоритетнее условие.
Порядок записей можно менять перетаскиванием за иконку .
Если ни одно из условий не выполнено, то объект переходит в состояние по умолчанию NO DATA с указанием причины Нет подходящего условия
.
Состояние по умолчанию можно задать в параметре default_state_id в разделе Server конфигурационного файла сервера.
|
Если необходимо исключить ситуацию перехода в состояние по умолчанию по причине отсутствия подходящего условия, рекомендуется установить последним пустое условие с действием Не переводить состояние
:


Описанный выше метод работает только для выполненной проверки, возвращающей данные. Если по каким-либо причинам проверка не выполняется, то объект будет принудительно переведён в состояние по умолчанию. |
Этот способ также может быть полезен, если необходимо игнорировать некоторое значение или диапазон значений. Например, если необходимо проверить доступность некоторого ресурса с помощью HTTP-GET запроса, то настройка может быть такой:
-
При 200-м коде ответа состояние меняется на WORKING.
-
Если в течение более одной минуты код ответа отличен от 200-го, то состояние меняется на ALARM.
-
В остальных случаях состояние не меняется.
Пример настройки:

