Caractéristiques simplifiées sur Android

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 :

Tableau : Traits simplifiés
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) }