Car 2 Home to pełnoprawny klient MQTT. Każdy czujnik, który udostępnia twoje auto, od standardowego OBD i rozszerzonych PID-ów po wartości obliczane, GPS, TPMS i stan diagnostyczny, trafia do twojego brokera. Format publikacji wybierasz sam: automatyczne wykrywanie dla Home Assistant (domyślnie), Homie 4.0, proste tematy na czujnik, zbiorczy JSON albo gotowy profil ThingsBoard.
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.
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 metadane każdej właściwości ($datatype, $unit, $format). Naturalny cel dla OpenHAB (binding MQTT Homie) i ioBroker (adapter MQTT Client). Pasuje też do ekosystemów ESPHome.
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. 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. 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. 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.
Matter, SmartThings, Google Home i Alexa
Budujemy wtyczkę Matterbridge, która wyeksportuje te same dane MQTT jako urządzenia Matter, dzięki czemu twoje auto stanie się widoczne w Apple Home, Google Home, SmartThings i Alexie, bez brokera po stronie odbiorcy. Wkrótce.