Подключение Zigbee2mqtt в Home Assistant

Содержание

В этой статье рассмотрим как подключить координатор SONOFF ZB Dongle-E Zigbee 3.0 USB Dongle Plus E к Home Assistant, установленному на сетевое хранилище Synology NAS.

Создание резервной копии Home Assistant

На данном этапе рекомендую взять за правило создание полной резервной копии Home Assistant перед внесением каких либо изменений, которые могут повлиять на работоспособность системы. Для создания резервной копии в главном меню переходим в Настройки > Система

В открывшемся окне открываем пункт «Резервные копии»

В правом нижнем углу жмем на кнопку «+Создать резервную копию»

Задаем название резервной копии, выбираем пункт «Полная резервная копия» и нажимаем кнопку «Создать»

Копия создана, теперь в случае, если мы что-нибудь поломаем, то всегда сможем откатиться к текущему состоянию. Я же дополнительно скачал бекап на свой компьютер.

Установка Mosquitto broker в Home Assistant

Для установки необходимых дополнений, в настройках пользователя должен быть включен «Расширенный режим», а после этого уже переходим в магазин дополнений http://homeassistant.local:8123/hassio/store. В первую очередь установим «Mosquitto broker» открываем его и нажимаем «Установить», но не запускаем его.

После установки, переходим во вкладку «Конфигурация» и задаем логин и пароль:

- username: mqtt
  password: mqtt
PHP

После внесения изменений сохраняем их. возвращаемся на вкладку «Информация», включаем опцию «Watchdog» и запускаем установленное дополнение.

Подготовка к установке Zigbee2mqtt

Если мы производим установку аддона Zigbee2mqtt, то нужно полагать что к нашему устройству уже подключен Zigbee стик. Координатор я купил на одном из известных маркетплейсов, модель: SONOFF ZB Dongle-E Zigbee 3.0 USB Dongle Plus E. Упаковка пришла целая, стик был подключен к моему Synology NAS. Сам координатор я пока не прошивал, так как надеюсь, что все будет работать «из коробки».

Еще на этапе установки Home Assistant я выделил отдельный usb порт в виртуальной машине и в нем выбрал подключенный координатор.

На следующем шаге нам потребуется указать путь к координатору, по этому мы подготовимся и заранее определим его. Для этого переходим в Настройки > Система

В Настройках, в самом низу выбираем пункт «Оборудование»

На этой странице ищем и жмем кнопку «Все оборудование»

В открывшемся окне будет показано множество пунктов, в поиске ввожу «Sonof» и открою найденный пункт.

В раскрывшемся меню мы видим атрибуты подключенного устройства. Нас интересует параметр «Путь». Я сохраню его в текстовый файл — он нам потом понадобится.

У меня путь /dev/ttyACM0 (у вас он может отличаться)

/dev/ttyACM0
HTTP

Запомнили/записали этот путь и переходим к следующему шагу.

Установка Zigbee2mqtt в Home Assistant

После выполнения предыдущих шагов можно приступать к установке Zigbee2mqtt. По умолчанию этого дополнения нет в Home Assistant, по этому в разделе дополнений (http://homeassistant.local:8123/hassio/store) нам необходимо добавить репозиторий. В правом верхнем углу жмем на три точки и выбираем пункт «Репозитории»

Необходимо добавить этот адрес:

https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
HTTP

Вставляем ссылку и жмем кнопку «Добавить» и после того как отобразится добавленный репозиторий, окно добавления репозиториев можно будет закрыть.

После этого обновляем открытую страницу, для того чтобы в магазине отобразились дополнения из только что добавленного репозитория. На странице видим три дополнения Zigbee2mqtt, нам нужно установить первое.

Подготовка конфигурации Zigbee2mqtt в Home Assistant

После установки дополнения Zigbee2mqtt НЕ запускаем его. Для начала проведем ряд настроек с конфигурационным файлом дополнения Zigbee2mqtt. Во вкладке конфигурация отображается путь где будет лежать конфигурация этого дополнения. Но на данном этапе дополнение еще не запущено, а значит папки по этому пути еще нет.

Переходим через главное меню в «File editor» и в корневой директории создаем папку с названием zigbee2mqtt

Внутри этой папки создаем файл configuration.yaml

Открываем файл конфигурации который только что создали и там необходимо добавить несколько строк.

Первой строкой идет интеграция Zigbee2MQTT с Home Assistant. Дело в том, что Zigbee2MQTT записывает все состояния в базу данных одной строкой, а этот параметр делает так, чтобы Home Assistan мог читать информацию передаваемую дополнением Zigbee2MQTT.

homeassistant: true
HTTP

Второй — отключение режима подключения новых устройств. Для подключения необходимо будет нажать кнопку сопряжения на устройстве. Это удобнее, так как добавляя в ручную, вы сразу сможете давать ему понятное для себя названия.

permit_join: false
HTTP

Пропишем сервер MQTT (дополнение Mosquitto broker, которое мы устанавливали ранее).

  • server: mqtt://core-mosquitto:1883 — адрес сервера MQTT и стандартный порт
  • base_topic: zigbee2mqtt — это название ветки в корневой папке брокера (имейте в виду, что если у вас будет подключено 2 координатора zigbee, то необходимо будет изменить название адреса и в этой строке)
  • version: 5 — версия протокола MQTT
mqtt:
  server: mqtt://core-mosquitto:1883
  base_topic: zigbee2mqtt
  version: 5
HTTP

Порт для USB координатора Sonoff ZB Dongle-E, где «port» /dev/ttyACM0 — это путь к устройству который мы сохраняли ранее.

serial:
  port: /dev/ttyACM0
  adapter: ezsp
HTTP

Раздел «advanced» содержит следующие строки

  • transmit_power: 20 — мощность сети
  • channel: 11 — канал работы Zigbee2mqtt (по умолчанию)
  • pan_id: GENERATE — название сети (не задаем его вручную, а делаем чтобы он генерировался)
  • network_key: GENERATE — пароль сети
  • availability_blocklist: [] — черный список устройств
  • availability_passlist: [] — белый список устройств
  • last_seen: ISO_8601 — активация отображения времени последнего отклика от устройств
  • log_level: info — уровень сообщений попадающий в журнал дополнения
advanced:
  transmit_power: 20
  channel: 11
  pan_id: GENERATE
  network_key: GENERATE
  availability_blocklist: []
  availability_passlist: []
  last_seen: ISO_8601
  log_level: info
HTTP

Вот полный код конфигурации который я использую:

homeassistant: true
permit_join: false
mqtt:
  server: mqtt://core-mosquitto:1883
  base_topic: zigbee2mqtt
  version: 5
serial:
  port: /dev/ttyACM0
  adapter: ezsp
advanced:
  transmit_power: 20
  channel: 11
  pan_id: GENERATE
  network_key: GENERATE
  availability_blocklist: []
  availability_passlist: []
  last_seen: ISO_8601
  log_level: info
HTTP

Сохраняем добавленные строки в файле zigbee2mqtt/configuration.yaml

Активация дополнения Zigbee2mqtt

После того как мы создали и внесли настройки в конфигурацию Zigbee2mqtt, можно его запускать. Для этого переходим в Настройки > Дополнения открываем уже установленное дополнение Zigbee2MQTT и нажимаем кнопку «Запустить». После этого в верхнем меню переходим во вкладку журнал, для того чтобы могли видеть процесс запуска и если возникнут ошибки — понять их причину. Установка займет несколько минут.

Если журнал не отображает процесс установки, то периодически нажимайте кнопку «Обновить». У меня все получилось, последняя строка говорит, что дополнение успешно запущено.

После установки, возвращаемся на первую вкладку дополнения, отмечаем галочки как на скриншоте ниже (Watchdog и Показывать на боковой панели). После этого в левой панели Home Assistant появится новый пункт Zigbee2MQTT — переходим туда и немного радуемся.

Подключение Zigbee устройств к Home Assistant

В открытом разделе Zigbee2MQTT еще не отображаются никакие устройства, так к как мы еще ничего не добавили. Настраивать ничего дополнительно сейчас не нужно, так как мы заранее прописали все необходимые настройки в файле configuration.yaml

На данном этапе я сделаю полный бекап системы, чтобы в дальнейшем можно было откатиться к этапу когда еще все чисто, но настраивать ничего не нужно.

Самое время подключить наше первое устройство. Вообще в первую очередь лучше подключать устройства, которые могут являться роутером: реле, розетки, лампочки (почти все устройства напрямую подключаемые к сети). Если первыми подключать устройства «роутеры», то в дальнейшем, можно будет выбирать, к каким устройствам будет осуществляться подключение новых устройств (это удобно если расстояние до zigbee координатора слишком большое, тогда удаленное устройство можно будет подключить к ближайшему роутеру).

Я же подключу устройство которое сейчас под рукой — Датчик движения AQARA RTCGQ11LM. Для подключения нового устройства zigbee в разделе Zigbee2MQTT в правом верхнем углу жмем на кнопку «Разрешить подключения (все)». После нажатия на эту кнопку появится уведомление о том что, можно подключать устройство (примерно 4 минуты). В это время на своем датчике движения я зажимаю кнопку сопряжения и удерживаю в течение 5 секунд, пока индикатор не начнет мигать (подробнее о тот как включить решим сопряжения на вашем устройстве читайте в прилагаемой к нему инструкции)

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

Можно открыть добавленное Zigbee устройство и посмотреть отображаемую в нем информацию, переименовать его и так далее.

В дальнейшем для более удобного сопряжения, я установлю приложение Home Assistant на свой телефон и сопряжение zigbee устройств буду выполнять один за другим сразу их переименовывая для понимания их местоположения в дальнейшем.

Настройка интеграции MQTT в Home Assistant

На данном этапе все взаимодействие происходит между установленными и настроенными дополнениями «Zigbee2MQTT» и «Mosquitto broker». Нам же надо чтобы все это добавить в Home Assistant. Так как ранее мы настраивали «Mosquitto broker», то в интеграциях автоматически добавится новая MQTT — нам нужно ее настроить. Для этого нам нужно перейти в Настройки > Устройства и службы и в интеграции MQTT нажать кнопку «Настроить». Появится всплывающее окно — в нем жмем кнопку «Подвердить».

Отобразится уведомление, о том, что все прошло успешно — жмем «готово»

Интеграция MQTT переместится в раздел «Настроено» — находим ее там и открываем. Внутри мы видим что устройство одно (ранее подключенный датчик движения), а объектов 9. Кликаем по ссылке «1 устройство» (как показано на скриншоте ниже)

Откроется окно устройства, на котором отображается информация о нем. Так же видно, что часть объектов для взаимодействия активна и доступна для управления сразу.Другая часть скрыта — это видно в разделе «Диагностика». Для примера кликнем по пункту «Батарея»

Откроется окно, нам нужно кликнуть по шестеренке сверху.

В этом окне необходимо активировать переключатель, как показано на скриншоте, и нажать кнопку «Обновить» (Повторяем эту процедуру для всех нужных нам сенсоров.)

Примерно через 30 секунд в информации об устройстве, будут отображаться активированные нами сенсоры.

Так же информация, к примеру уровень заряда батареи, будет отображаться в разделе Zigbee2MQTT

По такому же принципу добавляем другие устройства умного дома на протоколе Zigbee. В дальнейшем можно будет настраивать автоматизации между ними и подключенными другим способом устройствами, например WI-FI или Bluetooth.

категории:Home Assistant
поделиться:
Telegram
VK
OK
WhatsApp