Товарищи, кто может обьяснить, почему правило реле включает, но не выключает
whenChanged: ["Sanuzel/SettingTemperature", "Sanuzel/HeatingStatus"],
then: function (newValue, devName, cellName) {
if (dev["Sanuzel"]["HeatingStatus"] = true) {
dev["wb-gpio"]["EXT2_K1"] = true; log; }
{
if (dev["Sanuzel"]["HeatingStatus"] = false) {
dev["wb-gpio"]["EXT2_K1"] = false; log;
}
}
}
});```
В mqtt mosquitto_sub -v -t /devices/wb-gpio/#
летит только 1 на включение, 0 на выключение не приходит
Здравствуйте.
Пришлите, пожалуйста, еще раз правило или отправьте файлом.
Некорректное условие - “if (dev[“Sanuzel”][“HeatingStatus”] = true)”.
Должно быть с двойным знаком равно : if (dev[“Sanuzel”][“HeatingStatus”] == true).
И во втором условии то же самое.
Делал)) так вообще не отрабатывает
Тогда нужно более подробное описание, что и как конкретно делаете, чего ожидаете получить. По данной информации сложно ответить в чем проблема.
Попробуйте описать проблему таким образом.
Все решилось, приравнял одно к другому
whenChanged: ["Sanuzel/HeatingStatus"],
then: function (newValue, devName, cellName) {
dev["wb-gpio"]["EXT2_K1"] = dev["Sanuzel"]["HeatingStatus"]; log;
}
});```
Если это полностью устраивает вас по вашей задаче, то отлично. Вы по сути состояние переключателя в виджете напрямую транслируете на выход.
Остались ли у вас еще вопросы по данной теме?