Fehlerbehebung

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 erstellen Sie im Issue Tracker ein Ticket 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 Standardfehler (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.

  1. Rufen Sie in Xcode in der Menüleiste oben Debug auf und klicken Sie auf Attach to Process by PID or Name (An Prozess mit PID oder Name anhängen).

    Fehlerbehebung bei Beispiel-Apps

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

    Beispiel für die Erweiterung „App – Feed verknüpfen“

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

    Wartestatus der Beispiel-App

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

    Beispiel-App mit Matter-Erweiterung

  5. 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 ein gemeinsames, von Google koordiniertes Konto 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, Nutzlasten für Anfragen und Antworten sowie Metadaten für die Intents SYNC, EXECUTE, QUERY und Account Linking.

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:

  1. Senden Sie eine E-Mail mit der Seriennummer und dem Modell Ihrer Geräte an Ihren Technical Account Manager (TAM) von Google. Sie finden diese Informationen in kleiner Schrift unter dem Gerät.
  2. Nachdem Sie auf die Zulassungsliste gesetzt wurden, müssen Sie die Funktion so aktivieren:
    • Über den Hub:
      1. Wischen Sie vom oberen Displayrand nach unten.
      2. Tippen Sie auf das Symbol für die Einstellungen
      3. Suchen Sie die Fuchsia-Version: Rufen Sie auf einem Nest Hub (2. Generation) Geräteinformationen > Technische Informationen > Fuchsia-Version auf.
      4. Tippen Sie sieben Mal auf „Fuchsia-Version“. Dadurch werden die Entwickleroptionen aktiviert.
      5. Kehren Sie zum Menü der obersten Ebene zurück.
      6. Tippen Sie auf „Entwickleroptionen“.
      7. Tippen Sie auf „Partnerprotokollierung“.
    • Die Funktion wird für 24 Stunden aktiviert. Danach müssen Sie die Protokollierungsfunktion ab Schritt 5 wieder aktivieren.
  3. Rufen Sie die IP-Adresse Ihres Hubs ab:
    • Über den Hub, wenn er einen Bildschirm hat:
      1. Wischen Sie vom oberen Displayrand nach unten.
      2. Tippen Sie auf das Symbol für die Einstellungen
      3. Suchen Sie die IP-Adresse des Geräts: Rufen Sie auf einem Nest Hub (2. Generation) Geräteinformationen > Technische Informationen > IP-Adresse auf.
    • Über die Google Home App (GHA) auf Ihrem Smartphone:
    • Tippen Sie auf das Gerät, um die Gerätedetailseite aufzurufen.
    • Tippen Sie auf das Symbol für die Einstellungen , um die Seite mit den Einstellungen aufzurufen.
    • Suchen Sie die IP-Adresse des Geräts: Rufen Sie Geräteinformationen > Technische Informationen > IP-Adresse auf.
  4. 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).

Automatisierungen

Flankenerkennung

Automatisierungen im Google Home-Ökosystem bieten die 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 Lichts 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:

  1. Prüfen Sie jedes Gerät, um sicherzustellen, dass es unabhängig von Ihrer Automatisierung ordnungsgemäß funktioniert.

  2. Sehen Sie sich das Automatisierungsdiagramm für Ihre Automatisierung an und vergleichen Sie es mit Ihrer Automatisierungs-DSL, um eventuelle falsche Annahmen Ihrerseits aufzudecken.

  3. Beobachten Sie den Gerätestatus in der Google Home App während der Ausführung Ihrer Automatisierung.

  4. 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 finden Sie unter Auswirkungen des Löschens von Geräten auf Automatisierungen.

Automatisierung wird ausgeführt, obwohl sie es nicht 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, 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 ihn 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.