Dispositivo virtual Matter

Matter ; APIs Home

Os dispositivos virtuais do Matter são úteis para desenvolver e testar soluções do Matter. Eles podem ser comissionados usando o Google Home app (GHA) e controlados usando o GHA e o Google Assistant, assim como os dispositivos físicos do Matter.

Para desenvolvedores de apps e outras pessoas que precisam testar ou emular um dispositivo virtual Matter, mas não têm os recursos para criar o próprio dispositivo físico ou virtual Matter, o Google oferece o Matter Virtual Device (MVD). O MVD é uma ferramenta de computador leve e independente para Linux ou macOS que simula diferentes tipos de dispositivos Matter virtuais e oferece uma interface gráfica do usuário para controlar e mostrar os estados do dispositivo Matter virtual.

Ao contrário de um dispositivo Matter físico, o MVD não depende do Bluetooth® de baixa energia (BLE) ou do Thread® para se conectar a uma estrutura do Matter. Em vez disso, ele usa a conexão de rede Wi-Fi da máquina host Linux ou macOS para o comissionamento.

Em comparação com outras ferramentas

O MVD é diferente do Virtual Device Controller (VDC) porque é uma solução independente, que combina um dispositivo virtual com uma interface para controlá-lo. Por outro lado, o VDC é usado para controlar um dispositivo virtual Matter separado.

O MVD contém vários dispositivos virtuais pré-criados e inclui uma interface integrada para executá-los e controlá-los.

Dispositivos compatíveis

O MVD é compatível com os seguintes tipos de dispositivo Matter:

Tabela: tipos de dispositivo Matter compatíveis com MVD
Matter Tipo de dispositivo Clusters de aplicativos Tipo de ecossistema doméstico
Purificador de ar 0x0202
0x0006
0x0071
0x0072
Purificador de ar
Sensor de qualidade do ar 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
Sensor
Player de vídeo básico 0x0006
0x0506
0x0509
Televisão
Luz de temperatura da cor 0x0300
0x0008
0x0006
Leve
Sensor de contato 0x0045
Sensor
Luz com dimmer 0x0008
0x0006
Leve
Unidade de plug-in com dimmer 0x0006
0x0008
Outlet
Lava-louças 0x0006
0x0059
0x0056
0x0060
Lava-louças
Fechadura de porta 0x0101
Bloquear
Luz colorida estendida 0x0300
0x0008
0x0006
Leve
Ventilador 0x0202
0x0006
Ventilação
Sensor de fluxo 0x0404
Sensor
Interruptor genérico 0x003b
Switch
Sensor de umidade 0x0405
Sensor
Máquina de lavar roupa 0x0006
0x0051
0x0053
0x0056
0x0060
Máquina de lavar
Sensor de luz 0x0400
Sensor
Sensor de presença 0x0406
Sensor
Luz de ativação/desativação 0x0008
0x0006
Leve
Interruptor de luz liga/desliga 0x0006
Switch
Unidade de plug-in liga/desliga 0x0008
0x0006
Outlet
Sensor de pressão 0x0403
Sensor
Bomba 0x0006
0x0200
0x0402
0x0403
0x0404
Bomba
Robô aspirador de pó 0x0054
0x0055
0x0061
Aspirador de pó
Ar-condicionado de janela 0x0006
0x0201
0x0202
Ar-condicionado
Alarme de fumaça e CO 0x005C
Detector de monóxido de carbono
Detector de fumaça
Sensor de temperatura 0x0402
Sensor
Termostato 0x0201
Termostato
Cobertura de janela 0x0102
Persianas

Instalar o MVD

O MVD é executado em máquinas com processador x86 de 64 bits que executam o Debian (13 Trixie ou mais recente), o Ubuntu (20.04 Noble Numbat ou mais recente) ou o macOS.

Linux

Faça o download do pacote Debian (.deb) do MVD

Faça o download do arquivo de assinatura ASCII blindado (.asc)

Em seguida, execute dpkg para instalar o pacote Debian (.deb) MVD:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Baixar o arquivo dmg do MVD (macOS x86)

Baixe o arquivo dmg do MVD (ARM64 M1)

Em seguida, clique duas vezes no arquivo dmg para abrir a janela de instalação.

Para concluir a instalação, selecione e arraste o ícone mvd para a pasta Applications:

Instalação no macOS

Verificar o uso da porta

O módulo do controlador em MVD usa a porta TCP 33000 para fazer chamadas RPC para o dispositivo virtual. Portanto, se essa porta já estiver sendo usada por outro processo no computador, libere-a.

Para ver se algum processo está usando a porta 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

É possível encerrar qualquer processo que use a porta TCP 33000 com um único comando:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Executar MVD

Linux

No Linux, execute MVD na pasta de aplicativos ou no terminal:

mvd

macOS

No macOS, use o Launchpad para abrir o MVD ou execute MVD no terminal:

cd /Applications
open mvd.app

Configurar o dispositivo

A tela principal aparece na inicialização e permite configurar um dispositivo virtual:

  • Tipo de dispositivo: selecione o tipo de dispositivo (por exemplo, luz, interruptor, sensor e assim por diante).
  • Nome do dispositivo: dê um nome fácil de usar ao dispositivo.
  • Discriminador: um número de 12 bits usado para discernir entre vários anúncios de dispositivos comissionáveis. (Padrão: 3840).
  • Porta Matter: uma porta para comissionamento e comunicação do Matter por redes IP. O Matter usa a porta TCP/UDP 5540 por padrão, mas é possível configurar o dispositivo virtual para usar uma porta diferente, desde que nenhum outro serviço a esteja usando.
  • ID do fornecedor: somente o ID do fornecedor de teste 0xFFF1 é aceito.
  • ID do produto: somente os IDs de produto de teste de 0x8000 a 0x801F são aceitos.

Tela de configuração do dispositivo virtual

Configurar seu firewall

Linux

Se você tiver um firewall em execução no computador, desligue-o ou permita conexões TCP/UDP de entrada na porta Matter.

Para ver as regras de firewall do netfilter ativas, execute:

sudo iptables -L -n

Se você estiver usando o `ufw`, ele poderá ser desativado com:

sudo ufw disable

E pode ser reativado com:

sudo ufw enable

macOS

Para configurar ou desativar o firewall no macOS:

  1. Acesse o menu Apple  e escolha Ajustes do Sistema.
  2. Clique em Rede na lista da barra lateral.
  3. Clique em Firewall.
  4. Mude a chave do Firewall para a posição Desativado.

Executar o dispositivo

Depois que o dispositivo estiver configurado, clique em Create device. Quando o dispositivo é criado, a tela Controller é exibida. Dependendo do tipo de dispositivo selecionado, você verá um ou mais dos seguintes controles:

  • Ativar/desativar: comum à maioria dos dispositivos.
  • Nível: por exemplo, uma luz pode ter um controle deslizante de nível para ajustar o brilho.
  • Cor: por exemplo, uma luz colorida pode ter esse controle.
  • Presença: o sensor de presença oferece esse controle para simular o estado ocupado ou desocupado.

Todos os dispositivos virtuais têm os seguintes controles:

  • QRCode: mostra o QR code usado para comissionamento.
  • Reboot: reinicia o dispositivo virtual. O dispositivo é desconectado da rede por um breve período.
  • Redefinir: redefine o dispositivo atual para a configuração original e limpa todo o estado, incluindo o comissionamento, o estado atual dos controles etc.
  • Delete: destrói o dispositivo e retorna à tela Create device.

Tela de controle do dispositivo
virtual

Atributos específicos do fabricante

As características específicas do fabricante (MS, na sigla em inglês) são compatíveis com as APIs Home para Android e oferecem funcionalidades adicionais além das características padrão em Matter. Para testar um dispositivo com um atributo MS, o MVD permite interagir com os atributos na seção chamada Clusters personalizados (consulte a imagem acima).

Comissionar o dispositivo

O dispositivo pode ser comissionado assim que é criado.

Há alguns pré-requisitos para o comissionamento do dispositivo:

  • Você precisa ter um projeto no Google Home Developer Console. Esse projeto precisa conter uma integração do Matter que tenha a mesma combinação de VID/PID usada na configuração do dispositivo virtual. Consulte o guia de criação de projetos para mais detalhes.

  • Você precisa ter um Google Nest Hub compatível com o Matter.

  • Você precisa ter um smartphone com o Android 8.1 ou mais recente e o GHA instalado.

  • O smartphone Android precisa estar conectado à mesma rede Wi-Fi que o hub.

  • A máquina host precisa estar conectada à rede Wi-Fi.

Para comissionar o dispositivo usando o GHA, clique em QRCode para mostrar o QR code do dispositivo e siga as instruções em Parear um dispositivo Matter, que explicam como integrar um dispositivo Matter usando o GHA. Também é possível comissionar o dispositivo usando o Google Home Sample App for Matter.

Consulte nosso Primer do Matter para saber como funciona o comissionamento do Matter.

Controlar o dispositivo

Depois de comissionar um dispositivo virtual, você pode controlá-lo usando o app Google Home ou o Google Assistente por voz. Você pode fazer o seguinte:

  • Controlar o dispositivo por meio de GHA ou Assistant enquanto monitora as mudanças de estado no dispositivo virtual ou
  • Controlar o dispositivo usando o Sample App for Matter enquanto monitora as mudanças de estado no dispositivo virtual ou
  • Controlar o estado do dispositivo pelo próprio MVD enquanto monitora as mudanças de estado em GHA ou Assistant.

Testar com o dispositivo

Para testar com Assistant, recomendamos usar um simulador de comandos, como a Extensão do Google Home para VS Code ou o Plug-in do Google Home para Android Studio.

Ver detalhes do dispositivo

A tela Detalhes do dispositivo mostra informações detalhadas sobre o dispositivo:

  • Nome:o nome amigável dado ao dispositivo.
  • Tipo de dispositivo: o tipo de dispositivo selecionado.
  • Discriminador: o discriminador do dispositivo atual.
  • ID do fornecedor: o ID do fornecedor do dispositivo atual.
  • ID do produto: o ID do produto do dispositivo atual.
  • Porta RPC: a porta RPC que o dispositivo usa para se comunicar com os controladores (GUI).
  • Porta Matter: a porta usada pelo dispositivo atual para se comunicar pela rede IP.
  • Senha: o PIN usado para comissionar o dispositivo pela rede.
  • Configuration Folder: a pasta em que o dispositivo virtual armazena a configuração.
  • Informações de comissionamento: mostra os fabrics em que o dispositivo entrou e o ID do nó do dispositivo no fabric.

Ver registros do dispositivo

Se você iniciou o MVD no terminal, a saída do registro vai aparecer em stdout. Também é possível conferir os registros do dispositivo na guia Registros do dispositivo.

Parar o dispositivo

Para interromper e destruir o dispositivo, clique em Delete.

Encerrar o app

Fechar a janela de controle destrói o dispositivo e encerra o aplicativo MVD. Se você iniciou o aplicativo pelo terminal, também pode encerrá-lo digitando Ctrl-C no terminal.

Ajuda

Para receber ajuda com o MVD, informar um bug ou solicitar um novo recurso, entre em contato com o suporte do Google.

Clique no botão de ajuda no canto superior direito da janela para acessar esta página.

Informar um bug

Se você achar que encontrou um defeito no MVD, registre um bug clicando no botão de problema no canto superior direito da janela.

Enviar feedback

Para enviar sua opinião sobre o que você gosta no MVD ou como podemos melhorar sua experiência com a ferramenta, preencha nosso formulário de feedback.

O formulário pode ser iniciado pelo botão de feedback no canto superior direito da janela ou clicando no botão abaixo.

Envie seu feedback

Você também pode enviar feedback com a pesquisa que aparece na parte de baixo quando você usa o MVD.