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