Google Cloud bietet Ihnen die Tools, mit denen Sie die Zuverlässigkeit Ihrer Projekte mit Google Cloud Monitoring überwachen und Probleme mit Google Cloud Logging-Fehlerlogs beheben können. Wenn bei der Erfüllung von Nutzerabsichten ein Fehler auftritt, wird dieser Fehler in der Google Home Analytics-Pipeline in Ihren Messwerten erfasst und ein Fehlerlog in den Projektlogs veröffentlicht.
Die Fehlerbehebung erfolgt in zwei Schritten:
- Mit Smart-Home-Messwerten können Sie den Status Ihrer Projekte im Blick behalten.
- Untersuchen Sie Probleme, indem Sie sich die detaillierten Fehlerbeschreibungen in den Fehlerlogs ansehen.
Optional können Sie Ihre Aktion testen, indem Sie sie für andere Nutzer freigeben. Achten Sie darauf, Fehler und Ausnahmen angemessen zu behandeln.
Fehler überwachen
Sie können Google Cloud Monitoring dashboards verwenden, um auf Ihre Projektmesswerte zuzugreifen. Es gibt einige wichtige Diagramme, die besonders nützlich sind, um die Qualität zu überwachen und Fehler zu beheben:
- Das Diagramm Erfolgsrate ist das erste Diagramm, das Sie sich ansehen sollten, wenn Sie die Zuverlässigkeit Ihrer Projekte im Blick behalten möchten. Ein Rückgang in diesem Diagramm kann auf einen Ausfall für einen Teil oder alle Nutzer hinweisen. Wir empfehlen, dieses Diagramm nach jeder Änderung oder Aktualisierung Ihres Projekts genau auf Unregelmäßigkeiten zu beobachten.
- Das Diagramm Latenz im 95. Perzentil ist ein wichtiger Indikator dafür, wie die Cloud-to-cloud-Integration für Ihre Nutzer funktioniert. Plötzliche Schwankungen in diesem Diagramm können darauf hindeuten, dass Ihre Systeme die Anfragen möglicherweise nicht bewältigen können. Es empfiehlt sich, dieses Diagramm regelmäßig zu prüfen, um unerwartetes Verhalten zu erkennen.
- Die Diagramme unter Fehleraufschlüsselung sind am nützlichsten, wenn Sie Probleme mit Ihren Integrationen beheben möchten. Für jeden Fehler, der im Diagramm mit dem Prozentsatz für erfolgreiche Anfragen hervorgehoben wird, wird in der Fehleraufschlüsselung ein Fehlercode angezeigt. In der Tabelle unten finden Sie die von Google Home platform gemeldeten Fehler und Informationen zur Fehlerbehebung.
Plattformfehlercodes
Hier sind einige häufige Fehlercodes, die in Ihren Projektlogs angezeigt werden können, um Probleme zu identifizieren, die von Google Home platform erkannt wurden. Informationen zur Fehlerbehebung finden Sie in der folgenden Tabelle.
Fehlercode | Beschreibung |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google hat von Ihrem Dienst einen HTTP-4xx-Fehlercode erhalten, der nicht 401 ist.
Verwende requestId in GCP Logging, um die Logs deines Smart-Home-Dienstes aufzurufen.
|
BACKEND_FAILURE_URL_TIMEOUT |
Bei dem Versuch, Ihren Dienst zu erreichen, ist es zu einer Zeitüberschreitung gekommen.
Prüfen Sie, ob Ihr Dienst online ist, Verbindungen akzeptiert und nicht überlastet ist. Prüfen Sie außerdem, ob das Zielgerät eingeschaltet, online und synchronisiert ist. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google hat von Ihrem Dienst einen HTTP-Fehlercode 5xx erhalten.
Verwende requestId in GCP Logging, um die Logs deines Smart-Home-Dienstes aufzurufen.
|
DEVICE_NOT_FOUND |
Das Gerät ist beim Partnerdienst nicht vorhanden.
Dies weist normalerweise auf einen Fehler bei der Datensynchronisierung oder einen Race Condition hin. |
GAL_BAD_3P_RESPONSE |
Google kann die Antwort Ihres Dienstes zur Kontoverknüpfung aufgrund eines ungültigen Formats oder ungültiger Werte in der Nutzlast nicht parsen.
Verwenden Sie requestId in GCP Logging, um Fehlerlogs in Ihrem Konto-Verknüpfungsdienst zu prüfen.
|
GAL_INTERNAL |
Beim Versuch, ein Zugriffstoken abzurufen, ist ein interner Google-Fehler aufgetreten.
Wenn dieser Fehler in GCP Logging häufiger auftritt, wenden Sie sich an uns. |
GAL_INVALID_ARGUMENT |
Beim Versuch, ein Zugriffstoken abzurufen, ist ein interner Google-Fehler aufgetreten.
Wenn dieser Fehler in GCP Logging häufiger auftritt, wenden Sie sich an uns. |
GAL_NOT_FOUND |
Die in Google gespeicherten Zugriffstokens und Aktualisierungstokens des Nutzers werden ungültig und können nicht mehr aktualisiert werden. Der Nutzer muss sein Konto neu verknüpfen, um Ihren Dienst weiterhin nutzen zu können.
Wenn dieser Fehler in GCP Logging häufiger auftritt, wenden Sie sich an uns. |
GAL_PERMISSION_DENIED |
Ein interner Google-Fehler ist aufgetreten, weil die Weitergabe von Tokens nicht autorisiert ist.
Wenn dieser Fehler in GCP Logging häufiger auftritt, wenden Sie sich an uns. |
GAL_REFRESH_IN_PROGRESS |
Das Zugriffstoken des Nutzers ist abgelaufen und es wird bereits versucht, es zu aktualisieren.
Das ist kein Problem und Sie müssen nichts unternehmen. |
INVALID_AUTH_TOKEN |
Google hat von Ihrem Dienst den HTTP-Fehlercode 401 erhalten.
Das Zugriffstoken ist nicht abgelaufen, wurde aber von Ihrem Dienst ungültig gemacht. Mit requestId in GCP Logging kannst du die Logs deines Smart-Home-Dienstes aufrufen.
|
INVALID_JSON |
Die JSON-Antwort kann nicht geparst oder interpretiert werden.
Prüfen Sie die Struktur Ihrer JSON-Antwort auf ungültige Syntax, z. B. nicht übereinstimmende Klammern, fehlende Kommas oder ungültige Zeichen. |
OPEN_AUTH_FAILURE |
Das Zugriffstoken des Nutzers ist abgelaufen und Google kann es nicht aktualisieren oder Google hat von Ihrem Dienst den HTTP-Fehlercode 401 erhalten.
Wenn dieser Code häufiger auftritt, prüfen Sie, ob auch Fehler im Zusammenhang mit Smart-Home-Intents oder Aktualisierungstokenanfragen häufiger auftreten. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
Die Antwort enthält einen unbekannten Fehlercode.
Wenn in der Antwort auf Ihre Anfrage ein Fehler angegeben ist, verwenden Sie einen der unterstützten Fehlercodes. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Das Feld „Antwort“ payload kann nicht als JSON-Objekt geparst werden.
Prüfen Sie, ob das Feld „payload“ in Ihrer Anfrageantwort übereinstimmende Klammern hat und als JSON-Feld korrekt strukturiert ist. |
PARTNER_RESPONSE_INVALID_STATUS |
Die Antwort enthält keinen Status oder einen falschen Status.
Antworten auf Anfragen zur Intent-Ausführung sollten einen Status mit SUCCESS, OFFLINE, ERROR, EXCEPTIONS angeben. Weitere Informationen finden Sie unter
Fehler und Ausnahmen behandeln.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
In der Antwort fehlt mindestens eine Absicht, die in der Anfrage vorhanden ist.
Prüfe, ob deine Ausführungsantwort korrekt strukturiert ist und die Ergebnisse für alle Intents aus der Anfrage in deiner Antwort enthalten sind. |
PARTNER_RESPONSE_MISSING_DEVICE |
Ein oder mehrere Geräte, die in der Anfrage enthalten sind, fehlen in der Antwort.
Prüfe, ob deine Ausführungsantwort korrekt strukturiert ist und alle Geräte-IDs aus der Anfrage in deiner Antwort enthalten sind. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
Die Antwort enthält kein Feld payload .
Achten Sie darauf, dass Ihre Antwort auf die Anfrage ein Nutzlastfeld enthält. Weitere Informationen zum korrekten Erstellen einer Ausführungsantwort |
PARTNER_RESPONSE_NOT_OBJECT |
Die Antwort kann nicht als JSON-Objekt geparst werden.
Prüfen Sie alle Felder in Ihrer Antwort auf die Anfrage auf unerwünschte Zeichen, nicht übereinstimmende Klammern oder Formatierungsfehler. Einige Unicode-Zeichen werden möglicherweise nicht unterstützt. Achten Sie außerdem darauf, dass Ihre Antwort als JSON-Objekt strukturiert ist. |
PROTOCOL_ERROR |
Fehler beim Verarbeiten der Anfrage.
Verwende requestId in Google Cloud Logging, um die Logs deines Smart-Home-Dienstes zu prüfen.
|
RELINK_REQUIRED |
Die Antwort wies auf einen relinkRequired -Fehler hin, der den Nutzer auffordert, seine Google- und Partnerkonten neu zu verknüpfen.
Weitere Informationen finden Sie unter Unterstützte Fehlercodes. |
RESPONSE_TIMEOUT |
Zeitüberschreitung bei der Anfrage beim Warten auf die Antwort.
Das Zeitlimit für das Senden einer Antwort beträgt 9 Sekunden ab dem Zeitpunkt, an dem die Anfrage gesendet wird. Bitte senden Sie innerhalb dieses Zeitraums eine Antwort. |
RESPONSE_UNAVAILABLE |
Es wird keine Antwort empfangen oder die Antwort enthält keinen Status.
Antworten auf Anfragen zur Intenterfüllung sollten gemäß der Smart-Home-Dokumentation strukturiert sein und den Status angeben. |
TRANSIENT_ERROR |
Ein vorübergehender Fehler ist ein Fehler, der sich von selbst behebt.
Diese Fehler äußern sich in der Regel dadurch, dass die Verbindung zu einem Gerät oder Dienst unterbrochen wird. Auch wenn keine neuen Verbindungen zu einem Server geöffnet werden können. |
Suchprotokolle
Wenn Sie sich mit der Überwachung Ihrer Integrationen mithilfe von Messwerten vertraut gemacht haben, können Sie als Nächstes bestimmte Fehler mit Cloud Logging beheben. Ein Fehlerlog ist ein JSON-ähnlicher Eintrag mit Feldern, die nützliche Informationen wie Zeit, Fehlercode und Details zur ursprünglichen Smart-Home-Intention enthalten.
In Google Cloud gibt es mehrere Systeme, die jederzeit Logs an Ihr Projekt senden. Sie müssen Abfragen schreiben, um Ihre Logs zu filtern und die benötigten Logs zu finden. Abfragen können auf einem Zeitbereich, einer Ressource, dem Schweregrad von Logs oder benutzerdefinierten Einträgen basieren.

Mithilfe der Schaltflächen für Abfragen können Sie benutzerdefinierte Filter erstellen.

Klicken Sie auf die Schaltfläche zur Auswahl des Zeitbereichs
und wählen Sie eine der verfügbaren Optionen aus, um einen Zeitbereich anzugeben. Dadurch werden die Logs gefiltert und nur die Logs angezeigt, die aus dem ausgewählten Zeitraum stammen.Wenn Sie eine Ressource angeben möchten, klicken Sie auf das Drop-down-Menü Ressource und wählen Sie Google Assistant-Aktionsprojekt aus. Dadurch wird Ihrer Abfrage ein Filter hinzugefügt, mit dem Logs angezeigt werden, die aus Ihrem Projekt stammen.
Mit der Schaltfläche Schweregrad können Sie nach Notfall, Info, Debug und anderen Schweregraden filtern.
Sie können auch das Feld „Abfrage“ in Logs Explorer verwenden, um benutzerdefinierte Einträge einzugeben. Die von diesem Feld verwendete Abfrage-Engine unterstützt sowohl einfache Abfragen wie den Stringabgleich als auch komplexere Abfragetypen wie Vergleichsoperatoren (<, >=, !=
) und boolesche Operatoren (AND, OR, NOT
).
Der folgende benutzerdefinierte Eintrag würde beispielsweise Fehler zurückgeben, die von einem LIGHT
-Gerätetyp stammen:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
Weitere Beispiele für effektive Logabfragen finden Sie in der Abfragebibliothek.
Korrekturen testen
Nachdem Sie Fehler identifiziert und Updates zur Behebung angewendet haben, empfehlen wir, die Korrekturen mit Google Home Test Suite gründlich zu testen. Wir haben eine Anleitung zur Verwendung von Test Suite erstellt, in der Sie erfahren, wie Sie Ihre Änderungen effektiv testen können.
Lernmaterialien
In diesem Dokument finden Sie eine Anleitung zur Fehlerbehebung bei Fehlern in Ihrer Smart Home-Aktion. Weitere Informationen zum Debugging finden Sie in unseren Codelabs:
- Codelab zur Fehlerbehebung bei Smart Home: Kurzanleitung zur Fehlerbehebung bei der Smart-Home-Cloud-Integration.
- Codelab zur Fehlerbehebung bei Local Home: Kurzanleitung zur Fehlerbehebung bei der lokalen Smart-Home-Integration.