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.

fulfillment local

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

O SDK do Local Home melhora a integração da sua casa inteligente usando o Google Assistente adicionando um caminho de fulfillment local para rotear intents de casa inteligente.

Com o SDK, você pode criar um app de fulfillment local usando TypeScript ou JavaScript que contém a lógica de negócios da sua casa inteligente. Os dispositivos Google Home ou Google Nest podem carregar e executar o app no dispositivo. O app se comunica diretamente com os dispositivos inteligentes existentes por Wi-Fi em uma rede local (LAN) para executar comandos do usuário em protocolos existentes.

A integração do SDK oferece melhorias de desempenho para a ação de casa inteligente, incluindo menor latência e maior confiabilidade. O fulfillment local é compatível com todos os tipos e características de dispositivos, exceto aqueles que usam a verificação secundária do usuário.

Comece a criar Teste a amostra

Entenda como funciona

Depois de receber uma resposta SYNC do fulfillment da nuvem, a plataforma local do Google Home verifica a rede de área local do usuário usando mDNS, transmissão UDP ou UPnP para descobrir dispositivos inteligentes conectados ao Google Assistente.

A plataforma envia uma intent IDENTIFY para determinar se o dispositivo é controlável localmente, comparando o ID do dispositivo na resposta IDENTIFY com os retornados pela resposta SYNC anterior. Se o dispositivo detectado for um hub ou ponte, a plataforma enviará uma intent REACHABLE_DEVICES e tratará o hub como o dispositivo proxy para comunicação local.

Quando recebe uma resposta que confirma um dispositivo local, a plataforma estabelece um caminho de fulfillment local para o dispositivo Google Home ou Google Nest do usuário e, em seguida, encaminha os comandos do usuário para fulfillment local.

Quando um usuário aciona uma ação de casa inteligente que tem um caminho de fulfillment local, o Google Assistente envia a intent EXECUTE ou QUERY para o dispositivo Google Home ou Google Nest, e não para o fulfillment da nuvem. Em seguida, o dispositivo executa o app de fulfillment local para processar a intent.

Esta figura mostra o fluxo de execução para fulfillment local. O
            caminho de execução captura a intent de um usuário de um smartphone com o
            Google Assistente, depois a intent de usuário é processada pelo
            Google Cloud, executada no dispositivo
            Google Home e o comando é emitido diretamente para o hub do dispositivo ou
            diretamente para o dispositivo. A nuvem do desenvolvedor está disponível como substituto da nuvem.
Figura 1: como adicionar um caminho de fulfillment local para sua ação de casa inteligente.

A plataforma do Google Home não é determinística ao escolher qual dispositivo Google Home ou Google Nest acionará o comando. As intents EXECUTE e QUERY podem vir de qualquer dispositivo Google Home ou Google Nest definido na mesma estrutura do gráfico em casa do dispositivo de destino.

App de fulfillment local

O app de fulfillment local contém a lógica de negócios para processar as intents enviadas pela plataforma Local Home e acessar seu dispositivo inteligente pela rede local. Não é esperado que seu hardware seja modificado para integrar o fulfillment local. O app atende às solicitações de ação de casa inteligente enviando comandos de controle para o dispositivo inteligente usando protocolos da camada de aplicativos, incluindo HTTP, TCP ou UDP. Caso o caminho de fulfillment local falhe, o fulfillment da nuvem é usado como um caminho de execução de fallback.

Para oferecer compatibilidade com a criação do app, o SDK do Local Home oferece estas duas classes principais:

  • DeviceManager: fornece métodos para se comunicar com dispositivos inteligentes usando TCP, soquetes UDP ou solicitações HTTP.
  • App: fornece métodos para anexar gerenciadores para intents que o Google envia após descobrir dispositivos controláveis localmente (IDENTIFY, REACHABLE_DEVICES). Essa classe também atende aos comandos do usuário (EXECUTE) e responde a consultas do usuário sobre o estado atual do dispositivo (QUERY).

Durante o desenvolvimento, é possível criar e testar o app carregando-o no servidor de hospedagem ou na máquina de desenvolvimento local. Na produção, o Google hospeda seu app em um ambiente de sandbox JavaScript seguro no dispositivo Google Home ou Google Nest do usuário.

No momento, a API Report State não é compatível com o fulfillment local. O Google depende do fulfillment da nuvem para processar essas solicitações.

Ciclo de vida do aplicativo

O app de fulfillment local é carregado sob demanda quando a plataforma Local Home descobre novos dispositivos locais que correspondem à configuração da verificação de projeto ou tem intents pendentes para serem relacionadas a um dispositivo identificado anteriormente.

Os dispositivos Google Home ou Google Nest têm restrição de memória, e o app de fulfillment local pode ser encerrado a qualquer momento devido à pressão da memória no sistema. Isso pode acontecer se o app começar a consumir muita memória ou se o sistema precisar liberar espaço para outro app. A plataforma local do Google Home reiniciará o app somente quando houver novas intents para entregar e recursos de memória suficientes para que ele seja executado.

A plataforma local do Google Home descarrega o app após um tempo limite de inatividade quando o usuário desvincula a conta ou quando não há mais dispositivos compatíveis com o fulfillment local associado ao agentUserId do usuário.

Dispositivos com suporte

A plataforma Google Home local executa o app de fulfillment local em dispositivos Google Home ou Google Nest compatíveis. A tabela a seguir descreve os dispositivos compatíveis e o ambiente de execução usado em cada dispositivo. Para saber mais sobre os requisitos de execução, consulte Ambiente de execução.

Dispositivo Tipo Ambiente
Google Home Alto-falante Chrome
Google Home Mini Alto-falante Chrome
Google Home Max Alto-falante Chrome
Nest Mini Alto-falante Chrome
Nest Hub Tela Chrome
Nest Hub Max Tela Chrome
Nest Wifi Roteador Node.js
Point Chrome

Ambiente de execução

O ambiente de execução do app de fulfillment local depende do dispositivo. A plataforma local do Google Home é compatível com os seguintes ambientes de execução:

Estrutura do código-fonte

Recomendamos empacotar suas dependências em um único arquivo JavaScript usando as configurações do pacote fornecidas pelo SDK local do Google Home e empacotando seu código-fonte como uma expressão de função invocada imediatamente (IIFE, na sigla em inglês).

Caminho de implementação

Para usar o SDK local do Google Home para sua integração de casa inteligente, é necessário executar estas tarefas:

1 Definir a configuração de verificação Configure o Console do Actions com os parâmetros necessários para que o Assistente descubra dispositivos controláveis localmente.
2 Atualizar a resposta do SYNC no fulfillment da nuvem No fulfillment da nuvem, modifique o gerenciador de solicitações SYNC para que seja compatível com o campo otherDeviceIds que a plataforma usa para estabelecer um caminho de fulfillment local. Nesse campo, especifique os IDs dos dispositivos que podem ser controlados localmente.
3 Implemente o app de fulfillment local Use o SDK local do Google Home para criar um app JavaScript que lida com as intents IDENTIFY, EXECUTE e QUERY. Para dispositivos proxy de hub ou ponte, você também deve processar a intent REACHABLE_DEVICES.
4 Testar e depurar o app Teste sua integração (ou autocertificação) usando o Pacote de testes do Google Home.

Antes de começar