У вас уже работают Home Assistant, Zigbee2MQTT и датчики? Их можно оставить на месте и добавить GrowerHub для обзора теплиц, растений, истории и сценариев. Текущий путь — отдельный MQTT-мост (connector), который подключается к вашему брокеру и к GrowerHub. Перепривязывать датчики к новому координатору не нужно.

Сначала посмотрите результат: откройте демоферму без регистрации. В ней четыре теплицы, виртуальные устройства и семь дней истории. Нажмите на температуру, откройте полив и измените условия среды. Это тот же кабинет и те же сценарии, которыми пользуется обычная ферма; показания демо смоделированы.

Обзор четырёх теплиц в действующем деморежиме GrowerHub

Что понадобится и что останется в Home Assistant

Уже есть Добавляется
Zigbee-координатор и связанная с ним сеть Подключение координатора в аккаунте GrowerHub
Zigbee2MQTT и его локальный MQTT-брокер Connector с отдельным соединением по TLS к GrowerHub
Сущности и dashboard Home Assistant Обзор фермы, теплицы, растения, история и настройки GrowerHub

Connector запускается на постоянно включённом компьютере с Docker Compose: Linux/Raspberry Pi с 64-битной системой или Windows с Docker Desktop в режиме Linux containers. Пакет не является дополнением Home Assistant OS; для такой установки нужен отдельный компьютер с Docker в той же сети. Connector v0.2.5 использует обычную сеть Docker и не требует режима host networking.

Это подключение устройств Zigbee2MQTT. Если ваша Zigbee-сеть работает через ZHA в Home Assistant, этот connector пока не подходит. Произвольные сущности Home Assistant, ESPHome native API, MQTT discovery-конфигурации и старую историю HA GrowerHub автоматически не импортирует. Одного появления датчика в HA недостаточно для его подключения к GrowerHub.

В connector v0.2.5 поддерживаются полные имена устройств, включая теплица/температура. Добавление и переименование обновляют маршруты автоматически. Сохранённое значение отображается как последнее известное; оно не добавляет новую точку истории и не освежает время живой связи. После восстановления MQTT старые показания также остаются сохранёнными.

Транспорт проверен на изолированном стенде с Mosquitto 2.0.22, TLS, двумя подключениями и разрывами обоих соединений. Это проверка транспорта, а не физический допуск модели клапана. Дождитесь новой публикации реального датчика и сравните значения с GrowerHub.

Модуль передаёт список и показания всей выбранной сети Zigbee2MQTT и обратные команды; отдельного режима только чтения или фильтра одного устройства нет. На этапе проверки оставьте действующие сценарии в Home Assistant.

Шаг 1. Оставьте работающую Zigbee-сеть на месте

Проверьте в Zigbee2MQTT, что нужный датчик доступен и даёт свежие значения. Запишите адрес и порт локального MQTT-брокера, данные отдельного пользователя для connector и значение mqtt.base_topic из конфигурации Zigbee2MQTT. Обычно тема называется zigbee2mqtt, но она может быть другой.

Настройки интеграции MQTT в Home Assistant, USB-порт координатора и его Zigbee-сеть менять не требуется. Пока проверяете передачу показаний, оставьте управление оборудованием в вашей текущей системе.

Шаг 2. Получите личный файл моста

  1. Войдите в GrowerHub, чтобы открыть мастер первого подключения. Если мастер уже пройден, откройте «Настройки → Подключения», раздел «Добавить координатор» — там доступна та же настройка существующего Zigbee2MQTT.
  2. Выберите «Уже работает Zigbee2MQTT». Этот вариант подходит и для Zigbee2MQTT внутри Home Assistant.
  3. Введите понятное название и нажмите «Создать подключение» в мастере или «Создать» в настройках.
  4. В блоке «Локальный MQTT» укажите адрес, порт, базовую тему Zigbee2MQTT, имя пользователя и пароль брокера.
  5. Скачайте личный connector.json до обновления страницы. Данные локального брокера используются в браузере для файла и не отправляются GrowerHub.

Форма создания connector.json в GrowerHub с вымышленными данными подключения

На скриншоте — пример заполнения. Используйте данные своего брокера и личные данные, которые выдал GrowerHub.

Адрес localhost или 127.0.0.1 внутри контейнера указывает на сам connector. Используйте доступный из Docker LAN-адрес MQTT-сервера. Если брокер работает на том же компьютере с Docker Desktop, используйте host.docker.internal, как описано в документации Docker. Имя контейнера дополнения HA снаружи может не разрешаться. Форма генерирует локальное подключение TCP, а соединение с GrowerHub использует TLS на порту 8883.

Шаг 3. Запустите connector

Скачайте и распакуйте архив connector v0.2.5. В папке уже находятся docker-compose.yml, Dockerfile и исходники модуля; добавьте туда личный connector.json. Файл с примером не заменяет личную конфигурацию. Для существующего Zigbee2MQTT нужен именно connector, а не пакет запуска нового координатора.

Для каждого подключения используйте свой connector.json. Разные client ID позволяют нескольким подключениям работать с одним broker. Старые пакеты v0.2.2/v0.2.3 с bridge.conf не обновляются автоматически и сохраняют прежние ограничения. Для добровольного перехода остановите старый модуль, распакуйте новый отдельно и подготовьте JSON; перенос прежних credentials без смены пароля и возврат к старой версии описаны в README архива. Не запускайте обе версии одновременно с одним client ID.

Если у вас уже работает v0.2.4, обновление добровольное: распакуйте v0.2.5 в отдельную папку и скопируйте свой connector.json. В старой папке выполните docker compose down, затем запустите новый пакет командами ниже. Это останавливает только модуль связи; Home Assistant и Zigbee2MQTT продолжают работать. Сохраните старую папку для возврата и не запускайте две версии одновременно. Данные доступа менять не требуется.

Версия v0.2.5 сохраняет номера библиотек Zigbee2MQTT, если они переданы самим Zigbee2MQTT. Эти сведения помогают проверить совместимость управления устройством; настройки и секреты библиотек не передаются. Обновление не включает полив и не подтверждает готовность физической модели клапана.

В этой папке выполните:

docker compose up -d --build
docker compose ps
docker compose logs --tail=80 connector

Первый запуск скачивает зависимости и собирает модуль. В логах появятся local_connected, cloud_connected и ready после получения списка устройств. Если соединения нет, проверьте адрес локального брокера, доступ к нему из Docker и исходящее соединение с growerhub.ru:8883. При ошибке авторизации отдельно проверьте локального пользователя и выданные GrowerHub данные. Если потерян облачный пароль, выпустите новые данные подключения и замените файл. После изменения выполните docker compose restart connector. Пароли и содержимое connector.json не отправляйте в общий чат.

Шаг 4. Проверьте первый полезный результат

  1. В GrowerHub дождитесь статуса координатора ONLINE и появления знакомого датчика.
  2. Дождитесь нового сообщения датчика в Zigbee2MQTT после запуска connector и проверьте, что оно дошло до GrowerHub. Значения должны совпадать; одного свежего времени в GrowerHub недостаточно. Батарейный датчик может публиковать не каждую секунду.
  3. Создайте первую теплицу и назначьте датчик в нужный слот Конструктора фермы.
  4. Откройте график с карточки датчика в Обзоре. История GrowerHub накапливается с момента подключения; старые графики HA остаются в HA.

История температуры в обычной панели GrowerHub; данные демофермы смоделированы

Кто управляет оборудованием

Модуль передаёт state и availability известных устройств, список устройств, состояние bridge, сведения о версии и координаторе, ответы на поддерживаемые команды. Настройки MQTT, пароли, Zigbee network key, логи, discovery и эхо команд исключены. Обратно разрешены /set, /get, сопряжение и переименование. Неоднозначные имена исключаются с диагностикой. При обрыве связи команды не накапливаются и не повторяются после восстановления; если результат неизвестен, сначала проверьте состояние устройства. Контракт описан в README connector.

Для одного исполнительного устройства нужна одна система автоматического управления. В текущем пилоте оставьте её в HA, пока не проверены свежие показания и выбран конкретный сценарий переноса. Простое наличие команды ON/OFF не означает готовность Zigbee-клапана к поливу GrowerHub: нужны проверенная модель и автономное закрытие по таймеру при потере связи. Физически подтверждённых моделей Zigbee-полива пока нет; клапан может передавать состояние и историю, но не становится готовым исполнителем поливного сценария.

Серверным сценариям GrowerHub нужна связь с оборудованием. Локальные правила HA могут продолжать работать без облака, но это должно быть выбранным режимом управления, а не двумя одновременно активными автоматизациями.

Как отменить подключение

Остановите только connector командой docker compose stop connector в его папке. Проверьте, что датчики по-прежнему обновляются в Home Assistant. При окончательном отключении отзовите доступ этого подключения в GrowerHub. Архивирование координатора не удаляет его Zigbee-сеть на вашем оборудовании.

Первый результат готов, когда один реальный датчик появился в вашей теплице и даёт свежие значения. Для этого не нужно сразу собирать всю ферму. Если нужна помощь, напишите нам в Telegram: модель координатора, где работает Zigbee2MQTT и на каком шаге остановились.