Pour faciliter l'utilisation, des versions simplifiées de certains traits sont disponibles pour l'API Automation sur Android.
Un trait simplifié remplace un trait standard de l'API Home, de la même manière que le modèle de façade fonctionne. Les traits simplifiés fournissent des commandes qui facilitent les tâches courantes pour certains types d'appareils. Les traits simplifiés sont des traits de l'API Home. Comme les autres traits de l'API Home, ils fonctionnent pour les appareils Matter et Cloud-to-cloud.
Un trait simplifié offre un sous-ensemble alternatif d'attributs et de commandes plus spécifiques à l'appareil que ceux du trait standard correspondant.
Par exemple, le trait standard LevelControl
est un trait générique qui peut être utilisé pour tout appareil dont le paramètre varie de manière continue sur une plage de valeurs numériques.
Brightness
est un trait simplifié qui remplace LevelControl
et ne fournit que les commandes et les attributs dont un appareil DimmableLight
a besoin. Brightness
comporte une commande moveToBrightness
qui accepte un seul argument brightnessPercent
, tandis que LevelControl
comporte plusieurs commandes move
, dont la plupart comportent au moins quatre paramètres pour s'adapter à un plus large éventail de cas d'utilisation.
Le tableau suivant présente chaque caractéristique simplifiée et les caractéristiques standards sous-jacentes. Chaque nom de trait renvoie à la documentation de l'API correspondante :
Caractéristique simplifiée | Trait standard |
---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControl OnOff
|
Traits simplifiés et API Discovery
L'API Discovery signale les caractéristiques simplifiées ainsi que leurs caractéristiques standards sous-jacentes, à condition que les deux caractéristiques aient été enregistrées dans FactoryRegistry
. Par exemple, si un appareil DimmableLight
est présent dans la structure et que le développeur a enregistré les traits LevelControl
et Brightness
dans FactoryRegistry
, l'API Discovery indiquera la présence des deux traits. Le développeur peut choisir d'utiliser l'un ou l'autre de ces traits dans son automatisation.
Pour en savoir plus, consultez API Discovery sur Android.
Récupérer un appareil compatible avec un trait simplifié
Lorsque vous utilisez l'API Device pour obtenir des appareils dans une structure compatible avec un trait simplifié tel que SimplifiedThermostat
, vous ne pouvez pas utiliser la méthode has(trait)
. Utilisez plutôt la méthode has(deviceType)
:
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }