Virtuelle Matter-Geräte sind nützlich zum Entwickeln und Testen von Matter-Lösungen und können mit dem Google Home app (GHA) in Betrieb genommen und über GHA und Google Assistant gesteuert werden, genau wie physische Matter-Geräte.
Für App-Entwickler und andere, die ein virtuelles Matter-Gerät testen oder emulieren müssen, aber nicht die Ressourcen zum Erstellen eines eigenen physischen oder virtuellen Matter-Geräts haben, bietet Google das Matter Virtual Device (MVD) an. MVD ist ein einfaches, eigenständiges Linux-Desktoptool, das verschiedene Arten von virtuellen Matter-Geräten simuliert und eine grafische Benutzeroberfläche zur Steuerung und Anzeige des Status des virtuellen Matter-Geräts bietet.
Im Gegensatz zu einem physischen Matter-Gerät stützt sich MVD bei der Verbindung mit einem Matter-Fabric nicht auf Bluetooth® Low Energy (BLE) oder Thread®. Stattdessen wird die vorhandene WLAN-Netzwerkverbindung des Host-Linux-Rechners für die Inbetriebnahme verwendet.
Im Vergleich zu anderen Tools
MVD unterscheidet sich von Virtual Device Controller (VDC) darin, dass es eine eigenständige Lösung ist, die ein virtuelles Gerät mit einer UI für seine Steuerung kombiniert. Im Gegensatz dazu wird VDC verwendet, um ein separates virtuelles Matter-Gerät zu steuern, z. B. das Gerät, das wir in Matter Virtual Device Development Environment (MVD-DE) erstellen.
Vielleicht haben Sie schon mit dem Codelab zu MVD-DE gearbeitet. In diesem Codelab bauen Sie eine einzelne Art von virtuellem Gerät – eine intelligente Glühbirne. Im Gegensatz dazu enthält MVD mehrere verschiedene vordefinierte virtuelle Geräte und eine integrierte UI, um sie auszuführen und zu steuern.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Matter-Gerät emulieren | |||
Emulierte Matter-Geräte steuern | |||
Erforderlicher Entwicklungsaufwand | |||
Herunterladen | weniger als 100 MB | 9 GB | 20 GB |
Unterstützte Geräte
Derzeit unterstützt das MVD die folgenden Matter-Gerätetypen:
Matter Gerätetyp | Anwendungscluster | Art des Heim-Ökosystems |
---|---|---|
Farbtemperaturlicht |
0 × 0300 0 × 0008 0 × 0006 |
Leicht |
Dimmbares Licht |
0x0008 0x0006 |
Leicht |
Erweitertes Farblicht |
0 × 0300 0 × 0008 0 × 0006 |
Leicht |
Anwesenheitssensor |
0x0406 |
Sensor |
An-/Aus-Licht |
0x0008 0x0006 |
Leicht |
Ein/Aus, Plug-in-Gerät |
0x0008 0x0006 |
Steckdose |
MVD installieren
MVD wird auf Maschinen mit 64-Bit-x86-Prozessor unter Debian (11 oder höher) oder Ubuntu (20.04 oder höher) ausgeführt.
So installieren Sie sie:
Laden Sie das MVD-Debian-Paket (.deb) herunter
Laden Sie die ASCII-Signaturdatei (Ascored-ASCII) herunter
Führen Sie dann dpkg
aus, um das Debian-Paket (.deb) von MVD zu installieren:
sudo dpkg -i mvd_1.1.0_amd64.deb
Portnutzung prüfen
Das Controllermodul in MVD verwendet den TCP-Port 33000 für RPC-Aufrufe an das virtuelle Gerät. Wenn dieser Port also bereits von einem anderen Prozess auf dem Computer verwendet wird, müssen Sie ihn freigeben.
So stellen Sie fest, ob ein Prozess Port 33000 verwendet:
sudo fuser -v 33000/tcp
Sie können jeden Prozess über den TCP-Port 33000 mit einem einzigen Befehl beenden:
sudo fuser -k 33000/tcp
MVD ausführen
Führen Sie MVD aus Ihrem Anwendungsordner oder über das Terminal aus:
mvd
Gerät konfigurieren
Der Hauptbildschirm wird beim Start angezeigt und ermöglicht Ihnen, ein virtuelles Gerät zu konfigurieren:
- Gerätetyp: Wählen Sie den Gerätetyp aus, z. B. Licht, Schalter oder Sensor.
- Gerätename: Geben Sie dem Gerät einen nutzerfreundlichen Namen.
- Discriminator: Eine 12-Bit-Zahl, mit der zwischen mehreren qualifizierten Gerätewerbung unterschieden wird. (Standardwert:
3840
). - Matter-Port: Ein Port für die Matter-Inbetriebnahme und die Kommunikation über IP-Netzwerke. Matter verwendet standardmäßig den TCP/UDP-Port 5540. Du kannst das virtuelle Gerät aber auch so konfigurieren, dass ein anderer Port verwendet wird, solange er von keinem anderen Dienst verwendet wird.
- Anbieter-ID: Derzeit wird nur die Testanbieter-ID
0xFFF1
unterstützt. - Produkt-ID: Derzeit werden nur die Testprodukt-IDs
0x8000
bis0x801F
unterstützt.
Firewall konfigurieren
Wenn auf Ihrem Computer eine Firewall ausgeführt wird, fahren Sie sie herunter oder lassen Sie eingehende TCP/UDP-Verbindungen über den Port Matter zu.
Führen Sie folgenden Befehl aus, um die aktuellen aktiven netfilter-Firewallregeln anzusehen:
sudo iptables -L -n
Hinweis: Wenn Sie ufw
verwenden, kann es so deaktiviert werden:
sudo ufw disable
Es lässt sich dann wieder aktivieren mit:
sudo ufw enable
Gerät ausführen
Klicken Sie nach der Konfiguration des Geräts auf Gerät erstellen. Wenn das Gerät erstellt wurde, wird der Bildschirm Controller angezeigt. Je nach ausgewähltem Gerätetyp werden eines oder mehrere der folgenden Steuerelemente angezeigt:
- An/Aus: Wird auf den meisten Geräten verwendet.
- Stufe: Eine Lampe kann beispielsweise einen Schieberegler für die Helligkeit haben, um die Helligkeit anzupassen.
- Farbe: Dieses Steuerelement könnte z. B. einem Farblicht zugewiesen werden.
- Belegung: Der Anwesenheitssensor bietet diese Option, um den Status „Bewohnt“ zu simulieren.
Alle virtuellen Geräte haben die folgenden Steuerelemente:
- QRCode: Zeigt den für die Inbetriebnahme verwendeten QR-Code an.
- Neu starten: Das virtuelle Gerät wird neu gestartet. Das Gerät wird kurz vom Netzwerk getrennt.
- Zurücksetzen: Setzt das aktuelle Gerät auf die Werkseinstellungen zurück und löscht alle Status, einschließlich der Inbetriebnahme, des aktuellen Steuerungsstatus usw.
- Löschen: Das Gerät wird gelöscht und der Bildschirm Gerät erstellen wird wieder angezeigt.
Gerät in Betrieb nehmen
Das Gerät kann direkt nach seiner Erstellung in Betrieb genommen werden.
Für die Inbetriebnahme des Geräts müssen einige Voraussetzungen erfüllt sein:
Sie müssen ein Projekt in Google Home Developer Console haben. Dieses Projekt muss eine Matter-Integration mit derselben VID/PID-Kombination enthalten, mit der du dein virtuelles Gerät eingerichtet hast. Weitere Informationen finden Sie im Leitfaden zur Projekterstellung.
Sie benötigen einen Google Nest Hub, der Matter unterstützt
Sie benötigen ein Android-Smartphone mit Android 8.1 oder höher und GHA.
Das Android-Smartphone muss mit demselben WLAN wie der Hub verbunden sein.
Der Hostcomputer muss mit dem WLAN verbunden sein.
Wenn Sie das Gerät mit GHA in Betrieb nehmen möchten, klicken Sie auf QRCode, um den QR-Code des Geräts aufzurufen. Folgen Sie dann der Anleitung unter Matter-Gerät koppeln. Dort wird erläutert, wie Sie ein Matter-Gerät mithilfe von GHA einrichten. Sie können das Gerät auch mit dem Google Home Sample App for Matter in Betrieb nehmen.
In der Matter-Primer erfahren Sie, wie die Matter-Inbetriebnahme funktioniert.
Gerät steuern
Nachdem Sie ein virtuelles Gerät in Betrieb genommen haben, können Sie es mit der Google Home App oder mit Google Assistant per Sprachbefehl steuern. Sie haben dann folgende Möglichkeiten:
- Das Gerät über GHA oder Assistant steuern, während Statusänderungen auf dem virtuellen Gerät überwacht werden, oder
- Sie können das Gerät mit Sample App for Matter steuern und Statusänderungen auf dem virtuellen Gerät beobachten.
- Sie können den Gerätestatus über MVD selbst steuern, während Statusänderungen in GHA oder Assistant überwacht werden.
Mit dem Gerät testen
Zum Testen mit Assistant empfehlen wir die Verwendung eines Äußerungssimulators wie der Google Home-Erweiterung für VS Code oder des Google Home-Plug-ins für Android Studio.
Gerätedetails ansehen
Auf dem Bildschirm Gerätedetails werden detaillierte Geräteinformationen angezeigt:
- Name:Der angezeigte Name des Geräts.
- Gerätetyp: Der ausgewählte Gerätetyp.
- Discriminator: Der aktuelle Gerätediskriminator.
- Anbieter-ID: Die aktuelle Anbieter-ID des Geräts.
- Product ID: Die aktuelle Produkt-ID des Geräts.
- RPC-Port: Der RPC-Port, über den das Gerät mit Controllern (GUI) kommuniziert.
- Matter-Port: Der Port, über den das aktuelle Gerät über das IP-Netzwerk kommuniziert.
- Sicherheitscode: Die PIN, mit der das Gerät über das Netzwerk in Betrieb genommen wird.
- Konfigurationsordner: Der Ordner, in dem das virtuelle Gerät die Konfiguration speichert.
- Provisionsinformationen: Zeigt die mit dem Gerät verbundenen Fabric(s) und die Knoten-ID des Geräts in der Fabric an
Geräteprotokolle ansehen
Wenn Sie MVD über das Terminal gestartet haben, wird die Logausgabe auf stdout
angezeigt.
Sie finden die Geräteprotokolle auch auf dem Tab Geräteprotokolle.
Beenden Sie das Gerät.
Um das Gerät zu beenden und zu löschen, klicken Sie auf Löschen.
App beenden
Durch das Schließen des Kontrollfensters wird das Gerät zerstört und die Anwendung MVD beendet. Wenn Sie die Anwendung über das Terminal gestartet haben, können Sie sie auch beenden, indem Sie im Terminal Strg + C drücken.
Hilfe aufrufen
Wenn Sie Hilfe zu MVD benötigen, einen Fehler melden oder eine neue Funktion anfordern möchten, wenden Sie sich an Ihren Ansprechpartner beim Google-Support.
Wenn Sie auf die Hilfe-Schaltfläche
rechts oben im Fenster klicken, werden Sie auf diese Seite weitergeleitet.Fehler melden
Wenn Sie der Meinung sind, dass Sie einen Defekt in MVD gefunden haben, können Sie einen Fehler melden, indem Sie rechts oben im Fenster auf die Schaltfläche „Problem “ klicken.
Feedback geben
Wenn Sie uns mitteilen möchten, was Ihnen an MVD gefällt oder wie wir Ihre Erfahrung mit dem Tool verbessern können, füllen Sie bitte unser Feedbackformular aus.
Das Formular kann über die Feedback-Schaltfläche
in der oberen rechten Ecke des Fensters oder durch Klicken auf die Schaltfläche unten gestartet werden.