Home API'lerine genel bakış

Android için Google Home API'leri, geliştiricilerin kullanıcının evindeki öğelerin durumuyla etkileşime geçmesini sağlayan birleşik bir API yüzeyi sağlar. Bu varlıklar, kullanıcının yapısı ve odalarıyla ilişkili cihazları ve cihazla ilgili olmayan bilgileri tanımlayabilir.

Home API'ler, kullanıcının etkileşim kurabileceği aşağıdaki öğeleri tanımlar:

  • Yapılar, oda ve cihaz içeren bir evi temsil eder.
  • Odalar, bir yapının parçasıdır ve cihazlar içerir.
  • Cihazlar, özellikler içeren özellikleri uygular, türlere uyar, etkinlikler yayınlar ve komutlara yanıt verir.
  • Otomasyonlar, bir yapının parçasıdır ve evdeki görevleri otomatikleştirmek için ev meta verilerini ve cihazları kullanır.

Şekil 1'de bu mimari gösterilmektedir:

Home API'leri mimarisini gösteren şema
Şekil 1: Home API'lerin mimarisi

Home API cihaz türleri, akıllı ev için açık bir standart olan Matter tarafından desteklenebileceği gibi Google Home ekosistemindeki bir Cloud-to-cloud cihazı da olabilir. Bazı cihaz türleri her iki işlevden de yararlanabilir. Daha fazla bilgi için Desteklenen cihaz türleri bölümüne bakın.

Matter'te cihaz işlevleri, Home API'lerinde Matterstandart özellikler olarak temsil edilen kümelere göre gruplandırılır. Home API'leri, mevcut Matter spesifikasyonunda tanımlanan standart Matter küme grubunu destekler.

Google Home ekosisteminde cihaz işlevleri, Home API'lerinde Google akıllı ev özellikleri olarak temsil edilen akıllı ev özelliklerine göre gruplandırılır. Home API'ler, Cloud-to-cloud programında tanımlanan akıllı ev özelliklerini destekler.

Üreticiye özel kümeler ve platform özellikleri gibi diğer özellikler de kullanılabilir. Daha fazla bilgi için Veri modeli başlıklı makaleyi inceleyin.

Dil

Home API'leri Kotlin ile yazılmıştır ve durumu ve aboneliği yönetmek için Flow kullanan doğal bir Kotlin arayüzü sağlar. Bu, standart bir abonelik API'sine kıyasla çeşitli avantajlar sağlar.

Henüz yapmadıysanız Kotlin'de iş parçacığı, akış ve Jetpack Compose ile ilgili dokümanları incelemenizi öneririz:

Öğe tanımlayıcılar

Home API'lerindeki her öğenin birincil tanımlayıcısını temsil eden bir kimliği vardır. Bu kimlik, öğenin kullanım ömrü boyunca hiçbir zaman değişmeyen benzersiz ve sabit bir tanımlayıcıdır. Bir öğenin meta verileri değişebileceğinden bu kimlik, öğeleri önbelleğe almak veya eşitliği kontrol etmek için kullanılabilir.

Hangi öğelerin kimliği olduğunu öğrenmek için HasId arayüzüne bakın.

Terminoloji eşleme

Home API'lerindeki öğeler, Matter ve Cloud-to-cloud kavramlarıyla aşağıdaki gibi eşlenir:

Home API'leri Matter Cloud-to-cloud
Özellik Küme Özellik
Özellik Özellik Özellik, Eyalet
Komut Komut Komut
Etkinlik Etkinlik Takip yanıtı, Bildirim