Работающее правило:
var devTopick="0x54ef441000ee5ba5/action";
defineRule("Switch_action", {
whenChanged: devTopick,
then: function (newValue, devName, cellName) {
if (newValue !== "wb_support") {
log("1 switch button pressed");
if (newValue == "single_left"){
log("1 switch single_left pressed");
if (dev["buzzer/enabled"] == true){
dev["buzzer/enabled"] = false
} else if (dev["buzzer/enabled"] == false){
dev["buzzer/enabled"] = true
}
} else if (newValue == "single_right"){
log("1 switch single_right pressed");
if (dev["buzzer/enabled"] == true){
dev["buzzer/enabled"] = false
} else if (dev["buzzer/enabled"] == false){
dev["buzzer/enabled"] = true
}
}
log.info("cleaning", newValue);
dev[devTopick] = "wb_support";
}
}
});
Сейчас уже не хочу переделывать на trackMqtt, и так жутко затянулась проблема. Помимо “костыльности” вариант с whenChanged чем-то чреват?