Te damos la bienvenida al Centro para desarrolladores de Google Home, el nuevo destino para aprender a desarrollar acciones para el hogar inteligente. Nota: Continuarás compilando acciones en la Consola de Actions.

Prueba y depura tu app

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Te recomendamos que compiles tu app de entrega local con los pasos anteriores, y que luego pruebes tu integración de 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 aplicación de entrega local. El siguiente fragmento muestra un ejemplo de un archivo HTML estático que ejecuta tu aplicación 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 los controles del dispositivo.

  3. Depurar desde Chrome Usa las interrupciones y los registros para solucionar problemas de integración.

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

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

Control de dispositivos de prueba

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

Para probar el control de dispositivos con entregas locales, sigue estos pasos:

Chrome

  1. Abre tu proyecto de casa inteligente en la Consola de Actions.
  2. En el panel de navegación izquierdo, haga clic en Acciones.
  3. En Configurar SDK local local (opcional) > Ingresar la URL de prueba para Chrome, especifica la URL del servidor de desarrollo que publica 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 de la consola.
  5. Reinicia el dispositivo Google Home o Google Nest de prueba.
  6. Ejecuta un comando para tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa la característica Activado, 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, haga clic en Acciones.
  3. En Configurar SDK de home local (opcional) > Ingresar tu URL de prueba para Node, especifica la URL del servidor de desarrollo que publica JavaScript que ejecuta la app de entrega local.
  4. Haz clic en Guardar. Google puede tardar hasta 30 minutos en propagar los cambios de la consola.
  5. Reinicia el dispositivo Google Home o Google Nest de prueba.
  6. Ejecuta un comando para tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa la característica Activado, 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 mediante DevTools de Chrome. Antes de realizar la depuración, asegúrate de que tu entorno esté configurado de manera correcta:

  • Configuraste la URL de desarrollo en la consola en una URL accesible a través del 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 paquetes entre dispositivos.
  • Debes acceder con la misma Cuenta de Google en la Consola de Actions y en el dispositivo Google Home o Google Nest.
  • Actualizaste la respuesta de SYNC en tu entrega en la nube. Debería mostrar al menos un valor válido en el campo otherDeviceIds.
  • Ingresaste 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 Chrome DevTools, 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, inicia el inspector de Chrome ingresando: chrome://inspect#devices. Deberías ver una lista de dispositivos en la página, y tu archivo HTML debería aparecer bajo el nombre de tu dispositivo de prueba Google Home o Google Nest.
  3. Haz clic en el vínculo de inspección azul que se encuentra debajo de tu código HTML para iniciar Chrome DevTools. Vaya a la pestaña Consola. La plataforma de Local Home genera 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ó la 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, inicia el inspector de Chrome ingresando: chrome://inspect#devices.
  4. Selecciona Configurar... para abrir la configuración de descubrimiento de objetivos.
  5. Figura 2: Configuración de detección 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 de inspección azul ubicado debajo de tu secuencia de comandos para iniciar las Herramientas para desarrolladores de Chrome. Vaya a la pestaña Consola. La plataforma de Local Home genera 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ó la 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

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 orienta con los comandos de entrega locales.
  • 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. Esto no restablece la plataforma de Home Local, que puede ser necesaria para volver a activar los intents de la plataforma (como IDENTIFY) en tu app de entrega local. Para restablecer la plataforma de Home Local, reinicia el dispositivo Google Home o Google Nest.
  • Verifica que tu app de JavaScript se cargue sin errores. Para ello, consulta la sección de la consola en 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.
  • En el controlador EXECUTE, asegúrate de que tu dispositivo pueda recibir los comandos HTTP, TCP o UDP, y funciona 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 de tu app de entrega local aparecerán en los registros de error de tu proyecto.

Preparar y lanzar a 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 Console, 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 del paquete que generaste anteriormente. Asegúrate de subir ambas versiones de los archivos de paquetes (nodo, web) para que la acción esté configurada a fin de funcionar de manera correcta en todos los entornos de ejecución compatibles con la entrega local.
    1. Sube el archivo Node.js de orientación de JavaScript: Sube el archivo bundle.js desde el directorio dist/node.
    2. Sube el navegador Chrome orientado a JavaScript: Sube el archivo bundle.js desde el directorio dist/web.
  4. Prueba la 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 Prueba y comparte tu Acción de casa inteligente.
  5. Cuando estés satisfecho con el funcionamiento de tu acción, envíala a Google para su implementación en producción. Para ello, sigue las instrucciones que aparecen en lanza tu acción de casa inteligente. Esto incluye completar los pasos de solicitud de certificación y autoprueba.