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 (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, Matter IdentifyTrait özelliğindeki tüm işlevleri sağlar.
  • FanControlTrait Matter özelliği, Matter FanControlTrait özelliğindeki tüm işlevleri sağlar.
  • ExtendedFanControlTrait Google özelliği, Google smart home FanSpeedTrait'deki FanControlTrait 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.