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
Home API'lerinde sunulan cihaz türleri, Matter ve Cloud-to-cloud veri modellerinin birleştirilmiş halidir. 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. Cihaz türleri gibi özellikler de Matter kümelerinden ve Cloud-to-cloud özelliklerinden türetilir ve Matter kümelerine benzer ortak bir biçimde sunulur. Home API'lerinde, Matter-türetilmiş özelliklere kümeler değil, özellikler adı verilir.
Bu nedenle, Home API'lerindeki cihaz türleri ve özellikleri Matter-first olarak tasarlanmıştır. Matter cihaz türü veya özellik, Cloud-to-cloud analoguna 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, bir özelliğin belirli bir özelliği veya komutu destekleyip desteklemediğini kontrol etme 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 özellikten yararlanabilirsiniz.
Ö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ında typealias
kullanabilirsiniz:
import GoogleHomeTypes
typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType
Özellikler, otomasyonlarla birlikte kullanılabilir ancak sınırlı olabilir ve bazı özellikler yalnızca otomasyonlarda kullanılabilir. Liste için iOS'te Automation API özelliği desteği başlıklı makaleyi inceleyin.
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 ise Matter üreticiye özel uzantılar kullanılarak oluşturulan Matter özelliklerinin uzantıları olarak gösterilir. Bu özellikler, işlevselliğin smart home SDK'sı ile Google Home ekosistemi arasında bölündüğü bir Matter özelliği için boşluğu doldurur. Buna özel bir örnek olarak, Google*
cihaz türleri verilebilir. Bu cihaz türleri Cloud-to-cloud'den gelir ancak henüz Matter analogları yoktur.
Cihaz türleri, Matter veya Cloud-to-cloud kaynaklarından birinin ya da her ikisinin özelliklerinden oluşur.
Örneğin, FanDeviceType
hem hem de özelliklerinden oluşur ve üç özelliği vardır:
IdentifyTrait
Matter özelliği, MatterIdentifyTrait
özelliğindeki tüm işlevleri sağlar.FanControlTrait
Matter özelliği, MatterFanControlTrait
özelliğindeki tüm işlevleri sağlar.ExtendedFanControlTrait
Google özelliği, smart homeFanSpeedTrait
Google özelliğininFanControlTrait
Matter özelliği kapsamına girmeyen tüm işlevlerini 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.