Virtuelles Gerät

Matter Geräte-SDK

Virtuelle Matter-Geräte sind nützlich zum Entwickeln und Testen von Matter-Lösungen. Sie können mit Google Home app (GHA) in Betrieb genommen und wie physische Matter-Geräte über GHA und Google Assistant gesteuert werden.

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 die Matter Virtual Device (MVD) an. MVD ist ein einfaches eigenständiges Linux- oder macOS-Desktoptool, das verschiedene Arten von virtuellen Matter-Geräten simuliert und eine grafische Benutzeroberfläche zum Steuern und Anzeigen des Status des virtuellen Matter-Geräts bietet.

Im Gegensatz zu einem physischen Matter-Gerät verlässt sich MVD nicht auf Bluetooth® Low Energy (BLE) oder Thread®, um eine Verbindung mit einem Matter-Fabric herzustellen. Stattdessen wird für die Inbetriebnahme die vorhandene WLAN-Verbindung des Host-Linux- oder macOS-Computers verwendet.

Im Vergleich zu anderen Tools

MVD unterscheidet sich von Virtual Device Controller (VDC) insofern, als sie eine eigenständige Lösung darstellt, die ein virtuelles Gerät mit einer UI zur Steuerung kombiniert. Im Gegensatz dazu wird mit VDC ein separates virtuelles Matter-Gerät gesteuert, z. B. das, das wir in der Matter Virtual Device Development Environment (MVD-DE) erstellen.

Möglicherweise haben Sie bereits mit dem Codelab „MVD-DE“ gearbeitet. In diesem Codelab erstellen Sie eine einzige Art virtuelles Gerät – eine intelligente Glühbirne. Im Gegensatz dazu enthält MVD mehrere verschiedene vorkonfigurierte virtuelle Geräte und eine integrierte UI zum Ausführen und Steuern.

Tabelle: Vergleich der virtuellen Matter-Geräte
MVD VDC MVD-DE (Codelab)
Matter-Gerät emulieren
Ein emuliertes Matter-Gerät steuern
Erforderlicher Entwicklungsaufwand
Herunterladen weniger als 100 MB 9 GB 20 GB

Unterstützte Geräte

MVD unterstützt die folgenden Matter-Gerätetypen:

Tabelle: Matter unterstützte Gerätetypen für MVD
Matter Gerätetyp Anwendungscluster Heimsystem-Typ
Einfacher Videoplayer 0 × 0006
0 × 0506
0 × 0509
Fernsehen
Farbtemperatur-Licht 0 × 0300
0 × 0008
0 × 0006
Leicht
Kontaktsensor 0x0045
Sensor
Dimmbares Licht 0x0008
0x0006
Leicht
Türschloss 0x0101
Sperren
Erweiterte Farbbeleuchtung 0 × 0300
0 × 0008
0 × 0006
Leicht
Lüfter 0x0202
0x0006
Lüfter
Durchflusssensor 0x0404
Sensor
Allgemeiner Wechsel 0x003b
Wechseln
Luftfeuchtigkeitssensor 0x0405
Sensor
Lichtsensor 0 × 0400
Sensor
Anwesenheitssensor 0x0406
Sensor
Ein-/Aus-Licht 0x0008
0x0006
Leicht
Ein-/Aus-Lichtschalter 0x0006
Wechseln
Ein/Aus-Plug-in-Gerät 0x0008
0x0006
Steckdose
Drucksensor 0x0403
Sensor
Pumpe 0 × 0006
0 × 0200
0 × 0402
0 × 0403
0 × 0404
Staubsaugerroboter 0 × 0054
0 × 0055
0 × 0061
Staubsauger
Raumklimaanlage 0 × 0006
0 × 0201
0 × 0202
Konto
Rauch- und Kohlenmonoxidmelder 0x005C
Rauch
Rauch- und Kohlenmonoxidmelder 0x005C
Rauch
Temperatursensor 0x0402
Sensor
Thermostat 0x0201
Thermostat
Fensterabdeckungen 0x0102
Jalousien

MVD installieren

MVD läuft auf 64-Bit-x86-Prozessormaschinen, auf denen Debian (11 oder höher), Ubuntu (20.04 oder höher) oder macOS ausgeführt wird.

Linux

MVD-Debian-Paket (.deb) herunterladen

Armored-ASCII-Signaturdatei (ASC) herunterladen

Führen Sie dann dpkg aus, um das Debian-Paket MVD (.deb) zu installieren:

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

MVD (macOS x86)-dmg-Datei herunterladen

MVD (ARM64 M1)-dmg-Datei herunterladen

Doppelklicken Sie dann auf die Datei dmg, um das Installationsfenster zu öffnen.

Wählen Sie das Symbol mvd aus und ziehen Sie es in den Ordner Applications, um die Installation abzuschließen:

macOS-Installation

Portnutzung prüfen

Das Controller-Modul in MVD verwendet den TCP-Port 33000, um RPC-Aufrufe an das virtuelle Gerät durchzuführen. Wenn dieser Port also bereits von einem anderen Prozess auf Ihrem Computer verwendet wird, müssen Sie ihn freigeben.

So stellen Sie fest, ob ein Prozess Port 33000 verwendet:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Sie können jeden Prozess über den TCP-Port 33000 mit einem einzigen Befehl beenden:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

MVD ausführen

Linux

Unter Linux führen Sie MVD über Ihren Anwendungsordner oder das Terminal aus:

mvd

macOS

Verwenden Sie unter macOS Launchpad, um MVD zu öffnen, oder führen Sie MVD über das Terminal aus:

cd /Applications
open mvd.app

Gerät konfigurieren

Beim Start wird der Hauptbildschirm angezeigt, auf dem Sie ein virtuelles Gerät konfigurieren können:

  • 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.
  • Diskriminator: Eine 12-Bit-Zahl, mit der mehrere Anzeigen für provisionspflichtige Geräte unterschieden werden. (Standardeinstellung: 3840).
  • Port Matter: Ein Port für die Matter-Inbetriebnahme und Kommunikation über IP-Netzwerke. Matter verwendet standardmäßig den TCP/UDP-Port 5540, aber Sie können das virtuelle Gerät so konfigurieren, dass es einen anderen Port verwendet, solange er von keinem anderen Dienst verwendet wird.
  • Anbieter-ID: Es wird nur die Testanbieter-ID 0xFFF1 unterstützt.
  • Produkt-ID: Es werden nur Testprodukt-IDs von 0x8000 bis 0x801F unterstützt.

Konfigurationsbildschirm für virtuelle Geräte

Firewall konfigurieren

Linux

Wenn auf Ihrem Computer eine Firewall ausgeführt wird, fahren Sie sie entweder 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 anzeigen zu lassen:

sudo iptables -L -n

Wenn Sie `ufw` verwenden, kann es deaktiviert werden mit:

sudo ufw disable

Und es kann wieder aktiviert werden mit:

sudo ufw enable

macOS

So konfigurieren oder deaktivieren Sie die Firewall unter macOS:

  1. Öffnen Sie das Apple-Menü  und wähle Systemeinstellungen aus.
  2. Klicken Sie in der Liste in der Seitenleiste auf Netzwerk.
  3. Klicken Sie auf Firewall.
  4. Stellen Sie den Schalter für Firewall auf Aus.

Bediene dein Gerät

Nachdem das Gerät konfiguriert wurde, klicken Sie auf Gerät erstellen. Nachdem das Gerät erstellt wurde, wird der Bildschirm Controller angezeigt. Je nach ausgewähltem Gerätetyp werden möglicherweise eines oder mehrere der folgenden Steuerelemente angezeigt:

  • Ein/Aus: Diese Option wird den meisten Geräten zugewiesen.
  • Pegel: Beispielsweise könnte eine Lampe einen Lautstärkeregler haben, um die Helligkeit anzupassen.
  • Farbe: Ein farbiges Licht kann beispielsweise über dieses Steuerelement verfügen.
  • Anwesenheit: Der Anwesenheitssensor bietet diese Einstellung, um zu simulieren, ob jemand anwesend ist oder nicht.

Alle virtuellen Geräte haben folgende Steuerelemente:

  • QRCode: Zeigt den QR-Code an, der für die Inbetriebnahme verwendet wurde.
  • 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 den gesamten Status, einschließlich Inbetriebnahme, aktuellen Steuerungsstatus usw.
  • Löschen: Zerstört das Gerät und kehrt zum Bildschirm Gerät erstellen zurück.

Bildschirm für die virtuelle Gerätesteuerung

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 Kombination aus VID und PID wie beim Einrichten des virtuellen Geräts enthalten. Weitere Informationen finden Sie im Leitfaden zur Projekterstellung.

  • Du benötigst einen Google Nest Hub, der Matter unterstützt.

  • Sie benötigen ein Android-Smartphone mit Android 8.1 oder höher, auf dem GHA installiert ist.

  • Das Android-Smartphone muss mit demselben WLAN wie der Hub verbunden sein.

  • Der Hostcomputer muss mit dem WLAN verbunden sein.

Wenn du das Gerät mit dem GHA in Betrieb nehmen möchtest, klicke auf QRCode, um den QR-Code des Geräts anzuzeigen. Folge dann der Anleitung unter Matter-Gerät koppeln, in der erklärt wird, wie ein Matter-Gerät mit GHA eingerichtet wird. Sie können das Gerät auch mit der Google Home Sample App for Matter in Betrieb nehmen.

In der Matter-Primer erfahren Sie, wie die Matter-Inbetriebnahme funktioniert.

Gerät steuern

Nachdem du ein virtuelles Gerät in Betrieb genommen hast, kannst du es über die Google Home App oder Google Assistant per Sprachbefehl steuern. Sie haben dann folgende Möglichkeiten:

  • Sie können das Gerät über GHA oder Assistant steuern, während Statusänderungen auf dem virtuellen Gerät überwacht werden, oder
  • Das Gerät mit dem Sample App for Matter steuern und Statusänderungen auf dem virtuellen Gerät überwachen
  • Sie können den Gerätestatus über MVD selbst steuern und Statusänderungen in GHA oder Assistant überwachen.

Mit dem Gerät testen

Zum Testen mit Assistant empfehlen wir die Verwendung eines Äußerungssimulators wie die Google Home-Erweiterung für VS Code oder das Google Home-Plug-in für Android Studio.

Gerätedetails ansehen

Auf dem Bildschirm Gerätedetails werden detaillierte Geräteinformationen angezeigt:

  • Name:Der Anzeigename des Geräts.
  • Device Type: Der ausgewählte Gerätetyp.
  • Diskriminator: Der aktuelle Gerätediskriminator.
  • Vendor ID (Anbieter-ID): Die aktuelle Gerätehersteller-ID.
  • Produkt-ID: Die aktuelle Produkt-ID des Geräts.
  • RPC-Port: Der RPC-Port, über den das Gerät mit den Controllern kommuniziert (GUI).
  • Matter-Port: Der Port, der vom aktuellen Gerät für die Kommunikation über das IP-Netzwerk verwendet wird.
  • 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 Stoffe an, mit denen das Gerät verbunden ist, und die Knoten-ID des Geräts im Netzwerk.

Geräteprotokolle ansehen

Wenn Sie MVD über das Terminal gestartet haben, wird die Logausgabe unter stdout angezeigt. Sie können Geräteprotokolle auch auf dem Tab Geräteprotokolle einsehen.

Gerät anhalten

Klicken Sie auf Löschen, um das Gerät anzuhalten und zu löschen.

App beenden

Durch das Schließen des Steuerfensters 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 Ctrl-C in das Terminal eingeben.

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 oben rechts auf die Hilfe-Schaltfläche klicken, gelangen Sie zu dieser Seite.

Programmfehler melden

Wenn du der Meinung bist, dass du einen Defekt im MVD gefunden hast, kannst du einen Fehler melden, indem du oben rechts im Fenster auf die Schaltfläche (Problem) klickst.

Feedback geben

Wenn du uns mitteilen möchtest, was dir an MVD gefällt oder wie wir das Tool verbessern können, fülle 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 aufgerufen werden.

Feedback geben