O Car 2 Home é um cliente MQTT completo. Cada sensor que o seu veículo expõe — OBD padrão, PIDs enhanced, métricas calculadas, GPS, TPMS, estado de diagnóstico — é publicado no seu broker. Você escolhe o formato de publicação: auto-discovery do Home Assistant (o padrão), Homie 4.0, tópicos simples por sensor, JSON unificado ou um preset ThingsBoard.
Se você já roda Mosquitto, EMQX, HiveMQ ou outro broker, está a alguns campos de distância de um setup funcional. O Car 2 Home não depende dos nossos servidores pra nada disso, a telemetria vai direto do app pro seu broker.
MQTT vs. integração nativa do Home Assistant
Os dois caminhos carregam os mesmos sensores. A diferença é que o MQTT carrega estado contínuo, enquanto a integração nativa do Home Assistant também carrega eventos (viagem iniciada, DTC encontrado, aceleração brusca). Se você só usa MQTT, vai ter todos os dados ao vivo, mas os momentos discretos que dão origem às automações mais interessantes só existem na integração nativa.
Como os dados são publicados
- Payloads de auto-discovery são enviados com
retain=true, pra qualquer subscriber que conectar depois ver o catálogo de entidades imediatamente. - Apenas atualizações delta: valores são republicados só quando mudam, com throttling opcional, pra evitar inundar o broker.
- PIDs enumerados são decodificados: Fuel Type "1" vira "Gasoline", commanded equivalence ratio é reportado como fração, etc. Tanto o valor bruto quanto o legível ficam expostos como atributos.
- Ícones Material Design são incluídos nos payloads de discovery, então os dashboards renderizam certo de cara.
- QoS configurável por classe de tópico. Estado de sensor padrão QoS 0; mensagens de ciclo de vida usam QoS 1.
- TLS e autenticação suportados; credenciais guardadas no Keychain do iOS / Keystore do Android.
Funciona com
Qualquer coisa que fale MQTT, combinada com o formato de publicação certo (veja acima). Testamos regularmente contra:
- Home Assistant pela integração MQTT com o formato Home Assistant Discovery (detectado automaticamente).
- OpenHAB e ioBroker com o formato Homie 4.0 (binding MQTT Homie / adapter MQTT Client).
- Hubitat, Node-RED, Domoticz com o formato Tópicos Simples.
- Grafana + Telegraf / InfluxDB e dashboards customizados com o formato JSON Unificado.
- ThingsBoard CE / Cloud com o preset ThingsBoard; bridges ESPHome e qualquer consumidor MQTT DIY com Tópicos Simples ou JSON Unificado.
Formatos de publicação
Escolha o formato que combina com a sua plataforma de destino. O padrão Home Assistant Discovery cobre o HA sem configuração extra; troque por um dos outros pra OpenHAB, Hubitat, dashboards genéricos ou ThingsBoard.
Home Assistant Discovery
Padrão. Payloads de auto-discovery sob homeassistant/<component>/<deviceId>/<sensor>/config. O carro aparece automaticamente em Configurações → Dispositivos e Serviços → MQTT no HA. Estado contínuo é publicado como JSON em batch no tópico <prefix>/<deviceId>/state.
Homie 4.0
Padrão aberto com discovery via topologia homie/<deviceId>/$nodes e metadados $datatype / $unit / $format por propriedade. Alvo nativo do OpenHAB (binding MQTT Homie) e ioBroker (adapter MQTT Client). Também combina com ecossistemas ESPHome.
Tópicos simples
Um tópico MQTT por sensor, sem discovery. O payload alterna entre o valor puro (ex. 1850) ou um JSON {value, ts}. Funciona com Hubitat, Node-RED, Domoticz e qualquer consumidor MQTT genérico.
JSON unificado
Todos os sensores em um único payload JSON num tópico configurável, retained para subscribers que conectam depois. Bom encaixe pra Grafana, InfluxDB / Telegraf e dashboards customizados que preferem se inscrever em um tópico só e parsear o snapshot completo do veículo.
ThingsBoard
Preset nativo pra ThingsBoard CE e ThingsBoard Cloud. Publica telemetria em v1/devices/me/telemetry e sensores estáticos (VIN, tipo de combustível, CalID) em v1/devices/me/attributes. O access token vai no campo de usuário; deixe Senha em branco.
Troque de formato a qualquer momento em Configurações → MQTT → Formato. Quando você sai do Home Assistant ou Homie, o app oferece limpar os tópicos de discovery retidos no broker pra você não ver dispositivos fantasma no consumidor.
Escolhendo um broker
Se você ainda não roda um, aqui vai um ponto de partida:
- Mosquitto: a opção mais simples. Roda como add-on do Home Assistant com um clique, ou stand-alone via Docker. Suficiente pra uma casa.
- EMQX: clusterizado, escala bem, tem uma UI web boa. Vale se você tem muitos devices ou quer monitoramento detalhado.
- HiveMQ: opção comercial / na nuvem se você não quer self-host.
Setup rápido
1. Tenha um broker acessível pelo celular
Na sua rede local ou via túnel (Tailscale, Cloudflare Tunnel, Nabu Casa). O MQTT precisa estar acessível enquanto você dirige pra telemetria fluir ao vivo.
2. Abra Configurações → MQTT no app
Preencha host, porta, usuário, senha, opcional TLS. O app valida a conexão e mostra o status em tempo real.
3. Inscreva-se e veja as entidades chegarem
Os payloads de auto-discovery são publicados imediatamente. No Home Assistant o device aparece em Configurações → Dispositivos & Serviços → MQTT. No Node-RED ou em qualquer MQTT explorer, navegue na árvore de tópicos sob o prefixo configurado.
Matter / SmartThings / Google Home / Alexa
Estamos construindo um plugin Matterbridge que re-exporta os mesmos dados MQTT como devices Matter, deixando seu carro descobrível em Apple Home, Google Home, SmartThings e Alexa sem broker do lado consumidor. Em breve.