Создание сценария автоматизации
Для создания нового автомата перейдите на вкладку Логика. Добавьте автомат, нажав на плюсик.
Заполните следующие поля:
- имя — наименование автомата;
- описание — подробная характеристика автомата, заполняется при необходимости;
- модель — выберите модель объекта, для которого будете формировать сценарий автоматизации. Если автомат будет включать в себя взаимодействие между несколькими объектами, выберите те модели, которые соответствуют этим объектам;
- импорт — возможность импортировать готовый автомат в виде файла или по ссылке.
Нажмите кнопку Создать. Перед вами откроется новый автомат с минимальным набором элементов в рабочей области.
-
Сохранить: Сохранить изменения автомата. Если ранее автомат был запущен на объектах, он продолжит работать в предыдущей версии. Для того чтобы изменения вступили в силу, автомат необходимо перезапустить на объекте
-
Состояние: Добавить новое состояние
-
Экспорт .json: Экспортировать автомат в файл формата JSON
-
Обозначение начала исполнения сценария: Используется в любом автомате
-
Обозначение окончания исполнения сценария: Может не использоваться, если автомат предполагает циклическое выполнение без остановки
-
Состояние инициализации сценария: Присутствует в любом автомате
-
Состояние: В нем указываются действия, которые должны быть выполнены на входе и выходе
-
Переход: В нем задается событие (всегда) и условие (опционально), при которых происходит переход из одного состояния в другое
-
Ссылки на используемые в автомате модели
-
Minimap: Небольшое вспомогательное окно, отображающее весь автомат в целом. Перемещение по автомату может производиться как через minimap, так и непосредственно через рабочую область. Minimap можно скрыть, нажав на кнопку в ее правом верхнем углу
-
Кнопки для изменения масштаба
Состояния
Для добавления состояния нажмите кнопку Состояние.
Интерфейс состояния
- Вход в состояние
- Выход из состояния
- Удаление состояния
- Название состояния
- Описание состояния
- Добавление действий, которые будут выполняться при входе в состояние
- Перечень выбранных действий на входе
- Добавление действий, которые будут выполняться при выходе из состояния
- Перечень выбранных действий на выходе
- Изменение размеров состояния
Для того чтобы добавить в состояние действие, определите, когда оно должно выполняться: на входе или на выходе. После этого нажмите на соответствующую кнопку, чтобы открыть полный список действий в соответствии с заданной моделью. Этот перечень включает в себя как действия, определенные для каждой модели, так и команды, которые вы добавили. Из данного раскрывающегося списка выберите одну или несколько команд, которые должны быть выполнены на входе или на выходе из состояния.
Действия на входе в состояние выполняются при переходе в это состояние из любого другого. Действия на выходе из состояния выполняются при переходе из этого состояния в любое другое.
Действия поделены на три смысловые группы:
- Действия автомата - базовые действия каждого автомата:
-
Изменить значение
-
Сгенерировать событие
-
Таймер №... - команды управления таймером:
- Запустить таймер №...
- Остановить таймер №...
-
Планировщик №... - команды управления планировщиком:
- Запустить планировщик №...
- Остановить планировщик №...
- Регистрация событий - действия, направленные на фиксацию момента входа/выхода из состояния:
- Показать сообщение
- Отправить HTTP-запрос
- Отправить e-mail
- Отправить SMS
- Действия объекта - команды, которые можно отправить на объект:
- Базовые - команды, присутствующие в модели по умолчанию, отличаются в зависимости от протокола.
Все остальные разделы, которые вы видите в действиях, - это подсистемы с теми командами, которые вы создали в модели.
Показать сообщение
Отправка сообщений позволяет следить за текущими изменениями, происходящими при исполнении логики. Если добавить данную команду на вход в какое-либо состояние, то при переходе объекта в данное состояние система отправит необходимое уведомление. Оно проинформирует о том, что совершилось определенное событие, вследствие которого объект теперь находится в данном состоянии. В итоге при регулярной отправке уведомлений вы всегда будете знать о ходе статусе процесса управления.
Формирование сообщений
Для формирования сообщения добавьте в состояние команду Показать сообщение. Справа появится боковая панель, на которой выберите степень важности сообщения:
-
Информационное;
-
Важное;
-
Критическое.
Если необходимо проинформировать о совершении какого-либо перехода или события, то тогда достаточно указать сообщение как информационное. Если же уведомление играет более значительную роль, например, зарегистрировано какое-то отклонение от нормы или нарушение, то имеет смысл повысить важность сообщения.
Далее заполните содержимое сообщения. Текст сообщения формируется в произвольном виде, его формат строго не регламентирован. Однако желательно, чтобы он был коротким и информативным для удобного отображения на платформе.
Помимо описательной информации о произошедшем событии, в сообщении можно отправить конкретные текущие значения параметров. Все значения, которые можно использовать, указаны в API link объекта.
В этом случае в сообщении формируется конструкция
{{object.<...>.parameter_id}}
, где
<...>
- подсистемы вложенности, в которых находится параметр, указываются
через точку;
parameter_id
- идентификатор параметра.
Например, {{object.state.humidity}}
, {{object.name}}
и т.д.
Тогда содержимое уведомления может быть сформировано следующим образом:
{
"event": "Good conditions",
"temperature": "{{object.state.temperature}}"
}
В тексте сообщения вместо {{object.state.temperature}}
будет подставлено текущее
значение параметра с идентификатором temperature.
Отображение и просмотр сообщений
Отправленные сообщения показываются в правой боковой панели сообщений.
- Кнопка для открытия/закрытия панели сообщений. При наличии непрочитанных сообщений выглядит так
-
Кнопка для закрытия панели сообщений
-
Фильтр по времени получения: можно отобразить сообщения, которые были получены С начала часа, С начала дня, С начала месяца и С начала года
-
Строка поиска, поиск происходит как по объектам, так и по содержимому сообщения
-
Фильтр по степени важности: можно отобразить сообщения с уровнем Критический, Важный и Информация. При этом каждый уровень идентифицируется своим цветом: красным, желтым или зеленым соответственно
-
Группировка сообщений
-
Дата и время получения сообщения
-
Скрытие сообщения из списка
-
Имя объекта, к которому относится данное сообщение
-
Содержимое сообщения
-
Если кликнуть на отдельное сообщение, то оно полностью отобразится чуть левее боковой панели, будет помечено как прочитанное и исчезнет из списка сообщений
-
История сообщений
-
Очистка списка сообщений
При появлении новых сообщений, которые не проходят по выставленному фильтру, поле ввода на короткое время выделяется красным цветом.
Варианты группировок сообщений:
- * - отсутствие группировки, сообщения отображаются полным списком;
- Объект - для каждого объекта все оповещения будут собраны в единую группу. Перед названием каждого объекта в квадратных скобках отображается количество сообщений в группе;
- Текст - сообщения группируются по содержимому. Уведомления образуют отдельную группу в том случае, если обладают одинаковым текстом. После названия объекта в круглых скобках отображается количество объектов, по которым пришли уведомления с таким же текстом.
Для работы с сообщениями уровня Критическое предусмотрена возможность включения дополнительных оповещений в разделе Настройки .
Все полученные сообщения сохраняются в истории. В первую очередь укажите период, за который необходимо отобразить оповещения:
- С начала часа;
- С начала дня;
- С начала месяца;
- С начала года;
- Интервал - укажите время От и До.
После этого можете задать фильтр по состоянию прочтения (Прочитанные, Непрочитанные) и степени важности (Критический, Важный, Информация). Группировка сообщений не предусмотрена.
Запустить/остановить планировщик №...
Запуск планировщика позволяет настроить срабатывание события в определенное время. Для того чтобы задать дату и время, добавьте в состояние команду Запустить планировщик. Справа появится боковая панель, на которой заполните следующие поля:
-
Часовой пояс - заполнен по умолчанию часовым поясом, настроенным в личном кабинете платформы, может быть изменен;
-
Тип:
-
Простой - выбирается только день недели;
-
Расширенный - выбирается месяц, день недели, день.
-
-
Месяц (для расширенного)
-
День недели
-
День (для расширенного)
Простой | Расширенный |
---|---|
Далее выберите время срабатывания. Точное и интервальное время настраиваются независимо друг от друга и работают параллельно:
-
Точное время - планировщик сработает в определенное время (например, если вы укажете 13:15, то событие Сработал планировщик произойдет ровно в 13:15:00)
-
Интервальное время - позволяет выбрать промежуток времени и периодичность срабатывания в рамках этого интервала (например, если вы выберете промежуток с 13:00 по 14:00 и интервал Каждые 2 минуты, то планировщик сработает в 13:00:00, 13:02:00, 13:04:00, …)
Для проверки ближайшего времени срабатывания планировщика нажмите кнопку Узнать. Это поможет вам проверить корректность составления сложного планировщика.
Если в ваших автоматах были ранее созданы планировщики в старом интерфейсе, они продолжат работать без изменений, однако не будут отображаться в текущем интерфейсе настройки планировщика. Поэтому рекомендуется провести конвертацию в новый интерфейс, нажав кнопку Конвертировать планировщик.
Каждый раз при наступлении времени, которое подходит под шаблон, заданный в планировщике, будет генерироваться событие Сработал планировщик, которое можно использовать в переходах.
Работа планировщика распространяется на весь автомат, а не только на состояние в котором он был запущен. Это значит, что он сработает независимо от того, находится ли сейчас автомат в состоянии, где вы запустили планировщик, или в любом другом.
Команда Остановить планировщик останавливает работу планировщика.
Запустить/остановить таймер №...
Запуск таймера позволяет настроить срабатывание события по истечении определенного времени. Для того чтобы задать время, добавьте в состояние команду Запустить таймер. Справа появится боковая панель, в которой впишите число, соответствующее количеству секунд, через которое таймер должен сработать.
Когда истечет время, указанное в таймере, будет сгенерировано событие Сработал таймер, которое можно использовать в переходах.
Работа таймера, как и работа планировщика, распространяется на весь автомат, а не только на состояние в котором он был запущен. Это значит, что он сработает независимо от того, находится ли сейчас автомат в состоянии, где вы запустили таймер, или в любом другом.
Команда Остановить таймер останавливает работу таймера.
Изменить значение
Если в ходе выполнения логики автомата необходимо изменять или заполнять значение каких-то параметров состояния, конфигурации или статуса, воспользуйтесь командой Изменить значение.
Эта команда предусматривает следующие функции:
- прочитать параметр из конфигурации/состояния/статуса и записать его в исходном виде в другой параметр из конфигурации/состояния/статуса;
- прочитать параметр из конфигурации/состояния/статуса, выполнить над ним некоторое выражение (прочитанное значение используется в формировании выражения в виде переменной $value) и записать полученное значение в параметр из конфигурации/состояния/статуса;
- определить какое-то значение в выражении и записать его в параметр из конфигурации/состояния/статуса.
Отправить HTTP-запрос
Если в ходе выполнения логики автомата необходимо передавать или, наоборот, загружать данные из стороннего сервиса (мобильные и веб-приложения, CRM и ERP-системы и т.д.), воспользуйтесь отправкой HTTP-запросов. Такой запрос подразумевает под собой отправку информации во внешний сервис посредством использования технологий протокола HTTP.
На отправку HTTP-запросов есть ограничение: один запрос в секунду с одного объекта.
Для формирования запроса добавьте в состояние команду Отправить HTTP-запрос. Справа появится боковая панель, на которой заполните следующие поля:
-
Метод запроса:
-
GET - получение данных из указанного ресурса;
-
POST - отправка данных ресурсу;
-
PUT - размещение данных на ресурсе целиком;
-
PATCH - аналогичен PUT, но применяется только к некоторому фрагменту данных;
-
DELETE - удаление данных из ресурса;
-
-
URL - адрес, на который будет отправлен запрос;
-
Заголовки - позволяют учесть особенности представления и передачи данных серверу. Здесь могут быть заданы параметры авторизации, язык содержимого сообщения, форматы сообщения, требуемые на стороне клиента или сервера, сведения о проведении соединения и т.д.;
-
Тело сообщения - непосредственно данные. Данное поле является необязательным.
Отправить e-mail
Если в ходе выполнения логики автомата необходимо отправлять электронные письма по определенным адресам, воспользуйтесь отправкой e-mail. Для того чтобы настроить параметры отправки, добавьте в состояние команду Отправить e-mail. Справа появится боковая панель, на которой заполните следующие поля:
-
SMTP сервер - сервер исходящей почты, с которого будет отправлено электронное письмо по протоколу SMTP. Данное поле является обязательным; Подробнее о создании SMTP сервера >>>
-
Отправитель - адрес, с которого будет отправлено письмо;
-
Получатели - адрес, на который будет отправлено письмо, можно указать
несколько адресов через запятую;
-
Тема - тема письма;
-
Содержимое (текст) - текст сообщения;
-
Содержимое (html) - текст сообщения в HTML-разметке. Если данное поле заполнено, то поле Содержимое (текст) игнорируется.
Сгенерировать событие
Для того чтобы сгенерировать в автомате событие, которое вы создали в модели, добавьте действие Сгенерировать событие. Заполните следующие поля:
- Тип - выберите одно из созданных в модели событий;
- Payload (Данные) - дополнительно можно указать какие-то сведения о событии и обрабатывать их.
Переходы
Для построения перехода между состояниями проведите пунктирную линию от границы первоначального до границы последующего состояния.
Интерфейс перехода
- Выравнивание перехода между состояниями
- Удаление перехода
- Название события
- Редактирование условий
- Описание указанных условий
- Изменение размеров перехода
- Выбор взаимодействия указанных ниже условий
- Сохранение указанных ниже условий
- Параметр для сравнения
- Операция сравнения
- Варианты аргумента для сравнения
- Добавление условия
События
В переходе укажите событие, которое должно произойти для совершения перехода.
События поделены на две смысловые группы:
- События автомата:
-
Мгновенный переход - переход происходит сразу же;
-
Таймер №... - события в таймерах:
- Сработал таймер №… - переход происходит при срабатывании запущенного таймера;
-
Планировщик №... - события в планировщиках:
- Сработал планировщик №… - переход происходит при срабатывании запущенного планировщика.
- События объекта:
- Получены данные - переход происходит при получении пакета с данными;
- Редактирование объекта - переход происходит при сохранении изменений на вкладке объекта Редактирование;
- Геозоны - события в геозонах:
- Вход в геозону - переход происходит при входе в отслеживаемую геозоны;
- Выход из геозоны - переход происходит при выходе из отслеживаемой геозоны;
- Вход в комнату - переход происходит при входе в отслеживаемую комнату на схеме;
- Выход из комнаты - переход происходит при выходе из отслеживаемой комнаты на схеме.
Все остальные разделы, которые вы видите в событиях, - это подсистемы с теми событиями, которые вы создали в модели.
После выбора события его можно изменить. Для этого кликните на переход и нажмите на кнопку изменения события. Появится выпадающий список для выбора необходимого варианта.
Условия
После выбора события дополнительно можно указать условие, при выполнении которого происходит переход.
Для формирования условия выберите параметр модели, значение которого необходимо проверить, из выпадающего списка.
При выборе параметра из большой модели удобно пользоваться поиском.
Сравнивать параметры можно с
- заданной величиной в разделе Значение,
- другим параметром, выбранным в разделе Параметр,
- одним из уровней данного параметра, выбранным в разделе Уровень,
- конфигурационным значением, выбранным в разделе Конфигурация.
Раздел Уровень появляется только в том случае, если для параметра, выбранного слева, в модели автомата заданы уровни.
Раздел Конфигурация появляется только в том случае, если в модели автомата есть параметры с типом Конфигурация.
Выберите операцию сравнения и после формирования условия нажмите кнопку сохранения в правом верхнем углу окна добавления условий.
В одном переходе можно задать от одного до четырех условий. Их взаимодействие между собой сконфигурируйте с помощью кнопок И и ИЛИ. При выборе И для выполнения перехода должны быть выполнены все условия, при выборе ИЛИ - любое из указанных.
Для удаления одного из условий наведите на него и нажмите крестик.
Увеличьте размер перехода, чтобы увидеть автоматически сформированное описание об указанных условиях.