Model danych na iOS

Interfejsy API Home dla systemu iOS prezentują wszystkie urządzenia w ekosystemie Google Home w ujednoliconym modelu danych. Ten model danych obejmuje wszystkie typy urządzeń (od Google Nest lub innych producentów), niezależnie od technologii inteligentnego domu, na której się opierają (takiej jak Matter lub Cloud-to-cloud), i udostępnia wspólną powierzchnię API do tworzenia środowisk użytkownika zarówno dla smart home, jak i deweloperów aplikacji mobilnych.

Typy urządzeń

Typy urządzeń prezentowane w interfejsach API Home stanowią połączenie modeli danych Matter i Cloud-to-cloud. Niektóre z nich są bezpośrednio pochodnymi Matter, niektóre stanowią rozszerzenie typów urządzeń Matter, a niektóre są pochodnymi Cloud-to-cloud.

Typy urządzeń zawierają cechy, które służą do sterowania urządzeniami i zarządzania nimi. Podobnie jak typy urządzeń, cechy pochodzą z klastrów Matter i cech Cloud-to-cloud i są prezentowane we wspólnym formacie podobnym do formatu klastrów Matter. W interfejsach Home API cechy pochodneMatter są nazywane cechami, a nie klastrami.

Dlatego typy urządzeń i cechy w interfejsach Home API są przeznaczone do obsługi Matter-first. MatterRodzaj urządzenia lub cechaMatter ma pierwszeństwo przed Cloud-to-cloudodpowiednikiemCloud-to-cloud.

Listę typów urządzeń i ich cech znajdziesz w sekcji Obsługiwane typy urządzeń w systemie iOS.

Cechy

Wersje cech w języku Swift są generowane do użytku w interfejsach Home API i zawierają dodatkowe funkcje specyficzne dla tych interfejsów (nie występują w Matter ani Cloud-to-cloud). Na przykład każda cecha ma metody sprawdzania, czy obsługuje określony atrybut lub polecenie. Jest to przydatne, gdy chcesz określić, czy na urządzeniu użytkownika można odczytać stan lub wykonać określone działania, ponieważ nie wszystkie urządzenia danego typu mają te same funkcje.

Aby zaimportować cechy i typy urządzeń, zaimportuj moduł GoogleHomeTypes do swojej aplikacji:

import GoogleHomeTypes

Możesz również użyć typealias dla nazw cech i typów urządzeń, aby skrócić kod i uniknąć powtarzania przestrzeni nazw:

import GoogleHomeTypes

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

Większość cech jest obsługiwana w przypadku automatyzacji, a niektóre cechy są dostępne tylko w przypadku automatyzacji. Więcej szczegółów znajdziesz w artykule Obsługa cech interfejsu API automatyzacji na systemie Android.

Skład typów urządzeń

Interfejsy Home API obsługują większość Matterklastrów aplikacji jako cechy w modelu danych. Cechy, które nie odpowiadają sterowaniu urządzeniem ani jego stanom i nie oferują żadnych funkcji użytkowych dla użytkowników końcowych, takie jak powiązania i grupy, nie są udostępniane za pośrednictwem interfejsów API Home.

Cechy pochodzące z Cloud-to-cloud cech inteligentnego domu zwykle mają taką samą nazwę w Cloud-to-cloud i interfejsach Home API, jak w przypadku OpenCloseTrait. Pozostałe są reprezentowane jako rozszerzenia cech Matter, utworzone przy użyciu rozszerzeń specyficznych dla producenta Matter. Cechy te wypełniają lukę w cesze smart home, w której funkcjonalność jest podzielona między zestaw SDK Matter i ekosystem Google Home. Konkretnym przykładem są Google* typy urządzeń, które pochodzą z Cloud-to-cloud, ale nie mają jeszcze odpowiedników w standardzie Matter.

Typy urządzeń składają się z cech pochodzących z jednego lub obu źródeł: Matter lub Cloud-to-cloud.

Na przykład FanDeviceType składa się z obu tych elementów i ma 3 cechy:

  • Cecha IdentifyTrait Matter zapewnia wszystkie funkcjonalności z Matter IdentifyTrait.
  • Cechy FanControlTrait Matter zapewniają wszystkie funkcje cech Matter FanControlTrait.
  • ExtendedFanControlTrait Atrybut Google zapewnia wszystkie funkcjesmart home z atrybutu Google smart home FanSpeedTrait, które nie są objęte atrybutem FanControlTrait Matter.

Ten typ kompozycji cech zapewnia elastyczny model pełnej funkcjonalności typu urządzenia, abstrahując od podstawowych modeli danych smart home.