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 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 Home API to ujednolicone modele 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 są wyodrębniane z klastrów Matter i cech Cloud-to-cloud oraz prezentowane w formacie podobnym do 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ń 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 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.
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 urządzenia typu Garaż (z inteligentnego domu Google) uwzględnij kombinację 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 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.
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 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ądzeniami ani stanom i nie oferują żadnych korzyści dla użytkowników, takie jak powiązania i grupy, nie są udostępniane przez interfejsy Home API.
Cechy pochodzące z cech inteligentnego domu Cloud-to-cloud zwykle mają tę samą nazwę w Cloud-to-cloud i interfejsach API domu, jak na przykład w przykładzie OpenClose. Pozostałe są reprezentowane jako rozszerzenia cech Matter, utworzone przy użyciu rozszerzeń specyficznych dla producenta Matter. Te cechy wypełniają lukę w przypadku cechy, której funkcje są podzielone 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 urządzenie fana składa się z obu tych elementów i ma 3 cechy:
- Cechy
IdentifyMatter zapewniają wszystkie funkcje cech MatterIdentify. - Cecha
FanControlMatter zapewnia wszystkie funkcjonalności cechy MatterFanControl - Cecha Google
ExtendedFanControlzapewnia wszystkie funkcje cechy Google smart homeFanSpeed, których nie obejmuje cechaFanControlMatter
Ten typ kompozycji cech zapewnia elastyczny model pełnej funkcjonalności typu urządzenia, abstrahując od podstawowych modeli danych smart home.