Отслеживание нескольких контролов

Здравствуйте, Товарищи!
Не могу придумать правило (в скриптах ноль).
Задача:
есть N контролов

  1. Если хотя бы один из них в 1, то активировать выход
  2. Если все выключены, то выход деактивировать.
    Через whenChanged вообще не вариант, т.к. контролы могут не изменять своё состояние во времени, а через функцию не умею.
    С помощю FBD или ST это делается за пару минут, но тут вообще засел, уже несколько дней штудирую интернет.

а чем whenChanged не угодило?
ведь что-то же должно служить триггером обновления состояния.

С виду банальное ИЛИ от нескольких boolean контролов (я же правильно догадался, что все контролы true/false?)

кажется вот такое может помочь

var condition = function() {
    var cond = dev['dev1/ctrl1'] || dev['dev2/ctrl2']; // тут все контролы по ИЛИ
    return cond; // можно было и в одну строку написать
};

var rule1 = defineRule({
  whenChanged: ['dev1/ctrl1', 'dev2/ctrl2'], // ну и так далее - все контролы из функции (п.0)
  then: function() {
    dev['outDev/outCtrl'] = condition(); 
  }
});

Примерно так же можно триггериться по каким-то иным условиям, таймеру, cron-у или просто в коде где-то вызывать

dev['outDev/outCtrl'] = condition(); 

или модно (чтобы не плодить дубликаты кода, если есть правило)

runRule(rule1);

Наверняка найдутся более красивые решения

Да совершенно верно обычное ИЛИ на включение и обычное И на выключение, но победить не могу.
Спасибо за наводку буду пробовать, но только уже через дней 10 не раньше, новогодняя суета.

Добрый день!

Дополню справочной информацией по wb-rules:

  1. Общая документация по wb-rules
  2. Примеры правил
  3. Репозиторий на GitHub

Эти материалы помогут лучше разобраться в создании и настройке правил. Если понадобится помощь, обращайтесь!

Добрый день, удалось ли решить вопрос?

Добрый день!
Да, предложенный вариант работает.
Благодарю за помощь!