Нет обратной связи в интерфейсе Zigbee розетки

Есть Zigbee розетка, сделан виртуальный переключатель для её управления, розетка вкл/выкл через веб интерфейс, однако при нажатии на кнопку на самой розетке, статус в интерфейсе не меняется. В чем ошибка?

defineVirtualDevice(“Outlet”, {
title: “Outlet”,
cells: {
“Status”: {
title: “Аквариум”,
type: “switch”,
value: false,
readonly: false
},
}
})

defineRule(“Aqua”, {
whenChanged: “Outlet/Status”,
then: function (newValue, devName, cellName) {
if (newValue) {
publish(“zigbee2mqtt/0x70b3d52b60059ffe/set”, JSON.stringify({ state: “ON” }), 2, false);
}
else {
publish(“zigbee2mqtt/0x70b3d52b60059ffe/set”, JSON.stringify({ state: “OFF” }), 2, false);
}
}
});

defineRule(“OS”, {
whenChanged: “0x70b3d52b60059ffe/state”,
then: function () {
if (0x70b3d52b60059ffe/state == “ON”) {
dev[Outlet/Status] = True
}
else if  (0x70b3d52b60059ffe/state == “OFF”) {
dev[Outlet/Status] = False
}
}
});
if (dev[“0x70b3d52b60059ffe/state”] == “ON”) {

Проще все переписать, что бы Вы увидели свои ошибки:

defineRule("OS", {
  whenChanged: "0x70b3d52b60059ffe/state",
  then: function () {
    if (dev["0x70b3d52b60059ffe/state"] == "ON") {
      dev["Outlet/Status"] = true;
    }
    else if  (dev["0x70b3d52b60059ffe/state"] == "OFF") {
      dev["Outlet/Status"] = false;
    }
  }
});

или вообще сократить:

defineRule("OS", {
  whenChanged: "0x70b3d52b60059ffe/state",
  then: function () {
    dev["Outlet/Status"] = (dev["0x70b3d52b60059ffe/state"] == "ON")? true : false;
  }
});

Добрый день, удалось ли решить вопрос?

Сегодня вечером проверю, отпишусь, спасибо)

Также можно воспользоваться нашим роботом для написания правил — за пару итераций он помогает сформировать нужную логику. Робот расположен справа вверху интерфейса.
изображение

Всё работает, благодарю :handshake: