Caractéristiques simplifiées sur Android

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 :

Tableau : Caractéristiques simplifiées
Caractéristique simplifiée Caractéristique standard
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

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