Beispiel-App
Wenn bei der Verwendung der Home APIs Probleme auftreten, können Sie Logs zur weiteren Fehlerbehebung erfassen. Zum Erfassen von Logs vom Mobilgerät ist Xcode erforderlich. Wenn Sie Unterstützung von Google benötigen, erfassen Sie die Logs vom iOS-Gerät und vom Hub und öffnen Sie ein Ticket im Issue Tracker mit den entsprechenden Informationen und Logs.
iOS-Logs erfassen
Ihr Mobilgerät muss für alle Schritte mit Xcode mit Ihrem lokalen Computer verbunden sein.
App- und SDK-Logs werden direkt in der Xcode-Konsole angezeigt und können dort erfasst werden. Wenn Ihr Mobilgerät mit Ihrem lokalen Computer verbunden ist und Sie die Anwendung über Xcode ausführen, erfasst und streamt die Konsole automatisch Logs der Standardausgabe (stdout) und der Standardfehlerausgabe (stderr) sowohl von der Anwendungsebene als auch vom integrierten Home SDK. So können Sie Initialisierungsprozesse, API-Interaktionen und SDK-Ereignisse in Echtzeit während der Entwicklung und Fehlerbehebung auf einfache Weise überwachen.
Erweiterungslogs aus Xcode erfassen
Wenn bei der Verwendung der Home APIs Probleme auftreten, können Sie Logs zur weiteren Fehlerbehebung erfassen.
Gehen Sie in Xcode in der oberen Menüleiste zu Debug und klicken Sie auf Attach to Process by PID or Name (An Prozess mit PID oder Name anhängen).

Wählen Sie unter PID or Process Name (PID oder Prozessname) die Option MatterExtension aus und klicken Sie auf Attach (Anhängen).

Wenn Sie rechts oben klicken, wird Waiting to attach to MatterAddDeviceExtension on iPhone (Warten auf das Anhängen an MatterAddDeviceExtension auf dem iPhone) angezeigt.

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

Das Erweiterungslog wird in der Konsole protokolliert.
Sherlog: Stackübergreifendes Ereignis-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 das Tracing ist die Verwendung eines gemeinsamen, von Google koordinierten Kontos erforderlich (z.B. ein GReg-registriertes Konto oder ein Demokonto).
Hauptzweck: Funktionale Fehler und Probleme bei der Cloud-to-Cloud-Integration (C2C) beheben (z.B. Fehler bei der Kontoverknüpfung oder falsche Gerätestatus), ohne Änderungen am Produktionscode vornehmen zu müssen.
Funktionen: Bietet vollständige RPC-Aufrufdiagramme, Anforderungs-/Antwortnutzlasten und Metadaten für die Intents SYNC, EXECUTE, QUERY und Kontoverknüpfung.
Fuchsia-Hub-Gerätelogs
Mit dieser Methode können Sie Logs von den folgenden Fuchsia-Hubs erfassen: * Google Nest Hub (2. Generation) * Google Nest Hub Max
So aktivieren Sie einen Hub für den lokalen Logabruf:
- Senden Sie eine E‑Mail mit der Seriennummer und dem Modell Ihrer Geräte an Ihren Technical Account Manager (TAM) bei Google. Sie finden diese Informationen in kleiner Schrift unter dem Gerät.
- Nachdem Sie auf die Zulassungsliste gesetzt wurden, müssen Sie die Funktion so aktivieren:
- Über den Hub:
- Wischen Sie vom oberen Displayrand nach unten.
- Tippen Sie auf das Symbol für die Einstellungen
- Suchen Sie die Fuchsia-Version: Gehen Sie auf einem Nest Hub (2. Generation) zu Geräteinformationen > Technische Informationen > Fuchsia-Version.
- Tippen Sie sieben Mal auf „Fuchsia-Version“. Dadurch werden die Entwickleroptionen aktiviert.
- Kehren Sie zum Menü der obersten Ebene zurück.
- Tippen Sie auf „Entwickleroptionen“.
- Tippen Sie auf „Partnerprotokollierung“.
- Die Funktion wird für 24 Stunden aktiviert. Danach müssen Sie die Protokollierungsfunktion ab Schritt 5 wieder aktivieren.
- Über den Hub:
- Rufen Sie die IP-Adresse Ihres Hubs ab:
- Über den Hub, wenn er einen Bildschirm hat:
- Wischen Sie vom oberen Displayrand nach unten.
- Tippen Sie auf das Symbol für die Einstellungen
- Suchen Sie die IP-Adresse des Geräts: Gehen Sie auf einem Nest Hub (2. Generation) zu Geräteinformationen > Technische Informationen > IP-Adresse.
- Über die Google Home App (GHA) auf Ihrem Smartphone:
- Tippen Sie auf das Gerät, um die Seite mit den Gerätedetails aufzurufen.
- Tippen Sie auf das Symbol für die Einstellungen , um die Einstellungsseite aufzurufen.
- Suchen Sie die IP-Adresse des Geräts: Gehen Sie zu Geräteinformationen > Technische Informationen > IP-Adresse.
- Über den Hub, wenn er einen Bildschirm hat:
- Um Logs vom Hub abzurufen, senden Sie eine GET-HTTP-Anfrage von einem Computer im selben WLAN an den Hub.
- 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. Die aus dem Puffer abgerufenen Daten enthalten jedoch in der Regel Ereignisse der letzten 20 bis 30 Minuten.
- Idealerweise werden Logs mit dieser Methode sofort nach Abschluss eines Testverfahrens extrahiert, damit der Puffer Inhalte enthält, die für den Test relevant sind (ähnlich wie Android-Fehlerberichte).
- Notieren Sie sich den Port und den Pfad des Endpunkts:
Automatisierungen
Flankenerkennung
Automatisierungen im Google Home-Ökosystem bieten eine Flankenerkennung. Diese Logik prüft, ob ein Auslöser nur dann aktiviert wird, wenn sich der Status tatsächlich ändert, und nicht bei einer Statusaktualisierung, bei der lediglich der vorherige Status des Geräts wiederholt wird.
Wenn beispielsweise das Einschalten eines Lichts ein Auslöser ist, prüft die Flankenerkennung, ob der Auslöser nur dann aktiviert wird, wenn sich der Status des Geräts von „Aus“ zu „Ein“ ändert, und nicht von „Ein“ zu „Ein“ (keine Änderung).
Automatisierung verhält sich nicht wie erwartet
Wenn sich eine Automatisierung nach Berücksichtigung der Flankenerkennung nicht wie erwartet verhält, gehen Sie so vor:
Prüfen Sie jedes Gerät, um sicherzustellen, dass es unabhängig von Ihrer Automatisierung ordnungsgemäß funktioniert.
Sehen Sie sich das Automatisierungsdiagramm für Ihre Automatisierung an und vergleichen Sie es mit Ihrer Automatisierungs-DSL, um potenziell falsche Annahmen Ihrerseits aufzudecken.
Beobachten Sie den Gerätestatus in der Google Home App während der Ausführung Ihrer Automatisierung.
Prüfen Sie, ob alle Geräte, auf die in der Automatisierung verwiesen wird, in der Struktur vorhanden sind, in der Sie sie erwarten. Das Löschen eines Geräts, von dem eine Automatisierung abhängt, kann unbeabsichtigte Folgen haben. Weitere Informationen Weitere Informationen.
Automatisierung wird ausgeführt, obwohl sie nicht ausgeführt werden sollte
Wenn Ihre Automatisierung ausgeführt wird, obwohl sie nicht ausgeführt werden sollte, prüfen Sie die Auslöserkriterien. Möglicherweise müssen Sie zusätzliche Logik hinzufügen, um sicherzustellen, dass eine Statusänderung nur einmal erfasst wird und die Automatisierung nur einmal ausgelöst wird.
Automatisierung kann nicht kompiliert werden
Achten Sie darauf, dass Ihre App alle erforderlichen Importe enthält, einschließlich jeder Klasse, die den verschiedenen Knotentypen entspricht, sowie der Merkmale, auf die Sie verweisen.
Automatisierungserstellung schlägt bei der Validierung fehl
Wenn die Automatisierungserstellung die Validierung nicht besteht, enthält eine Warnung oder Fehlermeldung Informationen zum Problem. Weitere Informationen finden Sie in der
ValidationIssueType Referenz.
OAuth
Wenn Sie einen vorhandenen OAuth-Client haben
Wenn Sie bereits einen bestätigten OAuth-Client für eine veröffentlichte App haben, können Sie diesen verwenden, um die Home APIs zu testen.
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 eine Beschränkung von 100 Nutzern. Informationen zum Hinzufügen von Testnutzern finden Sie unter OAuth-Client ID generieren. Unabhängig von der OAuth-Überprüfung gilt für die Home APIs eine Beschränkung von 100 Nutzern, die Ihrer Anwendung Berechtigungen erteilen können. Diese Beschränkung wird aufgehoben, sobald die Developer Console Registrierung abgeschlossen ist.
Developer Console Registrierung sollte zur Genehmigung gesendet werden, wenn Sie bereit sind, die Berechtigungen für Gerätetypen über OAuth einzuschränken, um Ihre App mit den Home APIs zu aktualisieren.
Bei Google Cloud Apps, bei denen die OAuth-Überprüfung noch aussteht, können Nutzer den OAuth-Ablauf erst abschließen, wenn die Überprüfung abgeschlossen ist. Versuche, Berechtigungen zu erteilen, schlagen mit dem folgenden Fehler fehl:
Access blocked: <Project Name> has not completed the Google verification process.