Die Google Home Sample App for Matter verwendet die Google Home Mobile SDK, um eine Android-App zu erstellen, die Google Home app (GHA) ähnelt. Diese Beispiel-App bietet folgende Funktionen:
- Physische und virtuelle Matter-Geräte für die lokale Android-Fabric in Betrieb nehmen
- Physische und virtuelle Geräte für eine Entwicklungs-Fabric in Betrieb nehmen
- Geräte in Ihrem Entwicklungs-Fabric steuern, z. B. eine Lampe einschalten
- Mit den Funktionen für mehrere Administratoren können Sie Geräte in der Entwicklungsstruktur für andere Apps freigeben und umgekehrt Geräte, die von anderen Apps freigegeben wurden, in die Entwicklungsstruktur aufnehmen.
- Entwicklertools
In dieser Anleitung wird beschrieben, wie Sie das Sample App for Matter-APK installieren und damit Matter-Geräte in Betrieb nehmen, steuern und freigeben.
Im Sample App for Matter-Codelab können Sie den Quellcode herunterladen, erfahren, wie Sie Mobile SDK einbinden und Bildschirme in Android Studio anpassen.
Sample App for Matter-Codelab aufrufen
Vorbereitung
- Ein Gerät mit Android O (8.1, API-Level 27) oder höher, das für Tests verwendet werden kann. Ob auf deinem Gerät die neueste Matter-Unterstützung installiert ist, kannst du im Leitfaden Matter-Module und ‐Dienste prüfen nachlesen.
- Entwerfen Sie ein Matter-Gerät mit Ein-/Aus-Funktion. Diese Beispiel-App funktioniert mit einem virtuellen Gerät und einem ESP32.
- Matter Virtual Device (MVD) Um Umgebungsprobleme zu minimieren, empfehlen wir Ihnen, zuerst MVD zu verwenden. Sollten Probleme auftreten, ist es viel einfacher, sie zu untersuchen, wenn die Beispiel-App gegen MVD verwendet wird.
- Erstelle mit der
rootnode_dimmablelight_bCwGYSDpoe
App ein virtuelles Matter-Gerät. Wenn du in der Google Home Developer Console eine Matter-Integration erstellst, verwende0xFFF1
als Anbieter-ID und0x8000
als Produkt-ID. - Mit der
all-clusters-app
ein Espressif-Gerät erstellen Wenn Sie in Developer Console eine Matter-Integration erstellen, verwenden Sie0xFFF1
als Anbieter-ID und0x8001
als Produkt-ID.
Sie benötigen keinen Hub, z. B. einen Google Nest Hub (2nd gen), um Geräte mit dem Sample App for Matter in Betrieb zu nehmen und zu steuern.
Installieren
Gehen Sie im GitHub-Repository Sample App for Matter zum Abschnitt „Releases“. Suchen Sie im Bereich „Assets“ nach dem APK mit dem Namen
GHSAFM-version-default-debug.apk
. Wählen Sie nichttargetcommissioner
aus.Installieren Sie die Android Debug Bridge (adb):
Schließen Sie Ihr Android-Gerät über USB an und aktivieren Sie Dateiübertragung. Installieren Sie dann das APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Geräte in Betrieb nehmen
Wenn Sie die Beispiel-App zum ersten Mal starten, wird ein Dialogfeld mit einem Link zum Sample App for MatterCodelab angezeigt. Wenn Sie Diese Meldung nicht mehr anzeigen auswählen, können Sie das Dialogfeld jederzeit wieder anzeigen lassen, indem Sie Ihre Einstellungen im Bereich „Verwaltung“ der App aktualisieren.
In den nächsten Schritten fügen Sie der lokalen Android-Fabric ein Matter-Gerät sowie eine Entwicklungs-Fabric hinzu, die nur für die Beispiel-App lokal ist.
Was sind Matter-Plattformen?
Eine Matter-Fabric ist eine gemeinsame vertrauenswürdige Domain für Geräte in einem Heimnetzwerk, die die Kommunikation untereinander ermöglicht.
Geräte können eine oder mehrere Fabrics haben, die einer Plattform, App oder Gruppe von Geräten entsprechen, die miteinander interagieren. Fabrics haben eine eindeutige ID und die Geräte verwenden dieselben Anmeldedaten und Zertifizierungsstelle (CA). Diese Anmeldedaten werden während der Matter-Inbetriebnahme zugewiesen.
So nehmen Sie ein Matter-Gerät in Betrieb:
Tippe auf die Schaltfläche
Gerät hinzufügen, um mit der Inbetriebnahme zu beginnen.Als Nächstes wird die Steuerung an Google Play services übergeben, das über einen Aufruf der Mobile SDK gestartet wird. Wenn Sie einen Besitznachweis erbringen möchten, scannen Sie den QR-Code oder tippen Sie auf Kopplungscode verwenden.
Geben Sie nach Abschluss der Inbetriebnahme einen Gerätenamen ein und tippen Sie auf Fertig.
Ihr Gerät ist jetzt sowohl mit der lokalen Android-Fabric als auch mit der Entwicklungs-Fabric verbunden.
Bei der Inbetriebnahme von Geräten werden alle Inbetriebnahmearbeiten und zugehörigen Bildschirme von Play services ausgeführt. So wird für eine einheitliche Nutzererfahrung gesorgt und es ist nicht mehr erforderlich, sensible Berechtigungen wie WLAN- und Thread-Anmeldedaten zu verwalten.
Geräte steuern
Die Entwicklungsumgebung erstellt die Anmeldedaten zur Steuerung von Matter-Geräten direkt in der Beispielanwendung.
Auf dem Startbildschirm können Sie Ihr Gerät ein- oder ausschalten. Tippen Sie auf das Gerät, um auf die Gerätedetails zuzugreifen.
Geräte gemeinsam verwenden
Die Freigabe eines Geräts wird in der Matter-Spezifikation als Ablauf mit mehreren Administratoren bezeichnet. Sobald ein Gerät für die Beispiel-App in Betrieb genommen wurde, können Sie es ganz einfach für andere Systeme freigeben.
Wenn Sie Ihr Matter-Gerät mit anderen Systemen teilen möchten, muss auf Ihrem Android-Gerät eine andere Plattform installiert sein. Diese externe Plattform wird zum Zielauftragnehmer. Wir haben eine weitere Instanz der Beispiel-App erstellt, die Sie als Zielauftragnehmer verwenden können.
Gehen Sie im GitHub-Repository Sample App for Matter zum Abschnitt „Releases“. Suchen Sie im Bereich „Assets“ nach dem APK mit dem Namen
GHSAFM-version-targetcommissioner-debug.apk
. Wählen Sie nichtdefault
aus.Installieren Sie den Zielbeauftragten.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
Tippen Sie auf dem Startbildschirm auf das Gerät, um die Geräteinformationen aufzurufen. Tippen Sie auf Teilen.
Die Beispiel-App ruft die Mobile SDK Share API auf und die Steuerung wird wieder an Play services übergeben.
Daraufhin wird ein Freigabebereich angezeigt, in dem Sie die App oder Plattform auswählen können, mit der Sie das Gerät koppeln möchten. Auf diesem Bildschirm haben Sie zwei Möglichkeiten, das Gerät zu teilen:
- Manuell über einen Einrichtungscode, der mit der Ziel-App des Auftraggebers geteilt wird
- Mit einer lokalen Android-App, die als Matter-Beauftragter registriert ist
Die Ziel-App des Mobilfunkanbieters ist mit GHSAFM-TC gekennzeichnet. Tippen Sie auf diese Instanz der Beispiel-App, um Ihr Gerät zu teilen.
Als Nächstes führt die externe App (Ziel-Beauftragter) die Inbetriebnahme des Geräts in ihrer eigenen Fabric durch.
Einstellungen
Klicken Sie auf dem Startbildschirm auf das Symbol für die Einstellungen
. Hier können Sie die Nutzereinstellungen aktualisieren, Hilfe erhalten und mehr über die App erfahren.Benachrichtigung im halben Format
Auf dem Bildschirm „Einstellungen“ können Sie proaktive Benachrichtigungen zur Gerätesuche deaktivieren, für die eine Provision möglich ist, für Matter Geräte.
Wenn Ihre Anwendung einen eigenen Matter-Ablauf für die Geräteerkennung oder -beauftragung bietet, können Sie diese Benachrichtigungen unterdrücken, um Unterbrechungen zu vermeiden. Weitere Informationen finden Sie unter Mitteilungen zu Entdeckungen mit Provisionspotenzial unterdrücken.
Dienstprogramme für Entwickler
Auf dem Bildschirm „Einstellungen“ können Sie auch auf die Dienstprogramme für Entwickler zugreifen.
So rufen Sie den Inhalt der DataStore-Repositories für Geräte- und Nutzereinstellungen in Logcat auf:
Klicken Sie auf Inhalte von Repositories protokollieren.
Klicken Sie im Dialogfeld auf OK und setzen Sie ein Häkchen bei Logcat.
Feedback und Hilfe
Wenn du uns deine Meinung oder Feedback dazu geben möchtest, wie wir die Entwicklung mit Sample App for Matter verbessern können, fülle bitte unser Feedback-Formular aus.
Wenn Sie Probleme mit der Sample App for Matter haben, führen Sie die folgenden Schritte aus, um Ihre Umgebung zu prüfen:
Wenn Sie Fragen zur Verwendung der Beispiel-App haben oder einen Codefehler finden, können Sie Probleme im Issue Tracker im GitHub-Repository melden:
Offizielle Informationen von Google zu technischen Fragen finden Sie im Smart Home-Entwicklerforum:
Wenn Sie technischen Support von der Community benötigen, verwenden Sie das Tag google-smart-home
auf Stack Overflow: