Событийная система

Что такое событийная система и как это работает ?

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

Например мы создали сенсор температуры dallas1, любое изменение значений этого сенсора есть событие и строка в сценарии: if dallas1 then {rele1 = 1; var1 = dallas1/5} Будет работать.

Другой пример, Вы создали переменную var1 и присвоили в конфигураторе ей значение, допустим 5.
Вы хотите на основе этой переменной присвоить значение другой переменной:

if var1 > 4 then var2 = var1*10;

Если Вы поместите эту строку в сценарий и включите свое устройство, присвоение у Вас не сработает. Потому что не было события, само наличие значения переменной не является событием.
Наш сценарий это не файл который регулярно выполняется. Он работает так, происходит какое-либо событие, которое заставляет проверить сценарий на наличие там соответствий этому событию и
если таковые имеются выполнить эту строку.
Для того что-бы указанная Выше строка была выполнена должно произойти что-то. Например Вы с web или приложения изменили переменную var1. Это событие и строка выполнится.
Если Вам очень надо в какой-то момент выполнить эту строку, то необходимо сгенерировать вспомогательное событие (срабатывание таймера, cron, наступление времени) и привязать в условии свою строку с этому событию.
Например:

if cron1 & var1 > 4 then var2 = var1*10;

Или

if timer1 == 0 & var1 > 4 then var2 = var1*10;

События может генерировать и сама система:
onStart — событие создаваемое при старте после выполнения всех системных подготовительных операций (WiFi, MQTT и др.);
onInit — событие создаваемое при старте, до начала работы с сетью, но после базовой загрузки конфигурации элементов.

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

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

Поддержал проект — спас молодого самодельщика! А мы принимаем подарки...

X