Esta é a Central do desenvolvedor do Google Home, a nova plataforma para aprender a desenvolver ações de casa inteligente. Observação: você continua criando ações no Console do Actions.

Testar e depurar o app

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

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 seguindo as seguintes etapas:

  1. No seu próprio ambiente de hospedagem, exiba a página HTML que executa seu app de fulfillment local. O snippet a seguir mostra um exemplo de um arquivo HTML estático que executa seu 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 a partir do Chrome. Use pontos de interrupção e registros para resolver problemas de integração.

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

Ao repetir esse processo de criação e teste, é possível ver as mudanças em ação de maneira rápida e fácil para detectar e depurar problemas no código.

Testar o controle do dispositivo

No Console do Action, é necessário especificar o URL do app da Web, que disponibiliza o HTML carregado no dispositivo Google Home ou Google Nest durante o fulfillment local.

Para testar o controle do dispositivo 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 o SDK local do Google Home (opcional) > Insira o URL de teste para o Chrome, especifique o URL do servidor de desenvolvimento que exibe o HTML que executa seu app de fulfillment local.
  4. Clique em Salvar. Pode levar até 30 minutos para o Google propagar as alterações no console.
  5. Reinicie o dispositivo Google Home ou Google Nest de teste.
  6. Emita um comando para o dispositivo inteligente. Por exemplo, se o dispositivo implementar 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 Configurar SDK local do Google Home (opcional) > Insira o URL de teste para o nó, especifique o URL do servidor de desenvolvimento que exibe o JavaScript que executa seu aplicativo de fulfillment local.
  4. Clique em Salvar. Pode levar até 30 minutos para o Google propagar as alterações no console.
  5. Reinicie o dispositivo Google Home ou Google Nest de teste.
  6. Emita um comando para o dispositivo inteligente. Por exemplo, se o dispositivo implementar 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 Tools. Antes de fazer a depuração, confira se o ambiente está configurado corretamente:

  • Você definiu 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 de área local que o dispositivo Google Home ou Google Nest que você está testando.
  • Sua rede não bloqueia pacotes entre dispositivos.
  • Você fez login com a mesma Conta do Google no Console do Actions e no dispositivo Google Home ou Google Nest.
  • Você atualizou a resposta SYNC no seu fulfillment da nuvem. Ela retornará pelo menos um valor válido no campo otherDeviceIds.
  • Você inseriu as informações corretas de configuração de verificação no Console do Actions.

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

Chrome

  1. Na sua máquina de desenvolvimento local, instale e inicie o navegador Google Chrome.
  2. No campo de endereço do navegador Chrome, inicie o Inspetor de Chrome digitando chrome://inspect#devices. Você verá uma lista de dispositivos na página, e o arquivo HTML deve aparecer 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. Alterne para a guia Console. A plataforma Local Home gera a versão do seu app e a do SDK local do Google Home no registro do console. Se o registro for exibido, isso significa que o Google carregou o app e consegue se conectar a ele. Caso contrário, reinicie o dispositivo Google Home ou Google Nest.
  4. Figura 1: app fulfillment local em chrome://inspect.

Node.js

  1. Na sua 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 de 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 de inspeção azul abaixo do script para iniciar o Chrome DevTools. Alterne para a guia Console. A plataforma Local Home gera a versão do seu app e a do SDK local do Google Home no registro do console. Se o registro for exibido, isso significa que o Google carregou o app e consegue se conectar a ele. Caso contrário, reinicie o dispositivo Google Home ou Google Nest.

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

Dicas de depuração

Considere o seguinte 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 seu URL de desenvolvimento. Isso não redefine a plataforma Home Home, que pode ser necessária para acionar novamente as intents da plataforma (como IDENTIFY) no app de fulfillment local. Para redefinir a plataforma local, reinicie o dispositivo Google Home ou Google Nest.
  • Verifique se o app JavaScript é carregado sem erros. Para fazer isso, verifique a seção "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 funcionar como esperado.
  • Não se esqueça de retornar 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 erro do projeto.

Preparar e lançar para produção

Quando estiver tudo pronto para iniciar a 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 app no diretório dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. No console, faça upload do app 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 o upload das duas versões dos arquivos de pacote (Node, Web) para que a ação esteja configurada para funcionar corretamente em todos os ambientes de execução compatíveis com o fulfillment local.
    1. Faça o upload do JavaScript de destino do Node.js: faça upload do arquivo bundle.js no diretório dist/node.
    2. Faça o upload da segmentação por JavaScript no Chrome (navegador): faça upload do arquivo bundle.js do diretório dist/web.
  4. Teste a ação em um dispositivo com Google Assistente para verificar se ela se comporta da forma esperada 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.