Car 2 Home это полноценный клиент MQTT. Каждый датчик, который отдаёт ваш автомобиль, от стандартного OBD и расширенных PID до вычисляемых величин, GPS, TPMS и состояния диагностики, публикуется в ваш брокер. Формат публикации выбираете вы: автоопределение для Home Assistant (по умолчанию), Homie 4.0, простые топики по датчику, единый JSON или готовый профиль ThingsBoard.
Если у вас уже работает Mosquitto, EMQX, HiveMQ или другой брокер, до рабочей связки остаётся заполнить пару полей. Наши серверы для этого не нужны: телеметрия идёт прямо из приложения в ваш брокер.
MQTT против нативной интеграции с Home Assistant
Оба пути несут одни и те же датчики. Разница в том, что MQTT несёт непрерывное состояние, а нативная интеграция с Home Assistant несёт ещё и события (поездка началась, найден код неисправности, резкое ускорение). Если вам нужен только MQTT, вы получите все живые данные, но отдельные моменты, на которых держатся самые интересные автоматизации, существуют лишь в нативной интеграции.
Как публикуются данные
- Сообщения автоопределения отправляются с
retain=true, поэтому подписчик, подключившийся позже, сразу видит каталог сущностей. - Только изменения: значения переотправляются лишь когда меняются, при желании с прореживанием, чтобы не заваливать брокер.
- Перечислимые PID расшифровываются: тип топлива "1" превращается в "Бензин", заданный коэффициент эквивалентности отдаётся дробью и так далее. И сырое, и человекочитаемое значение доступны как атрибуты.
- Значки Material Design входят в сообщения автоопределения, так что панели сразу выглядят правильно.
- Настраиваемый QoS для каждого класса топиков. Состояние датчиков по умолчанию QoS 0, служебные сообщения используют QoS 1.
- TLS и аутентификация поддерживаются, а учётные данные хранятся в связке ключей iOS или в Android Keystore.
Работает с
Со всем, что говорит по MQTT, в паре с подходящим форматом публикации (см. выше). Регулярно проверяем на:
- Home Assistant через интеграцию MQTT с форматом Home Assistant Discovery (определяется автоматически).
- OpenHAB и ioBroker с форматом Homie 4.0 (биндинг MQTT Homie, адаптер MQTT Client).
- Hubitat, Node-RED, Domoticz с форматом простых топиков.
- Grafana с Telegraf или InfluxDB и собственные панели с форматом единого JSON.
- ThingsBoard CE и Cloud с профилем ThingsBoard; мосты ESPHome и любой самодельный потребитель MQTT с простыми топиками или единым JSON.
Форматы публикации
Выберите формат под свою платформу назначения. Формат Home Assistant Discovery по умолчанию закрывает HA сразу; для OpenHAB, Hubitat, обычных панелей или ThingsBoard переключитесь на один из остальных.
Home Assistant Discovery
По умолчанию. Сообщения автоопределения в homeassistant/<component>/<deviceId>/<sensor>/config. Машина сама появляется в HA в разделе Настройки → Устройства и службы → MQTT. Непрерывное состояние публикуется пачкой JSON в <prefix>/<deviceId>/state.
Homie 4.0
Открытый стандарт с обнаружением через топологию homie/<deviceId>/$nodes и метаданные по каждому свойству ($datatype, $unit, $format). Родная цель для OpenHAB (биндинг MQTT Homie) и ioBroker (адаптер MQTT Client). Подходит и экосистемам ESPHome.
Простые топики
По одному топику MQTT на датчик, без обнаружения. Полезная нагрузка переключается между сырым значением (например, 1850) и JSON вида {value, ts}. Работает с Hubitat, Node-RED, Domoticz и любым обычным потребителем MQTT.
Единый JSON
Все датчики одной полезной нагрузкой JSON в настраиваемый топик, с сохранением для опоздавших подписчиков. Хорошо подходит для Grafana, InfluxDB и Telegraf и своих панелей, которым удобнее подписаться на один топик и разобрать полный снимок автомобиля целиком.
ThingsBoard
Готовый профиль для ThingsBoard CE и ThingsBoard Cloud. Публикует телеметрию в v1/devices/me/telemetry, а статические датчики (VIN, тип топлива, CalID) в v1/devices/me/attributes. Токен доступа вводится в поле Имя пользователя, поле Пароль оставьте пустым.
Формат можно сменить в любой момент в Настройки → MQTT → Формат. При уходе с Home Assistant или Homie приложение предлагает прибрать оставшиеся на брокере сохранённые топики обнаружения, чтобы на стороне потребителя не осталось призрачных устройств.
Как выбрать брокер
Если своего ещё нет, вот отправная точка:
- Mosquitto: самый простой вариант. Ставится дополнением к Home Assistant в один клик или отдельно в Docker. Для дома этого более чем достаточно.
- EMQX: собирается в кластер, хорошо масштабируется, имеет опрятную веб-панель. Оправдан, когда устройств много или нужен подробный мониторинг.
- HiveMQ: надёжный коммерческий или облачный вариант, если не хотите держать всё у себя.
Быстрая настройка
1. Брокер должен быть доступен с телефона
Либо в домашней сети, либо через туннель (Tailscale, Cloudflare Tunnel, Nabu Casa). Чтобы телеметрия шла в реальном времени, MQTT должен быть доступен и в дороге.
2. Откройте Настройки → MQTT в приложении
Укажите хост, порт, имя пользователя, пароль и при необходимости параметры TLS. Приложение проверяет соединение и показывает состояние сразу.
3. Подпишитесь и смотрите, как приходят сущности
Сообщения автоопределения публикуются немедленно. В Home Assistant устройство появляется в разделе Настройки → Устройства и службы → MQTT. В Node-RED или любом обозревателе MQTT пройдитесь по дереву топиков под заданным вами префиксом.
Matter, SmartThings, Google Home и Alexa
Мы делаем плагин Matterbridge, который заново отдаёт те же данные MQTT в виде устройств Matter, чтобы автомобиль стал видимым в Apple Home, Google Home, SmartThings и Alexa, без брокера на стороне потребителя. Скоро.