Uproszczone właściwości na Androidzie

Dla ułatwienia dostępne są uproszczone wersje niektórych cech, których można używać z interfejsem Automation API na Androidzie.

Uproszczona cecha zastępuje standardową cechę interfejsu API Google Home, podobnie jak działa wzorzec fasady. Uproszczone cechy udostępniają polecenia, które ułatwiają wykonywanie typowych zadań na niektórych typach urządzeń. Uproszczone cechy to cechy interfejsu Home API, które podobnie jak inne cechy interfejsu Home API działają zarówno na urządzeniach Matter, jak i Cloud-to-cloud.

Uproszczona cecha oferuje alternatywny podzbiór atrybutów i poleceń, które są bardziej dostosowane do urządzenia niż te, które odpowiadają standardowej cesze. Na przykład standardowa cecha LevelControl jest cechą ogólną, której można używać w przypadku dowolnego urządzenia z ustawieniem, które zmienia się w sposób ciągły w zakresie wartości liczbowych. Brightness to uproszczona cecha, która zastępuje cechę LevelControl i zapewnia tylko polecenia i atrybuty wymagane przez urządzenie DimmableLight. Brightness ma polecenie moveToBrightness, które przyjmuje pojedynczy argument brightnessPercent, natomiast LevelControl ma wiele poleceń move, z których większość ma co najmniej 4 parametry, aby obsłużyć szerszy zakres przypadków użycia.

W tabeli poniżej znajdziesz wszystkie uproszczone cechy i odpowiadające im cechy standardowe. Każda nazwa cechy zawiera link do odpowiedniej dokumentacji API:

Tabela: uproszczone cechy
Uproszczona cecha Cecha standardowa
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

Uproszczone cechy i interfejs Discovery API

Interfejs Discovery API raportuje cechy uproszczone oraz powiązane z nimi cechy standardowe, o ile obie cechy zostały zarejestrowane w FactoryRegistry. Jeśli na przykład w strukturze znajduje się urządzenie DimmableLight, a deweloper zarejestrował cechy LevelControl i Brightness w FactoryRegistry, interfejs Discovery API wskaże obecność obu cech. Deweloper może użyć w swojej automatyzacji dowolnej z tych cech.

Więcej informacji znajdziesz w artykule Discovery API na Androidzie.

Pobieranie urządzenia, które obsługuje uproszczoną cechę

Jeśli używasz interfejsu Device API do uzyskiwania urządzeń w domu, które obsługują uproszczoną cechę, taką jak SimplifiedThermostat, nie możesz używać metody has(trait). Zamiast tego użyj metody has(deviceType):

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }