Fulfillment local

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

Com o SDK, é possível 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 seu app no dispositivo. Seu app se comunica diretamente com os dispositivos dispositivos por Wi-Fi em uma rede local (LAN) para atender a comandos do usuário, do que os protocolos atuais.

A integração do SDK melhora o desempenho da sua casa inteligente Ação, 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 usuário secundário de verificação.

Comece a criar Testar o exemplo

Entenda como funciona

Depois de receber uma resposta SYNC do fulfillment na nuvem, a plataforma Local Home verifica local 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 está controláveis localmente, comparando o ID do dispositivo na resposta IDENTIFY em relação aos retornados pela resposta SYNC anterior. Se o dispositivo detectado for um hub ou ponte, a plataforma envia uma intent REACHABLE_DEVICES e trata como o dispositivo proxy para comunicação local.

Quando recebe uma resposta confirmando 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 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 o EXECUTE ou a intent QUERY como no dispositivo Google Home ou Google Nest, em vez do fulfillment na nuvem. Em seguida, o dispositivo executa o app de fulfillment local para processar a intent.

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

A plataforma Local Home não determina qual dispositivo Google Home ou Google Nest vai receber. acionar o comando. As intents EXECUTE e QUERY podem vir por qualquer Dispositivo Google Home ou Google Nest definido no mesmo Home Graph como 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 pelo a plataforma local e acessar seu dispositivo inteligente pela rede local. Nenhuma modificação do seu hardware é esperada para integrar o fulfillment local. O atende às solicitações de ação de casa inteligente enviando comandos de controle ao dispositivo inteligente por meio de protocolos de camada de aplicativo, incluindo HTTP, TCP ou UDP. Em caso de falha no caminho de fulfillment local, o atendimento na nuvem é usado como um caminho de execução substituto.

Para oferecer suporte à criação do app, o SDK local do Google Home oferece esses dois classes:

  • DeviceManager Oferece métodos de comunicação com dispositivos inteligentes usando Soquetes TCP, UDP ou HTTP.
  • App Fornece métodos para anexar gerenciadores para intents que o Google envia após a descoberta de dispositivos controlados localmente (IDENTIFY, REACHABLE_DEVICES). Essa classe também atende a comandos do usuário (EXECUTE), e responde às consultas do usuário sobre o estado atual do dispositivo (QUERY).

Durante o desenvolvimento, você pode criar e testar o app carregando-o por conta própria. ou máquina de desenvolvimento local. Na produção, o Google hospeda seus em um ambiente de sandbox JavaScript seguro no dispositivo Google Home ou Google Nest do usuário.

A API Report State é atualmente sem suporte para fulfillment local. O Google depende das suas para processar essas solicitações.

Ciclo de vida do aplicativo

Seu app de fulfillment local é carregado sob demanda quando a plataforma Local Home descobre novos dispositivos locais correspondentes à configuração de verificação do projeto ou com status pendente intents para entregar relacionadas a um dispositivo previamente identificado.

Os dispositivos Google Home ou Google Nest têm limitação de memória e seu app de fulfillment local pode ser encerrado a qualquer momento devido à pressão da memória no sistema. Isso pode acontecerão se o aplicativo começar a consumir muita memória ou se o sistema precisar abrir espaço para outro app. A plataforma Local Home só reinicia seu app quando há novas intents para entregar e ter recursos de memória suficientes para que o app seja executado.

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

Dispositivos compatíveis

A plataforma Local Home executa seu app de fulfillment local Dispositivos Google Home ou Google Nest. A tabela a seguir descreve os dispositivos compatíveis e as o tempo de execução usado em cada dispositivo. Para saber mais sobre os requisitos de ambiente 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 Display Chrome
Nest Hub Max Display Chrome
Nest Wifi Roteador Node.js
Ponto Chrome

Ambiente de execução

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

Estrutura do código-fonte

Recomendamos agrupar suas dependências em um único arquivo JavaScript usando o configurações do bundler fornecidos pelo SDK local do Google Home e empacotar seu código-fonte como um Expressão de função invocada imediatamente (IIFE).

Caminho de implementação

Para usar o SDK local do Google Home na sua integração de casa inteligente, você precisa: execute estas tarefas:

1 Configurar a verificação configuração Configure o Console do Actions com os parâmetros necessários para o Google Assistente para descobrir dispositivos controláveis localmente.
2 Atualize o Sincronizar resposta no fulfillment da nuvem No fulfillment da nuvem, modifique SYNC gerenciador de solicitações para oferecer suporte à otherDeviceIds que a plataforma usa para estabelecer uma caminho de fulfillment local. Nesse campo, especifique os IDs dos dispositivos que podem ser controladas localmente.
3 Implemente a app de fulfillment local Use o SDK local do Google Home para criar um app JavaScript e, processar o IDENTIFY, EXECUTE e QUERY. Para dispositivos proxy de hub ou ponte, também processará a intent REACHABLE_DEVICES.
4 Testar e depurar o app Teste sua integração (ou faça a autocertificação) usando o Pacote de testes do Google Home:

Antes de começar