Virtuelles Gerät

Matter Geräte-SDK

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.

Tabelle: Vergleich der virtuellen Matter-Geräte
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:

Tabelle: Matter für MVD unterstützte 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 bis 0x801F unterstützt.

Konfigurationsbildschirm für virtuelle Geräte

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.

Bildschirm zur Steuerung virtueller Geräte

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.

Feedback geben