Um caminho de fulfillment local é estabelecido quando o Google faz a correspondência de um dispositivo controlado localmente
com um dispositivo retornado na resposta SYNC
do fulfillment da nuvem.
Para permitir que o Google descubra seu dispositivo na rede local e estabeleça 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 da nuvem para informar
ao Google sobre o dispositivo 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 SDK local do Google Home (opcional) > Adicionar configuração de verificação do dispositivo, clique em Nova configuração de verificação.
- Selecione um tipo de protocolo de correspondência na lista suspensa e insira os valores a serem verificados pelo Google.
As tabelas a seguir mostram os atributos que podem ser adicionados com base nos protocolos que você quer que o Google use para verificar seu 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 |
Nome |
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 |
Porta de escuta | Obrigatório. Porta de escuta para a resposta de 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 compatibilidade com o fulfillment local, a plataforma da casa local verifica a resposta SYNC
do fulfillment da nuvem da ação de casa inteligente e tenta corresponder os IDs do dispositivo
no campo otherDeviceIds
ao ID de verificação retornado pelo
gerenciador IDENTIFY
. Entradas de dispositivo 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 quaisquer dados adicionais que o Google precise para se 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": "..." } }] } }