Cómo probar y depurar tu app

Te recomendamos que compiles tu app de entrega local siguiendo los pasos descritos anteriormente y, luego, pruebes la integración de tu casa inteligente en tu propio entorno de hosting con los siguientes pasos:

  1. En tu propio entorno de hosting, entrega la página HTML que ejecuta tu app de entrega local. En el siguiente fragmento, se muestra un ejemplo de un archivo HTML estático que ejecuta tu app de entrega local.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
    
    
  2. Prueba el control de dispositivos.

  3. Depurar desde Chrome. Usa puntos de interrupción y registros para solucionar problemas de integración.

  4. Modifica y compila el código de TypeScript, y repite estos pasos.

Si repites este proceso de compilación y prueba, podrás ver tus cambios en acción con rapidez y facilidad, y detectar y depurar problemas con tu código.

Cómo probar el control de dispositivos

En la consola de Action, debes especificar la URL de tu app web, que entrega el código HTML que se carga en el dispositivo Google Home o Google Nest durante la entrega local.

Para probar el control de dispositivos con entrega local, sigue estos pasos:

Chrome

  1. Abre tu proyecto de casa inteligente en la Consola de Actions.
  2. En el panel de navegación izquierdo, haz clic en Acciones.
  3. En Configure local home SDK (optional) > Ingresa la URL de prueba para Chrome, especifica la URL del servidor de desarrollo que entrega el código HTML que ejecuta la app de entrega local.
  4. Haz clic en Guardar. Google puede tardar hasta 30 minutos en propagar los cambios en la consola.
  5. Reinicia tu dispositivo Google Home o Google Nest de prueba.
  6. Envía un comando a tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa la característica OnOff, puedes decir "Hey Google, enciende las luces".

Node.js

  1. Abre tu proyecto de casa inteligente en la Consola de Actions.
  2. En el panel de navegación izquierdo, haz clic en Acciones.
  3. En Configure local home SDK (optional) > Ingresa la URL de prueba para Node, especifica la URL del servidor de desarrollo que entrega el JavaScript que ejecuta tu app de entrega local.
  4. Haz clic en Guardar. Google puede tardar hasta 30 minutos en propagar los cambios en la consola.
  5. Reinicia tu dispositivo Google Home o Google Nest de prueba.
  6. Envía un comando a tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa la característica OnOff, puedes decir "Hey Google, enciende las luces".

Para obtener más detalles sobre qué entorno de ejecución usa tu dispositivo, consulta Dispositivos compatibles.

Depuración desde Chrome

Puedes depurar tu app de entrega local con las herramientas para desarrolladores de Chrome. Antes de realizar la depuración, asegúrate de que tu entorno esté configurado de forma correcta:

  • Configuraste tu URL de desarrollo en la consola como una URL a la que puede acceder el dispositivo Google Home o Google Nest (ya sea en la red de área local o a través de Internet).
  • La máquina está conectada a la misma red de área local que el dispositivo Google Home o Google Nest que estás probando.
  • Tu red no bloquea los paquetes entre los dispositivos.
  • Accediste con la misma Cuenta de Google en la Consola de Actions y en el dispositivo Google Home o Google Nest.
  • Actualizaste la respuesta SYNC en tu entrega en la nube. Debe mostrar al menos un valor válido en el campo otherDeviceIds.
  • Que hayas ingresado la información de configuración de análisis correcta en la Consola de Actions

Para conectar tu app de entrega local al depurador de las Herramientas para desarrolladores de Chrome, sigue estos pasos:

Chrome

  1. En tu máquina de desarrollo local, instala y, luego, inicia el navegador Google Chrome.
  2. En el campo de dirección del navegador Chrome, ingresa chrome://inspect#devices para iniciar el inspector de Chrome. Deberías ver una lista de dispositivos en la página, y tu archivo HTML debería aparecer debajo del nombre de tu dispositivo Google Home o Google Nest de prueba.
  3. Haz clic en el vínculo azul de inspección debajo de tu código HTML para iniciar las Herramientas para desarrolladores de Chrome. Cambia a la pestaña Consola. La plataforma de Local Home muestra la versión de tu app y la versión del SDK de Local Home en el registro de la consola. Si ves el registro, significa que Google cargó tu app correctamente y puede conectarse a ella. De lo contrario, reinicia el dispositivo Google Home o Google Nest.
  4. Figura 1: App de entrega local en chrome://inspect.

Node.js

  1. En tu máquina de desarrollo local, instala y, luego, inicia el navegador Google Chrome.
  2. Determina la dirección IP local de tu dispositivo de prueba.
  3. En el campo de dirección del navegador Chrome, ingresa chrome://inspect#devices para iniciar el inspector de Chrome.
  4. Selecciona Configurar... para abrir la Configuración de descubrimiento objetivo.
  5. Figura 2: Configuración de descubrimiento de destino en chrome://inspect.
  6. Ingresa DEVICE_IP_ADDRESS:9222 en la lista y haz clic en Done.
  7. Haz clic en el vínculo azul de inspección debajo de la secuencia de comandos para iniciar las Herramientas para desarrolladores de Chrome. Cambia a la pestaña Consola. La plataforma de Local Home muestra la versión de tu app y la versión del SDK de Local Home en el registro de la consola. Si ves el registro, significa que Google cargó tu app correctamente y puede conectarse a ella. De lo contrario, reinicia el dispositivo Google Home o Google Nest.

Para obtener más detalles sobre qué entorno de ejecución usa tu dispositivo, consulta Dispositivos compatibles.

Sugerencias de depuración

Algunos aspectos adicionales para tener en cuenta durante la depuración incluyen lo siguiente:

  • No vincules varios dispositivos Google Home ni Google Nest a tu cuenta de prueba en la misma red local. No podrás controlar a qué dispositivo Google Home o Google Nest se orienta con los comandos de entrega local.
  • Actualiza la página en las Herramientas para desarrolladores de Chrome para volver a cargar el contenedor de tu app de entrega local con el código más reciente de tu URL de desarrollo. Esta acción no restablece la plataforma de Local Home, lo que puede ser necesario para volver a activar los intents de la plataforma (como IDENTIFY) en tu app de entrega local. Para restablecer la plataforma de Local Home, reinicia el dispositivo Google Home o Google Nest.
  • Verifica que tu app de JavaScript se cargue sin errores. Para hacerlo, consulta la sección de la consola en la página Herramientas para desarrolladores. Si hay un problema, verás un mensaje como el siguiente: Uncaught TypeError: Cannot read property ‘open’ of null..
  • El verificationId de la respuesta IDENTIFY debe coincidir con uno de los otherDeviceIds de la respuesta SYNC.
  • Para el controlador EXECUTE, asegúrate de que el dispositivo pueda recibir tus comandos HTTP, TCP o UDP y que funcionen como se espera.
  • Asegúrate de mostrar un Promise de los controladores.
  • Evita mantener el estado global en la memoria. Consulta Ciclo de vida de la aplicación.
  • Los errores que arroje tu app de entrega local aparecerán en los registros de errores de tu proyecto.

Preparación y lanzamiento para producción

Cuando tengas todo listo para iniciar la Acción de tu casa inteligente, sigue estos pasos:

  1. Abre una terminal. En el directorio de tu proyecto, ejecuta el comando npm run build. Este comando genera los siguientes paquetes de JavaScript para tu app en el directorio dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. En la consola, haz clic en Develop > Actions para subir la app de JavaScript. En la sección Configure Local Home SDK, haz clic en Subir archivos de JavaScript.
    Figura 3: Sube tu app de JavaScript.
  3. En el cuadro de diálogo Subir archivos, sube los archivos de conjunto que generaste antes. Asegúrate de subir ambas versiones de los archivos de paquete (Nodo y Web) de modo que tu Acción esté configurada para funcionar correctamente en todos los entornos de ejecución que admitan las entregas locales.
    1. Sube el código JavaScript segmentado para Node.js: Sube el archivo bundle.js desde el directorio dist/node.
    2. Sube el código JavaScript segmentado a Chrome (navegador): Sube el archivo bundle.js desde el directorio dist/web.
  4. Prueba tu acción en un dispositivo compatible con el Asistente para verificar que se comporte como se espera en un entorno de producción. Para obtener más información, consulta Cómo probar y compartir tu Acción de tu casa inteligente.
  5. Cuando estés conforme con el funcionamiento de tu acción, envíala a Google para la implementación de producción. Para ello, sigue las instrucciones en Inicia tu acción de casa inteligente. Esto incluye completar los pasos de la autoprueba y la solicitud de certificación.