Para facilitar o uso, versões simplificadas de alguns atributos estão disponíveis para uso com a API Automation no Android.
Uma característica simplificada substitui uma característica padrão da API Home, semelhante ao padrão de fachada. Os traços simplificados fornecem comandos que facilitam tarefas comuns em determinados tipos de dispositivos. Os atributos simplificados são atributos da API Home e, como outros atributos da API Home, funcionam em dispositivos Matter e Cloud-to-cloud.
Uma característica simplificada oferece um subconjunto alternativo de atributos e comandos que
é mais específico do dispositivo do que o da característica padrão correspondente.
Por exemplo, o tipo
LevelControl
padrão é um tipo genérico que pode ser usado em qualquer dispositivo que tenha uma
configuração que varia continuamente em um intervalo de valores numéricos.
Brightness
é uma
característica simplificada que substitui LevelControl
e fornece apenas os
comandos e atributos que um
dispositivo DimmableLight
requer. Brightness
tem um comando
moveToBrightness
que usa um único
argumento brightnessPercent
, enquanto LevelControl
tem vários comandos move
, a maioria com pelo menos quatro parâmetros para acomodar uma
gama mais ampla de casos de uso.
A tabela a seguir mostra cada atributo simplificado e os atributos padrão subjacentes. Cada nome de atributo tem um link para a documentação da API correspondente:
Característica simplificada | Padrão |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
Atributos simplificados e a API Discovery
A API Discovery informa atributos simplificados e os atributos
padrão que os geram, desde que ambos tenham sido registrados no
FactoryRegistry
. Por
exemplo, se um dispositivo DimmableLight
estiver presente na estrutura e o
desenvolvedor tiver registrado os atributos
LevelControl
e
Brightness
no
FactoryRegistry
, a API Discovery vai indicar a presença de ambos
os atributos. O desenvolvedor pode escolher usar qualquer um dos dois atributos na automação.
Consulte a API Discovery no Android para mais informações.
Extrair um dispositivo compatível com uma característica simplificada
Ao usar a API Device para receber dispositivos em uma estrutura que ofereça suporte a uma
característica simplificada, como SimplifiedThermostat
, não é possível usar o método
has(trait)
. Em vez disso, use o método has(deviceType)
:
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }