Виртуальные устройства Matter полезны для разработки и тестирования решений Matter и могут быть введены в эксплуатацию с помощью Google Home app (GHA) и управляться с помощью GHA и Google Assistant , как и физические устройства Matter .
Для разработчиков приложений и других лиц, которым необходимо протестировать или эмулировать виртуальное устройство Matter , но не хватает ресурсов для создания собственного физического или виртуального устройства Matter , Google предлагает Matter Virtual Device (MVD) . MVD — это лёгкий автономный инструмент для Linux или macOS, который имитирует различные типы виртуальных устройств Matter и предоставляет графический пользовательский интерфейс для управления и отображения состояний виртуального устройства Matter .
В отличие от физического устройства Matter , MVD не использует Bluetooth® Low Energy (BLE) или Thread® для подключения к инфраструктуре Matter . Вместо этого для ввода в эксплуатацию он использует существующее сетевое Wi-Fi-подключение хост-машины Linux или macOS.
По сравнению с другими инструментами
MVD отличается от Virtual Device Controller (VDC) тем, что представляет собой автономное решение, объединяющее виртуальное устройство с пользовательским интерфейсом для управления им. В отличие от него, VDC используется для управления отдельным виртуальным устройством Matter .
MVD содержит несколько различных готовых виртуальных устройств и включает интегрированный пользовательский интерфейс для их запуска и управления.
Поддерживаемые устройства
MVD поддерживает следующие типы устройств Matter :
| Тип устройства Matter | Кластер(ы) приложений | Тип домашней экосистемы | 
|---|---|---|
| Очиститель воздуха |  0x0202 0x0006 0x0071  | Очиститель воздуха | 
| Датчик качества воздуха |  0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042d 0x042e  | Датчик | 
| Базовый видеоплеер |  0x0006 0x0506 0x0509  | Телевидение | 
| Цветовая температура света |  0x0300 0x0008 0x0006  | Свет | 
| Контактный датчик |  0x0045 | Датчик | 
| Регулируемый свет |  0x0008 0x0006  | Свет | 
| Встраиваемый блок с регулируемой яркостью |  0x0006 0x0008  | Выход | 
| Посудомоечная машина |  0x0006 0x0059 0x0056 0x0060  | Посудомоечная машина | 
| Дверной замок |  0x0101 | Замок | 
| Расширенный цветовой свет |  0x0300 0x0008 0x0006  | Свет | 
| Вентилятор |  0x0202 0x0006  | Вентилятор | 
| Датчик расхода |  0x0404 | Датчик | 
| Универсальный коммутатор |  0x003b | Выключатель | 
| Датчик влажности |  0x0405 | Датчик | 
| Стиральная машина |  0x0006 0x0051 0x0053 0x0056 0x0060  | Шайба | 
| Датчик освещенности |  0x0400 | Датчик | 
| Датчик присутствия |  0x0406 | Датчик | 
| Свет вкл/выкл |  0x0008 0x0006  | Свет | 
| Переключатель вкл/выкл света |  0x0006 | Выключатель | 
| Вставной блок вкл/выкл |  0x0008 0x0006  | Выход | 
| Датчик давления |  0x0403 | Датчик | 
| Насос |  0x0006 0x0200 0x0402 0x0403 0x0404  | Насос | 
| Робот-пылесос |  0x0054 0x0055 0x0061  | Вакуум | 
| Кондиционер воздуха в помещении |  0x0006 0x0201 0x0202  | Кондиционер | 
| Детектор дыма и угарного газа |  0x005C |  Детектор Co Детектор дыма  | 
| Датчик температуры |  0x0402 | Датчик | 
| Термостат |  0x0201 | Термостат | 
| Покрытие окон |  0x0102 | Жалюзи | 
Установить МВД
 MVD работает на компьютерах с 64-разрядным процессором x86 под управлением Debian (13 Trixie или выше), Ubuntu (20.04 Noble Numbat или выше) или macOS.
Линукс
Загрузите пакет MVD Debian (.deb)
Загрузите файл сигнатуры armored-ASCII (.asc)
 Затем запустите dpkg для установки пакета MVD Debian (.deb):
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
Загрузите dmg-файл MVD (macOS x86)
Загрузить dmg-файл MVD (ARM64 M1)
 Затем дважды щелкните файл dmg , чтобы открыть окно установки.
 Для завершения установки выберите и перетащите значок mvd в папку Applications : 

Проверьте использование порта
Модуль контроллера в MVD использует TCP-порт 33000 для выполнения RPC-вызовов к виртуальному устройству, поэтому, если этот порт уже используется другим процессом на вашем компьютере, обязательно освободите его.
Чтобы узнать, использует ли какой-либо процесс порт 33000:
Линукс
sudo fuser -v 33000/tcpmacOS
lsof -i:33000Вы можете завершить любой процесс, использующий TCP-порт 33000, с помощью одной команды:
Линукс
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killЗапустить МВД
Линукс
В Linux запустите MVD из папки приложений или из терминала:
mvdmacOS
В macOS используйте Launchpad для открытия MVD или запустите MVD из терминала:
cd /Applicationsopen mvd.app
Настройте свое устройство
При запуске появляется главный экран, позволяющий настроить виртуальное устройство:
- Тип устройства : выберите тип устройства (например, светильник, выключатель, датчик и т. д.).
 - Имя устройства : дайте устройству удобное имя.
 -  Дискриминатор : 12-битное число, используемое для различения нескольких объявлений об устройствах, на которые можно начислять комиссию. (По умолчанию: 
3840). - Порт Matter : порт для настройки и связи Matter через IP-сети. Matter по умолчанию использует порт TCP/UDP 5540, но вы можете настроить виртуальное устройство на использование другого порта, если он не используется другими службами.
 -  ID поставщика : поддерживается только тестовый ID поставщика 
0xFFF1. -  Идентификатор продукта : поддерживаются только идентификаторы тестовых продуктов 
0x8000до0x801F. 

Настройте свой брандмауэр
Линукс
Если на вашем компьютере запущен брандмауэр, отключите его или разрешите входящие TCP/UDP-подключения через порт Matter .
Чтобы просмотреть текущие активные правила брандмауэра Netfilter , выполните:
sudo iptables -L -nЕсли вы используете `ufw`, его можно отключить с помощью:
sudo ufw disableИ его можно снова включить с помощью:
sudo ufw enablemacOS
Чтобы настроить или отключить брандмауэр в macOS:
- Перейдите в меню Apple и выберите Системные настройки .
 - Нажмите «Сеть» в списке боковой панели.
 - Нажмите «Брандмауэр» .
 - Переведите переключатель брандмауэра в положение «Выкл .».
 
Запустите свое устройство
После настройки устройства нажмите «Создать устройство» . После создания устройства откроется экран «Контроллер» . В зависимости от выбранного типа устройства вы можете увидеть один или несколько из следующих элементов управления:
- Вкл./Выкл .: характерно для большинства устройств.
 - Уровень : например, светильник может иметь ползунок уровня для регулировки яркости.
 - Цвет : например, такой элемент управления может быть у цветного источника света.
 - Занятость : Датчик занятости обеспечивает этот контроль, имитируя занятое или незанятое состояние.
 
Все виртуальные устройства имеют следующие элементы управления:
- QRCode : показывает QR-код, используемый для ввода в эксплуатацию.
 - Перезагрузка : перезапускает виртуальное устройство. Устройство на короткое время отключается от сети.
 - Сброс : сброс текущего устройства к заводским настройкам и очистка всех данных, включая ввод в эксплуатацию, текущее состояние элементов управления и т. д.
 - Удалить : уничтожает устройство и возвращает к экрану создания устройства .
 

Характеристики, специфичные для производителя
Специфические для производителя (MS) черты поддерживаются API Home для Android и предоставляют дополнительную функциональность, выходящую за рамки стандартных черт в Matter . Для тестирования устройства с MS-чертой MVD позволяет взаимодействовать с чертами в разделе «Пользовательские кластеры» (см. изображение выше).
Введите ваше устройство в эксплуатацию
Устройство готово к вводу в эксплуатацию сразу после его создания.
Для ввода устройства в эксплуатацию необходимо выполнить несколько предварительных условий:
Вам необходимо создать проект в Google Home Developer Console . Этот проект должен содержать интеграцию Matter с той же комбинацией VID/PID, что и при настройке виртуального устройства. Подробнее см. в руководстве по созданию проекта .
У вас должен быть Google Nest Hub с поддержкой Matter.
У вас должен быть телефон на базе Android 8.1 или более поздней версии с установленным GHA .
Телефон Android должен быть подключен к той же сети Wi-Fi, что и концентратор.
Хост-компьютер должен быть подключен к сети Wi-Fi.
Чтобы подключить устройство с помощью GHA , нажмите кнопку QRCode , чтобы отобразить QR-код устройства, затем следуйте инструкциям в разделе «Подключение устройства Matter , где объясняется, как подключить устройство Matter с помощью GHA . Вы также можете подключить устройство с помощью Google Home Sample App for Matter .
Ознакомьтесь с нашим путеводителем Matter , чтобы узнать, как работает Matter Commissioning.
Управление устройством
После настройки виртуального устройства вы сможете управлять им голосом с помощью приложения Google Home или Google Assistant . Вы можете:
- Управляйте устройством через GHA или Assistant , отслеживая изменения состояния на виртуальном устройстве, или
 - Управляйте устройством с помощью Sample App for Matter , одновременно отслеживая изменения состояния на виртуальном устройстве, или
 - Управляйте состоянием устройства через MVD , одновременно отслеживая изменения состояния в GHA или Assistant .
 
Тест с устройством
Для тестирования с Assistant мы рекомендуем использовать симулятор речевых сообщений, такой как Google Home Extension для VS Code или Google Home Plugin для Android Studio .
Просмотреть сведения об устройстве
На экране сведений об устройстве отображается подробная информация об устройстве:
- Имя: Понятное имя, присвоенное устройству.
 - Тип устройства : выбранный тип устройства.
 - Дискриминатор : Текущий дискриминатор устройства.
 - Идентификатор поставщика : текущий идентификатор поставщика устройства.
 - Идентификатор продукта : идентификатор продукта текущего устройства.
 - Порт RPC : порт RPC, через который устройство взаимодействует с контроллерами (графический интерфейс).
 - Matter Port : порт, используемый текущим устройством для связи через IP-сеть.
 - Пароль : PIN-код, используемый для ввода устройства в эксплуатацию через сеть.
 - Папка конфигурации : папка, в которой виртуальное устройство хранит конфигурацию.
 - Информация о комиссии : показывает структуру(ы), к которым подключено устройство, и идентификатор узла устройства в структуре.
 
Просмотр журналов устройства
 Если MVD запущен из терминала, вывод журнала выводится на stdout . Вы также можете просмотреть журналы устройства на вкладке «Журналы устройства» .
Остановите устройство
Чтобы остановить и уничтожить устройство, нажмите «Удалить» .
Завершить работу приложения
Закрытие окна управления уничтожает устройство и завершает работу приложения MVD . Если приложение запущено из терминала, вы также можете завершить его, нажав Ctrl-C в терминале.
Получить помощь
Чтобы получить помощь с MVD , сообщить об ошибке или запросить новую функцию, обратитесь к своему контактному лицу в службе поддержки Google.
Нажав кнопку « в правом верхнем углу окна, вы перейдете на эту страницу.
Сообщить об ошибке
Если вы считаете, что обнаружили дефект в MVD , вы можете сообщить об ошибке, нажав кнопку Issue в правом верхнем углу окна.
Отправить отзыв
Чтобы поделиться своими мыслями о том, что вам нравится в MVD или как мы можем улучшить ваш опыт использования инструмента, заполните нашу Форму обратной связи.
Форму можно запустить с помощью кнопки обратной связи в правом верхнем углу окна или нажав на кнопку ниже.
Вы также можете оставить отзыв, заполнив опрос, который появляется внизу при использовании MVD .