Cómo probar y depurar tu app

Te recomendamos que compiles tu app de entrega local con los pasos descritos anteriormente y, luego, pruebes la integración de la 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. Cómo depurar desde Chrome. Usa puntos de interrupción y registros para solucionar problemas de integración.

  4. Modifica y compila tu código TypeScript y, luego, repite estos pasos.

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

Control de dispositivos de prueba

En la Consola de Actions, 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 Smart Home en la Consola de Actions.
  2. En el panel de navegación izquierdo, haz clic en Acciones.
  3. En Configura el SDK de Local Home (opcional) > Ingresa tu URL de prueba para Chrome, especifica la URL del servidor de desarrollo que entrega el HTML que ejecuta tu app de entrega local.
  4. Haz clic en Guardar. Google puede tardar hasta 30 minutos en propagarlos.
  5. Reinicia el dispositivo Google Home o Google Nest de prueba.
  6. Emite un comando a tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa el atributo OnOff, puedes decir "Hey Google, enciende las luces".

Node.js

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

Para obtener más detalles sobre el tiempo de ejecución que usa tu dispositivo, consulta Dispositivos compatibles.

Cómo depurar desde Chrome

Puedes depurar tu app de entrega local con las Herramientas para desarrolladores de Chrome. Antes de depurar, asegúrate de que tu entorno esté configurado correctamente:

  • Si configuraste tu URL de desarrollo en la consola como una URL a la que pueda acceder el dispositivo Google Home o Google Nest (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 paquetes entre dispositivos.
  • Accediste con la misma Cuenta de Google en la Consola de Acciones y en el dispositivo Google Home o Google Nest.
  • Actualizaste la respuesta de SYNC en tu entrega en la nube. Debe mostrar al menos un valor válido en el campo otherDeviceIds.
  • Ingresaste la información correcta de la configuración de análisis 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 del dispositivo Google Home o Google Nest de prueba.
  3. Haz clic en el vínculo de inspección azul 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 de objetivos.
  5. Figura 2: Configuración de descubrimiento de objetivos en chrome://inspect.
  6. Ingresa DEVICE_IP_ADDRESS:9222 en la lista y haz clic en Listo.
  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ó correctamente tu app y puede conectarse a ella. De lo contrario, reinicia el dispositivo Google Home o Google Nest.

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

Sugerencias de depuración

Estos son algunos aspectos adicionales que debes tener en cuenta durante la depuración:

  • No vincules varios dispositivos Google Home o 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 segmenta con los comandos de entrega local.
  • Actualiza la página en Chrome DevTools para volver a cargar el contenedor de la 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 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 la app de JavaScript se cargue sin errores. Para ello, consulta la sección de la consola de la página de DevTools. Si hay un problema, verás un mensaje como este: 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 los comandos de 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 genera tu app de entrega local aparecerán en los registros de errores de tu proyecto.

Preparación y lanzamiento a producción

Cuando tengas todo listo para lanzar tu Acción de 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 la app en el directorio dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. En la consola, sube tu app de JavaScript haciendo clic en Develop > Actions. En la sección Configura el SDK de Local Home, haz clic en Subir archivos JavaScript.
    Figura 3: Sube tu app de JavaScript.
  3. En el cuadro de diálogo Subir archivos, sube los archivos de paquete que generaste antes. Asegúrate de subir ambas versiones de los archivos del paquete (Node y Web) para que tu Action esté configurada para funcionar correctamente en todos los entornos de ejecución que admite la entrega local.
    1. Sube tu código JavaScript segmentado para Node.js: Sube el archivo bundle.js del directorio dist/node.
    2. Sube tu código JavaScript segmentado para Chrome (navegador): Sube el archivo bundle.js del directorio dist/web.
  4. Prueba tu Acción en un dispositivo compatible con 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 casa inteligente.
  5. Cuando estés conforme con el funcionamiento de tu Acción, envíala a Google para su implementación en producción. Para ello, sigue las instrucciones que se indican en Cómo lanzar tu Acción de casa inteligente. Esto incluye completar los pasos de la autoprueba y la solicitud de certificación.