Схема Zigbee2MQTT: устройство, координатор, MQTT-брокер и GrowerHub

Zigbee2MQTT — это программа-посредник между Zigbee-сетью и MQTT. Датчик разговаривает по Zigbee с координатором, Zigbee2MQTT переводит его сообщение в понятные данные, а MQTT-брокер доставляет их GrowerHub, Home Assistant или другому сервису. В обратную сторону команда реле проходит тот же путь.

Система по слоям

Слой Что делает Пример
Zigbee-устройство измеряет или выполняет команду датчик температуры, розетка, реле
координатор создаёт одну Zigbee-сеть USB-адаптер с поддерживаемой прошивкой
Zigbee2MQTT опрашивает устройства и преобразует сообщения температура превращается в JSON-поле
MQTT-брокер доставляет сообщения подписчикам Mosquitto
приложение показывает данные и применяет правила GrowerHub или Home Assistant

Если пропал датчик, неисправность может быть на любом слое. Поэтому фраза «не работает Zigbee2MQTT» слишком общая: сначала нужно понять, видит ли адаптер сеть, завершён ли pairing, опубликовано ли MQTT-сообщение и прочитал ли его потребитель.

Что Zigbee2MQTT не заменяет

  • Координатор — это физический радиомодуль, а Zigbee2MQTT работает с ним как программа.
  • MQTT-брокер принимает и доставляет сообщения; Zigbee2MQTT подключается к нему как клиент.
  • Home Assistant или GrowerHub показывают данные и применяют пользовательские правила.
  • Интернет не нужен самой локальной Zigbee-сети. Он нужен, если MQTT-брокер или интерфейс находятся вне вашего компьютера, как при прямом подключении к GrowerHub.

Поэтому установка обычно состоит минимум из USB-координатора, Zigbee2MQTT, MQTT-брокера и приложения. В GrowerHub MQTT-брокер и кабинет уже доступны: пользователь настраивает координатор и Zigbee2MQTT.

Координатор, роутер и конечное устройство

Координатор в сети один. Питающиеся от сети устройства часто работают роутерами и пересылают сообщения. Батарейные датчики обычно спят и являются конечными устройствами. Они экономят заряд, но не усиливают сеть.

Для теплицы это означает, что дальний батарейный датчик нельзя «усилить» вторым батарейным датчиком. Нужен подходящий роутер между ним и координатором. Металл, влажные конструкции и оборудование 2,4 ГГц дополнительно влияют на связь. Практические рекомендации есть в официальной инструкции Improve network range and stability.

Что происходит при подключении

  1. Zigbee2MQTT временно разрешает новым устройствам входить в сеть.
  2. Устройство переводят в pairing или выполняют заводской reset.
  3. Оно присоединяется к сети и проходит interview.
  4. Zigbee2MQTT определяет модель и её возможности.
  5. Состояния начинают публиковаться в MQTT.

Официальный процесс и подключение через конкретный роутер описаны в Allowing devices to join. Если interview не заканчивается, переходите к пошаговой диагностике Zigbee-устройства.

Топики без лишней теории

MQTT-топик похож на адрес сообщения. Устройство публикует своё состояние в топик с friendly name, а команда обычно отправляется в связанный топик /set. Служебные операции идут через bridge/request и bridge/response.

Точные имена зависят от настроенного base topic. Не привязывайте бизнес-логику к случайному имени вроде 0xa4...: дайте устройству стабильный friendly name, а аппаратный адрес храните как технический атрибут.

Что такое exposes

Exposes — перечень свойств и действий, которые Zigbee2MQTT знает для конкретной модели: температура, влажность, заряд, состояние реле, яркость и другие возможности. Наличие Zigbee-логотипа не гарантирует нужного поля. До покупки проверяйте точную модель в каталоге поддерживаемых устройств.

Для GrowerHub важно и направление свойства: одно значение можно только читать, другим разрешено управлять. Команда насосу или свету должна отправляться только для явно поддерживаемого управляемого свойства.

Availability и свежесть данных

Availability показывает, считает ли Zigbee2MQTT устройство доступным. Активные и спящие устройства проверяются с разными таймаутами. Подробности и MQTT-топик описаны в Device Availability.

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

Как GrowerHub использует этот слой

GrowerHub получает через MQTT состояния и команды, связывает устройство с зоной и показывает его рядом с боксом, растениями и сценарием. Пользователю не нужно каждый день работать с техническими топиками, но при диагностике путь сообщения остаётся прозрачным.

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

Ограничения

  • Zigbee2MQTT не делает бытовой датчик влагозащищённым.
  • Поддерживаемая модель может иметь другую аппаратную ревизию.
  • Хороший linkquality в один момент не гарантирует стабильность за сутки.
  • MQTT доставляет команду, но не подтверждает физический результат насоса или вентилятора без обратной связи.
  • Для опасной нагрузки нужны независимые ограничения и безопасный монтаж.

Что проверить после установки

  • координатор находится вдали от источников помех;
  • сеть имеет питающиеся роутеры;
  • pairing завершён и модель распознана;
  • нужные exposes реально обновляются;
  • availability включена осознанно;
  • friendly names понятны;
  • GrowerHub блокирует действие по устаревшим данным.

Так Zigbee2MQTT становится не «ещё одним хабом», а понятным транспортным слоем между устройствами и системой управления.

GrowerHub выдаёт изолированное пространство MQTT и готовую конфигурацию после входа. Выберите координатор, затем пройдите короткое подключение; существующий локальный MQTT можно сохранить через локальный мост.

Для первого стенда на обычном компьютере используйте отдельную инструкцию по установке Zigbee2MQTT на Windows.