Датчик температуры отправил данные, а Home Assistant их не получил. Проблема не в датчике — он просто не знал, куда стучаться. MQTT решает эту задачу: он создаёт «почтовый ящик», куда устройства складывают сообщения.
MQTT — почтовая служба умного дома
MQTT — это лёгкий протокол обмена сообщениями между устройствами. Работает по принципу «издатель-подписчик». Устройство публикует сообщение в «топик» (тему), а все подписчики этого топика получают его мгновенно.
Представьте доску объявлений. Датчик температуры вешает записку «23°C» на раздел «кухня». Home Assistant читает эту доску и обновляет график. Лампа подписана на топик «свет/гостиная» — и включается, когда получает команду.
Как устроен MQTT
В центре стоит брокер — сервер, который принимает и рассылает сообщения. Mosquitto, HiveMQ, EMQX — популярные варианты. Устройства подключаются к брокеру и публикуют или слушают топики.
Топики выглядят как папки: home/kitchen/temperature, home/livingroom/light/state. Подписчик может слушать всю ветку home/# и получать все сообщения из дома.
Кстати, MQTT потребляет минимум трафика. Сообщение весит несколько байт. Датчик может отправлять данные раз в минуту и не разрядить батарейку за год.
Где используется MQTT
Home Assistant, Zigbee2MQTT, Tasmota, ESPHome — все они работают через MQTT. Если хотите собрать умный дом на открытых технологиях, без MQTT не обойтись.