Я не могу понять почему у меня никогда не срабатывает код в блоке else.
Насколько я понимаю if (newValue) тоже самое, что и BoilerHeated == true, то есть else - это BoilerHeated == false, но у меня код в этом блоке упорно не срабатывает.
defineRule("BoilerHeatedRule", {
whenChanged: BoilerHeated,
then: function (newValue, devName, cellName) {
if (newValue) { // если бойлер нагрет, то надо отключить ТЭН и косвенный нагрев
dev[BoilerWBRelay] = false; // выключаем ТЭН
dev[BoilerHeatingPump] = false; // выключаем насос косвенного нагрева
}
else { // если бойлер остыл, то проверяем температуру, чтобы не дёргать ТЭНЫ часто
if ( dev[BoilerTemperature] < 40 ) { // запускаем повторный нагрев, только если температура ниже 40
if ( dev[KotelTemperature] > 40 ) { // ВКЛючаем насос косвенного нагрева если температура котла выше 40, если ниже то включаем ТЭН}
dev[BoilerHeatingPump] = true; // ВКЛючаем насос косвенного нагрева
}
dev[BoilerWBRelay] = true; // ВКЛючаем ТЭН
}
}
}
});