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

Matter ; Home 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® с низким энергопотреблением (BLE) или Thread® для подключения к сети Matter. Вместо этого для ввода в эксплуатацию используется существующее подключение к сети Wi-Fi хост-машины Linux или macOS.

По сравнению с другими инструментами

MVD отличается от Virtual Device Controller (VDC) тем, что это автономное решение, сочетающее виртуальное устройство с пользовательским интерфейсом для управления им. В отличие от него, VDC используется для управления отдельным виртуальным устройством Matter.

В MVD есть несколько встроенных виртуальных устройств и интегрированный интерфейс для их запуска и управления.

Поддерживаемые устройства

MVD поддерживает следующие типы устройств Matter:

Таблица. Типы устройств, поддерживаемые в Matter (MVD)
Matter Тип устройства Кластеры приложений Тип экосистемы умного дома
Очиститель воздуха 0x0202
0x0006
0x0071
0x0072
Очиститель воздуха
Датчик качества воздуха 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
Датчик
Базовый видеопроигрыватель 0x0006
0x0506
0x0509
Телевидение
Цветовая температура (свет) 0x0300
0x0008
0x0006
Светлая
Датчик контакта 0x0045
Датчик
Светильник с регулируемой яркостью 0x0008
0x0006
Светлая
Подключаемый блок с регулируемой яркостью 0x0006
0x0008
Outlet
Посудомоечная машина 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
Outlet
Датчик давления 0x0403
Датчик
Насос 0x0006
0x0200
0x0402
0x0403
0x0404
Насос
Робот-пылесос 0x0054
0x0055
0x0061
Пылесос
Комнатный кондиционер 0x0006
0x0201
0x0202
Кондиционер
Датчик дыма и угарного газа 0x005C
Детектор угарного газа
Детектор дыма
Датчик температуры 0x0402
Датчик
Термостат 0x0201
Термостат
Оконные покрытия 0x0102
Жалюзи

Установите MVD

MVD работает на компьютерах с 64-разрядными процессорами x86 под управлением Debian (13 Trixie или более поздней версии), Ubuntu (20.04 Noble Numbat или более поздней версии) или macOS.

Linux

Скачать пакет Debian (.deb) для виртуального устройства Matter

Скачать файл подписи в формате ASCII (.asc)

Затем выполните команду dpkg, чтобы установить пакет Debian (.deb) MVD:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Скачать DMG-файл MVD (macOS x86)

Скачать DMG-файл виртуального устройства Matter (ARM64 M1)

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

Чтобы завершить установку, перетащите значок mvd в папку Applications.

Установка на macOS

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

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

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

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

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

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Запустите MVD

Linux

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

mvd

macOS

На устройстве с macOS откройте MVD с помощью Launchpad или запустите MVD из терминала:

cd /Applications
open mvd.app

Настройте устройство

После запуска откроется главный экран, на котором можно настроить виртуальное устройство.

  • Тип устройства. Выберите тип устройства, например "Светильник", "Выключатель", "Датчик" и т. д.
  • Название устройства: Укажите удобное для пользователя название устройства.
  • Дискриминатор. 12-битное число, которое позволяет различать объявления нескольких устройств, доступных для ввода в эксплуатацию. Значение по умолчанию: 3840.
  • Порт Matter – порт для ввода в эксплуатацию и связи через IP-сети.Matter По умолчанию Matter использует порт TCP/UDP 5540, но вы можете настроить виртуальное устройство на использование другого порта, если его не использует другой сервис.
  • Идентификатор поставщика. Поддерживается только тестовый идентификатор поставщика 0xFFF1.
  • Идентификатор товара. Поддерживаются только тестовые идентификаторы товаров от 0x8000 до 0x801F.

Экран Virtual Device configuration (Конфигурация виртуального устройства)

Настройте брандмауэр

Linux

Если на вашем компьютере работает брандмауэр, отключите его или разрешите входящие подключения TCP/UDP через порт Matter.

Чтобы посмотреть текущие активные правила брандмауэра netfilter, выполните следующую команду:

sudo iptables -L -n

Если вы используете `ufw`, его можно отключить с помощью следующей команды:

sudo ufw disable

Чтобы снова включить его, используйте следующую команду:

sudo ufw enable

macOS

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

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

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

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

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

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

  • QRCode – QR-код, используемый для ввода в эксплуатацию.
  • Перезагрузить. Перезапуск виртуального устройства. Устройство ненадолго отключается от сети.
  • Сбросить. Сброс настроек текущего устройства и удаление всех данных, включая сведения о вводе в эксплуатацию, текущем состоянии элементов управления и т. д.
  • Удалить. Устройство будет удалено, и вы вернетесь на экран Создать устройство.

Экран управления виртуальным устройством

Свойства, зависящие от производителя

Функции, заданные производителем, поддерживаются Home API для Android и предоставляют дополнительные возможности помимо стандартных функций в Matter. Чтобы протестировать устройство с функцией MS, MVD позволяет взаимодействовать с функциями в разделе Custom Clusters (Пользовательские кластеры) (см. изображение выше).

Как ввести устройство в эксплуатацию

Устройство можно ввести в эксплуатацию сразу после создания.

Для ввода устройства в эксплуатацию необходимо выполнить несколько условий:

  • У вас должен быть проект в 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 руководством.

Управление устройством

После ввода виртуального устройства в эксплуатацию вы можете управлять им с помощью приложения Google Home или голосовых команд Google Ассистента. Вы можете:

  • Управляйте устройством через GHA или Assistant, отслеживая изменения состояния на виртуальном устройстве.
  • Управляйте устройством с помощью Sample App for Matter и отслеживайте изменения состояния на виртуальном устройстве.
  • Управляйте состоянием устройства через MVD и отслеживайте изменения в GHA или Assistant.

Тестирование на устройстве

Чтобы протестировать Assistant, рекомендуем использовать симулятор высказываний, например расширение Google Home для VS Code или плагин Google Home для Android Studio.

Как посмотреть информацию об устройстве

На экране Информация об устройстве показаны подробные сведения об устройстве:

  • Название. Понятное название, присвоенное устройству.
  • Тип устройства. Выбранный тип устройства.
  • Дискриминатор. Дискриминатор текущего устройства.
  • Идентификатор поставщика. Идентификатор поставщика устройства.
  • Идентификатор товара. Идентификатор товара текущего устройства.
  • RPC Port (Порт RPC). Порт RPC, через который устройство обменивается данными с контроллерами (графическим интерфейсом пользователя).
  • Порт Matter – порт, используемый текущим устройством для связи по IP-сети.
  • Код доступа. PIN-код, используемый для ввода устройства в эксплуатацию через сеть.
  • Папка конфигурации. Папка, в которой виртуальное устройство хранит конфигурацию.
  • Информация о комиссии. Показывает сети, к которым подключено устройство, и идентификатор узла устройства в сети.

Просмотр журналов устройства

Если вы запустили MVD из терминала, выходные данные журнала появятся в stdout. Журналы устройства также можно посмотреть на вкладке Журналы устройства.

Остановить устройство

Чтобы остановить и удалить устройство, нажмите Удалить.

Закрыть приложение

Закрытие окна управления уничтожает устройство и завершает работу приложения MVD. Если вы запустили приложение из терминала, вы также можете завершить его работу, нажав Ctrl + C в терминале.

Справка

Чтобы получить помощь по работе с MVD, сообщить об ошибке или запросить новую функцию, обратитесь в службу поддержки Google.

Нажав на значок справки в правом верхнем углу окна, вы перейдете на эту страницу.

Сообщить об ошибке

Если вы обнаружили ошибку в MVD, сообщите о ней, нажав кнопку Issue (Проблема) в правом верхнем углу окна.

Отправить отзыв

Чтобы поделиться своим мнением о том, что вам нравится в MVD или как мы можем улучшить инструмент, заполните форму обратной связи.

Чтобы открыть форму, нажмите кнопку "Отзыв" в правом верхнем углу окна или кнопку ниже.

Отправить отзыв

Вы также можете оставить отзыв в опросе, который появляется внизу экрана при использовании MVD.