Intents

Los intents de la casa inteligente son objetos de mensajería simples que describen qué integración de Cloud-to-cloud se debe realizar, como encender una luz o transmitir audio a una bocina.

Todos los intents de smart home se contienen en el espacio de nombres action.devices y debes proporcionarles una entrega. Cada vez que Google Assistant envía un intent a la entrega, se pasa el token de acceso de OAuth 2 de terceros de un usuario en el encabezado de autorización.

Estos son los intents smart home compatibles:

SINCRONIZAR

El intent action.devices.SYNC se usa para solicitar la lista de dispositivos smart home que el usuario conectó y que están disponibles para su uso.

Cuando un usuario configura sus dispositivos con Google Home app (GHA), también se autentica en tu infraestructura de nube. Luego, Assistant recibe un token de OAuth2. En este punto, Assistant envía un intent action.devices.SYNC a tu almacén para recuperar la lista inicial de dispositivos y capacidades del usuario de tu infraestructura de nube.

En esta figura, se muestra la interacción entre la infraestructura de Google y la infraestructura del socio. Desde la infraestructura de Google, hay una lista de socios que está disponible para la app cliente de Asistente, que luego fluye a la infraestructura del socio para completar la autenticación de OAuth. La autenticación de OAuth del socio es el WebView de configuración del socio, el WebView de OAuth, la configuración opcional y las condiciones, y los servicios en la nube del socio. Luego, la infraestructura del socio muestra las credenciales de OAuth a la app cliente de Asistente. Los servicios en la nube del socio envían los dispositivos y las funciones disponibles a los servicios de Asistente, que luego almacenan la información en el Gráfico de la casa.
Figura 1: Interacción entre Google y la infraestructura del socio

Para evitar desvincular y volver a vincular la cuenta de un usuario, puedes enviar una sincronización de solicitudes a Assistant. Esto envía el intent action.devices.SYNC a tu entrega para sincronizar la lista de dispositivos y capacidades. Consulta Cómo implementar la sincronización de solicitudes para obtener más información.

Diagrama de flujo de un intent de SYNC
Figura 2: Intent de SYNC

Durante la configuración de la entrega local, la plataforma de Local Home verifica la respuesta SYNC de la entrega en la nube de tu acción smart home. Para obtener más información sobre cómo modicar tu respuesta SYNC para admitir la entrega local, consulta Actualiza la respuesta de SYNC en la entrega en la nube.

CONSULTA

El intent action.devices.QUERY se usa para consultar el estado actual de los dispositivos smart home.

Cuando los usuarios consultan el estado del dispositivo para responder una pregunta como Hey Google, ¿qué luces están encendidas en la cocina?, Assistant envía un intent action.devices.QUERY a tu entrega.

Diagrama de flujo de un intent QUERY
Figura 3: Intent QUERY

Para brindar la mejor experiencia del usuario, debes implementar Report State para informar de forma proactiva el estado actual de los dispositivos de un usuario directamente a Google Home Graph. Por ejemplo, esto le permite a Assistant saber si el usuario encendió una luz inteligente con un interruptor de luz físico.

Cómo informar el estado del dispositivo con el estado del informe
Figura 4: Informe del estado del dispositivo

EJECUTAR

El intent action.devices.EXECUTE se usa para proporcionar comandos para ejecutar en dispositivos smart home.

Cuando los usuarios envían comandos a dispositivos con Assistant, tu entrega recibe un intent action.devices.EXECUTE que describe la acción y los dispositivos en los que se debe realizar. Un usuario puede ejecutar una acción en un dispositivo con un comando como Hey Google, enciende las luces de la sala.

Diagrama de flujo de un intent EXECUTE
Figura 5: Intent EXECUTE

DESCONECTAR

El intent action.devices.DISCONNECT se activa para informarte cuando un usuario desvinculó la cuenta de la app de Assistant. Después de recibir un intent action.devices.DISCONNECT, no debes informar el estado de los dispositivos de este usuario.