Resolver erros de integração

Google Cloud fornece as ferramentas para monitorar a confiabilidade dos projetos com Google Cloud Monitoring e depurar problemas com Google Cloud Logging registros de erros. Sempre que ocorre uma falha ao atender às intenções do usuário, O pipeline do Google Home Analytics registra essa falha nas métricas. publica um registro de erros nos registros do projeto.

Há duas etapas para solucionar os erros:

  1. Monitore o estado dos seus projetos com métricas de casa inteligente.
  2. Investigue os problemas verificando as descrições detalhadas de erros na registros de erros.

O processo é semelhante para a integração local usando o Local Home SDK: Depois de dominar o fluxo de solução de problemas, alternar facilmente entre métricas e registros para receber insights sobre seus erros.

Como monitorar erros

Você pode usar Google Cloud Monitoring dashboards. para acessar as métricas do projeto. Há alguns gráficos principais que são especialmente úteis para monitorar a qualidade e a depuração:

  • O gráfico Taxa de sucesso é o primeiro a começar quando você monitorar a confiabilidade dos seus projetos. Quedas nesse gráfico podem indicar uma interrupção do serviço para parte ou toda a base de usuários. Recomendamos monitorando atentamente este gráfico em busca de irregularidades após cada alteração ou atualizar para o seu projeto.
  • O gráfico de latência no 95o percentil é um indicador importante da a ação de casa inteligente está sendo realizada para os usuários. Flutuações repentinas neste gráfico podem indicar que os sistemas não conseguem acompanhar com as solicitações. Verifique periodicamente este gráfico para ver qualquer comportamento inesperado.
  • Os gráficos Detalhamento de erros são mais úteis quando se trata de resolver problemas nas integrações. Para cada erro destacado no gráfico de porcentagem de sucesso, um código de erro será exibido no detalhamento dos erros. Você pode conferir os erros sinalizados pelo Google Home platform e como resolver na tabela abaixo.

Códigos de erro da plataforma

Aqui estão alguns códigos de erro comuns que podem ser encontrados nos registros do projeto para identifique os problemas detectados pelo Google Home platform. Consulte o tabela a seguir para informações sobre solução de problemas.

Código do erro Descrição
BACKEND_FAILURE_URL_ERROR O Google recebeu um código de erro HTTP 4xx diferente do 401 de sua serviço.

Use o requestId no Logging do GCP para verificar seus dados registros de serviços domésticos.
BACKEND_FAILURE_URL_TIMEOUT A solicitação do Google expirou ao tentar acessar o serviço.

Verifique se o serviço está on-line, aceita conexões e não está acima da capacidade. Além disso, verifique se o destino o dispositivo está ligado, on-line e sincronizado.
BACKEND_FAILURE_URL_UNREACHABLE O Google recebeu um código de erro HTTP 5xx do seu serviço.

Use o requestId no Logging do GCP para verificar seus dados registros de serviços domésticos.
DEVICE_NOT_FOUND O dispositivo não existe no serviço do parceiro.

Isso normalmente indica uma falha na sincronização de dados ou uma disputa condição.
GAL_BAD_3P_RESPONSE O Google não pode analisar a resposta do serviço de vinculação da sua conta devido a formatos ou valores inválidos no payload.

Use o requestId no Logging do GCP para verificar os registros de erros no serviço de vinculação de contas.
GAL_INTERNAL Ocorreu um erro interno quando o Google tentou recuperar um token de acesso.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_INVALID_ARGUMENT Ocorreu um erro interno quando o Google tentou recuperar um token de acesso.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_NOT_FOUND Os tokens de acesso do usuário e tokens de atualização armazenados no Google são invalidada e não pode mais ser atualizada. O usuário precisa vincule novamente a conta dele para continuar usando o serviço.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_PERMISSION_DENIED Ocorreu um erro interno do Google quando o compartilhamento de token não foi autorizado.

Se você notar uma taxa maior desse erro no Logging do GCP, entre em contato com para saber mais.
GAL_REFRESH_IN_PROGRESS O token de acesso do usuário expirou e há outra tentativa simultânea de e atualize-o, já está em andamento.

Isso não é um problema, e nenhuma ação é necessária.
INVALID_AUTH_TOKEN O Google recebeu um código de erro HTTP 401 do seu serviço.

O token de acesso não expirou, mas seu serviço o invalidou. Use o requestId no Logging do GCP para verificar os dados registros de serviços domésticos.
INVALID_JSON Não é possível analisar ou entender a resposta JSON.

Verifique a estrutura da resposta JSON em busca de sintaxe inválida, como como colchetes incompatíveis, falta de vírgulas, caracteres inválidos.
OPEN_AUTH_FAILURE O token de acesso do usuário tiver expirado e o Google não conseguir atualizá-lo. ou o Google recebeu um código de erro HTTP 401 do seu serviço.

Se você observar uma taxa maior desse código, verifique se também aparece uma Aumento da taxa de erros relacionados a intents de casa inteligente ou atualização solicitações de token.
PARTNER_RESPONSE_INVALID_ERROR_CODE A resposta indica um código de erro não reconhecido.

Se a resposta da solicitação indicar um erro, use uma fornecidos pelo nosso códigos de erro compatíveis.
PARTNER_RESPONSE_INVALID_PAYLOAD Não é possível analisar o campo payload de resposta como um JSON Objeto.

Verifique se o campo de payload em sua resposta de solicitação tem colchetes e está corretamente estruturado como um campo JSON.
PARTNER_RESPONSE_INVALID_STATUS A resposta não indica um status ou indica um status incorreto.

As respostas às solicitações de fulfillment da intent precisam indicar um status com SUCCESS, OFFLINE, ERROR, EXCEPTIONS. Você pode encontrar mais informações em tratamento de erros e exceções.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES Uma ou mais intents presentes na solicitação estão ausentes no resposta.

Verifique se o resposta de execução está estruturada corretamente e que os resultados para todas as intents da solicitação estão presentes na resposta.
PARTNER_RESPONSE_MISSING_DEVICE Um ou mais dispositivos presentes na solicitação estão ausentes na resposta.

Verifique se o resposta de execução está estruturada corretamente e se todos os dispositivos Os IDs da solicitação estão presentes na resposta.
PARTNER_RESPONSE_MISSING_PAYLOAD A resposta não contém um campo payload.

Inclua um campo de payload na resposta da solicitação. Você pode aprender mais sobre como criar corretamente uma resposta de execução.
PARTNER_RESPONSE_NOT_OBJECT A resposta não pode ser analisada como um objeto JSON.

Verificar todos os campos da resposta da solicitação em busca de caracteres não intencionais. a falta de correspondência entre colchetes ou erros de formatação. Alguns caracteres Unicode pode não ser compatível. Verifique também se a sua resposta está correta estruturados como um objeto JSON.
PROTOCOL_ERROR Falha ao processar a solicitação.

Use o requestId no Google Cloud Logging para verificar registros de serviços de casa inteligente.
RESPONSE_TIMEOUT A solicitação expirou enquanto aguardava a resposta.

O tempo limite para enviar uma resposta é de nove segundos a partir do dia a solicitação é enviada. Envie uma resposta dentro desse período período.
RESPONSE_UNAVAILABLE Nenhuma resposta é recebida ou a resposta não indica o status.

As respostas às solicitações de fulfillment de intent precisam ser estruturadas de acordo com as documentos de casa inteligente e indicar o status.
TRANSIENT_ERROR Um erro temporário é um erro que será resolvido sozinho.

Normalmente, esses erros se manifestam como uma conexão com um dispositivo ou que um serviço está sendo descartado. Além disso, se não for possível criar novas conexões com um servidor abriu.

Logs de pesquisa

Quando você se sentir confortável em monitorar suas integrações usando métricas, é resolver erros específicos usando Cloud Logging Há um registro de erro uma entrada no estilo JSON com campos que contêm informações úteis, como hora, erro códigos e detalhes relacionados à intent de origem de casa inteligente.

Há vários sistemas em Google Cloud que enviam registros para seu projeto em todos os momentos. Você precisa escrever consultas para filtrar seus registros e encontre os que você precisa. As consultas podem ter como base um período, Recurso, registre Gravidade ou entradas personalizadas.

Consultar registros do Cloud

Você pode usar os botões de consulta para criar filtros personalizados.

Criar consultas do Cloud Log

Para especificar um intervalo de tempo, clique no botão de seleção. e escolha uma das opções . Isso vai filtrar os registros e mostrar aqueles originados na período selecionado.

Para especificar um Recurso, clique no menu suspenso Recurso. e escolha Google Assistant Action Project. Isso adiciona um filtro sua consulta para mostrar registros que se originam do seu projeto.

Use o botão Gravidade para filtrar por Emergência, Informações, Depuração, e outros níveis de registro de gravidade.

Também é possível usar o campo "Consulta" no Logs Explorer para inserir entradas personalizadas. O mecanismo de consulta usado por esse campo oferece suporte consultas básicas, como correspondência de strings, e tipos mais avançados de consultas, incluindo comparadores (<, >=, !=) e operadores booleanos (AND, OR, NOT).

Por exemplo, a entrada personalizada abaixo retornaria erros que originar de um tipo de dispositivo LIGHT:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

Acesse a Biblioteca de consultas para encontrar mais exemplos de como consultar registros de maneira eficaz.

Testar correções

Depois de identificar os erros e aplicar as atualizações para corrigi-los, recomendamos testar suas correções completamente com Google Home Test Suite Fornecemos um guia do usuário sobre como usar Test Suite, que mostra como testar sua as mudanças de forma eficaz.

Recursos de aprendizagem

Este documento apresenta as etapas para resolver erros na sua casa inteligente Ação. Também é possível conferir nossos codelabs para saber mais sobre depuração: