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.
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:
- Chrome: seu app de fulfillment local é executado no contexto de uma
navegador
window
executando Chrome M80 ou mais tarde, com suporte para ECMAScript versão ES2018. - Node.js: o app de fulfillment local é executado como um script em um Node.js processo que executa o Node v10.x LTS ou mais tarde, com suporte para ECMAScript versão ES2018.
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
- Conhecer as noções básicas sobre como criar uma casa inteligente Action.
- Na seção Ações console, faça Você precisa ter um projeto de casa inteligente e se a vinculação da conta está configurada.
- Você deve estar conectado com a mesma Conta do Google na Console do Actions e do Assistente no dispositivo de teste.
- Você vai precisar de um Node.js para criar seu app. Para instalar Node.js e npm, Node Version Gerente é recomendado.
- Para trabalhar com a versão mais recente do SDK local do Google Home, você precisará fazer o seguinte: registre seus dispositivos de teste na visualização do Google Cast do Google.