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, semelhante ao funcionamento do padrão de fachada funciona. As características simplificadas fornecem comandos que facilitam tarefas comuns para determinados tipos de dispositivos. As características simplificadas são características da API Home e, como outras características da API Home, funcionam para dispositivos Matter e Cloud-to-cloud.
Uma característica simplificada oferece um subconjunto alternativo de atributos e comandos mais específicos do dispositivo do que os da característica padrão correspondente.
Por exemplo, a característica padrão
LevelControl
é uma característica genérica que pode ser usada para 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
DimmableLight
dispositivo exige. Brightness tem um
moveToBrightness comando que usa um único
brightnessPercent argumento, enquanto LevelControl tem vários move
comandos, a maioria deles com pelo menos quatro parâmetros para acomodar 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
|
LevelControlOnOff
|
Características simplificadas 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 as características
LevelControl
e
Brightness no FactoryRegistry, a API Discovery vai indicar a presença de ambas as
características. O desenvolvedor pode escolher usar qualquer uma das características na automação.
Consulte a 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) }