Управление избранными выходами

Реле LV
Можно ли за изменением состяния одного входа закрепить сценарий изменяющий последовательно состояние нескольких (не всех) выходов реле?

Думаю что можно сделать как то так, но нужны тесты.

defineRule("test_actions", {
  whenChanged: "wb-gpio/EXT2_IN1",
  then: function (newValue, devName, cellName) {
    var acts = [[1000,"wb_gpio/EXT1_K1",true],[1000,"wb_gpio/EXT1_K2",true],[1000,"wb_gpio/EXT1_K3",true],
                [500,"wb_gpio/EXT1_K1",false],[500,"wb_gpio/EXT1_K2",false],[500,"wb_gpio/EXT1_K3",false],
               ];
    var next = function(a){
        var i=a.shift();
        setTimeout(function(){
            dev[i[1]]=i[2];
            next(a);
        },i[0])
    };
    next(acts);
  }
});

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

defineRule("turn_on_relays", {
  whenChanged: "wb-gpio/EXT1_IN10",
  then: function (newValue, devName, cellName) {
	dev["wb-gpio/EXT2_R3A1"] = dev["wb-gpio/EXT1_IN10"];
    dev["wb-gpio/EXT2_R3A2"] = dev["wb-gpio/EXT1_IN10"];
    dev["wb-gpio/EXT2_R3A3"] = dev["wb-gpio/EXT1_IN10"];
  }
});