Виртуальное устройство материи

Matter ; Домашние API

Виртуальные устройства 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 , поддерживаемые MVD
Тип устройства 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
Детектор CO2
Детектор дыма
Датчик температуры 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.deb

macOS

Загрузите dmg-файл MVD (macOS x86)

Загрузить dmg-файл MVD (ARM64 M1)

Затем дважды щелкните файл dmg , чтобы открыть окно установки.

Для завершения установки выберите и перетащите значок mvd в папку Applications :

установка macOS

Проверьте использование порта

Модуль контроллера в MVD использует TCP-порт 33000 для выполнения RPC-вызовов к виртуальному устройству, поэтому, если этот порт уже используется другим процессом на вашем компьютере, обязательно освободите его.

Чтобы узнать, использует ли какой-либо процесс порт 33000:

Линукс

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Вы можете завершить любой процесс, использующий TCP-порт 33000, с помощью одной команды:

Линукс

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Запустить МВД

Линукс

В Linux запустите MVD из папки приложений или из терминала:

mvd

macOS

В macOS используйте Launchpad для открытия MVD или запустите MVD из терминала:

cd /Applications
open 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 enable

macOS

Чтобы настроить или отключить брандмауэр в macOS:

  1. Перейдите в меню Apple и выберите Системные настройки .
  2. Нажмите «Сеть» в списке боковой панели.
  3. Нажмите «Брандмауэр» .
  4. Переведите переключатель брандмауэра в положение «Выкл.» .

Запустите свое устройство

После настройки устройства нажмите «Создать устройство» . После создания устройства откроется экран «Контроллер» . В зависимости от выбранного типа устройства вы можете увидеть один или несколько из следующих элементов управления:

  • Вкл./Выкл .: характерно для большинства устройств.
  • Уровень : например, светильник может иметь ползунок уровня для регулировки яркости.
  • Цвет : например, такой элемент управления может быть у цветного источника света.
  • Занятость : Датчик занятости обеспечивает этот контроль, имитируя занятое или незанятое состояние.

Все виртуальные устройства имеют следующие элементы управления:

  • 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 .