Preguntas frecuentes sobre la casa inteligente

General

P: ¿Dónde y en qué idioma debemos implementar nuestra infraestructura de entrega de Actions on Google?

R.: Siempre que sea compatible con SSL (TLS) y OAuth 2.0 modernos, puedes implementar tu infraestructura en cualquier plataforma y lenguaje que elijas. Te recomendamos que realices la implementación lo más cerca posible del resto de la infraestructura para mejorar la confiabilidad y reducir la latencia de ejecución en los dispositivos reales de los usuarios.


P: ¿Los ID de dispositivo tienen que ser únicos?

R: Los ID deben ser únicos. Si no tienes IDs únicos en tu servicio, deben ser únicos al menos a nivel de cada usuario. Imagina un usuario con varias casas, en las que ambas tienen integraciones con el mismo usuario. Pedir que se encienda una luz de una casa no debería encender una luz con el mismo ID en otra casa.


P: ¿Los nombres de los dispositivos deben ser únicos?

R.: Los nombres no tienen que ser únicos, aunque, con el tiempo, podemos alentar a las personas a mejorar los nombres incorrectos después de la configuración para mejorar la experiencia del usuario.

A continuación, se incluye una guía rápida para asignar nombres:

  • Los nombres deben ser cosas que las personas realmente puedan decir.
  • Reconocemos subconjuntos de cadenas, por lo que, si tienes "luz de color acme", también responderemos a "luz acme".
  • Recomendamos usar un nombre descriptivo para el producto y uno o más nombres definidos por el usuario.
  • No es necesario que los usuarios den nombres de habitaciones porque tenemos habitaciones para eso. Deben tener nombres únicos por habitación, pero siempre pueden usar plurales para controlar todo (por ejemplo, las dos bombillas de los lámparas colgantes son "Luz del Norte" y "Luz de este", pero se pueden controlar como solo "luces").

P: ¿Con qué frecuencia se actualiza el estado del dispositivo?

R: El estado efímero se recupera cuando se realiza QUERY o EXECUTE, que son acciones iniciadas por el usuario. Si el usuario pregunta “¿La luz está encendida?” o quiere encenderla, tendremos que hacer una consulta para conocer el estado actual.


P: ¿Se puede actualizar Home Graph directamente con el estado actual de un dispositivo?

R: Sí, usa la llamada a la API de Report State.


Vinculación de cuentas y OAuth

R.: Sí, se requiere la vinculación de cuentas para conectar los dispositivos de un usuario a los servicios en la nube del proveedor.


P: En el caso de OAuth, los tokens de acceso vencen cada 15.213 horas. ¿Es correcto?

R.: Sí, pero debes realizar la prueba con un tiempo de vencimiento bastante breve, por ejemplo, de 10 a 20 minutos. Nuestro cliente de OAuth debería actualizar los tokens según sea necesario, y las pruebas con un tiempo de vencimiento corto demostrarán que eso funciona.


Intents

P: ¿Cuándo ocurre la función SYNC?

R.: SYNC ocurre inmediatamente después de que se completa OAuth y después de que se realiza una llamada de solicitud de sincronización.


P.: ¿Por qué no funciona SYNC?

R: Existen varios motivos comunes por los que esto podría fallar.

  • Estás enviando los tipos de dispositivo incorrectos.

    • Por ejemplo, esperamos action.devices.types.LIGHT, pero envías action.devices.types.Light.
  • Estás enviando tipos de dispositivos no compatibles.

    • Por ejemplo, si envías action.devices.types.FLASHLIGHT, no admitimos este tema.
  • Estás enviando campos no válidos o no admitidos.

    • Por ejemplo, tienes un campo de versión o algún otro campo que no está en nuestra especificación.
  • Hay otro problema de formato con tu respuesta de SYNC.

    • Revisa los corchetes.
  • Tienes un problema de vinculación de cuenta.

    • Verifica que estés recibiendo un token de acceso válido en el encabezado de Auth de la solicitud de SYNC.
  • Estás tardando demasiado en responder a la solicitud SYNC.

    • Verifica que respondas a la solicitud de SYNC en un plazo de 5 segundos.

P.: ¿Es correcta una respuesta “pendiente”?

R.: Si los dispositivos están disponibles en tiempo real, preferimos una respuesta de éxito o fracaso en lugar de pendiente. Comunícate con nosotros si consideras que necesitas una respuesta “pendiente”. Sabemos que algunos dispositivos de bajo consumo que no se ejecutan en tiempo real pueden requerir una respuesta pendiente y un modelo de ejecución asíncrono.


Pruebas y envío

P: ¿Podemos configurar un entorno de etapa de pruebas?

R: Sí, crea un proyecto separado y ejecuta la configuración para ese proyecto. Puedes crear tantos proyectos como necesites asignar a tu infraestructura y procesos de desarrollo.


P: ¿Con qué frecuencia debo actualizar mi borrador de proyecto?

R: El borrador de un proyecto debe actualizarse cada 3 días. Después de 3 días, el agente de prueba desaparecerá de la configuración de mobile-HomeControl. Si te encuentras con esto, haz clic en el botón TEST DRAFT de tu proyecto en Actions on Google Console.


P.: ¿Puedo hacer la prueba en más de un dispositivo a la vez?

R: Actions on Google solo admite un PA de "prueba en el dispositivo" a la vez. Si primero usas BORRADOR DE PRUEBA en "ap1" y dispositivos de sincronización, luego (sin desvincular ap1) ejecuta directamente BORRADOR DE PRUEBA "ap2", "ap1" desaparecerá de mobile-HomeControl-settings. Para corregirlo, vuelve a ejecutar BORRADOR DE PRUEBA en "ap1" y desvincula "ap1" en la configuración.

Ten en cuenta que este único paquete de acción estará disponible para todos tus dispositivos Google Assistant para el usuario. Por ejemplo, puedes probar tu nueva integración de hardware en bocinas activadas por voz y en Android.


P.: Se rechazó el envío de Mi proyecto de Acciones debido al nombre o la pronunciación. ¿Qué debo cambiar?

R.: Verificamos la pronunciación del nombre para asegurarnos de que otra acción no la utilice en el futuro y de que coincida con el nombre visible (para evitar discrepancias que afecten registros de nombres futuros).

Si quieres seguir usando el mismo nombre, comunícate con el equipo de asistencia para que el equipo de Speech lo agregue a Assistant.


P.: Mi Acción no aparece en la sección Control de la casa de la app de Google Home. ¿Qué sucede?

R.: El problema puede ser uno de los siguientes:

  • No hiciste clic en el botón TEST DRAFT de tu proyecto en Actions Console.
  • Solo puedes tener una Acción en Prueba en el dispositivo a la vez.
  • En Actions Console, ve a la pestaña Simulador de tu proyecto de acciones y cambia el botón de activación a Inactivo/Inactivo y, luego, vuelve a activarlo.
  • Si se trata de una Acción que se compartió contigo, asegúrate de que se hayan seguido todas las instrucciones para compartir.
  • La Prueba en el dispositivo vence después de tres días. Haz clic en el botón TEST DRAFT de tu proyecto en Actions Console.

P: ¿Por qué aparece un error cuando escribo "hablar con <my agent name>" en el simulador?

R.: Las Acciones de casa inteligente no usan nombres de invocación. Para realizar la prueba en el simulador, debes ejecutar la vinculación de cuentas en un teléfono Android o iOS con Google Home app (GHA) instalado. También debes tener dispositivos asociados a la cuenta antes de ejecutar la vinculación.


P: ¿Por qué recibo errores cuando intento usar el simulador?

R.: No puedes usar el simulador para probar las acciones de smart home implementadas. Si quieres usar el simulador para un proyecto de automatización del hogar que está en producción, debes crear un nuevo proyecto para realizar pruebas.


Estado del informe

P.: ¿Existen requisitos previos para implementar el estado del informe?

R.: El proyecto debe usar la API de Smart Home, admitir OAuth2 y tener características que tengan estados que se informen.


P.: ¿Con qué frecuencia debemos informar el estado en un dispositivo?

R.: A Google le interesa la transición y el estado de la terminal. Sin embargo, si hay muchos cambios de estado en poco tiempo (por ejemplo, un usuario abre y cierra el refrigerador tres veces en un minuto o desliza un poco más de luz), solo necesitamos informar el estado final.


P: ¿Se debe enviar el estado completo del dispositivo cuando se realizan llamadas de estado de informes?

R.: No se admiten las actualizaciones de estado parciales, por lo que las llamadas a Report State siempre deben incluir todos los datos de una característica en particular que se actualizó. Si dos rasgos crean una incoherencia, deben informarse juntos.


P: ¿Puede Google consultar mi dispositivo para obtener el estado (es decir, sondear el dispositivo)?

R.: Este es un mecanismo de resguardo que no recomendamos. Si necesitamos recurrir a sondear un dispositivo con frecuencia para esos usuarios, no podemos garantizar cuál será la carga adicional. La necesidad proviene de las nuevas superficies visuales. Además del problema de carga desconocido, la experiencia del usuario será degradada. Creemos que Report State es fundamental para la plataforma.


P.: ¿Qué características admite el estado del informe en este momento?

R: Se admiten todas las características públicas que tienen estados asociados. También se debe informar cualquier cambio en el estado en línea del dispositivo.

Ten en cuenta que las Escenas no tienen estados. Sin embargo, pueden provocar un cambio en los estados de los dispositivos. Si algún dispositivo en Google Home Graph tiene un estado de cambio, se debe informar.


P: ¿El Estado del informe requiere que se envíe una marca de tiempo?

R.: No exigimos una marca de tiempo. El último estado enviado anulará las llamadas anteriores.


P: ¿Debo informar el estado por separado si ya envío el estado en Query o Execute?

R: Home Graph solo almacena el estado que se envía a través de Report State. El estado que se muestra como respuesta a los intents EJECUTE y QUERY se usa solo para las respuestas de voz al usuario y no se almacena. Como resultado, se debe llamar a Report State incluso si el estado nuevo del dispositivo ya se mostró como respuesta a un intent EXECUTE o QUERY.


P.: ¿Cuáles son las consecuencias de no implementar por completo el estado del informe dentro del plazo establecido?

R.: Esto generará una experiencia del usuario degradada, por ejemplo, en GHA y las superficies visuales. Esto significará que se enviarán muchos intents QUERY para sondear el estado y no podemos garantizar qué corresponde a la carga adicional en la nube del socio.


P.: ¿Cómo puedo probar nuestra implementación del estado de informes?

R.: Usar el Visor de Home Graph, una herramienta de prueba de autoservicio que muestra los estados actuales de tu dispositivo almacenados en Home Graph


P.: ¿Podemos usar un requestId aleatorio para el estado del informe?

R.: Recomendamos que los socios usen el mismo requestId que recibieron de la solicitud EXECUTE si la solicitud EXECUTE activa Report State; de lo contrario, puedes usar requestId aleatorio.


P.: Si un usuario tiene varios dispositivos y uno de ellos cambia el estado, ¿tenemos que informar el estado más reciente de todos?

R.: No. Solo debes informar el estado de ese dispositivo específico.


Prácticas recomendadas

P: ¿Qué tipo de latencia es aceptable?

R: Menos de 200 ms es ideal, entre 2 y 5 s es aceptable. Si tu latencia se desplaza alrededor de 5 segundos, comunícate con nosotros.


P.: ¿Cómo hago para que mi bocina activada por voz responda correctamente cuando esté sin conexión?

A: Mostrar el estado sin conexión de los dispositivos sin conexión. Para este error, devolvemos "no disponible en este momento" como TTS. Para obtener más información, consulta Errores y excepciones.