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

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 Fabric. Вместо этого он использует существующее сетевое соединение 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
Кондиционер
Детектор дыма CO 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)

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

Затем дважды щелкните файл 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 Port : порт для ввода в эксплуатацию и связи 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. Переведите переключатель брандмауэра в положение «Выкл.» .

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

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

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

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

  • QR-код : показывает 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-код устройства, затем следуйте инструкциям в разделе Pair a Matter device , которые объясняют, как подключить устройство Matter с помощью GHA . Вы также можете ввести устройство в эксплуатацию с помощью Google Home Sample App for Matter .

Ознакомьтесь с нашим руководством по Matter Primer , чтобы узнать, как работает 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, через который устройство взаимодействует с контроллерами (GUI).
  • Matter Port : порт, используемый текущим устройством для связи через IP-сеть.
  • Пароль : PIN-код, используемый для ввода устройства в эксплуатацию через сеть.
  • Папка конфигурации : папка, в которой виртуальное устройство хранит конфигурацию.
  • Информация о комиссии : показывает структуру(ы), к которым подключено устройство, и идентификатор узла устройства в структуре.

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

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

Остановите устройство.

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

Завершить работу приложения

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

Получить помощь

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

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

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

Если вы считаете, что обнаружили дефект в MVD , вы можете сообщить об ошибке, нажав кнопку Issue в правом верхнем углу окна.

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

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

Форму можно запустить с помощью кнопки обратной связи в правом верхнем углу окна или нажав кнопку ниже.

Отправьте нам свой отзыв

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