Глюк скрипта wb-press-actions

Добрый день.
Проверил ваши скрипты на вашей конфигурации. По сути повторяются все изложенные мысли в данной теме: Отработка правил завязанных на счетчики при перезагрузке - #8 от пользователя vkl62. Используемые вами скрипты не покрывали ситуацию, когда занулялись счетчики после перезагрузки модуля по питанию.
Т.к. проблема еще не решена, могу предложить подобное решение как в указанной выше теме.

gate.js

var timeout = 100
gateTopics = ["wb-mio-gpio_70:3/K1",    "wb-mio-gpio_70:3/K2",    "wb-mio-gpio_70:3/K3", "wb-mio-gpio_70:3/K4",       "wb-mio-gpio_70:3/K8",]
gateNames =  ["открыть главные ворота", "закрыть главные ворота", "SBS главные ворота",  "остановить главные ворота", "SBS гаражные ворота",]


defineVirtualDevice("GarageGateControl", { 
    title: "Управление гаражными воротами",  
    cells: {
      Up: { 
        title: "ВВЕРХ",
        type: "switch",
        value: false,
      }, 
      Down: { 
        title: "ВНИЗ",
        type: "switch",
        value: false,
      }, 
      Stop: { 
        title: "СТОП",
        type: "switch",
        value: false,
      }
  }
});

defineRule("GateControl", { 
  whenChanged: gateTopics,
  then: function (newValue, devName, cellName) {
    var index = gateTopics.indexOf(devName + '/' + cellName);
    if (newValue == true) {
      setTimeout(function (){
        dev[gateTopics[index]]=false;
      }, timeout);
      SendTelegramMsg('Нажата кнопка ' + gateNames[index] + ' в Южном');
    }
  }
});


// гаражные ворота открываются от длинного нажатия левого выкл в коридоре
defineRule({
    whenChanged: "wb-mr6c_118/Input 5 Long Press Counter",
    then: function(newValue, devName, cellName) {
        log("Срабатывание правила newValue: {}, предыдущее значение: {}".format(newValue, this.prevValue));
        if (newValue === null) return;
        if (newValue == this.prevValue) return;
        if (newValue == 0) {
            if (this.prevValue < (65536 - 5)) {
                return;
            }
        }
        if (newValue > 0) {
            log("Выход переключился")
            dev["wb-mio-gpio_70:3/K8"] = !dev["wb-mio-gpio_70:3/K8"];
        }
        this.prevValue = newValue;
    }
});

// гаражные ворота открываются от длинного нажатия выкл в гараже
defineRule({
    whenChanged: "wb-mr6c_118/Input 2 Long Press Counter",
    then: function(newValue, devName, cellName) {
        log("Срабатывание правила newValue: {}, предыдущее значение: {}".format(newValue, this.prevValue));
        if (newValue === null) return;
        if (newValue == this.prevValue) return;
        if (newValue == 0) {
            if (this.prevValue < (65536 - 5)) {
                return;
            }
        }
        if (newValue > 0) {
            log("Выход переключился")
            dev["wb-mio-gpio_70:3/K8"] = !dev["wb-mio-gpio_70:3/K8"];
        }
        this.prevValue = newValue;
    }
});

light.js

// master switch OFF all light when leave home
defineRule("MasterSwitch", {
	whenChanged: "wb-mr6c_118/Input 6 Long Press Counter",
	then: function (newValue, devName, cellName) {
		dev["wb-mr6c_118"]["K1"] = false; // свет в подсобке 
		dev["wb-mr6c_118"]["K2"] = false; // свет в гараже 
		dev["wb-mr6c_118"]["K3"] = false; // 							резерв для парковки
		dev["wb-mr6c_118"]["K4"] = false; // свет в гардеробной
		dev["wb-mr6c_118"]["K5"] = false; // свет в коридоре
		dev["wb-mr6c_118"]["K6"] = false; // свет на крыльце
		dev["wb-mr6c_120"]["K1"] = false; // 							резерв для подсветки крыши 
		dev["wb-mr6c_120"]["K2"] = false; // свет на чердаке 
		dev["wb-mr6c_120"]["K3"] = false; // свет в холле 2 этажа 
		dev["wb-mr6c_120"]["K4"] = false; // свет в сортире
		dev["wb-mr6c_120"]["K5"] = false; // люстра в гостиной
		dev["wb-mr6c_120"]["K6"] = false; // свет на веранде
		dev["wb-mr6c_126"]["K1"] = false; // Варькин ночник
		dev["wb-mr6c_126"]["K2"] = false; // Варькина люстра
		dev["wb-mr6c_126"]["K3"] = false; // Люстра в спальне
		dev["wb-mr6c_126"]["K4"] = false; // Настин ночник
		dev["wb-mr6c_126"]["K5"] = false; // Свет в ванной 2 эт
		dev["wb-mr6c_126"]["K6"] = false; // Викин ночник
		dev["wb-mr6c_128"]["K1"] = false; // Викина люстра
		dev["wb-mr6c_128"]["K2"] = false; // Люстра на кухне
		dev["wb-mr6c_128"]["K3"] = false; // Точечные светильники на кухне
		dev["wb-mr6c_128"]["K4"] = false; // свет в кабинете
		dev["wb-mr6c_128"]["K5"] = false; // 
		dev["wb-mr6c_128"]["K6"] = false; // 
      
		SendTelegramMsg('MasterSwitch ON - весь свет выключен.'); 
		log ('MasterSwitch ON - весь свет выключен.');
	}
});


// Люстра на кухне включается от двойного нажатия выкл на кухне (который управляет светом на веранде)
defineRule({
    whenChanged: "wb-mr6c_120/Input 6 Double Press Counter",
    then: function(newValue, devName, cellName) {
        log("Срабатывание правила newValue: {}, предыдущее значение: {}".format(newValue, this.prevValue));
        if (newValue === null) return;
        if (newValue == this.prevValue) return;
        if (newValue == 0) {
            if (this.prevValue < (65536 - 5)) {
                return;
            }
        }
        if (newValue > 0) {
            log("Выход переключился")
            dev["wb-mr6c_128/K2"] = !dev["wb-mr6c_128/K2"];
        }
        this.prevValue = newValue;
    }
});

// Викина люстра включается от двойного нажатия выкл у Викиной кровати
defineRule({
    whenChanged: "wb-mr6c_126/Input 6 Double Press Counter",
    then: function(newValue, devName, cellName) {
        log("Срабатывание правила newValue: {}, предыдущее значение: {}".format(newValue, this.prevValue));
        if (newValue === null) return;
        if (newValue == this.prevValue) return;
        if (newValue == 0) {
            if (this.prevValue < (65536 - 5)) {
                return;
            }
        }
        if (newValue > 0) {
            log("Выход переключился")
            dev["wb-mr6c_128/K1"] = !dev["wb-mr6c_128/K1"];
        }
        this.prevValue = newValue;
    }
});

// Викин ночник включается от двойного нажатия главного выкл в Викиной комнате
defineRule({
    whenChanged: "wb-mr6c_128/Input 1 Double Press Counter",
    then: function(newValue, devName, cellName) {
        log("Срабатывание правила newValue: {}, предыдущее значение: {}".format(newValue, this.prevValue));
        if (newValue === null) return;
        if (newValue == this.prevValue) return;
        if (newValue == 0) {
            if (this.prevValue < (65536 - 5)) {
                return;
            }
        }
        if (newValue > 0) {
            log("Выход переключился")
            dev["wb-mr6c_126/K6"] = !dev["wb-mr6c_126/K6"];
        }
        this.prevValue = newValue;
    }
});

Для временного решения вашей проблемы, попробуйте данный вариант и сообщите, пожалуйста, о результате.