Добавьте устройство в голосовые помощники.

Для того чтобы Alexa, Google Home или Yandex распознали новый тип устройства, недостаточно просто добавить его в адаптер. Тип должен быть известен в четырех местах, и порядок этого определения имеет значение:

  1. Добавьте роли, если существующих недостаточно.
  2. Расширьте детектор типов , включив в него устройство.
  3. Добавьте устройство в iobroker.devices , чтобы его можно было добавить и протестировать там.
  4. Передайте управление устройством через IoT-адаптер в Alexa, Google и т.д.

1. Роли

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

Также полезно рассмотреть уже существующее устройство в виде адаптера, которое уже воспроизводит ту же функциональность.

Пример: Кондиционирование воздуха. Три поставщика описывают его с разной степенью детализации:

В Яндексе представлена наиболее полная картина состояний, поэтому это наиболее разумная основа. В ходе сравнения было замечено, что роли для режима термостата и положения поворота еще не были задокументированы; теперь они перечислены в разделе «Роли состояний» . Другие состояния, такие как мощность и заданная температура, уже существовали.

2. Детектор типов

После определения роли следующим шагом является определение типа . Новый тип устройства добавляется в глобальный список и получает запись в...patterns классChannelDetector Одна запись; самый простой способ сделать это — использовать аналогичное устройство в качестве шаблона.

Эффективность распознавания определяется двумя факторами:

  • Набор ролей должен быть однозначным. В случае с системами кондиционирования воздуха это...level.temperature иlevel.mode.thermostat , оба какrequired Отмечены. Детектор распознает их по этой паре.
  • Порядок имеет значение. Самые сложные устройства находятся в начале списка и тестируются первыми, более простые — последними. В противном случае, более общий шаблон запустит тест раньше, чем более специфический.

После этого будет выпущена новая версия пакета npm.iobroker.type-detector опубликовано.

3. iobroker.devices

В настройках устройства адаптера обновляется версия детектора типов, и список символов расширяется, чтобы включить новый тип. Для этого также требуется новая версия.

Это позволяет создавать и тестировать устройство в разделе управления адаптером без необходимости использования какого-либо реального оборудования.

4. С ассистентом

Наконец, IoT-адаптер должен передать информацию о новом типе устройства в Alexa, Google Assistant или Yandex. Только после этого устройство появится в базе данных ассистента.

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