Integracja MQTT

Dowolny broker. Dowolna platforma mówiąca przez MQTT.

Car 2 Home jest pełnoprawnym klientem MQTT. Każdy czujnik, który wybierzesz do eksportu, od standardowego OBD i rozszerzonych PID-ów po wartości obliczane, GPS, TPMS i stan diagnostyki, trafia do Twojego brokera, razem z liczbami z Vehicle Hub: prognozą tankowania, przeglądami i przypomnieniami na terminie, sumami i zużyciem w miesiącu. Odczyty i hub są przypisywane do konkretnego auta, w każdym formacie publikacji.

Jeśli masz już Mosquitto, EMQX, HiveMQ albo inny broker, dzieli cię od działającej konfiguracji kilka pól. Car 2 Home nie potrzebuje do tego naszych serwerów: telemetria idzie prosto z aplikacji do twojego brokera.


MQTT a natywna integracja z Home Assistant

Obie drogi niosą te same czujniki. Różnica polega na tym, że MQTT niesie ciągły stan, a natywna integracja z Home Assistant niesie dodatkowo zdarzenia (trasa rozpoczęta, znaleziony kod usterki, gwałtowne przyspieszenie). Jeśli potrzebujesz samego MQTT, dostaniesz wszystkie dane na żywo, ale pojedyncze chwile, które napędzają najciekawsze automatyzacje, istnieją wyłącznie w integracji natywnej.

MożliwośćMQTTNatywne HA
Ciągły stan
Wartości czujników publikowane w chwili zmiany.
✓✓
Zdarzenia
trip_started, trip_ended, dtc_found, harsh_event, ecu_online/offline.
—✓
Polecenia dwukierunkowe
Home Assistant może poprosić auto o skan kodów usterek albo o ponowne zgłoszenie czujników.
—✓

Jak publikowane są dane

  • Komunikaty automatycznego wykrywania wysyłane są z retain=true, więc subskrybent, który podłączy się później, od razu widzi katalog encji.
  • Tylko zmiany: wartości publikowane są ponownie dopiero wtedy, gdy się zmienią, opcjonalnie z ograniczeniem częstotliwości, żeby nie zalewać brokera.
  • PID-y wyliczeniowe są tłumaczone: rodzaj paliwa "1" staje się "Benzyna", zadany współczynnik ekwiwalencji podawany jest jako ułamek i tak dalej. Zarówno wartość surowa, jak i czytelna są dostępne jako atrybuty.
  • Ikony Material Design są dołączane do komunikatów wykrywania, więc pulpity od razu wyglądają poprawnie.
  • Konfigurowalne QoS dla każdej klasy tematów. Stan czujnika domyślnie ma QoS 0, komunikaty cyklu życia używają QoS 1.
  • TLS i uwierzytelnianie są obsługiwane, a dane logowania trafiają do iOS Keychain albo Android Keystore.

Współpracuje z

Ze wszystkim, co mówi przez MQTT, w połączeniu z odpowiednim formatem publikacji (patrz wyżej). Regularnie testujemy z:

  • Home Assistant przez integrację MQTT z formatem Home Assistant Discovery (wykrywanym automatycznie).
  • OpenHAB i ioBroker z formatem Homie 4.0 (binding MQTT Homie, adapter MQTT Client).
  • Hubitat, Node-RED, Domoticz z formatem prostych tematów.
  • Grafana z Telegrafem albo InfluxDB oraz własne pulpity z formatem zbiorczego JSON-a.
  • ThingsBoard CE i Cloud z profilem ThingsBoard; mostki ESPHome i dowolny własny odbiorca MQTT z prostymi tematami albo zbiorczym JSON-em.

Formaty publikacji

Wybierz format pasujący do platformy docelowej. Domyślny Home Assistant Discovery obsługuje HA od ręki; do OpenHAB, Hubitata, ogólnych pulpitów albo ThingsBoarda przełącz się na jeden z pozostałych.

Home Assistant Discovery

Domyślny. Komunikaty wykrywania pod homeassistant/<component>/<deviceId>/<sensor>/config. Auto pojawia się w HA w Ustawienia → Urządzenia i usługi → MQTT samo z siebie. Ciągły stan publikowany jest jako paczka JSON na <prefix>/<deviceId>/state.

Homie 4.0

Otwarty standard z wykrywaniem przez topologię homie/<deviceId>/$nodes i metadanymi $datatype / $unit / $format dla każdej właściwości, z porządnym last will i pełnym cyklem życia stanu, żeby broker zawsze wiedział, czy auto jest online. Natywny cel dla OpenHAB (binding MQTT Homie) i ioBroker.

Proste tematy

Jeden temat MQTT na czujnik, bez wykrywania. Ładunek przełącza się między wartością surową (na przykład 1850) a JSON-em {value, ts}. Działa z Hubitatem, Node-RED, Domoticzem i dowolnym ogólnym odbiorcą MQTT.

Zbiorczy JSON

Wszystkie czujniki w jednym ładunku JSON, na konfigurowalny temat, zachowywanym dla spóźnionych subskrybentów. Dobry wybór dla Grafany, InfluxDB i Telegrafa oraz własnych pulpitów, które wolą subskrybować jeden temat i przetwarzać całą migawkę pojazdu naraz.

ThingsBoard

Gotowy profil dla ThingsBoard CE i ThingsBoard Cloud. Publikuje telemetrię na v1/devices/me/telemetry, a czujniki statyczne (VIN, rodzaj paliwa, CalID) na v1/devices/me/attributes. Token dostępu wpisz w pole Nazwa użytkownika, a hasło zostaw puste.

Format zmienisz w dowolnej chwili w Ustawienia → MQTT → Format. Gdy odchodzisz od Home Assistant albo Homie, aplikacja proponuje posprzątanie zachowanych tematów wykrywania na brokerze, żebyś po stronie odbiorcy nie oglądał duchów urządzeń.


Wybór brokera

Jeśli jeszcze żadnego nie masz, oto punkt wyjścia:

  • Mosquitto: najprostsza opcja. Działa jako dodatek do Home Assistant za jednym kliknięciem albo samodzielnie w Dockerze. Dla domu w zupełności wystarczy.
  • EMQX: klastrowalny, dobrze się skaluje, ma przejrzysty panel webowy. Wart uwagi, gdy masz wiele urządzeń albo chcesz szczegółowego podglądu.
  • HiveMQ: solidna opcja komercyjna albo chmurowa, jeśli nie chcesz niczego stawiać u siebie.

Szybka konfiguracja

  1. 1. Miej brokera osiągalnego z telefonu

    Albo w sieci domowej, albo przez tunel (Tailscale, Cloudflare Tunnel, Nabu Casa). MQTT musi być osiągalny w trakcie jazdy, żeby telemetria płynęła na żywo.

  2. 2. Otwórz Ustawienia → MQTT w aplikacji

    Podaj host, port, nazwę użytkownika, hasło i opcjonalne ustawienia TLS. Aplikacja sprawdza połączenie i pokazuje stan na bieżąco.

  3. 3. Subskrybuj i patrz, jak pojawiają się encje

    Komunikaty wykrywania publikowane są od razu. W Home Assistant urządzenie pojawia się w Ustawienia → Urządzenia i usługi → MQTT. W Node-RED albo dowolnej przeglądarce MQTT przejrzysz drzewo tematów pod skonfigurowanym przedrostkiem.

Zobacz poradnik krok po kroku →

Matter, SmartThings, Google Home i Alexa

Wtyczka Matterbridge, która eksportuje czujniki Car 2 Home jako urządzenia Matter, żeby pojawiały się w Apple Home, Google Home, SmartThings i Alexie bez Home Assistant pośrodku, jest gotowa i w testach. Jeszcze jej nie wydajemy: typy urządzeń w Matterze nie obejmują dostatecznie dobrze tego rodzaju odczytów i zdarzeń, jakie generuje samochód, i wynik nie sięga jeszcze poziomu, na którym nam zależy. Damy znać, gdy tylko się to zmieni.