Appareil virtuel Matter

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 Matter physiques.

Pour les développeurs d'applications et les autres utilisateurs qui ont besoin de tester ou d'émuler un appareil Matter virtuel, mais qui ne disposent pas des ressources nécessaires pour créer leur propre appareil physique ou virtuel Matter, Google propose 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 repose pas sur le Bluetooth® à basse consommation (BLE) ni sur Thread® pour rejoindre un réseau Matter. Elle utilise plutôt la connexion Wi-Fi existante de la machine hôte Linux ou macOS pour la mise en service.

Comparaison avec d'autres outils

Le MVD diffère du Virtual Device Controller (VDC) en ce qu'il s'agit d'une solution autonome, combinant un appareil virtuel à une UI pour le contrôler. En revanche, VDC est utilisé pour 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 :

Tableau : types d'appareils Matter compatibles avec MVD
Matter Type d'appareil Cluster(s) d'application Type d'écosystème domotique
Purificateur d'air 0x0202
0x0006
0x0071
Purificateur d'air
Capteur de qualité de l'air 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
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
Lumière dimmable 0x0008
0x0006
Clair
Module enfichable avec variateur d'intensité 0x0006
0x0008
Prise
Lave-vaisselle 0x0006
0x0059
0x0056
0x0060
Lave-vaisselle
Serrure 0x0101
Verrouiller
Extended Color Light 0x0300
0x0008
0x0006
Clair
Ventilateur 0x0202
0x0006
Ventilateur
Capteur de débit 0x0404
Capteur
Switch générique 0x003b
Bouton bascule
Capteur d'humidité 0x0405
Capteur
Lave-linge 0x0006
0x0051
0x0053
0x0056
0x0060
Lave-linge
Capteur de lumière 0x0400
Capteur
Capteur de présence 0x0406
Capteur
Voyant Marche/Arrêt 0x0008
0x0006
Clair
Interrupteur marche/arrêt 0x0006
Bouton bascule
Module enfichable Marche/Arrêt 0x0008
0x0006
Prise
Capteur de pression 0x0403
Capteur
Pompe 0x0006
0x0200
0x0402
0x0403
0x0404
Pump
Aspirateur robot 0x0054
0x0055
0x0061
Aspirateur
Climatiseur de pièce 0x0006
0x0201
0x0202
Climatiseur
Détecteur de fumée et de monoxyde de carbone 0x005C
Détecteur de CO2
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 fonctionnant sous Debian (13 Trixie ou version ultérieure), Ubuntu (20.04 Noble Numbat ou version ultérieure) ou macOS.

Linux

Télécharger le package Debian (.deb) MVD

Téléchargez 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.deb

macOS

Téléchargez le fichier dmg MVD (macOS x86).

Téléchargez 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 et faites glisser l'icône mvd vers le dossier Applications :

Installation sur macOS

Vérifier l'utilisation des ports

Le module de contrôle dans MVD utilise le port TCP 33000 pour effectuer des appels RPC à 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/tcp

macOS

lsof -i:33000

Vous pouvez arrêter n'importe quel processus utilisant le port TCP 33000 avec une seule commande :

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Exécuter MVD

Linux

Sur Linux, exécutez MVD depuis le dossier de vos applications ou depuis le terminal :

mvd

macOS

Sur macOS, utilisez Launchpad pour ouvrir MVD ou exécutez MVD depuis le terminal :

cd /Applications
open 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.
  • Discriminant : nombre de 12 bits utilisé pour faire la distinction entre plusieurs annonces d'appareils donnant droit à une commission. (par défaut : 3840).
  • Matter Port : port pour la mise en service et la communication Matter via les 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 de fournisseur de test 0xFFF1 est accepté.
  • ID produit : seuls les ID produit de test 0x8000 à 0x801F sont acceptés.

Écran de configuration de l'appareil virtuel

Configurer le pare-feu

Linux

Si un pare-feu est en cours d'exécution sur votre ordinateur, désactivez-le ou autorisez les connexions TCP/UDP entrantes sur le port Matter.

Pour afficher les règles de pare-feu netfilter actives, exécutez la commande suivante :

sudo iptables -L -n

Si vous utilisez `ufw`, vous pouvez le désactiver avec la commande suivante :

sudo ufw disable

Vous pouvez le réactiver avec :

sudo ufw enable

macOS

Pour configurer ou désactiver le pare-feu sur macOS :

  1. Accédez au menu  Apple, puis sélectionnez Réglages système.
  2. Cliquez sur Réseau dans la liste de la barre latérale.
  3. Cliquez sur Pare-feu.
  4. Placez le bouton bascule Pare-feu sur Désactivé.

Exécuter votre appareil

Une fois l'appareil configuré, cliquez sur Créer un appareil. Lorsque l'appareil est créé, l'écran Contrôleur s'affiche. Selon le type d'appareil que vous avez sélectionné, une ou plusieurs des options suivantes peuvent s'afficher :

  • Marche/Arrêt : commun à la majorité des appareils.
  • Niveau : par exemple, une lumière peut avoir un curseur de niveau pour ajuster la luminosité.
  • Couleur : par exemple, une lumière colorée peut disposer de cette commande.
  • Occupation : le détecteur d'occupation offre cette commande pour simuler l'état occupé ou inoccupé.

Tous les appareils virtuels disposent des commandes suivantes :

  • QRCode : affiche le code QR utilisé pour la mise en service.
  • 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 l'état de mise en service, l'état des commandes actuelles, etc.
  • Supprimer : détruit l'appareil et revient à l'écran Créer un appareil.

Écran de contrôle des appareils virtuels

Caractéristiques spécifiques au fabricant

Les traits spécifiques au fabricant (MS) sont compatibles avec les API Home pour Android et offrent des fonctionnalités supplémentaires au-delà des traits standards de Matter. Pour tester un appareil avec un trait MS, MVD vous permet d'interagir avec les traits de la section Clusters personnalisés (voir l'image ci-dessus).

Mettre en service votre appareil

L'appareil peut être mis en service dès sa création.

Pour mettre en service l'appareil, vous devez remplir 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 fonctionnant sous 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 GHA, cliquez sur QRCode pour afficher le code QR de l'appareil, puis suivez les instructions de Associer un appareil Matter, qui explique comment intégrer un appareil Matter à l'aide de GHA. Vous pouvez également mettre en service l'appareil à l'aide de Google Home Sample App for Matter.

Consultez notre Matter guide d'introduction 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 alors deux possibilités :

  • Contrôlez l'appareil via GHA ou Assistant tout en surveillant les changements d'état sur l'appareil virtuel.
  • Contrôler 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 lui-même 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 Google Home Extension for VS Code ou Google Home Plugin for 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 actuel de l'appareil.
  • ID produit : ID produit actuel de l'appareil.
  • Port RPC : port RPC avec lequel l'appareil communique avec les contrôleurs (IUG).
  • Port Matter : port utilisé par l'appareil actuel pour communiquer via le réseau IP.
  • Code secret : code PIN utilisé pour mettre en service l'appareil sur le réseau.
  • Dossier de configuration : dossier dans lequel l'appareil virtuel stocke la configuration.
  • Informations sur la mise en service : affiche les fabrics auxquels l'appareil a été ajouté et l'ID de nœud de l'appareil dans le fabric.

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 consulter les journaux des appareils dans l'onglet Journaux des appareils.

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 avez lancé l'application depuis le terminal, vous pouvez également l'arrêter en saisissant 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 votre interlocuteur de 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 en haut à droite de la fenêtre.

Envoyer des commentaires

Pour nous faire part de ce que vous aimez 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 en cliquant sur le bouton de commentaires  en haut à droite de la fenêtre ou en cliquant sur le bouton ci-dessous.

Envoyez-nous vos commentaires

Vous pouvez également nous faire part de vos commentaires à l'aide de l'enquête qui s'affiche en bas de l'écran lorsque vous utilisez MVD.