Testar e depurar o app

Recomendamos que você crie seu app de fulfillment local seguindo as etapas descritas anteriormente e, em seguida, teste sua integração de casa inteligente no seu próprio ambiente de hospedagem seguindo estas etapas:

  1. No seu próprio ambiente de hospedagem, disponibilize a página HTML que executa o app de fulfillment local. O snippet a seguir mostra um exemplo de arquivo HTML estático que executa o app de fulfillment 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. Teste o controle do dispositivo.

  3. Depurar no Chrome. Use pontos de interrupção e registros para resolver problemas de integração.

  4. Modifique e compile o código TypeScript e repita as etapas.

Ao repetir esse processo de criação e teste, você pode ver as mudanças em ação rapidamente para ajudar a depurar problemas com o código.

Testar o controle do dispositivo

No Google Home Developer Console, é necessário especificar o URL do seu 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. Na página Configuração da sua integração de nuvem para nuvem no Google Home Developer Console, role até Atendimento local e ative a configuração.
  2. Em URLs de teste > URL de teste para o Chrome, especifique o URL do servidor de desenvolvimento que exibe o HTML que executa o app de fulfillment local.
  3. Clique em Salvar. Pode levar até 30 minutos para o Google propagar as mudanças no console.
  4. Reinicie o dispositivo Google Home ou Google Nest de teste.
  5. Dê um comando ao dispositivo inteligente. Por exemplo, se o dispositivo implementar o atributo OnOff, você poderá dizer "Ok Google, acenda as luzes".

Node.js

  1. Na página Configuração do Google Home Developer Console, role até Atendimento local e ative a configuração.
  2. Em URLs de teste > URL de teste para Node, especifique o URL do servidor de desenvolvimento que disponibiliza o JavaScript que executa o app de fulfillment local.
  3. Clique em Salvar. Pode levar até 30 minutos para o Google propagar as mudanças no console.
  4. Reinicie o dispositivo Google Home ou Google Nest de teste.
  5. Dê um comando ao dispositivo inteligente. Por exemplo, se o dispositivo implementar o atributo OnOff, você poderá dizer "Ok Google, acenda as luzes".

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

Depurar no Chrome

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

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 navegador Chrome, inicie o inspetor do Chrome digitando: chrome://inspect#devices. Você verá uma lista de dispositivos na página, e seu arquivo HTML vai estar listado sob o nome do dispositivo de teste Google Home ou Google Nest.
  3. Clique no link azul de inspeção abaixo do HTML para abrir o Chrome DevTools. Alterne para a guia Console. A plataforma Local Home gera a versão do app e do SDK do Local Home no registro do console. Se você vir o registro, isso significa que o Google carregou o app e pode se conectar a ele. Se não estiver, 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 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. Insira DEVICE_IP_ADDRESS:9222 na lista e clique em Concluído.
  7. Clique no link azul de inspeção abaixo do script para abrir o Chrome DevTools. Mude para a guia Console. A plataforma Local Home gera a versão do app e do SDK do Local Home no registro do console. Se você encontrar o registro, isso significa que o Google carregou o app com sucesso e pode se conectar a ele. Se não estiver, reinicie o dispositivo Google Home ou Google Nest.

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

Dicas de depuração

Alguns pontos adicionais a serem considerados durante a depuração incluem:

  • 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 dispositivo Google Nest será o destino dos comandos de fulfillment local.
  • 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 de casa local, o que pode ser necessário para acionar novamente as intents da plataforma (como IDENTIFY) no app de fulfillment local. Para redefinir a plataforma de casa local, reinicie o dispositivo Google Home ou Google Nest.
  • Verifique se o app JavaScript é carregado sem erros. Para fazer isso, verifique a seção do console na página do DevTools. Se houver um problema, você vai receber 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 vão aparecer nos registros de erros do projeto.

Preparar e lançar para produção

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

  1. Abra um terminal. No diretório do projeto, execute o comando npm run build. Esse comando gera os seguintes pacotes JavaScript para o app no diretório dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Na página Configuração do Google Home Developer Console, role até Atendimento local e ative a configuração.
  3. Usando os botões Fazer upload de JavaScript, faça upload dos arquivos de pacote que você gerou anteriormente.
    Figura 3: faça upload do seu app JavaScript.
    Faça upload das duas versões dos arquivos de pacote (Node, Web) para que sua ação seja configurada para funcionar corretamente em todos os ambientes de execução compatíveis com o fulfillment local.
    1. Fazer upload do JavaScript que segmenta o Node.js: faça upload do arquivo bundle.js do diretório dist/node.
    2. Fazer upload do JavaScript para o Chrome (navegador): faça upload do arquivo bundle.js do diretório dist/web.
  4. Teste a ação em um dispositivo com o Google Assistente para verificar se ela se comporta conforme o esperado em um ambiente de produção. Para saber mais, consulte Testar e compartilhar sua ação de casa inteligente.
  5. Quando estiver tudo certo com o funcionamento da sua Action, envie-a ao Google para implantação de produção seguindo as instruções em Iniciar sua Action de casa inteligente. Isso inclui concluir as etapas de autoteste e solicitação de certificação.