Les API Home pour Android présentent tous les appareils de l'écosystème Google Home dans un modèle de données unifié. Ce modèle de données couvre tous les types d'appareils (de Google Nest ou de fabricants tiers), quelle que soit la technologie de maison connectée sous-jacente (telle que Matter ou Cloud-to-cloud). Il fournit une surface d'API commune pour créer des expériences utilisateur pour les développeurs smart home et d'applications mobiles.
Types d'appareil
Les types d'appareils présentés dans les API Home sont une unification des Matter et Cloud-to-cloud modèles de données. Certains sont dérivés directement de Matter, d'autres sont une extension des types d'appareils Matter et d'autres sont dérivés de Cloud-to-cloud.
Les types d'appareils contiennent des traits qui permettent de contrôler et de gérer les appareils. Comme les types d'appareils, les traits sont dérivés desMatter clusters et des Cloud-to-cloud traits, et sont présentés dans un format commun qui est semblable à celui desMatter clusters. Dans les API Home, Matter-derived traits sont appelés traits et non clusters.
Par conséquent, les types d'appareils et les traits des API Home sont conçus pour être Matter-first. Un type d'appareil Matter ou un trait est prioritaire par rapport à un équivalent Cloud-to-cloud.
Pour obtenir la liste des types d'appareils et de leurs traits, consultez Types d'appareils compatibles sur Android.
Traits
Les versions Kotlin des traits sont générées pour être utilisées dans les API Home et contiennent des fonctionnalités supplémentaires spécifiques aux API Home (non disponibles dans Matter ou Cloud-to-cloud). Par exemple, chaque trait comporte des méthodes permettant de vérifier si un trait est compatible avec un attribut ou une commande. Cela est utile pour déterminer si la lecture de l'état ou certaines actions peuvent être effectuées sur l'appareil d'un utilisateur, car tous les appareils d'un type d'appareil ne sont pas censés avoir les mêmes fonctionnalités.
Chaque trait est contenu dans son propre espace de noms et doit être importé individuellement pour être utilisé.
Par exemple, pour utiliser le Matter trait On/Off et le type d'appareil On/Off Plug-in Unit, importez les packages suivants dans votre application :
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
Pour un type d'appareil Garage (de la maison connectée Google), incluez une combinaison de Matter et traits Google :
import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice
Android Studio dispose d'une fonctionnalité de saisie semi-automatique et gère souvent
les noms de package complets lorsque vous ajoutez des lignes import aux fichiers sources
de votre projet. Toutefois, les noms de package ne sont pas cohérents pour tous les types d'appareils et les traits. Consultez la référence pour vérifier le nom de package correct pour chaque
DeviceType ou
Trait.
La plupart des traits sont compatibles avec les automatisations, et certains traits ne sont disponibles que pour les automatisations. Pour en savoir plus, consultez Compatibilité des traits de l'API Automation sur Android.
Composition des types d'appareils
Les API Home sont compatibles avec la plupart des Matter clusters d'applications en tant que traits dans le modèle de données. Les traits qui ne correspondent pas au contrôle ou aux états des appareils et qui n'offrent aucune utilité aux utilisateurs finaux, tels que Binding et Groups, ne sont pas exposés via les API Home.
Les traits dérivés des traits de maison connectée Cloud-to-cloud ont généralement
le même nom entre Cloud-to-cloud et les API Home, comme dans
l'exemple d'OpenClose. D'autres sont représentés comme des extensions de
Matter traits, créées à l'aide de Matter
extensions spécifiques au fabricant. Ces traits comblent le fossé pour un
smart home trait où la fonctionnalité est divisée entre le
Matter SDK et l'écosystème Google Home. Les types d'appareils Google* en sont un exemple spécifique
. Ils proviennent de
Cloud-to-cloud, mais n'ont pas encore d'équivalents Matter.
Les types d'appareils sont composés de traits provenant d'une ou des deux sources, Matter ou Cloud-to-cloud.
Par exemple, le type d'appareil Fan est composé de et comporte trois traits :
- Le trait
IdentifyMatter fournit toutes les fonctionnalités de MatterIdentify. - Le trait
FanControlMatter fournit toutes les fonctionnalités du trait MatterFanControl. - Le trait Google
ExtendedFanControlfournit toutes les fonctionnalités du trait Google smart homeFanSpeedqui ne sont pas couvertes par le traitFanControlMatter Matter.
Ce type de composition de traits fournit un modèle flexible pour une fonctionnalité complète de type d'appareil, en faisant abstraction des modèles de données smart home sous-jacents.