iOS'teki veri modeli

iOS için Home API'leri, Google Home ekosistemindeki tüm cihazları birleşik bir veri modelinde sunar. Bu veri modeli, temel akıllı ev teknolojisinden (ör. Matter veya Cloud-to-cloud) bağımsız olarak Google Nest veya üçüncü taraf üreticilerin tüm cihaz türlerini kapsar ve hem smart home hem de mobil uygulama geliştiriciler için kullanıcı deneyimleri oluşturmak üzere ortak bir API yüzeyi sağlar.

Cihaz türleri

Ana API'lerde sunulan cihaz türleri, Matter ve Cloud-to-cloud veri modellerinin bir birleşimidir. Bazıları doğrudan Matter cihazlarından, bazıları Matter cihaz türlerinin uzantısı olarak, bazıları ise Cloud-to-cloud cihazlarından türetilir.

Cihaz türleri, cihazları kontrol etmek ve yönetmek için kullanılan özellikleri içerir. Özellikler, cihaz türleri gibi Matter kümelerinden ve Cloud-to-cloud özelliklerinden türetilir ve Matter kümelerine benzer ortak bir biçimde sunulur. Ana API'lerde, Matter türevi özelliklere kümeler değil, özellikler denir.

Bu nedenle, Ana API'lerdeki cihaz türlerinin ve özelliklerinin Matter öncelikli olması amaçlanmıştır. Matter cihaz türü veya özellik, Cloud-to-cloud benzerine göre önceliklidir.

Cihaz türlerinin ve özelliklerinin listesi için iOS'te desteklenen cihaz türleri başlıklı makaleyi inceleyin.

Özellikler

Özelliklerin Swift sürümleri, Home API'lerinde kullanılmak üzere oluşturulur ve Home API'lerine özgü ek özellikler içerir (Matter veya Cloud-to-cloud'de bulunmaz). Örneğin, her özelliğin belirli bir özelliği veya komutu destekleyip desteklemediğini kontrol etmeye yönelik yöntemleri vardır. Bir cihaz türündeki tüm cihazların aynı özelliklere sahip olması beklenmediğinden, durumun okunmasının veya belirli işlemlerin kullanıcının cihazında gerçekleştirilip gerçekleştirilemeyeceğini belirlemek için bu özellik kullanışlıdır.

Özellikleri ve cihaz türlerini içe aktarmak için GoogleHomeTypes modülünü uygulamanıza aktarın:

import GoogleHomeTypes

Ayrıca, kodu kısaltmak ve ad alanı tekrarını önlemek için özellik ve cihaz türü adları için typealias kullanabilirsiniz:

import GoogleHomeTypes

typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType

Çoğu özellik Otomasyonlarla birlikte kullanım için desteklenir ve bazı özellikler yalnızca Otomasyonlar için kullanılabilir. Daha fazla ayrıntı için Android'de Otomasyon API özelliği desteği konusuna bakın.

Cihaz türü bileşimi

Home API'leri, veri modelindeki özellikler olarak çoğu Matter uygulama kümesini destekler. Cihaz kontrolüne veya durumlara karşılık gelmeyen ve son kullanıcılara herhangi bir fayda sağlamayan özellikler (ör. Bağlama ve Gruplar) Home API'leri aracılığıyla kullanıma sunulmaz.

Cloud-to-cloud akıllı ev özelliklerinden türetilen özellikler genellikle Cloud-to-cloud ile Home API'leri arasında aynı ada sahiptir. Örneğin, OpenCloseTrait örneğinde olduğu gibi. Diğerleri, Matter üreticisine özgü uzantılar kullanılarak oluşturulan Matter özelliklerinin uzantıları olarak temsil edilir. Bu özellikler, işlevselliğin Matter SDK'sı ile Google Home ekosistemi arasında bölündüğü smart home özelliği için boşluğu kapatır. Bunun belirli bir örneği, Cloud-to-cloud'den gelen ancak henüz Matter analogları olmayan Google* cihaz türleridir.

Cihaz türleri, Matter veya Cloud-to-cloud kaynaklarından birinden veya her ikisinden gelen özelliklerden oluşur.

Örneğin, FanDeviceType her ikisinden de oluşur ve üç özelliğe sahiptir:

  • IdentifyTrait Matter özelliği, Matter IdentifyTrait özelliğinin tüm işlevlerini sağlar.
  • FanControlTrait Matter özelliği, Matter FanControlTrait özelliğindeki tüm işlevleri sağlar.
  • ExtendedFanControlTrait Google özelliği, FanControlTrait Matter özelliği kapsamına girmeyen smart home FanSpeedTrait Google özelliğindeki tüm işlevleri sağlar.

Bu tür özellik bileşimi, temel smart home veri modellerini soyutlayarak eksiksiz cihaz türü işlevselliği için esnek bir model sağlar.