подключил реле WHD02. устройство нашлось, но все параметры отражаются как текст. управлять им через раздел устройства нет возможности. Захожу в расширенную настройку по порту 8081, там с ним все нормально. Статус могу переключать и оно корректно работает, но в основном интерфейсе поле state текстовое.
Добрый день!
Не вижу данный датчик в списке поддерживаемых устройств.
Прошу прислать документацию на него.
Также уточните, по какому протоколу выполнялось подключение.
Вы добавляли шаблон устройства вручную, создав его по инструкции?
Дело в том, что виртуальное устройство, сгенерированное zigbee2mqtt только показывает статус. Для управления устройством Вам нужно описать свое виртуальное устройство и управлять им через publish()
Например:
publish("zigbee2mqtt/0x1c34f1fffed66bb0/set", JSON.stringify({state: "TOGGLE" }));
Реле в списке устройств Tuya WHD02 control via MQTT | Zigbee2MQTT
Есть ли пример правила работы?
Как подписаться на смену его статуса?
Подписаться на смену статуса?
var deviceName = "0x1c34f1fffed66bb0";
defineRule(deviceName + "_state", {
whenChanged: deviceName + "/state_action",
then: function (newValue, devName, cellName) {
if (newValue == true){
// Реле включилось
} else {
// Реле выключилось
}
}
});
что-то не получается.
у меня есть реле, которое отражается вот так:
само устройство отражается вот так:
я создал виртуальное устройство:
defineVirtualDevice(“whd02_switch”, {
title: {‘en’: ‘WHD02 switch’, ‘ru’: ‘WHD02 как переключатель’},
cells: {
state: {
type: “switch”,
value: false
}
}
});
и настроил правило:
defineRule(“bwhd02_switch_state”, {
whenChanged: “whd02_switch/state”, // Триггер по изменению значения
then: function (newValue, devName, cellName) {
var sendToTelegram = global.sendToTelegram;
if (newValue===true){
publish(“zigbee2mqtt/0xa4c1388f90d1a5cf/state”, JSON.stringify({state: ‘True’ }));
log (‘bwhd02_switch_state: Реле надо включить.’);
} else {
publish(“zigbee2mqtt/0xa4c1388f90d1a5cf/state”, JSON.stringify({state: ‘False’ }));
log (‘bwhd02_switch_state: Реле надо вsключить.’);
}
},
});
в итоге реле не реагирует. Пробовал передавать значения {state: ‘ON’ }, {state: “ON” } но не помогает…
в чем может быть проблема?
==, а не ===
И в начале добавьте логгирование. Само правило вообще срабатывает? (вроде должно)
Именно их и надо, а не boolean.
Посмотрите здесь. Это я туёвую лампу очеловечивал. Реле - все то же самое, только 5% скрипта оставить, остальное не нужно. Просто для понимания процесса.
Спасибо! Как включать и выключать разобрался.
Осталась проблема с отслеживанием изменения статуса.
Если есть пример для лампы, буду благодарен
Добрый день!
Статус уже приходит в режиме RO, поэтому используйте готовый топик для виджета.



