Intents

Los intents de 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 encuentran en el espacio de nombres action.devices, y debes proporcionar una entrega para ellos. Cada vez que Google Assistant envía un intent para su entrega, se pasa un token de acceso de OAuth 2 de terceros de un usuario en el encabezado de autorización.

Estos son los intents de 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 el 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 fulfillment para recuperar la lista inicial de dispositivos y capacidades del usuario desde 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
    en el lado del socio es la vista web de configuración del socio, la vista web de OAuth,
    la configuración y las condiciones opcionales, y los servicios en la nube del socio. Luego, la infraestructura del socio devuelve las credenciales de OAuth a la app cliente de Asistente. Los servicios en la nube del socio envían los dispositivos y las capacidades disponibles a los servicios de Asistente, que luego almacenan la información en Home Graph.
Figura 1: Interacción entre la infraestructura de Google y la del socio

Para evitar desvincular y volver a vincular la cuenta de un usuario, puedes enviar una solicitud de sincronización 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 SYNC
Figura 2: Intención SYNC

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

QUERY

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 fulfillment.

Diagrama de flujo de un intent QUERY
Figura 3: Intención QUERY

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

Informa el estado del dispositivo con Report State
Figura 4: Informa el estado del dispositivo

EJECUTAR

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

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

Diagrama de flujo de un intent EXECUTE
Figura 5: Intención EXECUTE

DESCONECTAR

El intent action.devices.DISCONNECT se activa para informarte cuando un usuario desvincula 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.