Beispiel-App
Wenn bei der Verwendung der Home APIs Probleme auftreten, können Sie Protokolle 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 Protokolle sowohl vom iOS-Gerät als auch vom Hub und erstellen Sie im Issue Tracker ein Ticket mit den entsprechenden Informationen und Protokollen.
iOS-Logs 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 abgerufen werden. Wenn Ihr Mobilgerät mit Ihrem lokalen Computer verbunden ist und Sie die Anwendung über Xcode ausführen, werden automatisch Standardausgabe- (stdout) und Standardfehlerausgabe- (stderr)Logs sowohl von der Anwendungsebene als auch vom integrierten Home SDK erfasst und gestreamt. So können Sie Initialisierungsprozesse in Echtzeit, API-Interaktionen und SDK-Ereignisse während der Entwicklung und des Debuggings ganz einfach im Blick behalten.
Erweiterungslogs aus Xcode erfassen
Wenn bei der Verwendung der Home APIs Probleme auftreten, können Sie Logs für die weitere Fehlerbehebung erfassen.
Klicken Sie in Xcode in der oberen Menüleiste auf Debug und dann 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 Warten auf das Anhängen an MatterAddDeviceExtension auf dem iPhone angezeigt.

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

In der Konsole wird das Erweiterungsprotokoll protokolliert.
Sherlog: Stackübergreifendes Event-Tracing
Sherlog ist ein Echtzeit-Tracing-Dienst, der eine End-to-End-Ansicht der Interaktionen zwischen der Infrastruktur von Google und den Cloud-Diensten von Partnern bietet.
Voraussetzung: Für das Tracing ist die Verwendung eines gemeinsamen, von Google koordinierten Kontos erforderlich, z.B. eines GReg-registrierten Kontos oder eines Demokontos.
Hauptzweck: Funktionale Fehler und Probleme bei der Cloud-zu-Cloud-Integration (C2C) wie Fehler bei der Kontoverknüpfung oder falsche Gerätestatus beheben, ohne dass Änderungen am Produktionscode erforderlich sind.
Funktionen: Bietet vollständige RPC-Aufrufgraphen, Nutzlasten für Anfragen/Antworten und Metadaten für die Intents SYNC, EXECUTE, QUERY und Account Linking.
Fuchsia-Hub-Geräteprotokolle
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 Abruf lokaler Logs:
- Senden Sie eine E‑Mail mit der Seriennummer und dem Modell Ihrer Geräte an Ihren Technical Account Manager (TAM) bei Google. Sie sind in kleiner Schrift unter dem Gerät zu finden.
- Wenn 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.
- Tippen Sie 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 dann die Protokollierungsfunktion ab Schritt 5 wieder.
- Über den Hub:
- IP-Adresse des Hubs abrufen:
- Über den Hub, sofern 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: Gehe auf einem Nest Hub (2. Generation) zu Geräteinformationen > Technische Daten > IP-Adresse.
- Über die Google Home App auf Ihrem Smartphone:
- Tippen Sie auf das Gerät, um die Seite mit den Gerätedetails aufzurufen.
- Tippe auf das Symbol für die Einstellungen , um die Seite mit den Einstellungen aufzurufen.
- IP-Adresse des Geräts finden: Gehe zu Geräteinformationen > Technische Informationen > IP-Adresse.
- Über den Hub, sofern 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 Puffer abgerufenen Daten enthalten in der Regel Ereignisse der letzten 20 bis 30 Minuten.
- Idealerweise werden die Logs mit dieser Methode unmittelbar nach Abschluss eines Testverfahrens extrahiert, damit der Puffer Inhalte enthält, die für den Test relevant sind (ähnlich wie bei Android-Fehlerberichten).
- Notieren Sie sich den Port und den Pfad des Endpunkts:
Automatisierungen
Kantenerkennung
Automatisierte Abläufe im Google Home-Ökosystem umfassen die Kantenerkennung. Dabei wird geprüft, ob ein Auslöser nur dann aktiviert wird, wenn sich der Status tatsächlich ändert, und nicht, wenn der vorherige Status des Geräts wiederholt wird.
Wenn das Einschalten einer Lampe beispielsweise ein Starter ist, wird durch die Edge-Erkennung überprüft, ob der Starter nur aktiviert wird, wenn das entsprechende Gerät von „Aus“ zu „Ein“ wechselt und nicht von „Ein“ zu „Ein“ (keine Änderung).
Automatisierung funktioniert nicht wie erwartet
Wenn sich ein automatisierter Ablauf nach der Berücksichtigung der Kantenerkennung nicht wie erwartet verhält, gehen Sie so vor:
Prüfe jedes Gerät, um sicherzustellen, dass es unabhängig von deiner Automatisierung richtig funktioniert.
Sehen Sie sich das Automatisierungsdiagramm für Ihre Automatisierung an und vergleichen Sie es mit Ihrer Automatisierungs-DSL, um potenzielle falsche Annahmen Ihrerseits aufzudecken.
Beobachten Sie den Gerätestatus in der Google Home App während der Ausführung Ihres automatisierten Ablaufs.
Prüfe, ob alle Geräte, auf die sich die Automatisierung bezieht, in der Struktur vorhanden sind, in der du sie erwartest. Das Löschen eines Geräts, von dem eine Automatisierung abhängt, kann unbeabsichtigte Folgen haben. Weitere Informationen finden Sie unter Auswirkungen des Löschens von Geräten auf Automatisierungen.
Automatisierung wird ausgeführt, wenn sie nicht ausgeführt werden sollte
Wenn Ihre Automatisierung ausgeführt wird, obwohl sie es nicht sollte, prüfen Sie die Auslöserkriterien. Möglicherweise müssen Sie zusätzliche Logik hinzufügen, damit eine Zustandsänderung nur einmal erfasst wird und die Automatisierung nur einmal ausgelöst wird.
Automatisierung wird nicht kompiliert
Achten Sie darauf, dass Ihre App alle erforderlichen Importe enthält, einschließlich jeder Klasse, die den verschiedenen Knotentypen entspricht, sowie der Traits, auf die Sie verweisen.
Automatisierung kann aufgrund von Validierungsfehlern nicht erstellt werden
Wenn die Automatisierungserstellung die Validierung nicht besteht, wird eine Warnung 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 Sie bereits einen bestätigten OAuth-Client für eine veröffentlichte App haben, können Sie ihn zum Testen der Home APIs verwenden.
Die Registrierung von Google Home Developer Console ist nicht erforderlich, um die Home-APIs zu testen und zu verwenden. 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:
Wenn Sie einen vorhandenen OAuth-Client verwenden, gilt eine Beschränkung von 100 Nutzern. Informationen zum Hinzufügen von Testnutzern finden Sie unterOAuth-Client-ID generieren. Unabhängig von der OAuth-Überprüfung gilt für die Home-APIs ein Limit von 100 Nutzern, die Ihrer Anwendung Berechtigungen erteilen können. Diese Einschränkung wird aufgehoben, sobald die Registrierung für Developer Console abgeschlossen ist.
DieDeveloper ConsoleRegistrierung sollte zur Genehmigung gesendet werden, wenn Sie bereit sind, die Gewährung von Gerätetypen über OAuth einzuschränken, um Ihre App mit den Home-APIs zu aktualisieren.
Bei Google Cloud-Apps, bei denen die OAuth-Prüfung noch aussteht, können Nutzer den OAuth-Ablauf erst abschließen, wenn die Prüfung abgeschlossen ist. Versuche, Berechtigungen zu erteilen, schlagen mit folgendem Fehler fehl:
Access blocked: <Project Name> has not completed the Google verification process.