Características simplificadas

Para facilitar o uso, versões simplificadas de algumas características estão disponíveis para uso com a API Automation.

Uma característica simplificada substitui uma característica padrão da API Home, semelhante ao padrão de fachada. Os recursos simplificados fornecem comandos que facilitam tarefas comuns para 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.

Um recurso simplificado oferece um subconjunto alternativo de atributos e comandos que é mais específico do dispositivo do que o recurso padrão correspondente. Por exemplo, o recurso LevelControl padrão é um recurso 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:

Tabela: características simplificadas
Característica simplificada 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 delas, desde que ambas tenham sido registradas 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 usar qualquer um dos dois atributos na automação.

Consulte a API Discovery 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 um traço simplificado, 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) }