Para facilitar o uso, versões simplificadas de algumas características 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, de maneira semelhante ao funcionamento do padrão de fachada. Os comandos simplificados facilitam tarefas comuns para determinados tipos de dispositivos. Os traços simplificados são traços da API Home e, como outros traços da API Home, funcionam para dispositivos Matter e Cloud-to-cloud.
Uma característica simplificada oferece um subconjunto alternativo de atributos e comandos que
são mais específicos do dispositivo do que os da característica padrão correspondente.
Por exemplo, a característica padrão
LevelControl
é genérica e pode ser usada 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
exige. O Brightness
tem um comando moveToBrightness
que usa um único argumento brightnessPercent
, enquanto o LevelControl
tem vários comandos move
, a maioria com pelo menos quatro parâmetros para abranger uma variedade maior de casos de uso.
A tabela a seguir mostra cada característica simplificada e as características padrão subjacentes. Cada nome de característica tem um link para a documentação da API correspondente:
Característica simplificada | Característica padrão |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
Atributos simplificados e a API Discovery
A API Discovery informa características simplificadas e as características padrão subjacentes, desde que ambas tenham sido registradas no FactoryRegistry
. Por exemplo, se um dispositivo DimmableLight
estiver presente na estrutura e o desenvolvedor tiver registrado os traços LevelControl
e Brightness
no FactoryRegistry
, a API Discovery indicará a presença dos dois traços. O desenvolvedor pode usar qualquer uma das características na automação.
Consulte API Discovery no Android para mais informações.
Recuperar um dispositivo que oferece suporte a uma característica simplificada
Ao usar a API Device para receber dispositivos em uma estrutura que oferece 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) }