Virtuelles Gerät

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 mit 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 über die Ressourcen zum Erstellen eines eigenen physischen oder virtuellen Matter-Geräts verfügen, bietet Google das 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 zur Steuerung und Anzeige des Status des virtuellen Matter-Geräts bietet.

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

Im Vergleich zu anderen Tools

Das MVD unterscheidet sich von Virtual Device Controller (VDC) insofern, als es eine eigenständige Lösung ist, die ein virtuelles Gerät mit einer UI für seine Steuerung kombiniert. Im Gegensatz dazu wird die VDC verwendet, um ein separates virtuelles Matter-Gerät zu steuern, z. B. das, das wir in Matter Virtual Device Development Environment (MVD-DE) erstellen.

Möglicherweise 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 das MVD mehrere verschiedene vordefinierte virtuelle Geräte und eine integrierte UI zur Ausführung und Steuerung dieser Geräte.

Tabelle: Vergleich des virtuellen Matter-Gerätetools
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

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

Tabelle: Matter für MVD unterstützte Gerätetypen
Matter Gerätetyp Anwendungscluster Art des Smart-Home-Systems
Einfacher Videoplayer 0 × 0006
0 × 0506
0 × 0509
TV
Farbtemperaturlicht 0x0300
0x0008
0x0006
Leicht
Kontaktsensor 0x0045
Sensor
Dimmbares Licht 0x0008
0x0006
Leicht
Türschloss 0x0101
Sperren
Erweitertes Farblicht 0x0300
0x0008
0x0006
Leicht
Lüfter 0x0202
0x0006
Lüfter
Durchflusssensor 0x0404
Sensor
Generischer Schalter 0x003b
Wechseln
Luftfeuchtigkeitssensor 0x0405
Sensor
Beleuchtungssensor 0x0400
Sensor
Anwesenheitssensor 0x0406
Sensor
An-/Aus-Licht 0x0008
0x0006
Leicht
An-/Aus-Lichtschalter 0x0006
Wechseln
Ein/Aus-Steckdose 0x0008
0x0006
Steckdose
Drucksensor 0x0403
Sensor
Pumpe 0x0006
0x0200
0x0402
0x0403
0x0404
Staubsaugerroboter 0x0054
0x0055
0x0061
Staubsauger
Raumklimaanlage 0 × 0006
0 × 0201
0 × 0202
AC
Rauch- und Kohlenmonoxidmelder 0 x 005 °C
Rauch
Temperatursensor 0x0402
Sensor
Thermostat 0x0201
Thermostat
Fensterabdeckung 0x0102
Jalousien

MVD installieren

MVD läuft auf Maschinen mit 64-Bit-x86-Prozessor und Debian (11 oder höher), Ubuntu (20.04 oder höher) oder macOS.

Linux

Lade das MVD-Debian-Paket (.deb) herunter

Asc-Datei (Ascored-ASCII-Signatur) herunterladen

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

MVD-Datei (macOS x86) herunterladen

MVD (ARM64 M1) dmg-Datei herunterladen

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

Wählen Sie zum Abschließen der Installation das Symbol mvd aus und ziehen Sie es in den Ordner Applications:

macOS-Installation

Portnutzung prüfen

Das Controller-Modul 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 finden Sie heraus, ob ein Prozess Port 33000 verwendet:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

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

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

MVD ausführen

Linux

Führen Sie unter Linux MVD über den 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ähle 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, die verwendet wird, um zwischen mehreren Commissionablen Geräte-Advertisings zu unterscheiden. (Standardeinstellung: 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. Sie können das virtuelle Gerät aber auch so konfigurieren, dass ein anderer Port verwendet wird, solange er von keinem anderen Dienst verwendet wird.
  • Anbieter-ID: Nur die Testanbieter-ID 0xFFF1 wird unterstützt.
  • Produkt-ID: Es werden nur die Testprodukt-IDs 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 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

Wenn Sie „ufw“ verwenden, kann es folgendermaßen deaktiviert werden:

sudo ufw disable

Außerdem lässt sie sich mit folgenden Methoden wieder aktivieren:

sudo ufw enable

macOS

So konfigurieren oder deaktivieren Sie die Firewall unter macOS:

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

Gerät ausführen

Nachdem das Gerät konfiguriert wurde, klicken Sie 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:

  • Ein/Aus: Wird bei den meisten Geräten verwendet.
  • Pegel: Eine Lampe könnte zum Beispiel einen Schieberegler für die Helligkeit haben.
  • Farbe: Dieses Steuerelement könnte beispielsweise eine Farblampe haben.
  • Anwesenheit: Der Anwesenheitssensor ermöglicht dieses Steuerelement, um zu simulieren, ob jemand anwesend oder nicht anwesend ist.

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 wurde kurz vom Netzwerk getrennt.
  • Zurücksetzen: Das aktuelle Gerät wird auf die Werkseinstellungen zurückgesetzt und alle Status, einschließlich der Inbetriebnahme, des aktuellen Steuerungsstatus usw., werden gelöscht.
  • Löschen: Das Gerät wird gelöscht und der Bildschirm Gerät erstellen wird wieder angezeigt.

Bildschirm zur Steuerung des virtuellen
Geräts

Gerät in Betrieb nehmen

Das Gerät kann unmittelbar 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, die du beim Einrichten deines virtuellen Geräts verwendet hast. Weitere Informationen finden Sie im Leitfaden zur Projekterstellung.

  • Sie benötigen einen Google Nest Hub, der Matter unterstützt

  • Du benötigst ein Android-Smartphone mit Android 8.1 oder höher und GHA muss installiert sein.

  • 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 mit GHA einrichten. Sie können das Gerät auch mit dem Google Home Sample App for Matter in Betrieb nehmen.

Informationen zur Funktionsweise der Matter-Inbetriebnahme finden Sie in der Matter-Primer.

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 überwachen.
  • Sie können den Gerätestatus über MVD selbst steuern und Statusänderungen in GHA oder Assistant im Blick behalten.

Mit dem Gerät testen

Zum Testen mit Assistant empfehlen wir einen Äußerungssimulator 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.
  • Anbieter-ID: Die aktuelle Anbieter-ID des Geräts.
  • Produkt-ID: Die aktuelle Produkt-ID des Geräts.
  • RPC-Port: Der RPC-Port, über den das Gerät mit Controllern (GUIs) kommuniziert.
  • 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 wurde.
  • Konfigurationsordner: Der Ordner, in dem das virtuelle Gerät die Konfiguration speichert.
  • Provisionsinformationen: Zeigt die mit dem Gerät verbundenen Fabrics 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 können Geräteprotokolle auch auf dem Tab Geräteprotokolle ansehen.

Beenden Sie das Gerät.

Wenn Sie das Gerät anhalten und löschen möchten, klicken Sie auf Löschen.

Die App beenden

Durch das Schließen des Steuerfensters wird das Gerät gelöscht und die Anwendung MVD beendet. Wenn Sie die Anwendung über das Terminal gestartet haben, können Sie die Anwendung auch beenden, indem Sie im Terminal Strg + C 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.

Durch Klicken auf die Hilfe-Schaltfläche in der oberen rechten Ecke des Fensters gelangen Sie zu dieser Seite.

Programmfehler melden

Wenn Sie der Ansicht 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 das Tool verbessern können, füllen Sie 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