Testar e depurar o app

Recomendamos que você crie seu app de fulfillment local usando as etapas descritas anteriormente e teste a integração da casa inteligente no seu próprio ambiente de hospedagem usando as seguintes etapas:

  1. No seu ambiente de hospedagem, exiba a página HTML que executa o aplicativo de fulfillment local. O snippet a seguir mostra um exemplo de arquivo HTML estático que executa esse aplicativo.

    <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. Teste o controle do dispositivo.

  3. Depurar a partir do Chrome. Use pontos de interrupção e registros para solucionar problemas de integração.

  4. Modifique e compile seu código do TypeScript e repita essas etapas.

Ao repetir esse processo de criação e teste, é possível ver as mudanças em ação rapidamente e de forma mais fácil detectar e depurar problemas com o código.

Testar o controle do dispositivo

No Console do Action, você precisa especificar o URL do app da Web, que veicula o HTML carregado no dispositivo Google Home ou Google Nest durante o fulfillment local.

Para testar o controle de dispositivos com o fulfillment local, siga estas etapas:

Chrome

  1. Abra seu projeto de casa inteligente no Console do Actions.
  2. Na navegação à esquerda, clique em Ações.
  3. Em Configurar SDK local do Google Home (opcional) > Digite o URL de teste do Chrome, especifique o URL do servidor de desenvolvimento que exibe o HTML que executa o aplicativo de fulfillment local.
  4. Clique em Salvar. Pode levar até 30 minutos para que o Google propague suas alterações no console.
  5. Reinicie o dispositivo Google Home ou Google Nest de teste.
  6. Emita um comando para seu dispositivo inteligente. Por exemplo, se o dispositivo implementa a característica OnOff, você pode dizer "Ok Google, acenda as luzes".

Node.js

  1. Abra seu projeto de casa inteligente no Console do Actions.
  2. Na navegação à esquerda, clique em Ações.
  3. Em Configure local home SDK (optional) > Enter your test URL for Node, especifique o URL do servidor de desenvolvimento que exibe o JavaScript que executa o aplicativo de fulfillment local.
  4. Clique em Salvar. Pode levar até 30 minutos para que o Google propague suas alterações no console.
  5. Reinicie o dispositivo Google Home ou Google Nest de teste.
  6. Emita um comando para seu dispositivo inteligente. Por exemplo, se o dispositivo implementa a característica OnOff, você pode dizer "Ok Google, acenda as luzes".

Para ver mais detalhes sobre o ambiente de execução usado pelo dispositivo, consulte Dispositivos compatíveis.

Depuração do Chrome

É possível depurar seu app de fulfillment local usando o Chrome DevTools. Antes de depurar, verifique se o ambiente está configurado corretamente:

  • tiver definido o URL de desenvolvimento no console como um URL acessível pelo dispositivo Google Home ou Google Nest (na rede local ou pela Internet);
  • Sua máquina está conectada à mesma rede local que o dispositivo Google Home ou Google Nest que você está testando.
  • Sua rede não bloqueia pacotes entre dispositivos.
  • Você está conectado com a mesma Conta do Google no console do Actions e no dispositivo Google Home ou Google Nest.
  • Você atualizou a resposta do SYNC no fulfillment da nuvem. Ele deve retornar pelo menos um valor válido no campo otherDeviceIds.
  • Você inseriu as informações corretas de configuração da verificação no Console do Actions.

Para conectar seu app de fulfillment local ao depurador do Chrome DevTools, siga estas etapas:

Chrome

  1. Na máquina de desenvolvimento local, instale e inicie o navegador Google Chrome.
  2. No campo de endereço do seu navegador Chrome, inicie o inspetor do Chrome digitando: chrome://inspect#devices. Você verá uma lista de dispositivos na página, e o arquivo HTML será listado abaixo do nome do dispositivo Google Home ou Google Nest de teste.
  3. Clique no link azul de inspeção abaixo do HTML para iniciar o Chrome DevTools. Acesse a guia Console. A plataforma Local Home gera a versão do seu app e a versão do SDK local no registro do console. Se o registro for exibido, isso significa que o Google carregou o app e conseguiu se conectar a ele. Caso contrário, reinicie o dispositivo Google Home ou Google Nest.
  4. Figura 1: app de fulfillment local em chrome://inspect.

Node.js

  1. Na máquina de desenvolvimento local, instale e inicie o navegador Google Chrome.
  2. Determine o endereço IP local do dispositivo de teste.
  3. No campo de endereço do seu navegador Chrome, inicie o inspetor do Chrome digitando: chrome://inspect#devices.
  4. Selecione Configurar... para abrir as Configurações de descoberta de destino.
  5. Figura 2: configurações de descoberta de destino em chrome://inspect.
  6. Digite DEVICE_IP_ADDRESS:9222 na lista e clique em Concluído.
  7. Clique no link azul de inspeção abaixo do script para iniciar o Chrome DevTools. Acesse a guia Console. A plataforma Local Home gera a versão do seu app e a versão do SDK local no registro do console. Se o registro for exibido, isso significa que o Google carregou o app e conseguiu se conectar a ele. Caso contrário, reinicie o dispositivo Google Home ou Google Nest.

Para saber mais sobre o ambiente de execução usado pelo dispositivo, consulte Dispositivos compatíveis.

Dicas de depuração

Outros pontos a serem considerados durante a depuração:

  • Não vincule vários dispositivos Google Home ou Google Nest à sua conta de teste na mesma rede local. Não será possível controlar qual dispositivo Google Home ou Google Nest será segmentado com os comandos de fulfillment locais.
  • Atualize a página no Chrome DevTools para recarregar o contêiner do app de fulfillment local com o código mais recente do URL de desenvolvimento. Isso não redefine a plataforma Google Home local, que pode ser necessária para acionar novamente as intents da plataforma (como IDENTIFY) no app de fulfillment local. Para redefinir a plataforma Google Home local, reinicie o dispositivo Google Home ou Google Nest.
  • Verifique se o aplicativo JavaScript é carregado sem erros. Para fazer isso, verifique a seção do console da página do DevTools. Se houver um problema, você verá uma mensagem como esta: Uncaught TypeError: Cannot read property ‘open’ of null.
  • O verificationId da resposta IDENTIFY precisa corresponder a um dos otherDeviceIds da resposta SYNC.
  • Para o gerenciador EXECUTE, verifique se os comandos HTTP, TCP ou UDP podem ser recebidos pelo dispositivo e funcionam conforme o esperado.
  • Retorne um Promise dos gerenciadores.
  • Evite manter o estado global na memória. Consulte Ciclo de vida do aplicativo.
  • Os erros gerados pelo app de fulfillment local aparecerão nos registros de erros do projeto.

Preparar e lançar para produção

Quando estiver tudo pronto para iniciar sua ação de casa inteligente, siga estas etapas:

  1. Abra um terminal. No diretório do projeto, execute o comando npm run build. Este comando gera os seguintes pacotes JavaScript para seu aplicativo no diretório dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. No console, faça upload do seu aplicativo JavaScript clicando em Desenvolver > Ações. Na seção Configurar o SDK local do Google Home, clique em Fazer upload de arquivos JavaScript.
    Figura 3: upload do app JavaScript.
  3. Na caixa de diálogo Fazer upload de arquivos, faça upload dos arquivos de pacote gerados anteriormente. Faça upload das duas versões dos arquivos do pacote (Node, Web) para que a ação seja configurada para funcionar corretamente em todos os ambientes de execução compatíveis com o fulfillment local.
    1. Faça o upload da sua segmentação JavaScript em Node.js: faça upload do arquivo bundle.js do diretório dist/node.
    2. Faça upload do Chrome de destino em JavaScript (navegador): faça upload do arquivo bundle.js do diretório dist/web.
  4. Teste sua ação em um dispositivo com Google Assistente para verificar se ela tem o comportamento esperado em um ambiente de produção. Para saber mais, consulte Testar e compartilhar sua ação de casa inteligente.
  5. Quando estiver satisfeito com o funcionamento da sua ação, envie-a ao Google para implantação da produção seguindo as instruções em Iniciar sua ação de casa inteligente. Isso inclui a conclusão das etapas de autoteste e solicitação de certificação.