Создание сценария

Для создания нового сценария автоматизации перейдите на вкладку Сценарии. Добавьте сценарий, нажав на плюсик.

Заполните следующие поля:

  • имя — наименование сценария;
  • описание — подробная характеристика сценария, заполняется при необходимости.

Выберите тип:

  • по кросс-элементам - в таком сценарии автоматизации используются кросс-элементы - абстрактные параметры, которые можно создать непосредственно в сценарии, не привязываясь к какой-то определенной модели. Сценарий, построенный на кросс-элементах, является переиспользуемым компонентом, который можно применить к объектам с разными моделями, предварительно сопоставив кросс-элементы и параметры из модели объекта, на котором необходимо запустить сценарий;
  • по параметрам из модели - такой сценарий автоматизации формируется на базе конкретной выбранной модели. Если сценарий будет включать в себя взаимодействие между несколькими объектами, выберите те модели, которые соответствуют этим объектам.
💡

Ранее все сценарии автоматизации строились на жесткой связи сценария автоматизации и модели. Такой подход себя исчерпал, так как приводил к размножению однотипных решений и усложнял развитие проектов. Теперь основным механизмом построения сценариев автоматизации являются кросс-элементы. Создание сценариев автоматизации с типом данных По параметрам из модели официально считается устаревшим, но продолжает временно поддерживаться в рамках обратной совместимости.

Также вы можете импортировать готовый сценарий в виде файла или по ссылке.

Нажмите кнопку Создать. Перед вами откроется новый сценарий с минимальным набором элементов в рабочей области.

1 - Добавить состояние: Добавить новое состояние на рабочую область
2 - Сохранить: Сохранить изменения сценария. Если ранее сценарий был запущен на объектах, он продолжит работать в предыдущей версии. Для того чтобы изменения вступили в силу, сценарий необходимо перезапустить на объекте
3 - Экспорт: Экспортировать сценарий в файл формата JSON
4 - На весь экран: Открыть рабочую область на весь экран. В полноэкранном режиме остаются доступны все элементы управления сценарием
5 - Обозначение начала исполнения сценария: Используется в любом сценарии
6 - Обозначение окончания исполнения сценария: Может не использоваться, если сценарий предполагает циклическое выполнение без завершения
7 - Состояние инициализации сценария: Присутствует в любом сценарии
8 - Состояние: В нем указываются действия, которые должны быть выполнены на входе и выходе
9 - Переход: В нем задается событие (всегда) и условие (опционально), при которых происходит переход из одного состояния в другое
10 - Minimap: Небольшое вспомогательное окно, отображающее весь сценарий в целом. Перемещение по сценарию может производиться как через minimap, так и непосредственно через рабочую область. Minimap можно скрыть, нажав на кнопку в ее правом верхнем углу
11 - Кнопки для изменения масштаба

💡
  1. Регулярно сохраняйте изменения сценария автоматизации. Это можно сделать кнопкой Сохранить или с помощью сочетания клавиш Ctrl+S.

  2. Несохраненные изменения не удаляются при переключении между разделами интерфейса платформы, но при перезагрузке или закрытии страницы они будут потеряны.

  3. Если у вас открыта вкладка со сценарием автоматизации и в этот момент в него вносятся изменения в другой вкладке, другом браузере или даже другим пользователем, то вы увидите сообщение Сценарий был изменен и кнопку обновления данных. При этом если у вас были несохраненные изменения, которые вы внесли в сценарий до этого момента, сохранить их уже не получится.

Добавление состояния

Для добавления состояния нажмите кнопку Добавить состояние.

Интерфейс состояния

1 - Вход в состояние
2 - Выход из состояния
3 - Удаление состояния
4 - Название состояния
5 - Описание состояния. Отображается только при включенной опции Показывать описание на карточке
6 - Добавление действий, которые будут выполняться при входе в состояние. Ниже отображаются все выбранные действия
7 - Удаление выбранного действия
8 - Добавление действий, которые будут выполняться при выходе из состояния. Ниже отображаются все выбранные действия
9 - Изменение порядка действий с помощью drag-and-drop
10 - Изменение размеров состояния
11 - Название состояния
12 - Описание для отображения на карточке состояния
13 - Переключатель для скрытия или отображения описания на карточке состояния

Действия в состояниях

Для того чтобы добавить в состояние действие, определите, когда оно должно выполняться: на входе или на выходе. После этого нажмите на соответствующую кнопку, чтобы открыть полный список действий. Этот перечень включает в себя универсальные команды, доступные для каждого сценария автоматизации.

Из данного раскрывающегося списка выберите одно или несколько действий, которые должны быть выполнены на входе или на выходе из состояния.

💡

Действия на входе в состояние выполняются при переходе в это состояние из любого другого. Действия на выходе из состояния выполняются при переходе из этого состояния в любое другое.

Действия поделены на три смысловые группы:

  1. Действия сценария - базовые действия каждого сценария автоматизации:
  1. Регистрация событий - действия, направленные на фиксацию момента входа/выхода из состояния:
  1. Действия объекта - команды, созданные в сценарии как кросс-элементы. Группа пуста до тех пор, пока вы не создадите кросс-элементы с типом Действие внутри сценария.
💡

Каждое действие можно добавить в состояние на вход и выход только один раз. Если необходимо, к примеру, два раза подряд послать сообщение, e-mail, SMS или отправить какую-то команду, создайте еще одно состояние, добавьте туда нужные действия, а между состояниями создайте мгновенный переход. Таким образом можно реализовать механизм повторного выполнения одного и того же действия.

Изменить значение

Если в ходе выполнения сценария необходимо изменять или заполнять значение каких-то параметров состояния, конфигурации или статуса, созданных в кросс-элементах, воспользуйтесь действием Изменить значение.

Эта команда предусматривает следующие функции:

  • прочитать параметр из конфигурации/состояния/статуса и записать его в исходном виде в другой параметр из конфигурации/состояния/статуса. Прочитанное значение записывается в виде переменной $value;

💡

При изменении значения параметра в состоянии объекта меняется только визуальная информация по этому параметру в интерфейсе объекта. На подключенном к этому объекту устройстве в этот момент никаких изменений не происходит.

  • прочитать параметр из конфигурации/состояния/статуса, выполнить над ним некоторое выражение и записать полученное значение в параметр из конфигурации/состояния/статуса. Доступны простые арифметические операции: +, -, *, /;

  • задать какое-то значение в выражении и записать его в параметр из конфигурации/состояния/статуса.

В случае изменения значения статуса в поле Выполнить выражение укажите название статуса из списка возможных статусов, заданных для модели объекта.

Сгенерировать событие

Для того чтобы сгенерировать в сценарии событие, созданное в кросс-элементах, добавьте действие Сгенерировать событие. Заполните следующие поля:

  • Событие - выберите одно из созданных в кросс-элементах событий;
  • Payload (Данные) - дополнительно можно указать какие-то сведения о событии и обрабатывать их, если предполагается, что события также получает внешняя система, подключенная по WebSocket (opens in a new tab).

Изменить статус

Действие Изменить статус является частным случаем действия Изменить значение и позволяет изменить статус объекта, на котором будет выполняться сценарий автоматизации. Для этого в поле Изменить значение на укажите идентификатор статуса из списка возможных статусов, заданных для модели объекта.

Запустить/остановить таймер №...

Запуск таймера позволяет настроить срабатывание события по истечении определенного времени. Для того чтобы задать время, добавьте в состояние действие Запустить таймер. Справа появится форма, в которой можно задать значение таймера следующими типами:

  • Число - впишите в поле Значение число, соответствующее количеству секунд, минут, часов или суток, через которое таймер должен сработать;

  • Параметр - выберите параметр, созданный в кросс-элементах, значение которого будет использовано для таймера;

  • Конфигурация - выберите параметр конфигурации, созданный в кросс-элементах, значение которого будет использовано для таймера;

Когда истечет время, указанное в таймере, будет сгенерировано событие Сработал таймер, которое можно использовать в переходах.

Работа таймера, как и работа планировщика, распространяется на весь сценарий автоматизации, а не только на состояние в котором он был запущен. Это значит, что он сработает независимо от того, находится ли сейчас сценарий в состоянии, где вы запустили таймер, или в любом другом.

Действие Остановить таймер останавливает работу таймера.

Запустить/остановить планировщик №...

Запуск планировщика позволяет настроить срабатывание события в определенное время. Для того чтобы задать дату и время, добавьте в состояние действие Запустить планировщик. Справа появится боковая панель, на которой заполните следующие поля:

  • Часовой пояс - заполнен по умолчанию часовым поясом, настроенным в личном кабинете платформы, может быть изменен;

  • Тип:

    • Простой - выбирается только день недели;

    • Расширенный - выбирается месяц, день недели, день.

  • Месяц (для расширенного)

  • День недели

  • День (для расширенного)

ПростойРасширенный

Далее выберите время срабатывания. Точное и интервальное время настраиваются независимо друг от друга и работают параллельно:

  • Точное время - планировщик сработает в определенное время (например, если вы укажете 13:15, то событие Сработал планировщик произойдет ровно в 13:15:00)

  • Интервальное время - позволяет выбрать промежуток времени и периодичность срабатывания в рамках этого интервала (например, если вы выберете промежуток с 13:00 по 14:00 и интервал Каждые 2 минуты, то планировщик сработает в 13:00:00, 13:02:00, 13:04:00, …)

Для проверки ближайшего времени срабатывания планировщика нажмите кнопку Узнать. Это поможет вам проверить корректность составления сложного планировщика.

Каждый раз при наступлении времени, которое подходит под шаблон, заданный в планировщике, будет генерироваться событие Сработал планировщик, которое можно использовать в переходах.

Работа планировщика, как и работа таймера, распространяется на весь сценарий автоматизации, а не только на состояние в котором он был запущен. Это значит, что он сработает независимо от того, находится ли сейчас сценарий в состоянии, где вы запустили планировщик, или в любом другом.

Действие Остановить планировщик останавливает работу планировщика.

Показать сообщение

Отправка сообщений позволяет следить за текущими изменениями, происходящими при исполнении сценария автоматизации. Если добавить данную команду на вход в какое-либо состояние, то при переходе объекта в данное состояние система отправит сформированное уведомление. Оно проинформирует о том, что совершилось определенное событие, вследствие которого объект теперь находится в данном состоянии.

Формирование сообщений

Для формирования сообщения добавьте в состояние действие Показать сообщение. Справа появится боковая панель, на которой выберите степень важности сообщения:

  • Информационное;

  • Важное;

  • Критическое.

Если необходимо проинформировать о совершении какого-либо перехода или события, то тогда достаточно указать сообщение как информационное. Если же уведомление играет более значительную роль, например, зарегистрировано какое-то отклонение от нормы или нарушение, то имеет смысл повысить важность сообщения.

💡

Для работы с сообщениями уровня Критическое предусмотрена возможность включения дополнительных оповещений в разделе Профиль.

Далее заполните содержимое сообщения. Текст сообщения формируется в произвольном виде, его формат строго не регламентирован. Однако желательно, чтобы он был коротким и информативным для удобного отображения на платформе.

Помимо описательной информации о произошедшем событии, в сообщении можно передать дополнительные параметры. Для этого нажмите кнопку Добавить параметр и выберите параметры, значения которых необходимо добавить в сообщение.

В зависимости от уровня вложенности параметра будут появляться дополнительные выпадающие списки. При выборе параметра из большого списка кросс-элементов удобно пользоваться поиском.

После выбора необходимой информации нажмите кнопку Применить. После этого вы увидите, что в тексте сообщения появится конструкция в фигурных скобках. Например, {{object.state["humidity"]}}, {{object.name}} и т.д.

Тогда содержимое уведомления может быть сформировано, например, следующим образом:

{
  "event": "Good conditions",
  "temperature": {{object.state["temperature"]}}
}

В тексте сообщения вместо {{object.state["temperature"]}} будет подставлено текущее значение параметра, соответствующего кросс-элементу с идентификатором temperature.

Отображение и просмотр сообщений

Отправленные сообщения показываются в правой боковой панели сообщений.

1 - Кнопка для открытия/закрытия панели сообщений. При наличии непрочитанных сообщений выглядит так

2 - Фильтр по времени получения: можно отобразить сообщения, которые были получены в следующие периоды: 1 час назад, Сегодня, Вчера, 1 неделя назад. Также можно задать свой интервал времени получения, нажав кнопку Выбрать период. Обратите внимание, что между началом и концом периода может быть интервал не более 30 дней
3 - Фильтр по степени важности: можно отобразить сообщения с уровнем Критические, Важные и Информационные. При этом каждый уровень идентифицируется своим цветом: красным, желтым или зеленым соответственно
4 - Группировка сообщений по имени объекта или тексту сообщения
5 - Строка поиска сообщения по имени объекта или по тексту сообщения
6 - Количество непрочитанных сообщений и общее количество сообщений, полученных за выбранный период с учетом установленных фильтров
7 - Дата и время получения сообщения
8 - Имя объекта, к которому относится данное сообщение
9 - Содержимое сообщения
10 - Если кликнуть на сообщение, то оно полностью отобразится чуть левее боковой панели, будет помечено как прочитанное и исчезнет из списка сообщений
11 - Время получения сообщения. Нажмите на него, чтобы перейти в истории объекта к пакету данных, полученному в этот момент времени. Если в это время не было получено данных, откроется первый пакет данных в истории объекта за период Сегодня
12 - Очистка списка непрочитанных сообщений с учетом установленных фильтров

💡

При появлении новых сообщений, которые не проходят по выставленному фильтру или критерию поиска, настраиваемая часть боковой панели на короткое время выделяется красным цветом.

Варианты группировок сообщений:

  • Не группировать - отсутствие группировки, сообщения отображаются полным списком;

  • По объекту - для каждого объекта все оповещения будут собраны в единую группу. Слева внизу в карточке группы отображается количество сообщений для этого объекта;

  • По тексту сообщения - уведомления с одинаковым текстом сообщения будут собраны в единую группу. Слева внизу в карточке группы отображается количество сообщений с одинаковым текстом.

💡

Если вы удалите объект, то сообщения, полученные для него, все еще будут отображаться в списке сообщений, но вместо имени объекта будет знак вопроса. Раскройте содержимое сообщение, кликнув по нему. Так вы увидите идентификатор удаленного объекта и при необходимости сможете загрузить их по API.

Отправить HTTP-запрос

Если в ходе выполнения сценария автоматизации необходимо передавать или, наоборот, загружать данные из стороннего сервиса (мобильные и веб-приложения, CRM и ERP-системы и т.д.), воспользуйтесь отправкой HTTP-запросов. Такой запрос подразумевает под собой отправку информации во внешний сервис посредством использования технологий протокола HTTP.

💡

На отправку HTTP-запросов есть ограничение: один запрос в секунду с одного объекта.

Для формирования запроса добавьте в состояние команду Отправить HTTP-запрос. Справа появится боковая панель, на которой заполните следующие поля:

  • Метод запроса:

    • GET - получение данных из указанного ресурса;

    • POST - отправка данных ресурсу;

    • PUT - размещение данных на ресурсе целиком;

    • PATCH - аналогичен PUT, но применяется только к некоторому фрагменту данных;

    • DELETE - удаление данных из ресурса;

  • URL - адрес, на который будет отправлен запрос;

  • Заголовки - позволяют учесть особенности представления и передачи данных серверу. Здесь могут быть заданы параметры авторизации, язык содержимого сообщения, форматы сообщения, требуемые на стороне клиента или сервера, сведения о проведении соединения и т.д.;

  • Тело сообщения - непосредственно данные. Данное поле является необязательным.

Например, вы можете отправлять HTTP запросы из сценария автоматизации в Telegram, используя Telegram API (opens in a new tab).

Отправить e-mail

Если в ходе выполнения сценария автоматизации необходимо отправлять электронные письма по определенным адресам, воспользуйтесь отправкой e-mail. Для того чтобы настроить параметры отправки, добавьте в состояние действие Отправить e-mail. Справа появится боковая панель, на которой заполните следующие поля:

  • SMTP сервер (обязательное поле) - сервер исходящей почты, с которого будет отправлено электронное письмо по протоколу SMTP. Подробнее о создании SMTP сервера >>>

  • Отправитель (обязательное поле) - адрес, с которого будет отправлено письмо;

  • Получатели (обязательное поле) - адрес, на который будет отправлено письмо, можно указать несколько адресов через запятую;

  • Тема (обязательное поле) - тема письма;

  • Содержимое (текст) - текст сообщения;

  • Содержимое (html) - текст сообщения в HTML-разметке. Если данное поле заполнено, то поле Содержимое (текст) игнорируется.

Отправить SMS

Если в ходе выполнения сценария автоматизации необходимо отправлять SMS-сообщения по определенным номерам, воспользуйтесь отправкой SMS. Для того чтобы настроить параметры отправки, добавьте в состояние действие Отправить SMS. Справа появится боковая панель, на которой заполните следующие поля:

  • SMPP сервер (обязательное поле) - сервер для отправки SMS-сообщения по протоколу SMPP;

  • Получатели (обязательное поле) - номер, на который будет отправлено письмо, можно указать несколько номеров через запятую;

  • Текст - текст сообщения.

Отправить сообщение в Discord

Если в ходе выполнения сценария автоматизации необходимо отправлять сообщения в определенный канал Discord посредством вебхука, воспользуйтесь действием Отправить сообщение в Discord. Справа появится боковая панель, на которой заполните следующие поля:

Отправить сообщение в Телеграм

Если в ходе выполнения сценария автоматизации необходимо отправлять сообщения в Telegram в группу, канал или личные сообщения пользователю, воспользуйтесь действием Отправить сообщение в Телеграм.

Кросс-элементы с типом Действие

Любую команду, созданную в модели объекта, вы можете отправить из сценария автоматизации. Для этого в списке возможных действий для состояния нажмите на плюсик в группе Действия объекта.

Справа появится боковая панель, на которой заполните следующие поля:

  • Тип - автоматически подставится Действие без возможности изменения;
  • Идентификатор - необходим для распознавания кросс-элемента в системе, должен быть уникален для текущего сценария автоматизации;
  • Имя - название действия, отображаемое в интерфейсе сценария автоматизации;
  • Описание - дает более полное представление о действии.

Нажмите Сохранить. Новое действие появится в списке.

Если необходимо внести изменения в данное действие, перейдите на вкладку Кросс-элементы. Вы увидите все созданные в этом сценарии автоматизации кросс-элементы. Вы можете отредактировать любой кросс-элемент, удалить или создать новый.

💡

Так как кросс-элемент создается в общем, абстрактном виде, он не учитывает, что внутри действия из модели, с которым он будет сопоставляться, могут быть включены дополнительные настройки подтверждения перед отправкой или указаны дополнительные параметры. Такие команды отправляться из сценария автоматизация, построенного на кросс-элементах, не будут. Чтобы отправить команду с функцией подтверждения или с дополнительными параметрами, воспользуйтесь действиями в сценарии автоматизации с типом По параметрам из модели.

Команды из модеди

Любую команду, созданную в модели, вы можете отправить из сценария автоматизации с типом По параметром из модели. Для этого в списке возможных действий для состояния найдите необходимую команду и добавьте ее в состояние. Появится боковая панель, в которой можно увидеть полную информацию по этому действию. Справа от названия команды находится ссылка для быстрого перехода к ней в дереве модели. Нажмите на нее, если необходимо что-то изменить в выбранной команде.

Если в команде включена настройка Требует подтверждения, то в информации о команде вы увидите соответствующее предупреждение и переключатель Разрешить отправку с подтверждением из сценария. Включите его, если хотите, чтобы команда отправлялась из сценария автоматизации.

В этом случае команда из автомата будет выполнена без дополнительного подтверждения.

Если переключатель останется выключенным, в редакторе данное действие будет помечено красной обводкой.

При работе сценария автоматизация такая команда не будет отправлена.

Также из сценария автоматизации, построенного по модели, можно отправлять команды с параметрами, которые задаются непосредственно перед отправкой.

При выборе такой команды заполните эти параметры в форме редактирования действия.

Вы можете использовать эту же команду в других состояниях как с такими же, так и с другими параметрами.

Добавление перехода

Для построения перехода между состояниями проведите пунктирную линию от границы первоначального до границы последующего состояния.

Интерфейс события перехода

1 - Выравнивание перехода между состояниями
2 - Удаление перехода
3 - Редактирование условий. Кнопка появляется после добавления в переход события. Если условий в переходе еще не добавлено, вместо кнопки Редактировать условия отображается Добавить условия
4 - Название события
5 - Описание перехода. Отображается только при включенной опции Показывать описание на карточке
6 - Редактирование условий. Если условий еще не добавлено, вместо кнопки Редактировать условия отображается Добавить условия
7 - Описание указанных условий, генерируется автоматически на основании заданных условий
8 - Изменение размеров перехода
9 - Описание для отображения на карточке перехода
10 - Переключатель для скрытия или отображения описания на карточке перехода
11 - Название выбранного для перехода события
12 - Изменение события перехода
13 - Описание выбранного перехода

💡

Кнопка Добавить/Редактировать условия, появляющаяся при наведении на карточку перехода, выполняет те же функции, что и соответствующая кнопка внутри карточки перехода. Кнопку над карточкой перехода удобно использовать, если размер карточки уменьшен для экономии пространства, так как в этом случае кнопки внутри перехода будут не видны.

Интерфейс условия перехода

1 - Выбор взаимодействия указанных ниже условий
2 - Параметр для сравнения
3 - Операция сравнения
4 - Категория для выбора, с чем будет сравниваться параметр
5 - В зависимости от категории задается точное значение, выбирается уровень или параметры
6 - Удаление выбранного условия
7 - Добавление нового условия
8 - Сохранение указанных выше условий

💡

Чтобы перемещаться по экрану редактора сценария автоматизации, можно нажать и удерживать колесо мыши, двигая мышь.

События

В переходе укажите событие, которое должно произойти для совершения перехода.

Базовые события

События, которые всегда есть в автомате независимо от наличия кросс-элементов, поделены на две смысловые группы:

  1. События сценария:
  • Мгновенный переход - переход происходит сразу же. Если зациклить автомат мгновенными переходами, то его исполнение остановится, статус сменится на Аварийная остановка. Так работает встроенная блокировка большого количества переходов за короткое время;

  • Таймер №... - события в таймерах:

  • Планировщик №... - события в планировщиках:

  1. События объекта:
  • Получены данные - переход происходит при получении пакета с данными;
  • Редактирование объекта - переход происходит при сохранении изменений на вкладке объекта Редактирование;
  • Смена статуса - переход происходит при смене статуса объекта;
  • Геозоны - события в геозонах:
    • Вход в геозону - переход происходит при входе в отслеживаемую геозоны;
    • Выход из геозоны - переход происходит при выходе из отслеживаемой геозоны;
    • Вход в комнату - переход происходит при входе в отслеживаемую комнату на схеме;
    • Выход из комнаты - переход происходит при выходе из отслеживаемой комнаты на схеме;
    • Постановка на маршрут - переход происходит при приближении к заданному маршруту следования на расстояние менее 50 метров;
    • Отклонение от маршрута - переход происходит при отдалении от заданного маршрута следования более чем на 50 метров;
    • Вход в контрольную точку - переход происходит при приближении к контрольной точке на маршруте на расстояние менее 50 метров;
    • Выход из контрольной точки - переход происходит при отдалении от контрольной точки на маршруте более чем на 50 метров.
  • Команды - события после отправки команды на объект:
    • Команда выполнена - переход происходит, если выбранная в условии перехода команда завершится успешно;
    • Команда не выполнена - переход происходит, если выбранная в условии перехода команда завершится с ошибкой. Например, такое событие может произойти, если устройство не ответило на команду согласно протоколу передачи данных или потеряло соединение с платформой.

💡

После выбора события его можно изменить. Для этого кликните на переход и нажмите на кнопку изменения события. Появится выпадающий список для выбора необходимого варианта.

Кросс-элементы с типом Событие

Любое событие, созданное в модели объекта, вы можете указать в переходе в сценарии автоматизации. Для этого в списке возможных событий для перехода нажмите на плюсик в группе События объекта.

Справа появится боковая панель, на которой заполните следующие поля:

  • Тип - автоматически подставится Событие без возможности изменения;
  • Идентификатор - необходим для распознавания кросс-элемента в системе, должен быть уникален для текущего сценария автоматизации;
  • Имя - название события, отображаемое в интерфейсе сценария автоматизации;
  • Описание - дает более полное представление о событии.

Нажмите Сохранить. Новое событие появится в списке.

Если необходимо внести изменения в данное событие, перейдите на вкладку Кросс-элементы. Вы увидите все созданные в этом сценарии автоматизации кросс-элементы. Вы можете отредактировать любой кросс-элемент, удалить или создать новый.

💡

При создании в модели своего события можно задать параметры, чтобы впоследствии, при получении такого события по API или из другого автомата, вывести значения этих параметров в действиях регистрации событий. Но так как кросс-элемент создается в общем, абстрактном виде, он не учитывает, что в событии в модели, с которым он будет сопоставляться, могут быть указаны дополнительные параметры. Поэтому в сценарии автоматизации, построенном на кросс-элементах, не получится использовать параметры из полученного события. Чтобы обработать параметры из события, воспользуйтесь событиями в сценарии автоматизации с типом По параметрам из модели.

События из модели

Создайте собственное событие в модели, при необходимости указав дополнительные параметры.

Оно отобразится в списке событий для перехода.

Такие события можно получать из внешних систем по API или из других сценариев автоматизации, используя действие Сгенерировать событие. Значения параметров события задавайте в формате JSON.

Если переход в какое-то состояние в вашем сценарии происходит по данному событию, вы можете использовать переданные в нем значения параметров в действиях регистрации событий в этом состоянии. Для этого в соответствующем действии нажмите кнопку Добавить параметр, затем задайте категорию параметров Событие последнего перехода и выберите нужные параметры события, значения которых вы хотите передать в тексте сообщения.

💡

Чтобы событие появилось в списке событий последнего перехода, недостаточно просто создать его в модели. Нужно, чтобы по этому событию был выполнен переход в состояние, где вы хотите вывести информацию о событии.

В тексте полученного сообщения будут подставлены переданные в событии параметры.

Условия

После выбора события дополнительно можно указать условие, при выполнении которого происходит переход.

Для формирования условия выберите параметр, значение которого необходимо проверить, из выпадающего списка.

💡

При выборе параметра из большого списка удобно пользоваться поиском.

Сравнивать параметры можно с

  • точным значением - указывается числовое, строковое или логическое значение в соответствии с типом данных параметра;
  • другим параметром - выбирается параметр для сравнения;
  • уровнем - выбирается один из уровней, заданных в модели для параметра;
  • конфигурационным значением - выбирается параметр с типом Конфигурация. Сравнивать с конфигурационными параметрами удобно в случаях, если логика работы сценария одинакова для разных объектов, но критерии срабатывания условий отличаются. Например, для спальной комнаты нормальными считаются одни показатели температуры, для кухни - другие. В этом случае не нужно создавать разные сценарии климат-контроля для этих помещений. Достаточно в конфигурации объектов создать параметры, обозначающие диапазоны нормальной температуры, задать соответствующие помещениям значения, а в сценарии сравнивать текущую температуру не с конкретными величинами, а с этими конфигурационными параметрами.
💡

Раздел Уровень появляется только в том случае, если сценарий автоматизации имеет тип По параметрам из модели и для параметра, выбранного слева, в модели заданы уровни.

Раздел Конфигурация появляется только при наличии кросс-элементов с типом Конфигурация в сценарии автоматизации По кросс-элементам или при наличии в модели узлов с типом Конфигурация в сценарии автоматизации По параметрам из модели.

Выберите операцию сравнения и после формирования условия нажмите кнопку сохранения в правом верхнем углу окна добавления условий.

💡

Операция in работает для поиска вхождения значения параметра в массив чисел, а также для поиска подстроки в строке.

Операция not in проверяет, что значение выбранного параметра не входит в массив или не является подстрокой в строке.

В одном переходе можно задать от одного до четырех условий. Их взаимодействие между собой сконфигурируйте с помощью кнопок И и ИЛИ. При выборе И для выполнения перехода должны быть выполнены все условия, при выборе ИЛИ - любое из указанных.

Если в списке возможных параметров еще нет необходимого кросс-элемента, вы можете создать его прямо из окна формирования условий перехода. Для этого нажмите на кнопку Создать кросс-элемент.

Справа появится боковая панель, на которой заполните следующие поля:

  • Тип - автоматически подставится Параметр без возможности изменения;
  • Идентификатор - необходим для распознавания кросс-элемента в системе, должен быть уникален для текущего сценария автоматизации;
  • Имя - название события, отображаемое в интерфейсе сценария автоматизации;
  • Описание - дает более полное представление о событии;
  • Тип данных - в зависимости от типа данных параметра формируется список возможных операций сравнения.

Нажмите Сохранить. Новый параметр появится в списке.

Если необходимо внести изменения в данный параметр, перейдите на вкладку Кросс-элементы. Вы увидите все созданные в этом сценарии автоматизации кросс-элементы. Вы можете отредактировать любой кросс-элемент, удалить или создать новый.

💡

Также вы можете создавать кросс-элементы с типом Параметр или Конфигурация при выборе аргумента для сравнения справа.

Для удаления одного из условий нажмите крестик справа от него.

Увеличьте размер перехода, чтобы увидеть автоматически сформированное описание об указанных условиях.