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 local do Google Home melhora a integração da sua casa inteligente com o Google Assistente, adicionando um caminho de fulfillment local para rotear intents de casa inteligente.

O SDK permite 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 Wi-Fi em uma rede local (LAN) para atender aos comandos do usuário por protocolos existentes.

A integração do SDK oferece melhorias de desempenho para sua 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 Testar a amostra

Entenda como funciona

Depois de receber uma resposta SYNC do fulfillment da nuvem, a plataforma local do Google Home verifica a rede 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 uma ponte, a plataforma enviará uma intent REACHABLE_DEVICES e tratará o hub como o dispositivo proxy para comunicação local.

Quando ela 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 roteia os comandos do usuário para o 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 em vez do 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 em um smartphone com o
            Google Assistente. Em seguida, a intent do usuário é processada pelo
            Google Cloud, executada no dispositivo Google Home
            e o comando é emitido diretamente para o hub ou
            diretamente no 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 Google Home não é determinista na escolha do dispositivo Google Home ou Google Nest para acionar o comando. As intents EXECUTE e QUERY podem vir por qualquer dispositivo Google Home ou Google Nest definido na mesma estrutura de gráfico doméstico que o 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 o dispositivo inteligente pela rede local. Nenhuma modificação do seu hardware deve integrar o fulfillment local. O app atende às solicitações de ação de casa inteligente enviando comandos de controle ao dispositivo inteligente por 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 substituto.

Para oferecer suporte à criação do app, o SDK local do Google 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 de 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, você pode criar e testar o app carregando-o no seu próprio servidor de hospedagem ou máquina de desenvolvimento local. Na produção, o Google hospeda o 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

Seu app de fulfillment local é carregado sob demanda quando a plataforma local do Google Home descobre novos dispositivos locais que correspondem à configuração da verificação do projeto ou tem intents pendentes para entrega 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 seu app começar a consumir muita memória ou se o sistema precisar liberar espaço para outro app. A plataforma da página inicial local reinicia o app somente quando há novas intents para entregar e recursos de memória suficientes para que ele seja executado.

A plataforma local 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 à agentUserId do usuário.

Dispositivos com suporte

A plataforma Local Home executa o app de fulfillment local em dispositivos com suporte do Google Home ou Google Nest. A tabela a seguir descreve os dispositivos compatíveis e o ambiente de execução usado em cada um deles. 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 Home Local é compatível com os seguintes ambientes de execução:

Estrutura do código-fonte

Recomendamos agrupar suas dependências em um único arquivo JavaScript usando as configurações do bundler fornecidas pelo SDK local do Google Home e empacotar 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 na integração da sua casa inteligente, é necessário executar estas tarefas:

1 Definir a configuração da verificação Configure o Console do Actions com os parâmetros necessários para que o Assistente descubra dispositivos controláveis localmente.
2 Atualize a resposta do SYNC no fulfillment da nuvem No fulfillment da nuvem, modifique o gerenciador de solicitação SYNC para que ele 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 Implementar o app de fulfillment local Use o SDK local do Google Home para criar um app JavaScript que gerencia as intents IDENTIFY, EXECUTE e QUERY. Para dispositivos proxy de hub ou bridge, você também precisa 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