Інтеграція через MQTT

Будь-який брокер. Будь-яка платформа, що говорить через MQTT.

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, ви отримаєте всі живі дані, але окремі моменти, на яких тримаються найцікавіші автоматизації, існують тільки в нативній інтеграції.

МожливістьMQTTНативна HA
Неперервний стан
Значення датчиків публікуються щойно змінюються.
Події
trip_started, trip_ended, dtc_found, harsh_event, ecu_online/offline.
Команди в обидва боки
Home Assistant може попросити авто просканувати коди несправностей або наново оголосити датчики.

Як публікуються дані

  • Повідомлення автовизначення надсилаються з 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. 1. Брокер має бути доступний із телефона

    Або у домашній мережі, або через тунель (Tailscale, Cloudflare Tunnel, Nabu Casa). Щоб телеметрія йшла в реальному часі, MQTT має бути доступним і в дорозі.

  2. 2. Відкрийте Налаштування → MQTT у застосунку

    Вкажіть хост, порт, ім'я користувача, пароль і за потреби параметри TLS. Застосунок перевіряє з'єднання і показує стан одразу.

  3. 3. Підпишіться й дивіться, як приходять сутності

    Повідомлення автовизначення публікуються негайно. У Home Assistant пристрій з'являється в розділі Налаштування → Пристрої та служби → MQTT. У Node-RED чи будь-якому оглядачі MQTT пройдіться деревом тем під заданим вами префіксом.

Переглянути покроковий посібник з налаштування

Matter, SmartThings, Google Home і Alexa

Ми робимо плагін Matterbridge, який наново віддає ті самі дані MQTT у вигляді пристроїв Matter, щоб авто стало видимим в Apple Home, Google Home, SmartThings та Alexa, без брокера на боці споживача. Незабаром.