Pour plus de simplicité, des versions simplifiées de certains traits sont disponibles pour l'API Automation sur Android.
Un trait simplifié remplace un trait d'API Home standard, de la même manière que le modèle de façade. 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 et, comme les autres caractéristiques de l'API Home, elles fonctionnent à la fois pour les appareils Matter et Cloud-to-cloud.
Un trait simplifié offre un sous-ensemble alternatif d'attributs et de commandes plus spécifique à 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 un paramètre varie en continu sur une plage de valeurs numériques.
Brightness est un trait simplifié qui remplace LevelControl et fournit uniquement les commandes et les attributs requis par un appareil DimmableLight. Brightness dispose d'une commande moveToBrightness qui n'accepte qu'un seul argument brightnessPercent, tandis que LevelControl dispose de plusieurs commandes move, dont la plupart comportent au moins quatre paramètres afin de s'adapter à un plus grand nombre 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 | Caractéristique standard |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
Caractéristiques simplifiées et API Discovery
L'API Discovery indique les caractéristiques simplifiées ainsi que les 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 caractéristiques LevelControl et Brightness dans FactoryRegistry, l'API Discovery indique la présence des deux caractéristiques. 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) }