Добавьте устройство в голосовые помощники.
Для того чтобы Alexa, Google Home или Yandex распознали новый тип устройства, недостаточно просто добавить его в адаптер. Тип должен быть известен в четырех местах, и порядок этого определения имеет значение:
- Добавьте роли, если существующих недостаточно.
- Расширьте детектор типов , включив в него устройство.
- Добавьте устройство в iobroker.devices , чтобы его можно было добавить и протестировать там.
- Передайте управление устройством через 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. Только после этого устройство появится в базе данных ассистента.
Последовательность не может быть сокращена. Устройство, которое не распознается детектором типов, не достигнет помощников, даже если присутствуют все состояния.