Правило запускаемое единожды при загрузке

Как реализовать правило запускаемое единожды при загрузке/перезагрузке контроллера?

Вот тут подобное обсуждали

1 Like

WB6.5
wb-rules 1.7.1

Что-то поменялось?
После перезагрузки правило не хочет запускаться (при инициализации rule engine) ни в каком виде.

Ни реле не включаются, ни в лог ничего не выводится.
PS При сохранении срабатывает - правило единственное и работоспособное.

Правило для начальной загрузки
// Раздел программы для начальных установок и загрузки данных

// -----------------Блок начальной установки состояния розеток----------------

setTimeout(function() { 
  dev["wb-gpio"]["EXT3_R3A1"] = 1;
  log("initial load");
}, 0);

log("added in 01_initial.js");
[/details]

По моей просьбе сделана проверка на ещё одном экземпляре. Правила при загрузке не запускаются.
Нужно ждать возвращения Александра после 05.08.19?

Flagman, добрый день!
Кажется, такая проблема при старте движка после перезагрузки контроллера воспроизводится, попробуйте заменить в setTimeout задержку на с 0 на 1000, например. После этого движок корректно должен выполнить коллбек из setTimeout: возможно, что до установления подключения по MQTT движок его не выполняет

Это я проверил сразу.
Однако даже задержка в 10000 не приводит к запуску.
Сейчас сделал 60000 - сработало!

Спасибо!
Возник другой вопрос - открою в новой теме.

Большие задержки, у меня на чистом контроллере хватило 1000: странно, что правило единственное, а так много времени требуется. Можете показать лог с сообщениями от движка правил после перезагрузки?

Убрал все правила кроме тестового
Опытным путем подобрал задержку 20000мс
С этой задержкой правило подхватывается.
Возможно влияют сервисы openvpn, spruthub, z-wave server
messages.txt (53.3 КБ)