Atributos simplificados no Android

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:

Tabela: características simplificadas
Característica simplificada Característica padrão
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

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) }