As intents de casa inteligente são objetos de mensagens simples que descrevem qual ação de smart home realizar, como acender uma luz ou transmitir áudio para um alto-falante.
Todas as intents smart home estão contidas no namespace
action.devices
e você precisa fornecer o fulfillment para elas. Sempre que
Google Assistant envia uma intent para o fulfillment, o token de acesso
OAuth 2 de terceiros de um usuário é transmitido no cabeçalho de autorização.
Estas são as intents smart home com suporte:
SINCRONIZAR
A intent action.devices.SYNC
é usada para solicitar a lista de
dispositivos smart home que o usuário conectou e estão
disponíveis para uso.
Quando um usuário configura os dispositivos dele com o Google Home app (GHA), ele também é autenticado na sua infraestrutura em nuvem. Em seguida,
Assistant recebe um token OAuth2. Nesse momento,
Assistant envia uma intent action.devices.SYNC
ao
fulfillment para recuperar a lista inicial de dispositivos e recursos do usuário da
infraestrutura em nuvem.
![Nesta figura, mostramos a interação entre as infraestruturas do Google e do parceiro. Na infraestrutura do Google, há uma lista de parceiros disponível para o app cliente do Assistente, que passa para a infraestrutura do parceiro para concluir a autenticação OAuth. A autenticação OAuth do lado do parceiro é o WebView de configuração do parceiro, o WebView OAuth, os termos e configurações opcionais e os serviços de nuvem do parceiro. Em seguida, a infraestrutura do parceiro
retorna as credenciais de OAuth para o app cliente do Assistente. Os serviços
em nuvem do parceiro enviam os dispositivos e recursos disponíveis para os serviços do Assistente,
que armazena as informações no Home Graph.](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome001.png?authuser=1&hl=pt)
Para evitar desvincular e vincular novamente a conta de um usuário, envie uma sincronização de solicitação
para Assistant. Isso envia a intent action.devices.SYNC
ao fulfillment para sincronizar a lista de dispositivos e recursos. Consulte
Implementar a sincronização de solicitações para mais
informações.
![Diagrama de fluxo de uma intent SYNC](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome002.png?authuser=1&hl=pt)
Durante a configuração do fulfillment local, a
plataforma Local Home verifica a resposta SYNC
do
fulfillment na nuvem da ação smart home. Para saber mais sobre como
modificar a resposta SYNC
para oferecer suporte ao fulfillment local, consulte
Atualizar resposta SYNC no fulfillment da nuvem.
CONSULTA
A intent action.devices.QUERY
é usada para consultar o estado atual
dos dispositivos smart home.
Quando os usuários consultam o status do dispositivo, para responder a uma pergunta como
Ok Google, quais luzes estão acesas na cozinha?,
Assistant envia uma intent action.devices.QUERY
para o
fulfillment.
![Diagrama de fluxo de uma intent QUERY](https://developers.home.google.com/static/cloud-to-cloud/primer/images/query-diagram.png?authuser=1&hl=pt)
Para ter a melhor experiência do usuário, implemente o Estado do relatório para informar proativamente o estado atual dos dispositivos de um usuário diretamente para Google Home Graph. Por exemplo, isso permite que Assistant saiba se o usuário ligou uma iluminação inteligente com um interruptor físico.
![Como informar o estado do dispositivo usando o estado do relatório](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome004.png?authuser=1&hl=pt)
EXECUTE
A intent action.devices.EXECUTE
é usada para fornecer comandos
a serem executados em dispositivos smart home.
Quando os usuários enviam comandos para dispositivos com Assistant, o
fulfillment recebe uma intent action.devices.EXECUTE
, que
descreve a ação e os dispositivos em que atua. Um usuário pode executar uma ação
em um dispositivo com um comando como Ok Google, ligue as luzes da sala de estar.
![Diagrama de fluxo de uma intent "EXECUTE"](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome003.png?authuser=1&hl=pt)
DESCONECTAR
A intent action.devices.DISCONNECT
é acionada para informar você
quando um usuário desvinculou a conta do app do Assistant.
Depois de receber uma intent action.devices.DISCONNECT
, não informe
o estado dos dispositivos desse usuário.