WHD02 - все параметры отражаются как текст

подключил реле WHD02. устройство нашлось, но все параметры отражаются как текст. управлять им через раздел устройства нет возможности. Захожу в расширенную настройку по порту 8081, там с ним все нормально. Статус могу переключать и оно корректно работает, но в основном интерфейсе поле state текстовое.

приложен диагностический архив, доступен только сотрудникам поддержки
(297,6 КБ)

Добрый день!

Не вижу данный датчик в списке поддерживаемых устройств.
Прошу прислать документацию на него.
Также уточните, по какому протоколу выполнялось подключение.
Вы добавляли шаблон устройства вручную, создав его по инструкции?

Дело в том, что виртуальное устройство, сгенерированное zigbee2mqtt только показывает статус. Для управления устройством Вам нужно описать свое виртуальное устройство и управлять им через publish()
Например:

publish("zigbee2mqtt/0x1c34f1fffed66bb0/set", JSON.stringify({state: "TOGGLE" }));
1 лайк

Реле в списке устройств 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 { 
         // Реле выключилось
      }
    }
  });
1 лайк

что-то не получается.
у меня есть реле, которое отражается вот так:

само устройство отражается вот так:

я создал виртуальное устройство:

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, поэтому используйте готовый топик для виджета.