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, 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:

Tabela: traços simplificados
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) }