Perguntas frequentes sobre casas inteligentes

Geral

P:Onde e em qual idioma devemos implementar nossa infraestrutura de atendimento de nuvem para nuvem?

R:Desde que ele seja compatível com SSL (TLS) e OAuth 2.0 modernos, você pode implementar sua infraestrutura em qualquer plataforma e linguagem que escolher. Recomendamos que você faça a implantação o mais próximo possível do restante da sua infraestrutura para melhorar a confiabilidade e reduzir a latência de execução nos dispositivos dos usuários.


P:Os IDs de dispositivo precisam ser exclusivos?

R:Os IDs precisam ser exclusivos. Se você não tiver IDs exclusivos em todo o serviço, eles precisarão ser exclusivos pelo menos no nível do usuário. Imagine um usuário com várias casas, em que ambas têm integrações com o mesmo usuário. Pedir para acender uma luz em uma casa não deve 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 exclusivos, mas, com o tempo, podemos incentivar as pessoas a melhorar nomes ruins após a configuração para uma experiência do usuário melhor.

Confira um guia rápido de nomenclatura:

  • Os nomes precisam ser algo que as pessoas possam dizer.
  • Reconhecemos subconjuntos de strings. Por isso, se você tiver "acme color light", também vamos responder 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 aos cômodos para as luzes, porque já temos cômodos para isso. Elas precisam ter nomes exclusivos por cômodo, mas sempre podem usar plurais para comandar tudo. Por exemplo, as duas lâmpadas nos arandelos do escritório são "luz norte" e "luz leste", mas podem ser comandadas apenas como "luzes".

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

R:O estado efêmero é 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 o brilho de uma 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 contas e OAuth

R:Sim, a vinculação de contas é necessária para conectar os dispositivos de um usuário aos serviços de nuvem do provedor.


P:No OAuth, expiramos os tokens de acesso a cada 15, 213 horas.Isso está certo?

R:Sim, mas teste com um tempo de expiração relativamente curto, digamos, de 10 a 20 minutos. Nosso cliente OAuth precisa atualizar os tokens conforme necessário, e o teste com um tempo de expiração curto vai provar que isso está funcionando.


Intents

P:Quando a sincronização acontece?

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


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

R:Há vários motivos comuns para isso acontecer.

  • 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, que não é compatível.
  • Você está enviando campos inválidos/não aceitos.

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

    • Confira seus colchetes!
  • Você está enfrentando um problema de vinculação de conta.

    • 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 SYNC em até 5 segundos.

P:Uma resposta "pendente" é aceitável?

R:preferimos uma resposta de sucesso/falha, em vez de pendente, se os dispositivos estiverem disponíveis em tempo real. Entre em contato se você achar que precisa de uma resposta "pendente". Reconhecemos que alguns dispositivos de baixa potência e não em tempo real podem exigir uma resposta pendente e um modelo de execução assíncrono.


Teste e envio

P:Podemos configurar um ambiente de desenvolvimento na nuvem?

R:Sim, é possível testar um ambiente e uma configuração de nuvem que não foram lançados.


P:minha ação não aparece na seção "Controle da casa" do app Google Home. O que está acontecendo?

R:confirme se você é um desenvolvedor deste projeto.


Estado do relatório

P:Há pré-requisitos para implementar o Report State?

R:O projeto precisa usar a API Smart Home, oferecer suporte ao OAuth2 e ter características com estados a serem informados.


P:Com que frequência precisamos informar o estado de 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 de tempo (por exemplo, um usuário abre e fecha a geladeira três vezes em um minuto ou desliza um dimmer), só precisamos do estado final informado.


P:O estado completo do dispositivo precisa ser enviado ao fazer chamadas de Report State?

R:Atualizações parciais de estado não são compatíveis. Portanto, as chamadas Report State sempre precisam incluir todos os dados de uma característica específica que foi atualizada. Se duas características criarem uma inconsistência, elas deverão ser informadas juntas.


P:O Google pode consultar meu dispositivo para saber o estado dele (ou seja, fazer uma pesquisa)?

R:Esse é um mecanismo de substituição que não recomendamos. Se precisarmos voltar a sondar um dispositivo com frequência para esses usuários, não podemos garantir qual será a carga adicional. A necessidade vem das novas plataformas visuais. Além do problema de carga desconhecida, a experiência do usuário será prejudicada. Acreditamos que Report State é essencial para a plataforma.


P:Quais características são compatíveis com o Report State no momento?

R:Todos os traços públicos que têm estados associados são compatíveis. Qualquer mudança no estado on-line do dispositivo também precisa ser informada.

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


P:O Report State exige que um carimbo de data/hora seja enviado?

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


P:preciso enviar o estado separadamente se já estiver enviando o estado em "Query" e/ou "Execute"?

R:o Home Graph armazena apenas o estado enviado via Report State. O estado retornado como resposta aos intents EXECUTE e QUERY é usado apenas para respostas de voz 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 QUERY.


P: Quais são as consequências de não implementar completamente o Report State dentro do prazo determinado?

R:Isso vai resultar em uma experiência do usuário ruim, por exemplo, nas superfícies Google Home app (GHA) e visuais. Isso significa que muitas intents QUERY serão enviadas para pesquisar o estado, e não podemos garantir que isso corresponda a uma carga adicional na nuvem do parceiro.


P:Como posso testar nossa implementação do Report State?

R:use o Home Graph Viewer, uma ferramenta de teste de autoatendimento que mostra os estados atuais dos dispositivos armazenados no Home Graph.


P:Podemos usar um requestId aleatório para Report State?

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


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

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


Práticas recomendadas

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

R:O ideal é menos de 200 ms, mas entre 2 e 5 segundos está bom. Se a latência estiver em torno de 5 segundos, entre em contato com nossa equipe.


P:como faço para que meu alto-falante ativado por voz responda corretamente quando estiver off-line?

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