Beispiel-App
Wenn bei der Verwendung der Home APIs Probleme auftreten, kannst du Logs für die weitere Fehlerbehebung erfassen. Zum Erfassen von Protokollen auf dem Mobilgerät ist Xcode erforderlich. Wenn du Unterstützung von Google benötigst, erfasse die Protokolle sowohl vom iOS-Gerät als auch vom Hub und erstelle ein Ticket im Issue Tracker mit den relevanten Informationen und Protokollen.
iOS-Protokolle erfassen
Ihr Mobilgerät muss für alle Schritte, die Xcode betreffen, mit Ihrem lokalen Computer verbunden sein.
App- und SDK-Logs werden direkt in der Xcode-Konsole angezeigt und können dort erfasst werden. Wenn dein Mobilgerät mit deinem lokalen Computer verbunden ist und du die Anwendung über Xcode ausführst, erfasst und streamt die Konsole automatisch Standardausgabe- (stdout) und Standardfehlerlogs (stderr) sowohl von der Anwendungsebene als auch vom integrierten Home SDK. So lassen sich Initialisierungsprozesse, API-Interaktionen und SDK-Ereignisse während der Entwicklung und des Debuggings in Echtzeit überwachen.
Erweiterungsprotokolle aus Xcode erfassen
Wenn bei der Verwendung der Home APIs Probleme auftreten, kannst du Logs für die weitere Fehlerbehebung erfassen.
Gehen Sie in Xcode in der oberen Menüleiste zu Debug und klicken Sie auf Attach to Process by PID or Name.

Wählen Sie unter PID oder Prozessname die Option MatterExtension aus und klicken Sie auf Anhängen.

Wenn du oben rechts klickst, wird Warten auf Verbindung mit MatterAddDeviceExtension auf dem iPhone angezeigt.

Klicken Sie auf den Tab und wählen Sie MatterAddExtension aus.

In der Konsole wird das Erweiterungslog protokolliert.
Sherlog: Stackübergreifendes Event-Tracing
Sherlog ist ein Echtzeit-Tracing-Dienst, der eine End-to-End-Ansicht der Interaktionen zwischen der Google-Infrastruktur und den Cloud-Diensten von Partnern bietet.
Voraussetzung: Für die Nachverfolgung ist ein gemeinsam genutztes, von Google koordiniertes Konto erforderlich (z.B. ein GReg-registriertes Konto oder ein Demokonto).
Hauptzweck: Fehler in der Funktionalität und Probleme bei der Cloud-to-Cloud-Integration (z.B. Fehler bei der Kontoverknüpfung oder falsche Gerätestatus) beheben, ohne dass Änderungen am Produktionscode erforderlich sind.
Funktionen: Bietet vollständige RPC-Aufrufdiagramme, Anfrage-/Antwortnutzlasten und Metadaten für SYNC-, EXECUTE-, QUERY- und Kontoverknüpfungs-Intents.
Fuchsia-Hub-Geräteprotokolle
Mit dieser Methode kannst du Logs von den folgenden Fuchsia-Hubs erfassen: * Google Nest Hub (2. Generation) * Google Nest Hub Max
So aktivieren Sie einen Hub für den Abruf lokaler Logs:
- Sende eine E-Mail mit der Seriennummer und dem Modell deiner Geräte an deinen Google Technical Account Manager (TAM). Sie finden sie in kleiner Schrift unter dem Gerät.
- Sobald Sie auf der Zulassungsliste stehen, müssen Sie die Funktion so aktivieren:
- Über den Hub:
- Wischen Sie vom oberen Displayrand nach unten.
- Tippe auf das Symbol für die Einstellungen .
- Fuchsia-Version finden: Gehe auf einem Nest Hub (2. Generation) zu Geräteinformationen > Technische Informationen > Fuchsia-Version.
- Tippe siebenmal auf „Fuchsia-Version“. Dadurch werden die Entwickleroptionen aktiviert.
- Zurück zum Menü der obersten Ebene
- Tippe auf „Entwickleroptionen“.
- Tippe auf „Partnerprotokollierung“.
- Die Funktion wird für 24 Stunden aktiviert. Aktivieren Sie danach die Logging-Funktion ab Schritt 5 wieder.
- Über den Hub:
- Rufen Sie die IP-Adresse Ihres Hubs ab:
- Über den Hub, wenn er ein Display hat:
- Wischen Sie vom oberen Displayrand nach unten.
- Tippe auf das Symbol für die Einstellungen .
- IP-Adresse des Geräts finden: Rufe auf einem Nest Hub (2. Generation) Geräteinformationen > Technische Informationen > IP-Adresse auf.
- In der Google Home App auf deinem Smartphone:
- Tippe auf das Gerät, um die Seite mit den Gerätedetails aufzurufen.
- Tippe auf das Symbol für die Einstellungen , um die Seite „Einstellungen“ aufzurufen.
- IP-Adresse des Geräts ermitteln: Gehe zu Geräteinformationen > Technische Informationen > IP-Adresse.
- Über den Hub, wenn er ein Display hat:
- Wenn du Protokolle vom Hub abrufen möchtest, musst du von einem Computer im selben WLAN eine GET-HTTP-Anfrage an den Hub senden.
- Notieren Sie sich den Port und den Pfad des Endpunkts:
curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file - Die Verbindung kann nur eine Minute lang offen gehalten werden, aber die aus dem Zwischenspeicher abgerufenen Daten enthalten in der Regel Ereignisse der letzten 20 bis 30 Minuten.
- Idealerweise werden Logs mit dieser Methode unmittelbar nach Abschluss eines Testverfahrens extrahiert, damit der Zwischenspeicher für den Test relevante Inhalte enthält (ähnlich wie bei Android-Fehlerberichten).
- Notieren Sie sich den Port und den Pfad des Endpunkts:
Automatisierungen
Kantenerkennung
Automatisierte Abläufe im Google Home-Ökosystem verfügen über eine Flankenerkennung. Diese Logik sorgt dafür, dass ein Auslöser nur dann aktiviert wird, wenn sich der Zustand tatsächlich ändert, und nicht bei einer Zustandsaktualisierung, die lediglich den vorherigen Zustand des Geräts wiederholt.
Wenn beispielsweise das Einschalten einer Lampe ein Auslöser ist, wird durch die Flankenerkennung geprüft, ob der Auslöser nur aktiviert wird, wenn die Lampe von „Aus“ zu „An“ wechselt, und nicht von „An“ zu „An“ (keine Änderung).
Automatisierung verhält sich nicht wie erwartet
Wenn ein automatisierter Ablauf nach Berücksichtigung der Flankenerkennung nicht wie erwartet funktioniert, gehe so vor:
Prüfe, ob jedes Gerät unabhängig von deinem automatisierten Ablauf ordnungsgemäß funktioniert.
Sieh dir das Automatisierungsdiagramm für deine Automatisierung an und vergleiche es mit deiner Automatisierungs-DSL, um mögliche falsche Annahmen deinerseits zu erkennen.
Beobachte den Gerätestatus in der Google Home App während der Ausführung deiner Automatisierung.
Prüfe, ob alle Geräte, auf die sich die Automatisierung bezieht, im Gebäude vorhanden sind, in dem du sie erwartest. Das Löschen eines Geräts, von dem eine Automatisierung abhängt, kann unbeabsichtigte Folgen haben. Weitere Informationen findest du unter Auswirkungen des Löschens von Geräten auf Automatisierungen.
Automatisierung wird ausgeführt, obwohl sie es nicht sollte
Wenn deine Automatisierung ausgeführt wird, obwohl sie es nicht sollte, überprüfe die Auslöserkriterien. Möglicherweise muss zusätzliche Logik hinzugefügt werden, damit eine Statusänderung nur einmal erfasst wird und die Automatisierung nur einmal auslöst.
Automatisierung wird nicht kompiliert
Achten Sie darauf, dass Ihre App alle erforderlichen Importe enthält, einschließlich der Klassen, die den verschiedenen Knotentypen entsprechen, sowie der Attribute, auf die Sie verweisen.
Die Erstellung der Automatisierung schlägt bei der Validierung fehl
Wenn die Automatisierung die Validierung nicht besteht, wird eine Warn- oder Fehlermeldung mit Informationen zum Problem angezeigt. Weitere Informationen finden Sie in der Referenz zu ValidationIssueType.
OAuth
Wenn Sie einen vorhandenen OAuth-Client haben
Wenn du bereits einen bestätigten OAuth-Client für eine veröffentlichte App hast, kannst du diesen zum Testen der Home APIs verwenden.
Für das Testen und Verwenden der Home-APIs ist keine Google Home Developer Console-Registrierung erforderlich. Sie benötigen jedoch weiterhin eine genehmigte Developer Console-Registrierung, um Ihre App zu veröffentlichen, auch wenn Sie einen bestätigten OAuth-Client aus einer anderen Integration haben.
Dabei gilt Folgendes:
Bei Verwendung eines vorhandenen OAuth-Clients gilt ein Limit von 100 Nutzern. Informationen zum Hinzufügen von Testnutzern finden Sie unterOAuth-Client-ID generieren. Unabhängig von der OAuth-Überprüfung gibt es ein von den Home APIs auferlegtes Limit von 100 Nutzern, die deiner Anwendung Berechtigungen erteilen können. Diese Einschränkung wird nach Abschluss der Developer Console-Registrierung aufgehoben.
DieDeveloper Console-Registrierung sollte zur Genehmigung gesendet werden, wenn du bereit bist, die Berechtigungen für Gerätetypen über OAuth einzuschränken, um deine App mit den Home APIs zu aktualisieren.
Bei Google Cloud-Apps, für die die OAuth-Überprüfung noch aussteht, können Nutzer den OAuth-Vorgang erst abschließen, wenn die Überprüfung abgeschlossen ist. Versuche, Berechtigungen zu gewähren, schlagen mit dem folgenden Fehler fehl:
Access blocked: <Project Name> has not completed the Google verification process.