Solución de problemas

App de ejemplo

Si tienes problemas cuando usas las APIs de Home, puedes recopilar registros para realizar una depuración más detallada. Para recopilar registros del dispositivo móvil, se necesita Xcode. Si necesitas asistencia de Google, recopila los registros del dispositivo iOS y del concentrador, y abre un ticket en la herramienta de seguimiento de errores con la información y los registros pertinentes asociados.

Recopila registros de iOS

Tu dispositivo móvil debe estar conectado a tu máquina local para todos los pasos que involucren Xcode.

Los registros de la app y del SDK se muestran y se pueden recopilar directamente en la consola de Xcode. Cuando tu dispositivo móvil está conectado a tu máquina local y ejecutas la aplicación a través de Xcode, la consola captura y transmite automáticamente los registros de salida estándar (stdout) y error estándar (stderr) de la capa de aplicación y del SDK de Home integrado. Esto proporciona una forma sencilla de supervisar los procesos de inicialización en tiempo real, las interacciones con la API y los eventos del SDK durante el desarrollo y la depuración.

Recopila registros de extensiones desde Xcode

Si tienes algún problema cuando usas las APIs de Home, puedes recopilar registros para obtener más información de depuración.

  1. En Xcode, ve a Debug en la barra de menú superior y haz clic en Attach to Process by PID or Name.

    Depuración de la app de ejemplo

  2. En PID or Process Name, selecciona MatterExtension y haz clic en Attach.

    Extensión de adjunto de app de ejemplo

  3. Si haces clic en la esquina superior derecha, verás el mensaje Waiting to attach to MatterAddDeviceExtension on iPhone.

    Estado de espera de la app de ejemplo

  4. Haz clic en la pestaña y selecciona MatterAddExtension.

    App de ejemplo que agrega la extensión de Matter

  5. La consola registrará el registro de la extensión.

Sherlog: Seguimiento de eventos en varias pilas

Sherlog es un servicio de seguimiento en tiempo real que proporciona una vista de extremo a extremo de las interacciones entre la infraestructura de Google y los servicios en la nube de los socios.

Requisito previo: El seguimiento requiere el uso de una cuenta compartida coordinada por Google (p.ej., una cuenta registrada en GReg o de demostración).

Propósito principal: Depurar defectos funcionales y problemas de integración de la nube a la nube (C2C) (p.ej., fallas en la vinculación de cuentas o estados incorrectos de los dispositivos) sin necesidad de cambiar el código de producción.

Funciones: Proporciona gráficos completos de llamadas RPC, cargas útiles de solicitud/respuesta y metadatos para los intents SYNC, EXECUTE, QUERY y de vinculación de cuentas.

Registros del dispositivo de Fuchsia Hub

Puedes recopilar registros de los siguientes hubs de Fuchsia con este método: * Google Nest Hub (2ª gen.) * Google Nest Hub Max

Para habilitar un concentrador para la recuperación de registros locales, sigue estos pasos:

  1. Envía un correo electrónico con el número de serie y el modelo de tus dispositivos a tu administrador técnico de cuentas (TAM) de Google. Se pueden encontrar en letras pequeñas debajo del dispositivo.
  2. Una vez que se te incluya en la lista de entidades permitidas, debes habilitar la función siguiendo estos pasos:
    • En el centro, haz lo siguiente:
      1. Desliza el dedo hacia abajo desde la parte superior de la pantalla.
      2. Presiona el ícono de Configuración .
      3. Busca la versión de Fuchsia: En un Nest Hub (2ª gen.), ve a Información del dispositivo > Información técnica > Versión de Fuchsia
      4. Presiona "Versión de Fuchsia" 7 veces. Esto habilitará las opciones para desarrolladores.
      5. Volver al menú de nivel superior
      6. Presiona "Opciones para desarrolladores".
      7. Presiona "Registro de socios".
    • La función estará habilitada durante 24 horas. Después de eso, vuelve a habilitar la función de registro desde el paso 5 en adelante.
  3. Obtén la dirección IP de tu concentrador:
    • Desde la unidad central, si tiene pantalla:
      1. Desliza el dedo hacia abajo desde la parte superior de la pantalla.
      2. Presiona el ícono de Configuración .
      3. Busca la dirección IP del dispositivo: En un Nest Hub (2ª gen.), ve a Información del dispositivo > Información técnica > Dirección IP
    • En la app de Google Home (GHA) de tu teléfono, haz lo siguiente:
    • Presiona el dispositivo para que aparezca la página de detalles.
    • Presiona el ícono de Configuración para abrir la página de configuración.
    • Busca la dirección IP del dispositivo: ve a Información del dispositivo > Información técnica > Dirección IP.
  4. Para recuperar los registros del concentrador, realizarás una solicitud HTTP GET al concentrador desde una computadora que esté conectada a la misma red Wi-Fi.
    • Toma nota del puerto y la ruta de acceso del extremo:
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • La conexión se puede mantener abierta solo durante un minuto, pero los datos recuperados del búfer suelen tener entre 20 y 30 minutos de eventos pasados.
      • Idealmente, los registros se extraen con este método inmediatamente después de completar un procedimiento de prueba para garantizar que el búfer contenga contenido relevante para la prueba (similar a los informes de errores de Android).

Automatizaciones

Detección de bordes

Las automatizaciones en el ecosistema de Google Home incluyen la detección de bordes, que es la lógica que verifica que un activador solo se active cuando hay un cambio de estado real, en lugar de una actualización de estado que simplemente repite el estado anterior del dispositivo.

Por ejemplo, si encender una luz es un activador, la detección de flancos verifica que el activador solo se active si ese dispositivo de luz pasa de apagado a encendido, en lugar de encendido a encendido (sin cambios).

La automatización no se comporta como se espera

Después de tener en cuenta la detección de flancos, si una automatización no se comporta como se espera, haz lo siguiente:

  1. Verifica cada dispositivo para asegurarte de que funcione correctamente de forma independiente de tu automatización.

  2. Observa el gráfico de automatización de tu automatización y compáralo con tu DSL de automatización para revelar cualquier suposición potencialmente incorrecta de tu parte.

  3. Observa el estado del dispositivo en la app de Google Home durante la ejecución de tu automatización.

  4. Asegúrate de que todos los dispositivos a los que hace referencia la automatización estén presentes en la estructura en la que esperas que estén. Borrar un dispositivo del que depende una automatización puede tener consecuencias no deseadas. Consulta Impacto de la eliminación de dispositivos en las automatizaciones.

La automatización se ejecuta cuando no debería hacerlo

Si tu automatización se ejecuta cuando no debería, examina los criterios del activador. Es posible que debas agregar lógica adicional para asegurarte de que un cambio de estado se capture solo una vez y active la automatización solo una vez.

La automatización no se compila

Asegúrate de que tu app contenga todas las importaciones necesarias, incluida cada clase correspondiente a los diferentes tipos de nodos, así como los rasgos a los que haces referencia.

La creación de la automatización no pasa la validación

Si la creación de la automatización no pasa la validación, un mensaje de advertencia o error proporciona información sobre el problema. Para obtener más información, consulta la referencia de ValidationIssueType.

OAuth

Si tienes un cliente de OAuth existente

Si ya tienes un cliente de OAuth verificado para una app publicada, puedes usarlo para probar las APIs de Home.

No es necesario registrarse en Google Home Developer Console para probar y usar las APIs de Home. Sin embargo, de todas formas, necesitarás un registro de Developer Console aprobado para publicar tu app, incluso si tienes un cliente de OAuth verificado de otra integración.

Se aplican las siguientes consideraciones:

  • Hay un límite de 100 usuarios cuando se usa un cliente de OAuth existente. Para obtener información sobre cómo agregar usuarios de prueba, consulta Genera el ID de cliente de OAuth. Independientemente de la verificación de OAuth, existe un límite impuesto por las APIs de Home de 100 usuarios que pueden otorgar permisos a tu aplicación. Esta limitación se quita cuando se completa el registro de Developer Console.

  • El registro deDeveloper Console debe enviarse para su aprobación cuando tengas todo listo para restringir los permisos de tipo de dispositivo a través de OAuth como preparación para actualizar tu app con las APIs de Home.

En el caso de las apps de Google Cloud que aún tienen pendiente la verificación de OAuth, los usuarios no pueden completar el flujo de OAuth hasta que se complete la verificación. Los intentos de otorgar permisos fallarán con el siguiente error:

Access blocked: <Project Name> has not completed the Google verification process.