Home Assistant

Облачный MQTT брокер для умного дома: когда локального мало

Облачный MQTT брокер нужен, когда устройства стоят вне домашней сети или площадок несколько. Разбираем подключение к Home Assistant, TLS и порты, ACL и мост с локальным Mosquitto.

Облачный MQTT брокер для умного дома: когда локального мало

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

Облачный брокер меняет только место, где стоит сервер сообщений, но не саму схему работы умного дома. Устройства так же публикуют данные в топики и подписываются на нужные, а вся разница сводится к тому, где физически проходит трафик и кому вы доверяете этот узел.

Разбираем, под какие задачи облачный брокер действительно подходит, как Home Assistant к нему подключается, чем отличаются порты 1883 и 8883 и что входит в бесплатный тариф managed-брокера.

Что такое MQTT брокер и что значит облачный

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

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

Что документация Home Assistant советует по умолчанию

Официальная документация интеграции MQTT формулирует позицию прямо: публичные брокеры существуют, но самый простой и самый приватный вариант это поднять собственный брокер. Локальная установка Mosquitto разобрана в руководстве по MQTT в Home Assistant, с которого обычно и начинают.

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

Когда облачный брокер действительно нужен

Первый случай это устройство, которое физически не находится в домашней сети: контроллер на даче с другим интернетом, оборудование в гараже или во второй квартире. Второй случай это несколько площадок, которым нужно видеть общие топики. Третий случай это нежелание открывать домашний сервер наружу и настраивать доступ к Home Assistant из интернета.

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

EMQX Cloud Serverless: что подтверждено документацией

EMQX Cloud Serverless это managed-брокер, то есть развёртывание без администрирования сервера. Официально заявлен бесплатный уровень: миллион session minutes в месяц, один гигабайт трафика в месяц и миллион rule actions в месяц. Дальше действуют два доллара за дополнительный миллион session minutes, пятнадцать центов за гигабайт трафика и двадцать пять центов за дополнительный миллион rule actions.

У вендора есть отдельная страница с инструкцией по подключению Home Assistant, то есть сценарий считается штатным. Сессионные минуты считаются по времени подключения клиентов, поэтому при большом числе постоянно онлайн устройств лимит расходуется быстрее, чем кажется по одному гигабайту трафика.

HiveMQ Cloud и публичные тестовые серверы

HiveMQ Cloud это ещё один managed-брокер с консолью в браузере. На момент подготовки материала официальные страницы HiveMQ Cloud отдавали ошибку, поэтому лимиты бесплатного тарифа, порт и условия подключения здесь не приводятся: их нужно смотреть в актуальной документации вендора перед выбором.

Отдельно стоит публичный тестовый сервер test.mosquitto.org. Сама документация предупреждает, что он может работать на нерелизном или экспериментальном коде, бывает медленным, может перезапускаться и не годится для сколько-нибудь важных задач. Анонимный клиент на таком сервере может публиковать в любые топики, поэтому телеметрию умного дома туда отправлять нельзя.

ПараметрЛокальный MosquittoОблачный брокер
Где стоитна домашнем серверена сервере провайдера
Доступ извненужен проброс или VPNесть по умолчанию
Приватностьтелеметрия остаётся домателеметрия уходит наружу
Зависимость от интернеталокальные сценарии работаютбез канала связи брокер недоступен
Ограниченияресурсы вашего железалимиты бесплатного тарифа
Типовой незашифрованный порт18831883 или TLS-порт 8883

Как Home Assistant подключается к внешнему брокеру

В интеграции MQTT указывают адрес или имя хоста брокера и порт. Если брокер требует аутентификации, вводят логин и пароль. Дополнительно можно задать свой client ID, клиентский сертификат с приватным ключом и выбрать проверку сертификата брокера: автоматически, своим CA или с отключением проверки. Есть режим работы через websockets.

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

Порты 1883 и 8883, TLS и сертификаты

Порт 1883 это стандартный MQTT без шифрования. Порт 8883 это тот же протокол в шифрованном канале TLS. Документация Mosquitto прямо предупреждает: без сетевого шифрования логин и пароль можно перехватить, а вместе с ними уходят и данные топиков.

Сертификат нужен в двух случаях. Первый это проверка сертификата самого брокера, чтобы клиент убедился, что подключается к нужному серверу. Второй это клиентская аутентификация по сертификату, когда брокер пускает только владельцев выданных сертификатов. Для домашнего облачного брокера достаточно первого варианта, а отключение проверки сертификата оставляют только для отладки.

Пароль, ACL и запрет анонимного доступа

В Mosquitto анонимные подключения по умолчанию запрещены, а пользователи задаются файлом паролей. Права на топики ограничивают отдельным файлом ACL, где для каждого правила указывают режим read, write, readwrite или deny. Список правил строится по топикам, поэтому одному устройству можно разрешить публикацию в свой топик и запретить чтение чужих.

Публичный брокер без пароля опасен не теоретически: документация тестового сервера сообщает, что неаутентифицированный клиент получает доступ к публикации во все топики. Пароль без TLS тоже не защищает, потому что передаётся открытым текстом. Проверить, кто и что публикует в ваши топики, удобно клиентом вроде MQTT Explorer.

Мост между локальным и облачным брокером

В Mosquitto есть режим моста, который соединяет несколько брокеров между собой. В конфигурации задают имя соединения, адрес удалённого брокера, версию протокола и параметры TLS. Мост позволяет держать основную телеметрию дома, а в облако отдавать только те топики, которые действительно нужны снаружи.

Из этого получается схема, при которой домашняя автоматика не зависит от облака, а удалённые площадки получают доступ к общим данным. Облачный брокер перестаёт быть единственной точкой, через которую проходит вся домашняя сеть, и его отказ не останавливает локальные сценарии.

Ограничения и риски облачного брокера

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

Пароли и сертификаты от брокера нельзя хранить в открытых репозиториях и пересылать в переписке. Отдельно стоит учитывать, что при смене условий тарифа вендор может изменить лимиты, поэтому за актуальными цифрами нужно следить на его страницах, а не по чужим подборкам.

Что проверить перед тем, как отдавать телеметрию в облако

Сначала убеждаются, что брокер поддерживает MQTT версии 5, иначе Home Assistant к нему не подключится. Затем проверяют, включён ли TLS и как настроена проверка сертификата. Дальше смотрят на аутентификацию и ACL: анонимный доступ должен быть закрыт, а права ограничены нужными топиками.

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

Частые вопросы

Что такое облачный MQTT брокер простыми словами?

Это сервер обмена сообщениями, который стоит не в квартире, а у стороннего провайдера и доступен через интернет. Устройства подключаются к нему так же, как к локальному брокеру, но трафик проходит через чужую инфраструктуру.

Нужен ли облачный брокер, если дома стоит Home Assistant?

Для устройств внутри домашней сети нет. Документация Home Assistant советует собственный брокер как самый простой и приватный вариант. Облако оправдано, когда есть устройства вне дома или несколько площадок, которым нужны общие топики.

Что входит в бесплатный тариф EMQX Cloud Serverless?

По официальной странице это миллион session minutes в месяц, один гигабайт трафика и миллион rule actions. Сверх этого тарификация идёт по отдельным ставкам за дополнительные миллионы session minutes и rule actions и за гигабайты трафика.

Как подключить Home Assistant к внешнему брокеру?

В интеграции MQTT указывают адрес и порт брокера, при необходимости логин и пароль, а для шифрованного соединения настраивают проверку сертификата. Брокер должен поддерживать MQTT версии 5, после чего сущности создаются вручную или через discovery.

Чем порт 1883 отличается от 8883?

Порт 1883 передаёт MQTT без шифрования, порт 8883 использует TLS. Во втором случае содержимое топиков и учётные данные защищены от перехвата, поэтому для брокера в интернете выбирают именно шифрованный вариант.

Можно ли публиковать телеметрию умного дома в публичный тестовый брокер?

Технически да, но делать этого не стоит. Документация публичного тестового сервера сама предупреждает, что он работает на нестабильном коде, а неаутентифицированные клиенты могут публиковать в любые топики. Для дома нужен брокер с паролем, ACL и TLS, а не открытая песочница.

Войти, чтобы поставить лайк
ФОРУМ

Обсуждение статьи

Обсуждений пока нет. Вопрос по этой статье можно задать в форуме — тема будет связана с материалом.

Открыть тему по статье

Комментарии

Войдите, чтобы оставить комментарий.