Perguntas frequentes sobre casas inteligentes

Geral

P: Onde e em que idioma devemos implementar nossa infraestrutura de atendimento de pedidos do Actions on Google?

R: Se ela for compatível com SSL (TLS) moderno e OAuth 2.0, você poderá implementar sua infraestrutura em qualquer plataforma e idioma que escolher. Recomendamos que você implante o mais próximo possível do restante da infraestrutura para melhorar a confiabilidade e reduzir a latência de execução nos dispositivos reais dos usuários.


P: Os IDs dos dispositivos precisam ser exclusivos?

R: Os IDs devem ser exclusivos. Se você não tiver IDs exclusivos no serviço, eles precisarão ser exclusivos pelo menos no nível por usuário. Imagine um usuário com várias casas e ambas têm integrações com o mesmo usuário. Pedir para acender uma luz em uma casa não pode acender uma luz com o mesmo ID em outra casa.


P: Os nomes dos dispositivos precisam ser exclusivos?

R: Os nomes não precisam ser únicos, mas podemos incentivar as pessoas a usar nomes inadequados após a configuração para melhorar a experiência do usuário.

Aqui está um guia rápido de nomenclatura:

  • Os nomes devem ser coisas que as pessoas podem realmente dizer.
  • Reconhecemos subconjuntos de strings. Portanto, se você tiver "acme color light", também responderemos a "acme light".
  • Recomendamos um nome descritivo para o produto e um ou mais nomes definidos pelo usuário.
  • Os usuários não precisam dar nomes de ambientes de luzes, porque temos espaços para isso. Eles devem ter nomes exclusivos por cômodo, mas sempre podem usar plurais para comandar tudo. Por exemplo, as duas lâmpadas nas arandelas do escritório são "luzes do norte" e "luz do leste", mas podem ser comandadas apenas como "luzes".

P: Com que frequência o estado do dispositivo é atualizado?

R:o estado temporário é recuperado com QUERY ou EXECUTE, que são ações iniciadas pelo usuário. Se o usuário perguntar "a luz está acesa?" ou quiser aumentar a luz, vamos precisar fazer uma consulta para descobrir o estado atual.


P: É possível atualizar o Home Graph diretamente com o estado atual de um dispositivo?

R:Sim, use a chamada de API Report State.


Vinculação de conta e OAuth

R: Sim, é necessário vincular a conta para conectar os dispositivos de um usuário aos serviços de nuvem do provedor.


P: No OAuth, os tokens de acesso expiram a cada 15.213 horas. Tudo bem?

R: Sim, mas teste com um prazo de validade curto, como 10 a 20 minutos. Nosso cliente OAuth precisa atualizar os tokens conforme necessário, e fazer testes com um período de validade curto vai provar que isso está funcionando.


Intents

P: Quando ocorre a SINCRONIZAÇÃO?

R:A SINCRONIZAÇÃO acontece imediatamente após a conclusão do OAuth e depois que uma chamada Request Sync é feita.


P: Por que o SYNC não está funcionando?

R: Há vários motivos comuns para a falha.

  • Você está enviando os tipos de dispositivo errados.

    • Por exemplo, esperamos action.devices.types.LIGHT, mas você envia action.devices.types.Light.
  • Você está enviando tipos de dispositivos não compatíveis.

    • Por exemplo, você envia action.devices.types.FLASHLIGHT, o que não é compatível.
  • Você está enviando campos inválidos/sem suporte.

    • Por exemplo, você tem um campo de versão ou algum outro campo que não está na nossa especificação.
  • Há algum outro problema de formatação com sua resposta SYNC.

    • Verifique seus colchetes!
  • Você está com um problema de vinculação de contas.

    • Verifique se você está recebendo um token de acesso válido no cabeçalho Auth da solicitação SYNC.
  • Você está demorando muito para responder à solicitação SYNC.

    • Verifique se você está respondendo à solicitação de SYNC em até cinco segundos.

P: Tudo bem com uma resposta "pendente"?

R:Vamos dar preferência a uma resposta de sucesso/reprovação, em vez de pendente, se os dispositivos estiverem disponíveis em tempo real. Entre em contato se precisar de uma resposta "pendente". Sabemos que alguns dispositivos de baixo consumo de energia e que não são em tempo real podem exigir uma resposta pendente e um modelo de execução assíncrona.


Teste e envio

P: Podemos configurar um ambiente de preparação?

R: Sim, crie um projeto separado e execute a configuração dele. Você pode criar quantos projetos precisar mapear para seus processos de desenvolvimento e infraestrutura.


P: Com que frequência preciso atualizar meu rascunho de projeto?

R: Um projeto de rascunho precisa ser atualizado a cada três dias. Após três dias, o agente de teste desaparecerá das configurações "mobile-HomeControl". Se você se deparar com isso, clique no botão TEST DRAFT do projeto no Actions on Google Console.


P: Posso testar em mais de um dispositivo ao mesmo tempo?

R: Actions on Google aceita apenas um AP "try-on-device" por vez. Se você usar primeiro TEST DRAFT em "ap1" e sincronizar dispositivos, e sem desvincular ap1, execute diretamente TEST DRAFT "ap2", "ap1" desaparecerá de mobile-HomeControl-settings. Para corrigir isso, execute TEST DRAFT em "ap1" novamente e desvincule "ap1" nas configurações.

Esse único pacote de ações vai estar disponível para todos os seus dispositivos Google Assistant do usuário. Por exemplo, você pode testar sua nova integração de hardware nos alto-falantes ativados por voz e no Android.


P: O envio do meu projeto do Actions foi rejeitado por causa do nome ou da pronúncia. O que preciso mudar?

R:Verificamos a pronúncia do nome para garantir que ele não seja usado por outra ação no futuro e que corresponda ao nome de exibição (para evitar inconsistências que afetem futuros registros de nome).

Para continuar usando o mesmo nome, entre em contato com o suporte para que a equipe de fala em Assistant adicione o nome de exibição.


P: Minha ação não está visível na seção Automação residencial do app Google Home. O que está acontecendo?

R:O problema pode ser um dos seguintes:

  • Você não clicou no botão TEST DRAFT do projeto em Actions Console.
  • Só é possível ter uma ação por vez no teste no dispositivo.
  • No Actions Console, acesse a guia "Simulator" do projeto do Actions e alterne o botão "Ativo/Inativo" para "Inativo" e depois "Ativo" novamente.
  • Se esta for uma ação compartilhada com você, verifique se todas as instruções de compartilhamento foram seguidas.
  • O teste no dispositivo expira após três dias. Clique no botão TEST DRAFT do projeto em Actions Console.

P: Por que aparece um erro quando digito "talk to <my agent name>" no simulador?

R:As ações de casa inteligente não usam nomes de invocação. Para testar no simulador, é preciso executar a vinculação de conta em um smartphone Android ou iOS com o Google Home app (GHA) instalado. Você também precisa ter dispositivos associados à sua conta antes de executar a vinculação da conta.


P: Por que recebo erros quando tento usar o simulador?

R: Não é possível usar o simulador para testar as ações do smart home implantadas. Se você quiser usar o simulador para um projeto de automação residencial que está em produção, crie um novo projeto para fins de teste.


Estado do relatório

P: Há pré-requisitos para implementar o estado do relatório?

R:O projeto precisa usar a API Smart Home e ser compatível com OAuth2 e ter características que tenham estados a serem informados.


P: Com que frequência precisamos informar o estado em um dispositivo?

R:O Google tem interesse na transição e no estado terminal. No entanto, se houver muitas mudanças de estado em um curto período, por exemplo, um usuário abre e fecha a geladeira três vezes em um minuto ou esquenta a tela, precisamos apenas do estado final.


P: O estado completo do dispositivo precisa ser enviado ao fazer chamadas de estado do relatório?

R:Como não há suporte para atualizações de estado parcial, as chamadas Report State precisam sempre incluir todos os dados de uma característica específica que foi atualizada. Se duas características criarem uma inconsistência, elas devem ser relatadas novamente.


P: O Google pode consultar meu dispositivo para saber o estado (ou seja, pesquisar o dispositivo)?

R: Esse é um mecanismo substituto que não recomendamos. Se precisarmos voltar a pesquisar um dispositivo com frequência para esses usuários, não podemos garantir qual será a carga adicional. Essa necessidade vem das novas plataformas visuais. Além do problema de carregamento desconhecido, a experiência do usuário será prejudicada. Achamos que Report State é fundamental para a plataforma.


P: Quais características permitem o estado do relatório no momento?

R: Todas as características públicas que têm estados associados são compatíveis. Qualquer mudança no estado on-line do dispositivo também precisa ser informada.

Os cenários não têm estados. No entanto, eles podem resultar em uma mudança de estados dos dispositivos. Se algum dispositivo em Google Home Graph tiver um estado de mudança, isso precisará ser informado.


P: O estado do relatório exige o envio de um carimbo de data/hora?

R:Não exigimos um carimbo de data/hora. O último estado enviado vai substituir as chamadas anteriores.


P: Preciso informar o estado separadamente se eu já estiver enviando o estado na consulta e/ou na execução?

R:Home Graph armazena apenas o estado enviado pelo Report State. O estado retornado como resposta às intents EXECUTE e QUERY é usado apenas para respostas de fala ao usuário e não é armazenado. Como resultado, Report State precisa ser chamado mesmo que o novo estado do dispositivo já tenha sido retornado como resposta a uma intent EXECUTE ou CONSULTA.


P: Quais são as consequências de não implementar completamente o estado do relatório dentro do prazo?

R:Isso resulta em uma experiência do usuário prejudicada, por exemplo, na GHA e nas superfícies visuais. Isso significa que muitas intents QUERY serão enviadas para a pesquisa por estado, e não podemos garantir o que isso corresponderá à carga adicional na nuvem do parceiro.


P: Como posso testar a implementação do estado do relatório?

R:Use o Home Graph Viewer, uma ferramenta de teste de autoatendimento que mostra os estados atuais do dispositivo armazenados no Home Graph.


P: Podemos usar um requestId aleatório para o estado do relatório?

R: Recomendamos que os parceiros usem o mesmo requestId que receberam da solicitação EXECUTE se o Report State for acionado pela solicitação EXECUTE. Caso contrário, basta usar um requestId aleatório.


P: Se um usuário tiver vários dispositivos e o estado de um deles mudar, precisamos informar o estado mais recente de todos eles?

R: Não. Você só precisa informar o estado desse dispositivo específico.


Práticas recomendadas

P: Que tipo de latência é aceitável?

R: Menos de 200 ms é o ideal, entre 2 e 5 segundos é aceitável. Se a latência passar por volta de cinco segundos, entre em contato com nossa equipe.


P: Como faço meu alto-falante ativado por voz responder corretamente quando estiver off-line?

R: Retorna o estado off-line dos dispositivos off-line. Retornamos "Indisponível no momento" como TTS para esse erro. Para mais informações, consulte Erros e exceções.