Добавление новых устройств zigbee2mqtt в Hass.io

Расскажу о процессе добавления новых, еще не поддерживаемых Zigbee устройств для zigbee2mqtt, запущенной в hassio

Итак, у нас уже имеется настроенная рабочая конфигурация zigbee2mqtt в паре со стиком CC2531. Устройства, со списка поддерживаемых добавляются без проблем, сами. Для новых у zigbee2mqtt есть инструкция для hassio, но, видимо, не я один столкнулся с проблемами, так как на гитхабе много описаных случаев непонимания.

 

Вот что нужно сделать, чтобы добавить новое устройство в zigbee2mqtt из под hassio:

Спариваем устройство.

В логах дополнения zigbee2mqtt смотрим сообщение о том, что устройство не опознано, где нам предлагают ссылку на инструкцию для добавления новых.

Ок. Смотрим так же в логе zigbeeModel и записываем.

Теперь нужно добавить в конфиг дополнения строчку, в самый конец:

zigbee_shepherd_devices: true

в /share/zigbee2mqtt нужно создать файл devices.js

Просто копируем его отсюда в нашу папку share.

Проще всего попасть в share — поставить samba дополнение и зайти на адрес hassio в проводнике

теперь нужно найти подходящего клона нашего устройства. Например, выполнив поиск по начальным символам zigbeeModel в devices.js, вдруг есть совсем похожие

И добавить  устройство в devices.js с нашим zigbeeModel от нового устройства, который мы записали ранее, например:

    {
        zigbeeModel: ['FNB56-ZCW25FB2.1'],
        model: 'HGZB-06A',
        vendor: 'Zemismart',
        description: 'Smart 8W E27 light bulb',
        extend: generic.light_onoff_brightness_colortemp_colorxy,
    },

После запускаем аддон и устройство должно само подтянуться, для этого смотрим лог.

Ну а дальше пробуем подключить к Home Assistant и проверяем, все ли правильно управляется.

Через автообнаружение mqtt у меня ничего не появилось после такого добавления устройства, добавлял сам.

Если все работает, то пишем запрос на добавление нового устройства вот сюда, написав что вы для этого сделали и приложив то, что появилось в database.db

Поделитесь с друзьями

комментария 43

  1. Спасибо за статью!
    Подскажите, лучше начать расширение системы с CC2531 или же сразу базироваться на Deconz ?

    • Тут уже дело личных предпочтений. Denonz у меня нет, а вот про cc2531 могу сказать что работает он молниеносно. Лично меня устраивает на 100%

      • А тот же датчик сяоми может одновременно находиться в объятиях собственного шлюза и параллельно с cc2531/deconz ?

        • Когда я привязал свои датчики движения и температуры xiaomi к zigbee2mqtt, в шлюзе они были уже недоступны

  2. Добрый день! Недавно заинтересовался хоум ассистент. Прошил свисток cc2531вроде все установил, но не одно устройство не определяется.
    [Info] Socat is DISABLED and not started
    2020-01-07T12:42:31: PM2 log: Launching in no daemon mode
    2020-01-07T12:42:31: PM2 log: App [npm:0] starting in -fork mode-
    2020-01-07T12:42:31: PM2 log: App [npm:0] online
    > zigbee2mqtt@1.8.0 start /zigbee2mqtt-1.8.0
    > node index.js
    zigbee2mqtt:info 2020-01-07 12:42:34: Logging to console and directory: ‘usr/share/zigbee2mqtt/log/2020-01-07.12-42-34’
    zigbee2mqtt:info 2020-01-07 12:42:34: Starting zigbee2mqtt version 1.8.0 (commit #unknown)
    zigbee2mqtt:info 2020-01-07 12:42:34: Starting zigbee-herdsman…
    zigbee2mqtt:info 2020-01-07 12:42:36: zigbee-herdsman started
    zigbee2mqtt:info 2020-01-07 12:42:36: Coordinator firmware version: ‘{«type»:»zStack12″,»meta»:{«transportrev»:2,»product»:0,»majorrel»:2,»minorrel»:6,»maintrel»:3,»revision»:20190608}}’
    zigbee2mqtt:info 2020-01-07 12:42:36: Currently 0 devices are joined:
    zigbee2mqtt:info 2020-01-07 12:42:36: Zigbee: disabling joining new devices.
    zigbee2mqtt:info 2020-01-07 12:42:36: Connecting to MQTT server at mqtt://192.168.2.100:1883
    zigbee2mqtt:info 2020-01-07 12:42:36: Connected to MQTT server
    zigbee2mqtt:info 2020-01-07 12:42:36: MQTT publish: topic ‘zigbee2mqtt/bridge/state’, payload ‘online’
    zigbee2mqtt:info 2020-01-07 12:42:36: MQTT publish: topic ‘zigbee2mqtt/bridge/config’, payload ‘{«version»:»1.8.0″,»commit»:»unknown»,»coordinator»:{«type»:»zStack12″,»meta»:{«transportrev»:2,»product»:0,»majorrel»:2,»minorrel»:6,»maintrel»:3,»revision»:20190608}},»log_level»:»info»,»permit_join»:false}’
    Ничего не посоветуете?

    • У вас в логе Zigbee: disabling joining new devices.
      Я думаю, вы просто не включили режим сопряжения

      • Включал, он 10 минут работает, потом выключается. Но ничего не находит, пробовал, два разных датчика движения от xiaomi. Уже и в ручную прописал, все равно не находит

        • А как далеко датчики от сс2531? У меня датчики движения и температуры от Xiaomi находились только когда я их добавлял в сантиметре от сс2531, и то через раз. Пробовали близко подносить?

          • Сантиметров в 50 пробовал, попробую совсем близко

          • Таже песня.
            zigbee2mqtt:info 2020-01-07 13:21:42: Zigbee: allowing new devices to join.
            zigbee2mqtt:info 2020-01-07 13:21:42: MQTT publish: topic ‘zigbee2mqtt/bridge/config’, payload ‘{«version»:»1.8.0″,»commit»:»unknown»,»coordinator»:{«type»:»zStack12″,»meta»:{«transportrev»:2,»product»:0,»majorrel»:2,»minorrel»:6,»maintrel»:3,»revision»:20190608}},»log_level»:»info»,»permit_join»:true}’
            А устройсво не цепляет. Может свисток левый попался.

          • Странно действительно. Может и левый правда. У меня уже есть один, который постоянно отваливается, так что брак это обычное дело. Второй работает отлично. Советую взять второй дополнительно, а пока будет идти откройте проблему на гитхаб zigbee2mqtt

          • Я вообще в ступоре, на работе развернул НА, правда на Дебиане, а не на Распбиане, все заработало, устройства мгновенно обнаруживаются. Вернул свисток домой, те же устройства не находятся. Ставил zigbee2mqtt в разных вариантах, как отдельно на машину так и в докер, никаких изменений.

          • Интересно) Разные usb порты вы наверное уже использовали.. может флешка? Новая? Или другую флешку попробуйте

          • Порты попробовал, флэшка новая. В общем я в растерянности)

          • А блок питания другой, мощнее, пробовали?

          • Более мощного нет, надо поискать, у самого была мысль о нехватки питания

          • Оказывается, все просто, на pi 4 устройства не обнаруживаются если свисток подключить напрямую в usb, если через удлинительный кабель все работает. Кабздец). Говорила мама учи английский)) И читай форумы

          • Интересно… Можно ссылочку на инфу, тоже почитаю

          • То, что 4 малина создаёт много помех, это для меня новость) буду знать, спасибо

          • Вам спасибо за полезнийшую информацию, много взял с вашего сайта

  3. Спасибо за материал. Поделюсь своим кейсом.
    У меня сразу сами не появлялись, помучался с настройками конфига — заработало.
    Кстати, у вас битая сслыка на инструкцию хассио. http://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices_on_hassio.html

    Думаю вот то что надо
    https://github.com/danielwelch/hassio-zigbee2mqtt

    Так вот, устройства определяются и сразу даже все как-то работало хорошо. Обрадовался. Теперь вот устройства отпадают и практически уже не управляются. Не могу понять в чем дело. Они видны и в интеграциях подтягиваются, но при нажатии ничего не происходит. Я думаю проблема либо в железе, либо помехи какие-то, либо драйвера… не знаю. Короче то работают, то не работают.
    Может проблема в nod.js можете еще где-то.

    Ваша инструкция описывает ситуацию если устройство какое-то индивидуальное, неопознанное. А для стандартных опознанных устройств больше ничего нигде не нужно прописывать?
    Вот например определилась у меня кнопка.
    Aqara wireless switch (with gyroscope) (WXKG12LM)
    В интеграциях MQTT показывает что нашло…
    Объекты:
    sensor.0x00158d0004272756_action
    sensor.0x00158d0004272756_battery
    sensor.0x00158d0004272756_click
    sensor.0x00158d0004272756_linkquality

    Я так понимаю это все сенсоры состояния. А как же мне прописывать действия, например клик, двойной клик и т.д.???
    Помогите плиз.
    Пишу так:
    — alias: click_button_1
    trigger:
    platform: event
    event_type: xiaomi_aqara.click
    event_data:
    entity_id: sensor.0x00158d0004272756_action
    click_type: long_click_press
    action:
    — service: light.turn_on
    entity_id:
    — light.yeelight_01

    Не работает. В чем проблема? Как правильно?
    Спасибо!

    • Добрый день. Спасибо, что указали на битую ссылку, до этого была рабочая. Насчёт того, что устройства теряются не подскажу. Не сталкивался с таким. Думаю стоит создать проблему на гитхаб zigbee2mqtt.
      По двойному клику не подскажу, так как нет устройства. Сенсор клика у вас появился, не знаю какие у него бывают состояни, 0/1 или click/double click. Можно использовать автоматизацию типа «если значение сенсора click, то выполнить что-то». То же самое на двойной клик. На yaml это написать не проблема. Напишите свои значения этого сенсора. А event_type:xiaomi_aqara.click это скорее всего относится к управлению через Xiaomi gateway

      • Спасибо. Разобрался. Подключил стик через удлинитель usb и все стало работать стабильно. Наверно просто фон какой-то идёт.
        Все сценарии хорошо работают через state. Event не работает. Вы правы, наверно event — это если через шлюз.

  4. Добрый день, переподключил все датчики к стику. Все отлично работает кроме круглой кнопки Xiaomi. Не работает автоматизация. Не сталкивались с подобной проблемой?

    • Добрый день, у меня нет круглой кнопки. Какие там сенсоры появляются и как вы пишете автоматизацию?

      • sensor.0x00158d00033e88ca_battery, sensor.0x00158d00033e88ca_click, sensor.0x00158d00033e88ca_linkquality
        — alias: 2 Switch Click ON/OFF Toggle
        trigger:
        — platform: event
        event_type: xiaomi_aqara.click
        event_data:
        entity_id: sensor.0x00158d00033e88ca_click
        click_type: single
        action:
        — service: switch.toggle
        entity_id: switch.sonoff_basic_relay

        • Просматривая лог MQTT я вижу что кнопка срабатывает, но автоматизация не происходит.
          Строка event_type: xiaomi_aqara.click правильная?

          • Напишите, пожалуйста, значения sensor.0x00158d00033e88ca_click на одиночный клик и на двойной

          • Панель разработчика> Состояния, колонка «состояние» напротив вашего сенсора. Какие значения в простое, на клик и на двойной клик?

          • В простое пусто, клик- single, двойной-double. Быстро проскакивают

          • 2020-01-19 14:40:25
            Topic: zigbee2mqtt/0x00158d00033e88ca
            Qos: 0
            {«battery»:100,»voltage»:3062,»linkquality»:123,»click»:»»}
            2020-01-19 14:40:25
            Topic: zigbee2mqtt/0x00158d00033e88ca
            Qos: 0
            {«battery»:100,»voltage»:3062,»linkquality»:123,»click»:»single»}

            2020-01-19 14:40:57
            Topic: zigbee2mqtt/0x00158d00033e88ca
            Qos: 0
            {«battery»:100,»voltage»:3062,»linkquality»:118,»click»:»»}
            2020-01-19 14:40:57
            Topic: zigbee2mqtt/0x00158d00033e88ca
            Qos: 0
            {«battery»:100,»voltage»:3062,»linkquality»:118,»click»:»double»}

          • Проверьте автоматизации по ссылке ниже, там моя для датчика движения и для вас быстро составил, можете подправить как вам нужно, главное чтобы был ясен смысл: https://pastebin.com/Fmg6Z43K

          • Разобрался, извиняюсь за беспокойство, нужно было писать:
            trigger:
            platform: state
            entity_id: sensor.0x00158d00033e88ca_click
            to: ‘single’

  5. А никто не знает, что может быть причиной такой проблемы: к стику устройства привязываются, в логах zigbee2mqtt всё в порядке, но в hassio устройства не появляются. В логах mosquitto ошибок нет. Куда копать?

    • Копайте в сторону брокера, в вашем случае mosquito. И автообнаружение новых устройств проверьте

  6. ень добрый. Попробовал присоединить мотор от Tuya, который не прописан в поддерживаемых. Нашел в devices.js такой же клон и скопипастил оттуда все данные, заменив только модель. Новый файл подкинул через самбу в папку /share/zigbee2mqtt. Данные по новому устройству взял из полученных от zigbee2mqttassistant . При попытке добавить в конфиг аддона zigbee2mqtt строку «zigbee_shepherd_devices»: true происходит отключение zigbee2mqttassistant (offline) и пропадает вся визуализация подключенных устройств. Подскажите что я делаю неверно.

    • Добавление в конфиг аддона строки «zigbee_shepherd_devices»: true было актуально на момент написания статьи. Позже, с обновлениями, они вроде убрали ее вообще. Точно не помню. Давно не добавлял новые устройства, в любом случае нужно читать тут: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html

    • Похожая проблема, только возникает она при добавлении указанной команды и при размещении в папке файла devices.js. Вы как то смогли решить проблему?

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Exit mobile version