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 lub producentów zewnętrznych), niezależnie od technologii inteligentnego domu (takich jak Matter lub Cloud-to-cloud) i zapewnia wspólny interfejs API do tworzenia interfejsów użytkownika dla deweloperów smart home i aplikacji mobilnych.
Typy urządzeń
Typy urządzeń prezentowane w interfejsach Home API to ujednolicone modele danych Matter i Cloud-to-cloud. Niektóre z nich są wyprowadzane bezpośrednio z Matter, inne są rozszerzeniem typów urządzeń Matter, a jeszcze inne są wyprowadzane 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, a następnie prezentowane w standardowym formacie podobnym do formatu klastrów Matter. W interfejsach Home API cechy pochodne z Matter są nazywane cechami, a nie klastrami.
Dlatego typy urządzeń i cechy w interfejsach Home API są przeznaczone do używania w Matter-pierwszym. MatterTyp urządzenia lub cechaCloud-to-cloud ma pierwszeństwo przed analogicznym typem urządzenia lub cechą.
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 przy określaniu, 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 jest zawarta 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 przypadku wszystkich cech. Sprawdź, czy nazwa pakietu jest prawidłowa dla każdego z tych elementów:DeviceType lubTrait.
Większość cech można wykorzystywać w automatyzacji, a niektóre cechy są dostępne tylko w automatyzacji. Więcej informacji 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. Klastry konfiguracji niskiego poziomu, które nie oferują bezpośredniej użyteczności dla użytkowników, np. Binding, nie są udostępniane przez interfejsy Home API.
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 cechy OpenClose. Inne są reprezentowane jako rozszerzenia Mattercech, utworzone za pomocą Matterrozszerzeń specyficznych dla producenta. Te cechy wypełniają lukę w przypadku cechy smart home, której funkcje są podzielone między Matter pakiet SDK 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 Fan składa się z obu tych elementów i ma 3 cechy:
- Cechy
IdentifyMatter zapewniają wszystkie funkcje cech MatterIdentify. - Cechy
FanControlMatter zapewniają wszystkie funkcje cech MatterFanControl. - Cechy
ExtendedFanControlGoogle zapewniają wszystkie funkcje cech smart homeFanSpeedGoogle, które nie są objęte cechamiFanControlMatter.
Ten typ kompozycji cech zapewnia elastyczny model pełnej funkcjonalności typu urządzenia, abstrahując od podstawowych modeli danych smart home.
Grupy urządzeń
Grupa urządzeń to zdefiniowany przez użytkownika zbiór urządzeń w ramach jednej struktury. Grupy urządzeń są reprezentowane przez element DeviceGroup, który różni się od elementu HomeDevice.
Więcej informacji o grupach urządzeń znajdziesz w artykule Interfejsy Structure API.