Model danych na Androidzie

Interfejsy Home API na Androida prezentują wszystkie urządzenia w ekosystemie Google Home w ujednoliconym modelu danych. Ten model danych obejmuje wszystkie typy urządzeń (od Google Nest po urządzenia innych producentów) niezależnie od technologii inteligentnego domu (np. Matter lub Cloud-to-cloud) i zapewnia wspólny interfejs API do tworzenia funkcji dla smart home i deweloperów aplikacji mobilnych.

Typy urządzeń

Typy urządzeń prezentowane w interfejsach Home API to ujednolicone modele danych MatterCloud-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 są wyodrębniane z klastrów Matter i cech Cloud-to-cloud oraz prezentowane w formacie podobnym do formatu klastrów Matter. W interfejsach Home API cechy pochodneMatter są nazywane cechami, a nie klastrami.

Dlatego typy i cechy urządzeń 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ń na Androidzie.

Cechy

Wersje cech w języku Kotlin 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 sprawdzić, 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.

Każda cecha znajduje się w osobnej przestrzeni nazw i musi zostać zaimportowana osobno, aby można było jej używać.

Aby na przykład użyć cechy Matter Włączanie/wyłączanie i typu urządzenia Włącznik/wyłącznik, zaimportuj do aplikacji te pakiety:

import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice

W przypadku urządzenia do garażu (z inteligentnego domu Google) uwzględnij kombinację Matter i cech Google:

import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice

Android Studio ma funkcję autouzupełniania i często obsługuje pełne nazwy pakietów podczas dodawania wierszy import do plików źródłowych w projekcie. Nazwy pakietów nie są jednak spójne na wszystkich typach urządzeń i właściwościach. Sprawdź odniesienie, aby zweryfikować prawidłową nazwę pakietu dla każdego z tych elementów:DeviceType lubTrait.

Cechy są też obsługiwane w przypadku automatyzacji, ale mogą być ograniczone, a niektóre cechy są dostępne tylko w przypadku automatyzacji. Listę znajdziesz w artykule Obsługa cech interfejsu Automation API na Androidzie.

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 stanom i nie oferują żadnej użyteczności dla użytkowników, takie jak powiązanie i grupy, nie są udostępniane przez interfejsy Home API.

Cechy pochodzące z cech Cloud-to-cloud inteligentnego domu mają zwykle taką samą nazwę w przypadku Cloud-to-cloud i interfejsów Home API, jak w przykładzie OpenClose. Inne są reprezentowane jako rozszerzenia Mattercech, utworzone za pomocą Matterrozszerzeń specyficznych dla producenta. Te cechy wypełniają lukę w przypadku cechy, której funkcjonalność jest podzielona między smart homepakiet SDKMatter a 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 typ urządzenia dla fanów składa się z obu tych elementów i ma 3 cechy:

  • Cechy Identify Matter zapewniają wszystkie funkcje cech Matter Identify.
  • Cechy FanControl Matter zapewniają wszystkie funkcje cech Matter FanControl.
  • Cechy ExtendedFanControl Google zapewniają wszystkie funkcje cech smart home FanSpeed Google, które nie są objęte cechami FanControl Matter.

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