Конструктор сложных сценариев - noant/Lazurite GitHub Wiki

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

Меню выбора действий.

Действия

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

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

После выбора действия можно будет настроить его параметры, нажав на вторую кнопку созданной строки, если позволяет сам плагин. На изображении ниже показан пример с выбором цвета для RGB контроллера Z-Wave для светодиодной ленты. Так как в данном примере параметр имеет тип Статус, то в правой части выражения ему можно присвоить значение из списка.


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


Условия

Условия в Lazurite эквивалентны условиям из языков программирования. Они обеспечивают ветвление выполнения в сценарии. Любое условие в Lazurite имеет три части: блок условий, блок выполнения, блок "иначе".


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

Блок условия отличается от блоков выполнения, здесь уже нельзя создать циклы и т.д. Для создания условия необходимо знать, какие параметры необходимо сравнивать. В Lazurite можно сравнивать значения со всеми типами данных, кроме кнопки, так как кнопка не возвращает и не принимает никакого значения.

Для типов данных Число и Дата доступны такие операторы отношения, как ">", "<", ">=", "<=", "!=", "==" (больше, меньше, больше или равно, меньше или равно, не равно, равно). Для других типов данных доступны только "!=" и "==". Помимо этого, перед каждым выражением можно вставить логический оператор "И", "ИЛИ", "НЕ".

Выбор оператора отношения.

Выбор логического оператора.

Помимо прочего, можно сравнивать два блока условий.

Два блока условий, связанные друг с другом через логический оператор "ИЛИ".

Циклы

В Lazurite можно создать цикл "ПОКА". Этот цикл состоит из условия и тела выполнения. Во время выполнения сценария тело цикла будет запускаться до тех пор, пока условие цикла будет в значении "ПРАВДА".

Пока влажность в комнате меньше или равно 40%, то регулировать влажность.

Далее: Значения по умолчанию

⚠️ **GitHub.com Fallback** ⚠️