vashal

 
<<< Back

Установка zigbee2mqtt

Краткое описание принципа работы с zigbee устройствами и установки сервиса zigbee2mqtt

В связи с постоянными вопросами в группе MajorDoMo в Telegram, а именно для того, чтобы на эти вопросы кидаться ссылкой, решил написать статью.
Для начала, необходимо прояснить один момент:
Для того, чтобы всё заработало, недостаточно поставить модуль zigbee2mqtt из маркета MajorDoMo

Итак, что нам нужно, чтобы завести в MajorDoMo условный термостат:

  1. Необходим, собственно сам zigbee2mqtt - https://zigbee2qtt.io - именно он, посредством вашего zigbee стика будет общаться с zigbee устройствами.
  2. Необходим MQTT брокер - это такая прокладка, посредством которой наш zigbee2mqtt будет передавать в MajorDoMo информацию, принятую от zigbee устройств посредством zigbee стика.
  3. Необходим модуль в MajorDoMo на выбор:
    а) MQTT - для гиков
    б) zigbee2mqtt - красиво, но с добавлением устройств, выпущенных после 2020 года придётся помучится, потому как заброшен автором
    в) zigbeeDev - всем хорош, актуален и поддерживается автором на момент написания статьи
    г) HA Discovery - последняя разработка, достаточно нажать пару кнопок и устройство само залетает в MajorDoMo

Вот крайне подробный комментарий автора MajorDoMo по этим модулям:
"Zigbee2MQTT как технология остаётся актуальной -- для работы с zigbee-устройствами это наверное лучшее, что есть. Она (технология) не привязана ни к модулям ни к системе автоматизации в целом.

zigbee2mqtt как модуль MajorDoMo это первая попытка обернуть технологию в более простой интерфейс настройки, т.е. не использовать чистый MQTT модуль (хотя его никто не запрещает использовать), но настраивать исходя из возможностей и оборудования Zigbee. Если кто-то модулем пользуется и его хватает, то ничего менять не нужно. Но автор модуля его больше не поддерживает, а желающих его развивать не находится, так что возникающие вопросы по нему каждый сам решает.

ZigbeeDev -- по назначению модуль примерно такой же как и предыдущий, только несколько проще по структуре и более универсальный, т.к. не требует поддержки базы оборудования для работы. Но может быть менее дружественный интерфейс. Также в этом модуле была впервые введена возможность автоматического создания ПУ при появлении нового устройства в сети Zigbee, т.е. в идеале пользователю не нужно вовсе заходить в модуль, чтобы начать пользоваться новым устройством, хотя режим привязки всё же надо как-то активировать вручную. Из минусов -- автоматическое создание ПУ идёт только для фиксированного списка моделей устройств и этот список нужно регулярно поддерживать (расширять). Но если этой функцией не пользоваться, то "ручная" привязка работает с любым оборудованием zigbee.

HA Discovery -- у этого модуля несколько принципиальных отличий от предыдущих. Во-первых, HA значит Home Assistant, т.е. задача этого модуля -- полноценная поддержка протокола MQTT Discovery, который был разработан в "родственном" проекте и который достаточно успешно распостраняется как стандарт для различного оборудования, взаимодействующего по MQTT. Zigbee2MQTT один из проектов, который его поддерживает, но не единственный, так что потенциально этот модуль упростит интеграцию с множеством устройств помимо Zigbee. В этом модуле также присутствует функционал автоматического создания ПУ, но уже без привязки к моделям устройств, но на основании предоставляемого функционала. Ещё через модуль можно переводить шлюз Zigbee в режим сопряжения, а также удалять устройство из Zigbee сети при удалении связанного ПУ. План такой, что этот модуль позволит упростить ввод в эксплуатацию нового оборудования Умного Дома настолько, что пользователю не придётся вовсе заходить в панель управления и достаточно будет интерфейса нового приложения для телефона. Делать "сложно и гибко" всегда останется возможным, но перестанет быть обязательным."
(Орфография и пунктуация сохранены)

Ну что ж, приступим к установке (windows): Я НЕ ПРОВЕРЯЛ РАБОТОПОСОБНОСТЬ В WINDOWS ПОЭТОМУ ЗА 100% ТОЧНОСТЬ НЕ ОТВЕЧАЮ.

  1. Нулевым пунктом обновим SSL сертификаты, дабы MajorDoMo беспрепятственно ходил в интернет: https://connect.smartliving.ru/profile/4888/blog/p...
  2. Начнем со второго пункта, чтобы не отвлекаться на него потом. Переходим по ссылке https://mosquitto.org/download/, качаем версию под установленную систему, устанавливаем.
    Раскомментируем в файле C:\Program Files\mosquitto\mosquitto.conf 23 строку(allow_anonymous) и перезапускаем службу Mosquitto Broker.
  3. Переходим на https://www.zigbee2mqtt.io/guide/installation/05_w..., читаем инструкцию, ставим )))
    Если вкратце, то:
    • Сперва открываем диспетчер устройств и убеждаемся, что со стиком всё в порядке, дрова на него установлены, и COM-порт назначен. Если нет, ставим дрова (все ссылки есть на сайте);
    • Далее ставим Node.js (ссылка там тоже есть, но приведу здесь, на всякий (актуальна на момент статьи) - https://nodejs.org/dist/v22.12.0/node-v22.12.0-x64...)
    • Запускаем командную строку (cmd), вводим команду node --version, и убеждаемся, что nodejs успешно установлен (честно стырил строку с инструкции с сайта).
    • Переходим на Гит https://github.com/koenkk/zigbee2mqtt и с помощью зеленой кнопки скачиваем zip-архив и распаковываем его в корень диска C
    • В открытом окне командной строки набираем cd C:\zigbee2mqtt-master\ потом npm ci
    • Прописываем COM-порт со стиком в файле c:\zigbee2mqtt-master\data\configuration.yaml
    • Пробуем запустить (npm start в командной строке) и смотрим, чтоб всё прошло успешно
      Если все в порядке, имеет смысл создать в папке C:\zigbee2mqtt-master\ файл start.bat с содержимым npm start и поместить его в автозагрузку.

Ну что ж, приступим к установке (linux):

  1. Начнем со второго пункта, чтобы не отвлекаться на него потом. Набираем apt install mosquitto, ждём когда установится, потом обязательно добавляем (или раскомментируем) в конфиге /etc/mosquitto/mosquitto.conf строку allow_anonymous
    Рестартим брокера systemctl restart mosquitto

  2. Переходим на https://www.zigbee2mqtt.io/guide/installation/01_l... и внимательно выполняем все пункты путем копирования всех команд в терминал линукса.
    Для начала надо определить порт, к которому подключен стик: на Raspberry это обычно /dev/ttyACM0, у меня на "большом" Debian /dev/ttyUSB0
    В общем, там все понятно. Внимательно читаем, копируем команды, смотрим их пояснение и всё получится!

2.5 Как оказалось, совсем не очевидно, что для начала надо добавить термостаты в zigbee2mqtt, прежде чем они появятся в MajorDoMo. Исправляюсь....
Итак, переходим во фронтэнд: https://www.zigbee2mqtt.io/guide/configuration/fro...
Сперва добавляем в конфиг c:\zigbee2mqtt-master\data\configuration.yaml frontend: true, перезапускаем сервис. Потом открываем браузер и в адресной строке вводим http://localhost:8080.
Далее добавляем все ваши устройства, производим необходимые настройки и...

  1. Ставим модуль на выбор, я рекомендую HA Discovery (хотя сам сейчас использую zigbeeDev), а дальше уже всё зависит от ваших задач и хотелок...

Discuss (1) (1)

See also:
2024-06-27 Есть ли жизнь на PHP8?
2023-05-17 Алиса, заведи машину!
2022-12-07 Управление гирляндами Twinkly
2022-09-29 PHP cURL на Windows и штатной установке
2020-02-15 Конфиг nginx
2019-06-13 gps-trace.ru

Иркутск, Россия

На форуме: V.A.S.t