Interfejsy API Home na 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 producentów zewnętrznych) niezależnie od technologii inteligentnego domu (np. Matter lub Cloud-to-cloud) i udostępnia wspólny interfejs API, który umożliwia tworzenie interfejsów użytkownika zarówno deweloperom aplikacji na smart home jak i aplikacji mobilnych.
Typy urządzeń
Typy urządzeń prezentowane w interfejsach API Home to połączenie modeli danych Matter i Cloud-to-cloud. Niektóre z nich pochodzą bezpośrednio z Matter, inne są rozszerzeniem typów urządzeń Matter, a jeszcze inne pochodzą z 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 Matter klastrów i Cloud-to-cloud cech i są prezentowane w wspólnym formacie, który jest podobny do formatu klastrów Matter. W interfejsach API Home, Matter-derived traits are called traits, not clusters.
Dlatego typy urządzeń i cechy w interfejsach API Home są przeznaczone przede wszystkim do Matter. Typ urządzenia lub cecha Matter ma pierwszeństwo przed analogicznym typem urządzenia lub cechą Cloud-to-cloud.
Listę typów urządzeń i ich cech znajdziesz w artykule Obsługiwane typy urządzeń na iOS.
Cechy
Wersje cech w Swift są generowane do użytku w interfejsach API Home i zawierają dodatkowe funkcje specyficzne dla tych interfejsów (których nie ma 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 podczas określania, 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 też użyć typealias w przypadku 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 informacji znajdziesz w artykule Obsługa cech interfejsu API automatyzacji na Androidzie.
Skład typu urządzenia
Interfejsy API Home obsługują większość Matter klastrów aplikacji jako cechy w modelu danych. Cechy, które nie odpowiadają sterowaniu urządzeniami ani ich stanom i nie oferują żadnych korzyści dla użytkowników końcowych, takie jak Binding i Groups, nie są udostępniane przez interfejsy API Home.
Cechy pochodzące z Cloud-to-cloud cech inteligentnego domu mają zwykle
taką samą nazwę w Cloud-to-cloud i interfejsach API Home, jak w przypadku
przykładu OpenCloseTrait. Inne są reprezentowane jako rozszerzenia cech
Matter utworzone za pomocą Matter
rozszerzeń specyficznych dla producenta. Te cechy wypełniają lukę w przypadku cechy
smart home w której funkcje są podzielone między pakiet SDK
Matter a ekosystem Google Home. Konkretnym
przykładem są typy urządzeń Google*, które pochodzą z
Cloud-to-cloud, ale nie mają jeszcze analogicznych typów 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 źródeł i zawiera 3 cechy:
- Cecha
IdentifyTraitMatter zapewnia wszystkie funkcje cechy MatterIdentifyTrait. - Cecha
FanControlTraitMatter zapewnia wszystkie funkcje cechy MatterFanControlTrait. - Cecha
ExtendedFanControlTraitGoogle zapewnia wszystkie funkcje cechy smart homeFanSpeedTraitinteligentnego domu Google, które nie są objęte cechąFanControlTraitMatter Matter.
Ten typ kompozycji cech zapewnia elastyczny model pełnej funkcjonalności typu urządzenia, abstrahując od podstawowych smart home modeli danych.