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:
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>
Depurar a partir do Chrome. Use pontos de interrupção e registros para solucionar problemas de integração.
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
- Abra seu projeto de casa inteligente no Console do Actions.
- Na navegação à esquerda, clique em Ações.
- 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.
- Clique em Salvar. Pode levar até 30 minutos para que o Google propague suas alterações no console.
- Reinicie o dispositivo Google Home ou Google Nest de teste.
- 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
- Abra seu projeto de casa inteligente no Console do Actions.
- Na navegação à esquerda, clique em Ações.
- 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.
- Clique em Salvar. Pode levar até 30 minutos para que o Google propague suas alterações no console.
- Reinicie o dispositivo Google Home ou Google Nest de teste.
- 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
- Na máquina de desenvolvimento local, instale e inicie o navegador Google Chrome.
- 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. - 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.

Node.js
- Na máquina de desenvolvimento local, instale e inicie o navegador Google Chrome.
- Determine o endereço IP local do dispositivo de teste.
- No campo de endereço do seu navegador Chrome, inicie o inspetor do Chrome digitando:
chrome://inspect#devices
. - Selecione Configurar... para abrir as Configurações de descoberta de destino.
- Digite
DEVICE_IP_ADDRESS:9222
na lista e clique em Concluído. - 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 respostaIDENTIFY
precisa corresponder a um dosotherDeviceIds
da respostaSYNC
. - 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:
- 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óriodist
:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- 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. - 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.
- Faça o upload da sua segmentação JavaScript em Node.js: faça upload do arquivo
bundle.js
do diretóriodist/node
. - Faça upload do Chrome de destino em JavaScript (navegador): faça upload do arquivo
bundle.js
do diretóriodist/web
.
- Faça o upload da sua segmentação JavaScript em Node.js: faça upload do arquivo
- 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.
- 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.