Добавление Tuya Wireless switch with 4 buttons (Zigbee) в Home Assistant

Решил немного поэкспериментировать с новыми Zigbee устройствами Tuya на стике 2538. Первым приплыло мне с aliexpress устройство Tuya TS0044. Выглядит на вид интересно. 4 кнопки весьма приятны в “употреблении”, батарейка CR2430  🙂  Цена не комфортная. 🙁 Ну да ладно.

Надо теперь подружить со стиком. Но не тут то было … Официально в zigbee2mqtt поддержка имеется – а вот из коробки не заработало. 

Zigbee стик упорно его не видел. В debug логе тоже ничего не было. Вообщем наехал я на продавца и диспут открыл :), написал автору zigbee2mqtt “чо за дела братан ?”, глаза видят, а руки подводят. 

Для начала ищем файл конфигурации zigbee2mqtt с именем configuration.yaml (у меня он оказался по пути /opt/zigbee2mqtt/data ) в нем содержится список всех устройств Zigbee, которых нашел стик и добавляем в конец файла строку вида :

zigbee_shepherd_devices: true

рестартим zigbee сервис : 

root@hassbian:/opt/zigbee2mqtt/data# systemctl restart zigbee2mqtt.service

включаем спаривание для zigbee устройств (join_pair) в home assistant и смотрим логи zigbee2mqtt (должно быть что то подобное)

Nov 14 21:04:51 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:51: Device '0xbc33acfffe5e713f' announced itself
Nov 14 21:04:51 hassbian npm[17791]: Zigbee2MQTT:info  2020-11-14 21:04:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0xbc33acfffe5e713f"},"type":"device_announced"}'
Nov 14 21:04:53 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:53: Received Zigbee message from '0x00158d0001a41609', type 'read', cluster 'genTime', data '["time"]' from endpoint 1 with groupID 0
Nov 14 21:04:54 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:54: Received Zigbee message from '0xbc33acfffe5e713f', type 'readResponse', cluster 'genBasic', data '{"modelId":"TS0044"}' from endpoint 1 with groupID 0
Nov 14 21:04:54 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:54: No converter available for 'TS0044' with cluster 'genBasic' and type 'readResponse' and data '{"modelId":"TS0044"}'
Nov 14 21:04:54 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:54: Received Zigbee message from '0xbc33acfffe5e713f', type 'readResponse', cluster 'genBasic', data '{"manufacturerName":"_TZ3000_vp6clf9d"}' from endpoint 1 with groupID 0
Nov 14 21:04:54 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:54: No converter available for 'TS0044' with cluster 'genBasic' and type 'readResponse' and data '{"manufacturerName":"_TZ3000_vp6clf9d"}'
Nov 14 21:04:55 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:55: Received Zigbee message from '0xbc33acfffe5e713f', type 'readResponse', cluster 'genBasic', data '{"powerSource":3}' from endpoint 1 with groupID 0
Nov 14 21:04:55 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:55: No converter available for 'TS0044' with cluster 'genBasic' and type 'readResponse' and data '{"powerSource":3}'
Nov 14 21:04:55 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:55: Received Zigbee message from '0xbc33acfffe5e713f', type 'readResponse', cluster 'genBasic', data '{"zclVersion":3}' from endpoint 1 with groupID 0
Nov 14 21:04:55 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:55: No converter available for 'TS0044' with cluster 'genBasic' and type 'readResponse' and data '{"zclVersion":3}'
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: Received Zigbee message from '0xbc33acfffe5e713f', type 'attributeReport', cluster 'genBasic', data '{"65506":28,"appVersion":255}' from endpoint 1 with groupID 0
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: No converter available for 'TS0044' with cluster 'genBasic' and type 'attributeReport' and data '{"65506":28,"appVersion":255}'
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: Received Zigbee message from '0xbc33acfffe5e713f', type 'readResponse', cluster 'genBasic', data '{"appVersion":66}' from endpoint 1 with groupID 0
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: No converter available for 'TS0044' with cluster 'genBasic' and type 'readResponse' and data '{"appVersion":66}'
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: Received Zigbee message from '0xbc33acfffe5e713f', type 'attributeReport', cluster 'genBasic', data '{"65506":28,"appVersion":66}' from endpoint 1 with groupID 0
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: No converter available for 'TS0044' with cluster 'genBasic' and type 'attributeReport' and data '{"65506":28,"appVersion":66}'
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: Received Zigbee message from '0xbc33acfffe5e713f', type 'readResponse', cluster 'genBasic', data '{"stackVersion":0}' from endpoint 1 with groupID 0
Nov 14 21:04:56 hassbian npm[17791]: Zigbee2MQTT:debug 2020-11-14 21:04:56: No converter available for 'TS0044' with cluster 'genBasic' and type 'readResponse' and data '{"stackVersion":0}'

Анонс состоялся.

MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0xbc33acfffe5e713f"},"type":"device_announced"}'

заходим в MQTT брокер на Home Assistant и получаем наши сенсоры

При нажатии на любой из клавиш видим значения что-то типа 1_Single, 2_Single и т.д. / двойным  (!) 1_Double, 2_Double ….тапом или длинным 1_hold, 2_hold … (кстати жать нужно на каждой клаве ближе к индикаторам, тогда ложных срабатываний не будет). Чтобы получить hold статус жмем 5 секунд. Итого получается можно навесить 12 действий. УРАаааа! Товарищи! Нумерация такая

Теперь примеры автоматизации. Прописываем в automation.yaml автоматизацию на открытие – закрытие – остановку штор. Это самый простой пример. Одним нажатии кнопкой 1 – мы открываем и закрываем шторы (последовательная операция) и двойным нажатием на кнопку 1 мы останавливаем до нужной нам позиции шторы как при закрытии так и при открытии, ну и 3ий вариант открываем/закрываем шторы наполовину

# Выключение/Включение штор по одинарному клику 1_single
- alias: Badroom curtain open-close (single_1)
  trigger:
    - platform: state
      entity_id: sensor.0xbc33acfffe5e713f_action
      to: 1_single
  action:
    - service: cover.toggle
      entity_id:
        - cover.curtain_158d0001299c3a

# Остановка штор по двойному клику 1_double
- alias: Badroom curtain stop (double_1)
  trigger:
    - platform: state
      entity_id: sensor.0xbc33acfffe5e713f_action
      to: 1_double
  action:
    - service: cover.stop_cover
      entity_id:
        - cover.curtain_158d0001299c3a

# Раскрываем шторы на половину
- alias: Badroom curtain open 50% (1_hold)
  trigger:
    - platform: state
      entity_id: sensor.0xbc33acfffe5e713f_action
      to: 1_hold
  action:
    - service: cover.set_cover_position
      data: 
        entity_id: cover.curtain_158d0001299c3a
        position: 50

Подитожим.

Свою функцию он выполняет отлично. Все срабатывает хорошо – задержек нет. Осталось только нанести все надписи на выключатель – чтобы не запутаться во всех 8ми сценариях 🙂 Мне пришлось освободить 2 кнопки Xiaomi/Aqara и Aqara Cube и заменить одним этим выключателем. Если честно этот тупой-глючный зигби кубик Aqara / Xiaomi просто достал. Сейчас работает все с первого раза.

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
3 комментариев
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Леха
Леха
04.01.2021 11:34

Его через Gayeway 3 тжно подключить будет ?

Егор
Егор
12.01.2023 13:29

Привет! Прошу совета-помощи. У меня похожий девайс – двухкнопочный блок TS0012. Проблема следующая. Девайс через Zigbee2MQTT нашелся, в перечне устройств в Zigbee2MQTT есть, и даже можно управлять через раздел Exposes, если зайти в устройство из списка устройств Zigbee2MQTT. Но устройства нет в общем перечне устройств HA. И управлять устройством через switch не получается. Объявляю устройство кодом, который ниже, списал с сайта Zigbee2MQTT, из описания для моего устройства. Что я делаю не так? И как сделать, чтобы устройство было доступно в перечне всех устройств HA?     – platform: mqtt       name: street_light_01       command_topic: “zigbee2mqtt/Double_button_02/set”       state_topic:… Подробнее »

zigbee.jpg
3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x