Car 2 Home tam donanımlı bir MQTT istemcisidir. Dışa aktarmak için seçtiğiniz her sensör, standart OBD ve genişletilmiş PID'lerden hesaplanan ölçümlere, GPS'e, TPMS'e ve teşhis durumuna kadar, Vehicle Hub rakamlarıyla birlikte broker'ınıza yayımlanır: yakıt ikmali tahmini, zamanı gelen bakımlar ve hatırlatıcılar, ayın toplamları ve tüketimi. Okumalar da hub da her yayın biçiminde araç bazında ilişkilendirilir.
Zaten Mosquitto, EMQX, HiveMQ ya da başka bir aracı çalıştırıyorsanız, çalışan bir kuruluma birkaç alan kaldı. Car 2 Home bunun için sunucularımıza hiç ihtiyaç duymaz: telemetri doğrudan uygulamadan sizin aracınıza gider.
MQTT ile yerel Home Assistant entegrasyonu karşılaştırması
İki yol da aynı sensörleri taşır. Fark şu: MQTT sürekli durumu taşır, yerel Home Assistant entegrasyonu ise ayrıca olayları da taşır (yolculuk başladı, arıza kodu bulundu, sert hızlanma). Yalnızca MQTT'ye ihtiyacınız varsa tüm canlı verileri alırsınız, ama en ilginç otomasyonları çalıştıran ayrık anlar sadece yerel entegrasyonda vardır.
Veriler nasıl yayınlanır
- Otomatik keşif iletileri
retain=trueile gönderilir; böylece sonradan bağlanan bir abone varlık kataloğunu hemen görür. - Yalnızca değişimler: değerler ancak değiştiklerinde yeniden yayınlanır, istenirse seyreltilerek, böylece aracı boğulmaz.
- Sıralı PID'ler çözümlenir: yakıt türü "1" değeri "Benzin" olur, istenen eşdeğerlik oranı kesir olarak bildirilir ve benzeri. Hem ham hem okunabilir değer öznitelik olarak sunulur.
- Material Design simgeleri keşif iletilerine dahildir, böylece paneller kutudan çıktığı gibi doğru görünür.
- Konu sınıfı başına ayarlanabilir QoS. Sensör durumu varsayılan olarak QoS 0'dır; yaşam döngüsü iletileri QoS 1 kullanır.
- TLS ve kimlik doğrulama desteklenir; kimlik bilgileri iOS Keychain ya da Android Keystore içinde saklanır.
Şunlarla çalışır
MQTT konuşan her şeyle, doğru yayın biçimiyle eşleştirildiğinde (yukarıya bakın). Düzenli olarak şunlarla test ediyoruz:
- Home Assistant, MQTT entegrasyonu ve Home Assistant Discovery biçimiyle (otomatik algılanır).
- OpenHAB ve ioBroker, Homie 4.0 biçimiyle (MQTT Homie binding, MQTT Client adaptörü).
- Hubitat, Node-RED, Domoticz, basit konular biçimiyle.
- Grafana ile Telegraf veya InfluxDB ve özel paneller, birleşik JSON biçimiyle.
- ThingsBoard CE ve Cloud, ThingsBoard profiliyle; ESPHome köprüleri ve kendi yaptığınız her MQTT tüketicisi, basit konular ya da birleşik JSON ile.
Yayın biçimleri
Hedef platformunuza uyan biçimi seçin. Varsayılan Home Assistant Discovery, HA'yı olduğu gibi karşılar; OpenHAB, Hubitat, genel paneller ya da ThingsBoard için diğerlerinden birine geçin.
Home Assistant Discovery
Varsayılan. Keşif iletileri homeassistant/<component>/<deviceId>/<sensor>/config altına gider. Araç, HA'da Ayarlar → Cihazlar ve Servisler → MQTT bölümünde kendiliğinden belirir. Sürekli durum, <prefix>/<deviceId>/state üzerine JSON paketi olarak yayınlanır.
Homie 4.0
homie/<deviceId>/$nodes topolojisiyle keşif ve her özellik için $datatype / $unit / $format üstverisi sunan açık standart; düzgün bir last will ve eksiksiz durum yaşam döngüsü sayesinde broker aracın çevrimiçi olup olmadığını her an bilir. OpenHAB (MQTT Homie bağlayıcısı) ve ioBroker için doğal hedef.
Basit konular
Sensör başına tek MQTT konusu, keşif yok. Yük, ham değer (örneğin 1850) ile {value, ts} JSON arasında değiştirilebilir. Hubitat, Node-RED, Domoticz ve herhangi bir genel MQTT tüketicisiyle çalışır.
Birleşik JSON
Tüm sensörler tek bir JSON yükünde, ayarlanabilir bir konuya, geç abone olanlar için saklanarak gönderilir. Grafana, InfluxDB ve Telegraf ile tek konuya abone olup aracın tüm anlık görüntüsünü bir kerede ayrıştırmayı yeğleyen özel paneller için uygundur.
ThingsBoard
ThingsBoard CE ve ThingsBoard Cloud için hazır profil. Telemetriyi v1/devices/me/telemetry adresine, sabit sensörleri (VIN, yakıt türü, CalID) v1/devices/me/attributes adresine yayınlar. Erişim belirtecinizi Kullanıcı adı alanına yazın, Parola alanını boş bırakın.
Biçimi istediğiniz an Ayarlar → MQTT → Biçim bölümünden değiştirebilirsiniz. Home Assistant ya da Homie'den ayrıldığınızda uygulama, aracıda kalan saklanmış keşif konularını temizlemeyi önerir; böylece tüketici tarafında hayalet cihazlar görmezsiniz.
Aracı seçmek
Henüz çalıştırdığınız bir aracı yoksa, başlangıç noktası şurası:
- Mosquitto: en basit seçenek. Home Assistant eklentisi olarak tek tıkla ya da Docker'da tek başına çalışır. Bir ev için fazlasıyla yeter.
- EMQX: kümelenebilir, iyi ölçeklenir, derli toplu bir web arayüzü var. Çok cihazınız varsa ya da ayrıntılı izleme istiyorsanız değer.
- HiveMQ: kendi sunucunuzu işletmek istemiyorsanız sağlam bir ticari ya da bulut seçeneği.
Hızlı kurulum
1. Telefonunuzdan erişilebilen bir aracı bulundurun
Ya yerel ağınızda ya da bir tünel üzerinden (Tailscale, Cloudflare Tunnel, Nabu Casa). Telemetrinin canlı akması için MQTT'ye siz araç kullanırken de erişilebilmeli.
2. Uygulamada Ayarlar → MQTT bölümünü açın
Sunucu adresini, portu, kullanıcı adını, parolayı ve gerekiyorsa TLS ayarlarını girin. Uygulama bağlantıyı doğrular ve durumu anında gösterir.
3. Abone olun ve varlıkların gelişini izleyin
Keşif iletileri hemen yayınlanır. Home Assistant'ta cihaz Ayarlar → Cihazlar ve Servisler → MQTT altında görünür. Node-RED'de ya da herhangi bir MQTT gezgininde, ayarladığınız önek altındaki konu ağacına göz atın.
Matter, SmartThings, Google Home ve Alexa
Car 2 Home sensörlerini Matter cihazları olarak dışa aktaran ve böylece araya Home Assistant girmeden Apple Home, Google Home, SmartThings ve Alexa'da görünmelerini sağlayan Matterbridge eklentisi yazıldı ve test ediliyor. Henüz yayımlamıyoruz: Matter'ın cihaz türleri bir aracın ürettiği ölçüm ve olay çeşitliliğini yeterince iyi karşılamıyor ve sonuç istediğimiz düzeye çıkmıyor. Bu değişir değişmez haber vereceğiz.