Иллюстрация GrowerHub: MQTT связывает GrowerHub, Home Assistant, датчики и насос

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

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

Что отдавать в Home Assistant

В Home Assistant полезно публиковать текущие значения: влажность почвы, температура, влажность воздуха, протечка, состояние насоса, свет, вентиляция, сервисный режим. Это дает dashboard, автоматизации и общие уведомления. Для сущностей можно использовать MQTT discovery, чтобы не настраивать каждую вручную.

Но не каждое поле GrowerHub должно становиться отдельной сущностью. Дневниковые заметки, длинные отчеты и объяснения советника лучше оставить в GrowerHub, а в Home Assistant передавать ключевые статусы и события.

Что GrowerHub может читать

GrowerHub может читать данные Zigbee2MQTT, ESPHome или Home Assistant через MQTT, если топики стабильны. Например, датчик протечки уже есть в Home Assistant, а GrowerHub использует его как аварийный стоп для полива. Важно хранить связь с зоной и проверять свежесть данных.

Если устройство недоступно, GrowerHub не должен молча использовать последнее значение. Для автополива availability и timestamp обязательны.

Кто управляет насосом

Самый важный вопрос - где живет команда насоса. Если Home Assistant управляет розеткой, а GrowerHub решает, когда поливать, нужна четкая команда и подтверждение. Если GrowerHub управляет насосом напрямую, Home Assistant может только отображать состояние и отправлять ручные команды с ограничениями.

Не допускайте двух независимых автоматизаций, которые включают один насос по разным правилам. Это приводит к конфликтам и сложной диагностике. Структура топиков для команд описана в статье MQTT-автополив.

Журнал событий

Каждое действие должно иметь источник: GrowerHub, Home Assistant, Node-RED, оператор, аварийный стоп. Если команда прошла через MQTT, журнал должен показать не только состояние розетки, но и причину. Иначе через неделю невозможно понять, почему насос включался.

Вывод

Интеграция GrowerHub и Home Assistant через MQTT должна быть явной: зоны, топики, availability, команды, подтверждения и журнал. Home Assistant остается сильным центром умного дома, GrowerHub - системой ухода за растениями. MQTT связывает их, но не заменяет архитектуру ответственности.