Importa el dispositivo virtual

Matter ; APIs de Home

Los dispositivos virtuales Matter son útiles para desarrollar y probar soluciones de Matter, y se pueden poner en funcionamiento con Google Home app (GHA) y controlar con GHA y Google Assistant, al igual que los dispositivos Matter físicos.

Para los desarrolladores de aplicaciones y otros que necesitan probar o emular un dispositivo Matter virtual pero carecen de los recursos para construir su propio dispositivo Matter físico o virtual, Google ofrece el Matter Virtual Device (MVD). MVD es una herramienta de escritorio independiente y liviana para Linux o macOS que simula diferentes tipos de dispositivos Matter virtuales y proporciona una interfaz gráfica de usuario para controlar y mostrar los estados del dispositivo Matter virtual.

A diferencia de un dispositivo Matter físico, MVD no depende de Bluetooth® de bajo consumo (BLE) ni de Thread® para unirse a una estructura de Matter. En cambio, utiliza la conexión de red Wi-Fi existente del equipo host Linux o macOS para la puesta en marcha.

En comparación con otras herramientas

El MVD se diferencia del Virtual Device Controller (VDC) en que es una solución autocontenida, que combina un dispositivo virtual con una interfaz de usuario para controlarlo. En cambio, el VDC se usa para controlar un dispositivo virtual Matter independiente.

El MVD contiene varios dispositivos virtuales preconstruidos diferentes e incluye una interfaz de usuario integrada para ejecutarlos y controlarlos.

Dispositivos compatibles

MVD admite los siguientes tipos de dispositivos Matter:

Tabla: Matter tipos de dispositivos compatibles con MVD
Matter Tipo de dispositivo Clústeres de aplicaciones Tipo de ecosistema de la casa
Purificador de aire 0x0202
0x0006
0x0071
Purificador de aire
Sensor de calidad del aire 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Sensor
Reproductor de video básico 0x0006
0x0506
0x0509
Televisión
Luz de temperatura de color 0x0300
0x0008
0x0006
Luz
Sensor de contacto 0x0045
Sensor
Luz regulable 0x0008
0x0006
Luz
Unidad enchufable regulable 0x0006
0x0008
Outlet
Lavavajillas 0x0006
0x0059
0x0056
0x0060
Lavavajillas
Cerradura de la puerta 0x0101
Bloquear
Luz de color extendida 0x0300
0x0008
0x0006
Luz
Ventilador 0x0202
0x0006
Ventilador
Sensor de flujo 0x0404
Sensor
Cambio genérico 0x003b
Interruptor
Sensor de humedad 0x0405
Sensor
Lavadora 0x0006
0x0051
0x0053
0x0056
0x0060
Lavadora
Sensor de luz 0x0400
Sensor
Sensor de ocupación 0x0406
Sensor
Luz de encendido/apagado 0x0008
0x0006
Luz
Interruptor de luz de encendido/apagado 0x0006
Interruptor
Unidad de complemento de encendido/apagado 0x0008
0x0006
Outlet
Sensor de presión 0x0403
Sensor
Surtidor 0x0006
0x0200
0x0402
0x0403
0x0404
Bomba
Robot aspirador 0x0054
0x0055
0x0061
Aspiradora
Aire acondicionado de habitación 0x0006
0x0201
0x0202
Aire acondicionado
Alarma de humo y monóxido de carbono 0x005C
Detector de CO
Detector de humo
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Cortinas y persianas 0x0102
Persianas

Instalar MVD

MVD se ejecuta en máquinas con procesador x86 de 64 bits que ejecutan Debian (13 Trixie o superior), Ubuntu (20.04 Noble Numbat o superior) o macOS.

Linux

Descargar el paquete MVD Debian (.deb)

Descargar el archivo de firma ASCII blindada (.asc)

A continuación, ejecute dpkg para instalar el paquete Debian (.deb) MVD:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Descarga el archivo .dmg del MVD (macOS x86)

Descarga el archivo .dmg de MVD (M1 ARM64)

Luego, haga doble clic en el archivo dmg para abrir la ventana de instalación.

Para completar la instalación, seleccione y arrastre el icono mvd a la carpeta Applications:

Instalación de macOS

Comprobar el uso del puerto

El módulo controlador en MVD utiliza el puerto TCP 33000 para realizar llamadas RPC al dispositivo virtual, por lo que si este puerto ya está en uso por otro proceso en su computadora, asegúrese de liberarlo.

Para comprobar si algún proceso está utilizando el puerto 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Puedes finalizar cualquier proceso que use el puerto TCP 33000 con un solo comando:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Ejecutar MVD

Linux

En Linux, ejecuta MVD desde la carpeta de aplicaciones o desde la terminal:

mvd

macOS

En macOS, utilice Launchpad para abrir MVD o ejecute MVD desde la terminal:

cd /Applications
open mvd.app

Configura tu dispositivo

La pantalla principal aparece al iniciar el sistema y permite configurar un dispositivo virtual:

  • Tipo de dispositivo: Selecciona el tipo de dispositivo (por ejemplo, luz, interruptor, sensor, etcétera).
  • Nombre del dispositivo: Asigne al dispositivo un nombre fácil de usar.
  • Discriminator: Es un número de 12 bits que se usa para distinguir entre varios anuncios de dispositivos aptos para comisiones. (Valor predeterminado: 3840)
  • Matter Puerto: Puerto para la puesta en marcha y la comunicación a través de redes IP de Matter Matter usa el puerto TCP/UDP 5540 de forma predeterminada, pero puedes configurar el dispositivo virtual para que use un puerto diferente, siempre y cuando ningún otro servicio lo use.
  • ID de proveedor: Solo se admite el ID de proveedor de prueba 0xFFF1.
  • ID del producto: Solo se admiten los IDs de productos de prueba 0x8000 a 0x801F.

pantalla de configuración de dispositivo virtual

Configura tu firewall

Linux

Si tienes un firewall en ejecución en tu computadora, ciérralo o permite las conexiones TCP/UDP entrantes en el puerto Matter.

Para ver las reglas de firewall netfilter activas actuales, ejecuta el siguiente comando:

sudo iptables -L -n

Si usas `ufw`, puedes inhabilitarlo con el siguiente comando:

sudo ufw disable

Y se puede volver a habilitar con:

sudo ufw enable

macOS

Para configurar o desactivar el cortafuegos en macOS:

  1. Ve al menú  Apple y elige Ajustes del sistema.
  2. Haz clic en Red en la lista de la barra lateral.
  3. Haga clic en Firewall.
  4. Cambie el interruptor de Firewall a la posición Off.

Ejecuta tu dispositivo

Después de configurar el dispositivo, haz clic en Crear dispositivo. Cuando se crea el dispositivo, aparece la pantalla Controlador. Según el tipo de dispositivo que seleccionaste, es posible que veas uno o más de los siguientes controles:

  • Encendido/Apagado: Es común en la mayoría de los dispositivos.
  • Nivel: Por ejemplo, una luz podría tener un control deslizante de nivel para ajustar el brillo.
  • Color: Por ejemplo, una luz de color podría tener este control.
  • Ocupación: El sensor de ocupación ofrece este control para simular el estado ocupado o desocupado.

Todos los dispositivos virtuales tienen los siguientes controles:

  • QRCode: Muestra el código QR que se usó para la puesta en marcha.
  • Reboot: Reinicia el dispositivo virtual. El dispositivo se desconecta de la red brevemente.
  • Restablecer: Restablece la configuración de fábrica del dispositivo actual y borra todo el estado, incluyendo la puesta en marcha, el estado de los controles actuales, etc.
  • Eliminar: Destruye el dispositivo y regresa a la pantalla Crear dispositivo.

pantalla de control de dispositivo virtual

Rasgos específicos del fabricante

Las características específicas del fabricante (MS) son compatibles con las API de inicio para Android y proporcionan funcionalidad adicional más allá de las características estándar en Matter. Para probar un dispositivo con un rasgo de MS, MVD te permite interactuar con los rasgos en la sección llamada Custom Clusters (Clústeres personalizados; consulta la imagen anterior).

Cómo poner en funcionamiento tu dispositivo

El dispositivo se puede comisionar en cuanto se crea.

Existen un par de requisitos previos para la puesta en marcha del dispositivo:

  • Debes tener un proyecto en Google Home Developer Console. Este proyecto debe contener una integración de Matter que tenga la misma combinación de VID/PID que la que usaste para configurar tu dispositivo virtual. Consulta la guía para crear proyectos para obtener más detalles.

  • Debes tener un Google Nest Hub que admita Matter.

  • Debes tener un teléfono Android con Android 8.1 o posterior, con GHA instalado.

  • El teléfono Android debe estar conectado a la misma red Wi-Fi que el concentrador.

  • La máquina host debe estar conectada a la red Wi-Fi.

Para poner en funcionamiento el dispositivo con la GHA, haz clic en QRCode para mostrar el código QR del dispositivo y, luego, sigue las instrucciones que se indican en Cómo vincular un dispositivo Matter, en el que se explica cómo incorporar un dispositivo Matter con la GHA. También puedes habilitar el dispositivo con Google Home Sample App for Matter.

Consulte nuestro Matter Primer para aprender cómo funciona la Matter Puesta en marcha.

Controlar el dispositivo

Después de habilitar un dispositivo virtual, puedes controlarlo con la app de Google Home o Asistente de Google por voz. Tienes varias opciones:

  • Controla el dispositivo a través de GHA o Assistant mientras supervisas los cambios de estado en el dispositivo virtual.
  • Controle el dispositivo usando elSample App for Matter mientras se supervisan los cambios de estado en el dispositivo virtual,o
  • Controla el estado del dispositivo a través de MVD mientras supervisas los cambios de estado en GHA o Assistant.

Prueba con el dispositivo

Para realizar pruebas con Assistant, recomendamos usar un simulador de enunciados como Google Home Extension para VS Code o Google Home Plugin para Android Studio.

Cómo ver los detalles del dispositivo

En la pantalla Detalles del dispositivo, se muestra información detallada del dispositivo:

  • Nombre: Es el nombre descriptivo que se le asignó al dispositivo.
  • Tipo de dispositivo: Es el tipo de dispositivo seleccionado.
  • Discriminator: Es el discriminador del dispositivo actual.
  • ID de proveedor: Es el ID de proveedor del dispositivo actual.
  • ID del producto: Es el ID del producto del dispositivo actual.
  • Puerto RPC: El puerto RPC con el que el dispositivo se comunica con los controladores (GUI).
  • Matter Puerto: Es el puerto que usa el dispositivo actual para comunicarse a través de la red IP.
  • Código de acceso: Es el PIN que se usa para habilitar el dispositivo a través de la red.
  • Carpeta de configuración: Es la carpeta en la que el dispositivo virtual almacena la configuración.
  • Commission Information: Muestra las estructuras a las que se unió el dispositivo y el ID de nodo del dispositivo en la estructura.

Cómo ver los registros del dispositivo

Si ejecutaste MVD desde la terminal, la salida del registro aparece en stdout. También puede ver los registros del dispositivo en la pestaña Registros del dispositivo.

Detener el dispositivo

Para detener y destruir el dispositivo, haz clic en Borrar.

Cómo detener la app

Si cierras la ventana de control, se destruirá el dispositivo y se cerrará la aplicación de MVD. Si la iniciaste desde la terminal, también puedes finalizar la aplicación escribiendo Ctrl-C en la terminal.

Obtener ayuda

Para obtener ayuda con MVD, informar un error o solicitar una nueva función, comunícate con tu contacto de asistencia de Google.

Si haces clic en el botón de ayuda en la esquina superior derecha de la ventana, se te redireccionará a esta página.

Informa un error

Si crees que encontraste un defecto en MVD, puedes registrar un error haciendo clic en el botón Issue que se encuentra en la esquina superior derecha de la ventana.

Enviar comentarios

Para enviar tus opiniones sobre lo que te gusta de MVD o cómo podemos mejorar tu experiencia con la herramienta, completa nuestro formulario de comentarios.

El formulario se puede abrir desde el botón de comentarios en la esquina superior derecha de la ventana, o haciendo clic en el botón de abajo.

Envíanos tus comentarios

También puedes proporcionar comentarios mediante la encuesta que aparece en la parte inferior cuando usas MVD.