Les appareils virtuels Matter sont utiles pour développer et tester des solutions Matter. Ils peuvent être mis en service à l'aide de Google Home app (GHA) et contrôlés à l'aide de GHA et Google Assistant, tout comme les appareils physiques Matter.
Pour les développeurs d'applications et les autres personnes qui doivent tester ou émuler un appareil Matter virtuel, mais qui ne disposent pas des ressources nécessaires pour créer leur propre appareil Matter physique ou virtuel, Google propose le Matter Virtual Device (MVD). MVD est un outil de bureau Linux ou macOS autonome et léger qui simule différents types d'appareils Matter virtuels et fournit une interface utilisateur graphique pour contrôler et afficher les états de l'appareil Matter virtuel.
Contrairement à un appareil Matter physique, MVD ne s'appuie pas sur le Bluetooth® à basse consommation (BLE) ni sur Thread® pour rejoindre une structure Matter. Il utilise plutôt la connexion réseau Wi-Fi existante de la machine hôte Linux ou macOS pour la mise en service.
Par rapport à d'autres outils
MVD diffère de Virtual Device Controller (VDC), car il s'agit d'une solution autonome, qui combine un appareil virtuel avec une UI pour le contrôler. En revanche, VDC permet de contrôler un appareil Matter virtuel distinct.
MVD contient plusieurs appareils virtuels prédéfinis et inclut une UI intégrée pour les exécuter et les contrôler.
Appareils compatibles
MVD est compatible avec les types d'appareils Matter suivants :
| Matter Type d'appareil | Cluster(s) "Application" | Type d'écosystème de la maison |
|---|---|---|
| Purificateur d'air |
0x0202 0x0006 0x0071 0x0072 |
Purificateur d'air |
| Capteur de qualité de l'air |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042b 0x042c 0x042d 0x042e 0x042f 0x0413 0x0415 |
Capteur |
| Lecteur vidéo de base |
0x0006 0x0506 0x0509 |
Télévision |
| Lumière à température de couleur |
0x0300 0x0008 0x0006 |
Clair |
| Capteur de contact |
0x0045 |
Capteur |
| Lampe avec variateur d'intensité |
0x0008 0x0006 |
Clair |
| Unité enfichable avec variateur d'intensité |
0x0006 0x0008 |
Outlet |
| Lave-vaisselle |
0x0006 0x0059 0x0056 0x0060 |
Lave-vaisselle |
| Serrure |
0x0101 |
Verrouiller |
| Lumière de couleur étendue |
0x0300 0x0008 0x0006 |
Clair |
| Ventilateur |
0x0202 0x0006 |
Ventilateur |
| Capteur de débit |
0x0404 |
Capteur |
| Interrupteur générique |
0x003b |
Bouton bascule |
| Capteur d'humidité |
0x0405 |
Capteur |
| Lave-linge |
0x0006 0x0051 0x0053 0x0056 0x0060 |
Rondelle |
| Capteur de lumière |
0x0400 |
Capteur |
| Capteur de présence |
0x0406 |
Capteur |
| Voyant marche/arrêt |
0x0008 0x0006 |
Clair |
| Interrupteur ON/OFF |
0x0006 |
Bouton bascule |
| Prise connectée On/Off |
0x0008 0x0006 |
Outlet |
| Capteur de pression |
0x0403 |
Capteur |
| Pompe |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pompe |
| Aspirateur robot |
0x0054 0x0055 0x0061 |
Aspirateur |
| Climatiseur individuel |
0x0006 0x0201 0x0202 |
Climatisation |
| Détecteur de fumée et de monoxyde de carbone |
0x005C |
Détecteur de monoxyde de carbone
Détecteur de fumée |
| Temperature Sensor (capteur de température) |
0x0402 |
Capteur |
| Thermostat |
0x0201 |
Thermostat |
| Habillage de fenêtre |
0x0102 |
Stores |
Installer MVD
MVD s'exécute sur des machines équipées d'un processeur x86 64 bits et de Debian (13 Trixie ou version ultérieure), d'Ubuntu (20.04 Noble Numbat ou version ultérieure) ou de macOS.
Linux
Télécharger le package Debian (.deb) de MVD
Télécharger le fichier de signature ASCII blindé (.asc)
Exécutez ensuite dpkg pour installer le package Debian (.deb) MVD :
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
Télécharger le fichier dmg MVD (macOS x86)
Télécharger le fichier dmg MVD (ARM64 M1)
Double-cliquez ensuite sur le fichier dmg pour ouvrir la fenêtre d'installation.
Pour terminer l'installation, sélectionnez l'icône mvd et faites-la glisser vers le dossier Applications :
Vérifier l'utilisation des ports
Le module de contrôleur de MVD utilise le port TCP 33000 pour effectuer des appels RPC vers l'appareil virtuel. Si ce port est déjà utilisé par un autre processus sur votre ordinateur, veillez à le libérer.
Pour vérifier si un processus utilise le port 33000 :
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000Vous pouvez arrêter n'importe quel processus utilisant le port TCP 33000 à l'aide d'une seule commande :
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killExécuter MVD
Linux
Sous Linux, exécutez MVD à partir du dossier de vos applications ou du terminal :
mvdmacOS
Sous macOS, utilisez Launchpad pour ouvrir MVD ou exécutez MVD depuis le terminal :
cd /Applicationsopen mvd.app
Configurer votre appareil
L'écran principal s'affiche au lancement et vous permet de configurer un appareil virtuel :
- Type d'appareil : sélectionnez le type d'appareil (par exemple, Light, Switch, Sensor, etc.).
- Nom de l'appareil : donnez un nom convivial à l'appareil.
- Discriminateur : nombre de 12 bits utilisé pour distinguer plusieurs annonces d'appareils pouvant être mis en service. (Par défaut :
3840). - Port Matter : port pour la mise en service et la communication Matter via des réseaux IP. Matter utilise le port TCP/UDP 5540 par défaut, mais vous pouvez configurer l'appareil virtuel pour qu'il utilise un autre port, à condition qu'aucun autre service ne l'utilise.
- ID du fournisseur : seul l'ID du fournisseur de test
0xFFF1est accepté. - ID produit : seuls les ID produit de test
0x8000à0x801Fsont acceptés.
Configurer le pare-feu
Linux
Si un pare-feu est en cours d'exécution sur votre ordinateur, arrêtez-le ou autorisez les connexions TCP/UDP entrantes sur le port Matter.
Pour afficher les règles de pare-feu netfilter actuellement actives, exécutez la commande suivante :
sudo iptables -L -nSi vous utilisez "ufw", vous pouvez le désactiver avec la commande suivante :
sudo ufw disableVous pouvez la réactiver avec :
sudo ufw enablemacOS
Pour configurer ou désactiver le pare-feu sur macOS :
- Accédez au menu Apple, puis sélectionnez Réglages Système.
- Cliquez sur Réseau dans la liste de la barre latérale.
- Cliquez sur Pare-feu.
- Désactivez l'option Pare-feu.
Exécuter votre appareil
Une fois l'appareil configuré, cliquez sur Créer un appareil. Une fois l'appareil créé, l'écran Controller (Contrôleur) s'affiche. Selon le type d'appareil que vous avez sélectionné, une ou plusieurs des commandes suivantes peuvent s'afficher :
- On/Off : commun à la majorité des appareils.
- Niveau : par exemple, une lumière peut avoir un curseur de niveau pour régler la luminosité.
- Couleur : par exemple, une ampoule de couleur peut disposer de cette commande.
- Présence : le capteur de présence propose cette commande pour simuler l'état "occupé" ou "inoccupé".
Tous les appareils virtuels disposent des commandes suivantes :
- QRCode : affiche le QR code utilisé pour la mise en service.
- Reboot (Redémarrer) : redémarre l'appareil virtuel. L'appareil est brièvement déconnecté du réseau.
- Réinitialiser : rétablit la configuration d'usine de l'appareil actuel et efface tous les états, y compris la mise en service, l'état actuel des commandes, etc.
- Supprimer : détruit l'appareil et revient à l'écran Créer un appareil.
Caractéristiques spécifiques au fabricant
Les caractéristiques spécifiques au fabricant (MS) sont compatibles avec les API Home pour Android et offrent des fonctionnalités supplémentaires par rapport aux caractéristiques standards de Matter. Pour tester un appareil avec un trait MS, MVD vous permet d'interagir avec les traits dans la section Custom Clusters (voir l'image ci-dessus).
Mettre en service votre appareil
L'appareil peut être mis en service dès qu'il est créé.
La mise en service de l'appareil nécessite quelques conditions préalables :
Vous devez disposer d'un projet dans Google Home Developer Console. Ce projet doit contenir une intégration Matter qui présente la même combinaison VID/PID que celle que vous avez utilisée pour configurer votre appareil virtuel. Pour en savoir plus, consultez le guide de création de projets.
Vous devez disposer d'un Google Nest Hub compatible avec Matter.
Vous devez disposer d'un téléphone Android équipé d'Android 8.1 ou version ultérieure, avec GHA installé.
Le téléphone Android doit être connecté au même réseau Wi-Fi que le hub.
La machine hôte doit être connectée au réseau Wi-Fi.
Pour mettre en service l'appareil à l'aide de l'GHA, cliquez sur QRCode pour afficher le QR code de l'appareil, puis suivez les instructions de la section Associer un appareil Matter, qui expliquent comment intégrer un appareil Matter à l'aide de l'GHA. Vous pouvez également mettre en service l'appareil à l'aide de Google Home Sample App for Matter.
Consultez notre guide de démarrage Matter pour découvrir le fonctionnement de la mise en service Matter.
Contrôler l'appareil
Une fois que vous avez mis en service un appareil virtuel, vous pouvez le contrôler à l'aide de l'application Google Home ou de l'Assistant Google par commande vocale. Vous avez deux possibilités :
- Contrôlez l'appareil via GHA ou Assistant tout en surveillant les changements d'état sur l'appareil virtuel, ou
- Contrôlez l'appareil à l'aide de Sample App for Matter tout en surveillant les changements d'état sur l'appareil virtuel,ou
- Contrôlez l'état de l'appareil via MVD tout en surveillant les changements d'état dans GHA ou Assistant.
Tester avec l'appareil
Pour effectuer des tests avec Assistant, nous vous recommandons d'utiliser un simulateur d'énoncés tel que l'extension Google Home pour VS Code ou le plug-in Google Home pour Android Studio.
Afficher les informations sur l'appareil
L'écran Détails de l'appareil affiche des informations détaillées sur l'appareil :
- Nom : nom descriptif attribué à l'appareil.
- Type d'appareil : type d'appareil sélectionné.
- Discriminateur : discriminateur de l'appareil actuel.
- ID du fournisseur : ID du fournisseur de l'appareil actuel.
- ID produit : ID produit de l'appareil actuel.
- Port RPC : port RPC que l'appareil utilise pour communiquer avec les contrôleurs (IUG).
- Port Matter : port utilisé par l'appareil actuel pour communiquer via le réseau IP.
- Code secret : code utilisé pour mettre en service l'appareil via le réseau.
- Dossier de configuration : dossier dans lequel l'appareil virtuel stocke la configuration.
- Informations sur la mise en service : affiche la ou les structures que l'appareil a rejointes, ainsi que l'ID de nœud de l'appareil dans la structure.
Afficher les journaux de l'appareil
Si vous avez lancé MVD depuis le terminal, la sortie du journal s'affiche sur stdout.
Vous pouvez également afficher les journaux de l'appareil dans l'onglet Journaux de l'appareil.
Arrêter l'appareil
Pour arrêter et détruire l'appareil, cliquez sur Supprimer.
Fermer l'application
La fermeture de la fenêtre de contrôle détruit l'appareil et met fin à l'application MVD. Si vous l'avez lancée depuis le terminal, vous pouvez également l'arrêter en appuyant sur Ctrl+C dans le terminal.
Obtenir de l'aide
Pour obtenir de l'aide concernant MVD, signaler un bug ou demander une nouvelle fonctionnalité, contactez l'assistance Google.
Cliquez sur le bouton d'aide en haut à droite de la fenêtre pour accéder à cette page.
Signaler un bug
Si vous pensez avoir trouvé un défaut dans MVD, vous pouvez signaler un bug en cliquant sur le bouton Signaler un problème en haut à droite de la fenêtre.
Envoyer des commentaires
Pour nous faire part de ce que vous appréciez dans MVD ou de la façon dont nous pouvons améliorer votre expérience avec l'outil, remplissez notre formulaire de commentaires.
Vous pouvez lancer le formulaire à l'aide du bouton de commentaires situé en haut à droite de la fenêtre, ou en cliquant sur le bouton ci-dessous.
Vous pouvez également nous faire part de vos commentaires en répondant à l'enquête qui s'affiche en bas de l'écran lorsque vous utilisez MVD.