Car 2 Home è un client MQTT completo. Ogni sensore che il tuo veicolo espone — OBD standard, PID avanzati, metriche calcolate, GPS, TPMS, stato diagnostico — viene pubblicato sul tuo broker. Sei tu a scegliere il formato di pubblicazione: rilevamento automatico di Home Assistant (impostazione predefinita), Homie 4.0, semplici topic per sensore, JSON unificato o un preset ThingsBoard.
Se utilizzi già Mosquitto, EMQX, HiveMQ o qualsiasi altro broker, sei a pochi campi da una configurazione funzionante. Car 2 Home non dipende dai nostri server per nulla di tutto questo: la telemetria va direttamente dall'app al tuo broker.
MQTT vs. Home Assistant nativo
Entrambe le strade trasportano gli stessi sensori. La differenza è che l'MQTT trasporta lo stato continuo, mentre l'integrazione nativa di Home Assistant trasporta anche gli eventi (viaggio iniziato, DTC rilevato, accelerazione brusca). Se ti serve solo l'MQTT, otterrai tutti i dati live, ma i momenti discreti che alimentano le automazioni più interessanti esistono solo nell'integrazione nativa.
Come vengono pubblicati i dati
- I payload di rilevamento automatico vengono inviati con
retain=truecosì qualsiasi subscriber del broker che si connette in seguito vede immediatamente il catalogo delle entità. - Solo aggiornamenti delta: i valori vengono ripubblicati solo quando cambiano, con throttling opzionale, per evitare di sovraccaricare il broker.
- I PID enumerati vengono decodificati: il tipo di carburante "1" diventa "Benzina", il rapporto di equivalenza comandato è riportato come frazione, ecc. Sia i valori grezzi che quelli leggibili sono esposti come attributi.
- Le icone Material Design sono incluse nei payload di rilevamento, così le dashboard si visualizzano correttamente da subito.
- QoS configurabile per classe di topic. Lo stato dei sensori usa per impostazione predefinita QoS 0; i messaggi del ciclo di vita usano QoS 1.
- TLS e autenticazione supportati; le credenziali sono memorizzate nel Keychain di iOS / Keystore di Android.
Funziona con
Tutto ciò che parla MQTT, abbinato al giusto formato di pubblicazione (vedi sopra). Eseguiamo test regolari su:
- Home Assistant tramite l'integrazione MQTT con il formato Home Assistant Discovery (rilevato automaticamente).
- OpenHAB e ioBroker con il formato Homie 4.0 (binding MQTT Homie / adattatore MQTT Client).
- Hubitat, Node-RED, Domoticz con il formato Simple Topics.
- Grafana + Telegraf / InfluxDB e dashboard personalizzate con il formato Unified JSON.
- ThingsBoard CE / Cloud con il preset ThingsBoard; bridge ESPHome e qualsiasi consumer MQTT fai-da-te con Simple Topics o Unified JSON.
Formati di pubblicazione
Scegli il formato adatto alla tua piattaforma di destinazione. Il formato predefinito Home Assistant Discovery copre HA da subito; passa a uno degli altri per OpenHAB, Hubitat, dashboard generiche o ThingsBoard.
Home Assistant Discovery
Predefinito. Payload di rilevamento automatico sotto homeassistant/<component>/<deviceId>/<sensor>/config. L'auto compare automaticamente in HA Impostazioni → Dispositivi e servizi → MQTT. Lo stato continuo è pubblicato come batch JSON su <prefix>/<deviceId>/state.
Homie 4.0
Standard aperto con rilevamento tramite una topologia homie/<deviceId>/$nodes e metadati per proprietà $datatype / $unit / $format. Target nativo per OpenHAB (binding MQTT Homie) e ioBroker (adattatore MQTT Client). Adatto anche agli ecosistemi ESPHome.
Simple topics
Un topic MQTT per sensore, senza rilevamento. Il payload alterna tra il valore grezzo (es. 1850) o il JSON {value, ts}. Funziona con Hubitat, Node-RED, Domoticz e qualsiasi consumer MQTT generico.
Unified JSON
Ogni sensore in un unico payload JSON verso un topic configurabile, mantenuto per i subscriber tardivi. Ottimo per Grafana, InfluxDB / Telegraf e dashboard personalizzate che preferiscono iscriversi a un solo topic e analizzare l'intero snapshot del veicolo.
ThingsBoard
Preset nativo per ThingsBoard CE e ThingsBoard Cloud. Pubblica la telemetria su v1/devices/me/telemetry e i sensori statici (VIN, tipo di carburante, CalID) su v1/devices/me/attributes. Il tuo token di accesso va nel campo Username; lascia vuoto il campo Password.
Cambia formato in qualsiasi momento in Impostazioni → MQTT → Formato. Quando passi da Home Assistant o Homie a un altro, l'app si offre di ripulire i topic di rilevamento mantenuti sul broker, così non vedi dispositivi fantasma dal lato del consumer.
Come scegliere un broker
Se non ne hai già uno, ecco un punto di partenza:
- Mosquitto: l'opzione più semplice. Funziona come add-on di Home Assistant con un clic, oppure autonomamente in Docker. Sufficiente per una famiglia.
- EMQX: con clustering, scala bene, ha un'interfaccia web pulita. Vale la pena se hai molti dispositivi o vuoi un monitoraggio dettagliato.
- HiveMQ: solida opzione commerciale / cloud se non vuoi gestire tutto in autonomia.
Configurazione rapida
1. Avere un broker raggiungibile dal telefono
Sulla tua rete locale o tramite un tunnel (Tailscale, Cloudflare Tunnel, Nabu Casa). L'MQTT deve essere raggiungibile mentre guidi perché la telemetria fluisca in tempo reale.
2. Apri Impostazioni → MQTT nell'app
Inserisci host, porta, username, password, impostazioni TLS opzionali. L'app convalida la connessione e mostra lo stato in tempo reale.
3. Iscriviti e guarda arrivare le entità
I payload di rilevamento automatico vengono pubblicati immediatamente. In Home Assistant, il dispositivo compare in Impostazioni → Dispositivi e servizi → MQTT. In Node-RED o in qualsiasi esploratore MQTT, sfoglia l'albero dei topic sotto il prefisso che hai configurato.
Matter / SmartThings / Google Home / Alexa
Stiamo sviluppando un plugin Matterbridge che riesporta gli stessi dati MQTT come dispositivi Matter, rendendo la tua auto rilevabile in Apple Home, Google Home, SmartThings e Alexa senza alcun broker dal lato del consumer. In arrivo.