Всё работает, чуть допилил и получилось вот так
defineVirtualDevice("aqara", { // Виртуальное устройство чтобыуправлять из интерфейса при желании
title: "aqara",
cells: {
enabled: {
type: "switch",
value: false
},
}
});
function test01(inValue){ // Парсим ответ топика
var cmd = JSON.parse(inValue);
if (!cmd.hasOwnProperty("click")) {
return;
}
if (cmd.click == "single") {
dev["aqara"]["enabled"] = !dev["aqara"]["enabled"]; //Меняем значение виртуального устройства при нажатии
if (dev["aqara"]["enabled"] == true) {
publish("zigbee2mqtt/0x00158d0005c0e29b/set", JSON.stringify({"state_l1": "ON"}), 2, false); // отправляем команду zigbee relay aqara
} else {
publish("zigbee2mqtt/0x00158d0005c0e29b/set", JSON.stringify({"state_l1": "OFF"}), 2, false);
}
}
}
// подписываемся на топики
trackMqtt("zigbee2mqtt/0x00158d00064455b6", function(newValue) {
test01(newValue.value);
});
trackMqtt("zigbee2mqtt/0x00158d0006442370", function(newValue) {
test01(newValue.value);
});
Наверное стоит обозвать адреса впеременные и для читаемости и чтобы остальные могли через копипаст юзать