Intents

Les intents pour la maison connectée sont des objets de messagerie simples qui décrivent l'intégration Cloud-to-cloud à effectuer, par exemple allumer une lumière ou diffuser de l'audio sur un haut-parleur.

Tous les intents smart home sont contenus dans l'espace de noms action.devices, et vous devez fournir un traitement pour chacun d'eux. Chaque fois que Google Assistant envoie un intent à un traitement, le jeton d'accès OAuth 2 d'un utilisateur tiers est transmis dans l'en-tête d'autorisation.

Voici les intents compatibles :smart home

SYNC

L'intent action.devices.SYNC permet de demander la liste des smart home appareils que l'utilisateur a connectés et qui sont disponibles.

Lorsqu'un utilisateur configure ses appareils avec le Google Home app (GHA), il est également authentifié auprès de votre infrastructure cloud. Ensuite, Assistant reçoit un jeton OAuth2. À ce stade, Assistant envoie un intent action.devices.SYNC à votre traitement pour récupérer la liste initiale des appareils et des fonctionnalités de l'utilisateur à partir de votre infrastructure cloud.

Cette figure illustre l'interaction entre l'infrastructure Google et l'infrastructure partenaire. L'infrastructure Google fournit une liste de partenaires à l'application cliente Assistant, qui est ensuite transmise à l'infrastructure du partenaire pour effectuer l'authentification OAuth. L'authentification OAuth côté partenaire correspond à la vue Web de configuration du partenaire, à la vue Web OAuth, aux paramètres et conditions facultatifs, ainsi qu'aux services cloud du partenaire. L'infrastructure du partenaire renvoie ensuite les identifiants OAuth à l'application cliente de l'Assistant. Les services cloud du partenaire envoient les appareils et les fonctionnalités disponibles aux services de l'Assistant, qui stockent ensuite les informations dans Home Graph.
Figure 1 : Interaction entre l'infrastructure Google et celle du partenaire

Pour éviter de dissocier et d'associer à nouveau le compte d'un utilisateur, vous pouvez envoyer une demande de synchronisation à Assistant. Cela envoie l'intent action.devices.SYNC à votre traitement pour synchroniser la liste des appareils et des fonctionnalités. Pour en savoir plus, consultez Implémenter la demande de synchronisation.

Organigramme d'un intent SYNC
Figure 2 : Intent SYNC

Lors de la configuration du traitement en local, la plate-forme Local Home vérifie la réponse SYNC du traitement cloud de votre smart home action. Pour en savoir plus sur la modification de votre réponse SYNC afin de prendre en charge le traitement en local, consultez Mettre à jour la réponse SYNC dans le traitement cloud.

QUERY

L'intent action.devices.QUERY permet d'interroger l'état actuel des appareils smart home.

Lorsque les utilisateurs interrogent l'état d'un appareil, pour répondre à une question telle que Hey Google, quelles lumières sont allumées dans la cuisine ?, Assistant envoie un action.devices.QUERY intent à votre traitement.

Diagramme de flux d'un intent QUERY
Figure 3 : Intent QUERY

Pour une expérience utilisateur optimale, vous devez implémenter Report State afin de signaler de manière proactive l'état actuel des appareils d'un utilisateur directement à Google Home Graph. Par exemple, cela permet à Assistant de savoir si votre utilisateur a allumé une lumière connectée avec un interrupteur physique.

Signaler l'état des appareils à l'aide de Report State
Figure 4 : Signaler l'état de l'appareil

EXECUTE

L'intent action.devices.EXECUTE permet de fournir des commandes à exécuter sur les appareils smart home.

Lorsque les utilisateurs envoient des commandes à des appareils avec Assistant, votre traitement reçoit un action.devices.EXECUTE intent qui décrit l'action et les appareils sur lesquels agir. Un utilisateur peut exécuter une action sur un appareil avec une commande telle que Hey Google, allume les lumières de mon salon.

Schéma de flux d'un intent EXECUTE
Figure 5 : Intent EXECUTE

DÉCONNECTER

L'intent action.devices.DISCONNECT est déclenché pour vous informer lorsqu'un utilisateur a dissocié le compte de l'application de Assistant. Après avoir reçu un intent action.devices.DISCONNECT, vous ne devez pas signaler l'état des appareils de cet utilisateur.