Interfejsy API Home dla 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 czy Cloud-to-cloud), i udostępnia wspólny interfejs API, który umożliwia deweloperom aplikacji na inteligentne urządzenia domowe i aplikacji mobilnych tworzenie interfejsów użytkownika dla obu smart home.
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ą przede wszystkim oparte na 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 Androidzie.
Cechy
Wersje cech w Kotlinie 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.
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 On/Off i typu urządzenia On/Off Plug-in Unit, zaimportuj do aplikacji te pakiety:
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
W przypadku typu urządzenia Garage (z inteligentnego domu Google) użyj połączenia cech Matter i 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, która często
obsługuje pełne nazwy pakietów podczas dodawania import wierszy do plików źródłowych
w projekcie. Nazwy pakietów nie są jednak spójne we wszystkich typach urządzeń i cechach. Aby sprawdzić prawidłową nazwę pakietu dla każdego
DeviceType lub
Trait, zapoznaj się z dokumentacją.
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 Automation API 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ądzeniem ani jego 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
OpenClose. 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 której funkcje są podzielone między pakiet
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 typ urządzenia Fan składa się z obu źródeł i ma 3 cechy:
- Cecha
IdentifyMatter zapewnia wszystkie funkcje cechy MatterIdentify. - Cecha
FanControlMatter zapewnia wszystkie funkcje cechy MatterFanControl. - Cecha Google
ExtendedFanControlzapewnia wszystkie funkcje cechy inteligentnego domu Google smart homeFanSpeed, które nie są objęte cechą MatterFanControlMatter.
Ten typ kompozycji cech zapewnia elastyczny model pełnej funkcjonalności typu urządzenia, abstrahując od podstawowych smart home modeli danych.