Pour faciliter l'utilisation, des versions simplifiées de certaines caractéristiques sont disponibles pour l'API Automation sur Android.
Une caractéristique simplifiée remplace une caractéristique standard de l'API Home, de la même manière que le modèle de façade fonctionne. Les caractéristiques simplifiées fournissent des commandes qui facilitent les tâches courantes pour certains types d'appareils. Les caractéristiques simplifiées sont des caractéristiques de l'API Home. Comme les autres caractéristiques de l'API Home, elles fonctionnent pour les appareils Matter et Cloud-to-cloud.
Une caractéristique simplifiée offre un sous-ensemble alternatif d'attributs et de commandes plus spécifiques à l'appareil que ceux de la caractéristique standard correspondante.
Par exemple, la caractéristique standard
LevelControl
est une caractéristique générique qui peut être utilisée pour n'importe quel appareil dont le
paramètre varie de manière continue sur une plage de valeurs numériques.
Brightness est une caractéristique
simplifiée qui remplace LevelControl et ne fournit que les
commandes et les attributs requis par un appareil
DimmableLight. 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 la ou les caractéristiques standards sous-jacentes. Chaque nom de caractéristique renvoie à la documentation de l'API correspondante :
| Caractéristique simplifiée | Caractéristique standard |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
Caractéristiques simplifiées 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 le
FactoryRegistry. Par
exemple, si un appareil DimmableLight est présent dans la structure et que le
développeur a enregistré les caractéristiques
LevelControl
et
Brightness dans
le FactoryRegistry, l'API Discovery indique la présence des deux
caractéristiques. Le développeur peut choisir d'utiliser l'une ou l'autre des caractéristiques dans son automatisation.
Pour en savoir plus, consultez API Discovery sur Android.
Récupérer un appareil compatible avec une caractéristique simplifiée
Lorsque vous utilisez l'API Device pour obtenir des appareils dans une structure compatible avec une caractéristique simplifiée telle 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) }