Включение WB-MDM на 100%

Мой финальный вариант того функционала, что я бы хотел увидеть в базовой прошивке диммера. Выглядит короче, но под капотом все равно генерится 3 отдельных правила.

Теперь одно одиночное нажатие добивает уровень до 100% если выход не 100 % (действие можно отключить)

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

можно вывести Single Press Counter в отдельную переменную, но это значение встречается 1 раз, не вижу смысла, просто добавьте свой триггер срабатывания.

// Конфигурация
// ADDR адрес димера wb-mdm3 в системе 
// ALWAYS режим работы. При значении true димер всегда включается на установленный уровень при нажатии
// При false включается на установленный уровень только если соответствующее реле (K1 K2 K3) выключено
var ADDR = 41;           // Адрес димера
var ALWAYS = true;       // true = всегда устанавливать уровень при нажатии

// Уровни для каждого канала (1-100)
var LEVEL1 = 100;
var LEVEL2 = 100;
var LEVEL3 = 100;

// Номера входов для каждого канала (1 3 5 для стандартной конфигурации)
// Эти переменные определяют к каким входам димера подключены кнопки
// Входы димера wb-mdm3 1 2 3 4 5 6 но реле K1 K2 K3 соответствуют входам 1 3 5
var INPUT1 = 1;
var INPUT2 = 3;
var INPUT3 = 5;

// Функция для создания правила
function createRule(channel, input, relay, level) {
  defineRule("mdm_" + channel + "_rule", {
    whenChanged: "wb-mdm3_" + ADDR + "/Input " + input + " Single Press Counter",
    then: function() {
// Условие срабатывания 
//   - если ALWAYS = true (режим всегда устанавливать уровень) то условие всегда истинно
//   - если ALWAYS = false то проверяем что реле выключено
      if (ALWAYS || !dev["wb-mdm3_" + ADDR + "/" + relay]) {
// Устанавливаем значение диммера на указанный уровень для выбранного канала
        dev["wb-mdm3_" + ADDR + "/Channel " + channel] = level;
// димер wb-mdm3 сохраняет последний уровень яркости поэтому это правило гарантирует что при каждом нажатии кнопки свет включится на заданный уровень а не на предыдущее значение
      }
    }
  });
}

// Создаем правила для всех каналов
createRule(1, INPUT1, "K1", LEVEL1);
createRule(2, INPUT2, "K2", LEVEL2);
createRule(3, INPUT3, "K3", LEVEL3);