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 (Matter veya Cloud-to-cloud gibi) bağımsız olarak tüm cihaz türlerini (Google Nest veya üçüncü taraf üreticilerden) kapsar ve hem smart home hem de mobil uygulama geliştiricileri 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 bir birleşimidir. Bazıları doğrudan Matter'ten türetilmiştir, bazıları Matter cihaz türlerinin bir uzantısıdır ve bazıları Cloud-to-cloud'ten türetilmiştir.
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ş özellikler kümeler değil özellikler olarak adlandırılır.
Bu nedenle, Home API'lerindeki cihaz türleri ve özellikleri Matter öncelikli olarak tasarlanmıştır. Matter cihaz türü veya özelliği, 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'lerde kullanılmak üzere oluşturulur ve Home API'lere özgü ek özellikler içerir (Matter veya Cloud-to-cloud'te bulunmaz). Örneğin, her özelliğin belirli bir özelliği veya komutu destekleyip desteklemediğini kontrol etmek için yöntemleri vardır. Bir cihaz türünde bulunan tüm cihazların aynı özelliklere sahip olması beklenmediğinden, durum bilgisinin veya belirli işlemlerin kullanıcının cihazında okunup okunamayacağını belirlerken 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, kodları kısaltmak ve ad alanının tekrarlanması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
Özellikler, otomasyonlarla birlikte kullanılmak üzere de desteklenir 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 durumlarına karşılık gelmeyen ve son kullanıcılar için herhangi bir fayda sağlamayan özellikler (ör. Bağlama ve Gruplar) Home API'leri aracılığıyla gösterilmez.
Cloud-to-cloud akıllı ev özelliklerinden türetilen özellikler genellikle Cloud-to-cloud ile Home API'leri arasında aynı ada sahiptir (OpenCloseTrait
örneğinde olduğu gibi). Diğerleri ise Matter üreticiye özgü uzantılar kullanılarak oluşturulan Matter özelliklerin uzantıları olarak temsil edilir. Bu özellikler, işlevselliğin Matter SDK'sı ile Google Home ekosistemi arasında bölündüğü smart home özelliklerindeki boşluğu doldurur. Buna örnek olarak, Cloud-to-cloud'dan gelen ancak henüz Matter analogları olmayan Google*
cihaz türleri verilebilir.
Cihaz türleri, Matter veya Cloud-to-cloud kaynaklarından birinden ya da her ikisinden de alınan özelliklerden oluşur.
Örneğin, FanDeviceType
hem bu ikisinden oluşur hem de üç özellik içerir:
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, Google smart homeFanSpeedTrait
'dekiFanControlTrait
Matter özelliğinin kapsamında olmayan tüm işlevleri sağlar.
Bu tür özellik bileşimi, temel smart home veri modellerini soyutlayarak cihaz türü işlevselliğinin tamamı için esnek bir model sağlar.