Позволяет использовать устройства Zigbee без моста или шлюза поставщика.
Он объединяет события и позволяет вам управлять вашими устройствами Zigbee через MQTT. Таким образом, вы можете интегрировать свои устройства Zigbee с любой инфраструктурой умного дома, которую вы используете.
Документация предоставляет вам всю информацию, необходимую для начала работы! Убедитесь, что вы не пропускаете разделы, если это ваш первый визит, так как там может быть важная для вас информация.
Если вы не знакомы с терминологией Zigbee , обязательно прочтите это, оно вам поможет.
Zigbee2MQTT хорошо интегрируется (почти) с любым решением домашней автоматизации, поскольку использует MQTT. Однако стоит упомянуть следующие интеграции:
Zigbee2MQTT состоит из трех модулей, каждый из которых разработан в собственном проекте Github. Начиная с аппаратной части (адаптера) и двигаясь вверх; zigbee-herdsman подключается к вашему адаптеру Zigbee и делает API доступным для более высоких уровней стека. Например, для оборудования Texas Instruments zigbee-herdsman использует API мониторинга и тестирования TI zStack для связи с адаптером. Zigbee-пастух управляет основной связью Zigbee. Модуль zigbee-herdsman-converters обрабатывает сопоставление отдельных моделей устройств с поддерживаемыми ими кластерами Zigbee. Кластеры Zigbee — это уровни протокола Zigbee поверх базового протокола, которые определяют, например, как источники света, датчики и переключатели взаимодействуют друг с другом через сеть Zigbee. Наконец, модуль Zigbee2MQTT управляет zigbee-herdsman и сопоставляет сообщения zigbee с сообщениями MQTT. Zigbee2MQTT также отслеживает состояние системы. Для хранения этого состояния используется файл database.db
; текстовый файл с JSON-базой данных подключенных устройств и их возможностей. Zigbee2MQTT предоставляет веб-интерфейс, позволяющий осуществлять мониторинг и настройку.
Zigbee2MQTT использует TypeScript (пока частично). Поэтому после внесения изменений в файлы в каталоге lib/
вам необходимо перекомпилировать Zigbee2MQTT. Это можно сделать, выполнив npm run build
. Для более быстрой разработки вместо запуска npm run build
вы можете запустить npm run build-watch
в другом сеансе терминала, он будет перекомпилироваться при изменении файлов. В первый раз перед сборкой вам необходимо запустить npm install --include=dev
Перед отправкой изменений запустите npm run test-with-coverage
, npm run pretty:check
и npm run eslint
См. раздел «Поддерживаемые устройства», чтобы проверить, поддерживается ли ваше устройство. Список довольно обширный, в него входят устройства таких производителей, как Xiaomi, Ikea, Philips, OSRAM и других.
Если его нет в списке «Поддерживаемые устройства», поддержку можно (довольно) легко добавить, см. раздел «Как поддерживать новые устройства».
Если вам нужна помощь, вы можете проверить открытые проблемы. Не стесняйтесь помогать с запросами на включение, если вам удалось исправить ситуацию, добавить новые устройства или просто поделиться своей любовью в социальных сетях.