Um caminho de fulfillment local é estabelecido quando o Google faz a correspondência de um dispositivo controlável localmente
com um dispositivo retornado na resposta SYNC
do fulfillment da nuvem.
Para permitir que o Google descubra seu dispositivo na rede local e estabelecer o
caminho de fulfillment local, você precisa adicionar informações de descoberta no Console do Actions.
Também é necessário atualizar a resposta SYNC
do fulfillment na nuvem para informar
ao Google sobre o dispositivo que pode ser controlado localmente.
Definir as informações de configuração da verificação
Para especificar as informações de descoberta, siga estas etapas:
- Abra seu projeto de casa inteligente no Console do Actions.
- Na navegação à esquerda, clique em Ações.
- Em Configurar o SDK local do Google Home (opcional) > Adicionar configuração de verificação de dispositivos, clique em Nova configuração de verificação.
- Selecione um tipo de protocolo de verificação correspondente no menu suspenso e insira os valores a serem verificados pelo Google.
As tabelas a seguir mostram os atributos que você pode adicionar com base nos protocolos que o Google precisa usar para verificar o dispositivo:
Atributo | Descrição | Valor de exemplo |
---|---|---|
Nome do serviço |
Obrigatório. Nome do serviço publicado pelo dispositivo no formato
service.domain .
|
_http._tcp.local |
Name |
Obrigatório. Filtre uma instância de serviço exclusiva no
formato |
my-device-[0-9]{4}\._http\._tcp\.local |
Atributo | Descrição | Valor de exemplo |
---|---|---|
Tipo de serviço |
Obrigatório. Identificador totalmente qualificado do serviço UPnP no formato
domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
OUI |
Opcional. Identificador exclusivo organizacional. Valor de 24 bits que identifica o fabricante do dispositivo. Normalmente, os três primeiros octetos do endereço MAC do dispositivo. |
1A:2B:3C |
Atributo | Descrição | Valor de exemplo |
---|---|---|
Endereço de transmissão | Obrigatório. Endereço IP de destino da transmissão UDP. | 255.255.255.255 |
Porta de transmissão | Obrigatório. Porta de destino para a transmissão UDP. | 5555 |
Ouvir porta | Obrigatório. Detecte a porta para a resposta da descoberta UDP. | 5556 |
Pacote Discovery | Obrigatório. Payload a ser enviado na transmissão UDP. Formatado como uma string de bytes codificada em hexadecimal. |
48454C4C4F |
Atualizar a resposta do SYNC no fulfillment da nuvem
A intent SYNC
informa ao
Google Assistente quais dispositivos o usuário controla e os recursos que ele tem.
Para oferecer suporte ao fulfillment local, a plataforma local do Google Home verifica a resposta SYNC
do fulfillment da nuvem da sua ação de casa inteligente e tenta corresponder os IDs
do dispositivo no campo otherDeviceIds
ao ID de verificação retornado pelo
gerenciador IDENTIFY
. As entradas de dispositivos sem um campo otherDeviceIds
são
excluídas do fulfillment local.
No campo
otherDeviceIds
da resposta SYNC
, você precisa definir os IDs dos dispositivos de casa inteligente
que podem ser controlados localmente. O campo aparece no nível device
na resposta. O Google pode estabelecer um caminho de fulfillment local em qualquer dispositivo com
o ID fornecido.
Use o campo customData
para especificar outros dados que o Google precisa
para conectar a um dispositivo independente ou para segmentar dispositivos finais por meio de um hub
(por exemplo, o número da porta e outras informações específicas do protocolo).
Exemplo
O snippet a seguir mostra como criar o gerenciador SYNC
.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [{ "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "name": "Night light" }, "willReportState": false, "otherDeviceIds": [{ "deviceId": "local-device-id" }], "customData": { "port": 5555, "authToken": "..." } }] } }