Шлюзом можно назвать только сервер владельца навыка "Домовенок Кузя" (alexstar.ru)
Начнем с того что нужен аккаунт на яндексе к которому вы регистрируете устройства умного дома и собственно Яндекс станцию.
Есть приложение Яндекс для телефонов в котором выполняются необходимые привязки Яндекс станции и создание/привязка прочих умных устройств.
Яндекс станция понимает куда отправлять запрос анализируя того что вы сказали.
Если к примеру сказать "Алиса, включи свет"
Первым делом Алиса проверит, зарегистрированы ли для вашего аккаунта какие то умные устройства которые управляются словами "включи свет", если таких нет, то Алиса скажет просто типа "Я еще не умею такого делать, ну или поставит вам песню с таким названием"
Если устройство есть (например вы добавили "лампа" сервиса Домовенок Кузя, в последствии переименовав на сайте alexstart "Лампа" в
"Свет" ) то алиса генерит для такого устройства на основании его типа и имени пару десятков
активационных фраз. Среди которых само собой есть фраза "Включи свет"
Ваша фраза совпала с имеющейся фразой для одного из "виртуальных устройств", значит алиса отправляет команду серверу alexstar.ru данные в которых содержится инфа о пользователе (ваш уникальный id на яндексе идентификатор устройства и его состояние
вкл/выкл/value)
Ресурс alexstar тоже знает Вас как пользователя яндекс и на странице настроек ваших устройств выполняет для устройства
"Свет" пункт меню "
Правило на включение" в котором указано правило созданное вами на этом же сайте ("
Включить свет").
В моем случае это url строка которая формирует GET запрос
http://vyacheslav.ddns.net:6000/svet{value} Соответственно это GET запрос прилетает на мой домашний роутер и по порту 6000 редиректится на контроллер Crestron. Внутри этого Get запрос содержится фраза
svet1 Я парсю её и понимаю что надо включить свет (средствами крестрон).
Устройства можно создавать прямо на сайте alexstar они автоматически появятся в приложении яндекс. Подтверждает Алиса такую команду без тру фидбэка, на основании нескольких вариантов, которые генерит её AI.
Это был вариант который через умные устройства.
Другой базовый вариант (куда более мощный но требует добавлять в общем случае к команде название навыка) это голосовая команда непосредственно через навык "Алиса, попроси домовенка кузю
включить свет"
Алиса, зная свой зарегистрированный разработчиком Alex навык "Домовенок Кузя" перенаправляет вашу голосовую команду на сайт alexstar.ru (в ней есть куча полей согласно API яндекс диалогов), среди полей есть Ваш идентификатор (под которым объединены ваши устройства голосового управления телефон, яндекс станцию, браузер и т.п.) и собственно текст "
включить свет". Ресурс находит нужного пользователя
и в списке его правил находит правило с именем "
включить свет" к которому вы привязали Get запрос вида
http://vyacheslav.ddns.net:6000/{in}{1} Далее он прилетает к вам на роутер и т.д. как описано выше. Кроме GET может быть использована еще куча всяких вариантов на любой вкус и цвет.
Преимущество второго варианта, 1) это несколько регулярных выражений а не только единственное {value} как в первом варианте (в примере {in}{1} ) с помощью которых вы можете дополнять GET запрос. См. на сайте alexstar описание. Вместо {in} в поле GET запроса прилетает та фраза которую вы сказали "включить свет". Вместо {1} прилетает "1" если в вашей фразе было "вкл" и "0" если в фразе было "выкл"
Т.е. на контроллере я получаю "включить свет1"
2)Могу отправить свой ответ для озвучивания или написать его прямо в разделе правила на сайте. Если я отправлю в ответ на GET фразу "Включаю, нет проблем", алиса её озвучивает через колонку Яндекс станции.
3) Я сам полностью придумываю фразу которую потом могу парсить из голосовой команды. С помощью ответов и фраз я даже могу некий диалог реализовать между шлюзом и мной.
Например:
Я: Алиса, попроси домовенка кузю выключить режим охраны
Алиса: Назовите, пароль
Я: Алиса, ээээ 12345
Алиса: Пароль принят, выключаю режим охраны
К сожалению, яндекс не хочет лечить "баг" с невыходом из навыка из браузера и наоборот бодрым выходом из навыка при работе со станцией по тайм ауту. Если бы они оставили выход только по фразе "Алиса, вернись", то можно было бы запустив навык однажды "Алиса, запусти навык Домовенок Кузя", потом говорить команды коротко без префикса как в варианте 1, при этом имея широкий функционал варианта 2. А уж если приперло музычку включить, то выйти из навыка "Алиса, вернись" и потом уже "Алиса, включи радио семь". Т.е. внутри навыка Алиса будет понимать только те команды, которым вы её обучили, на остальное говорить голосом домовенка "Команда не найдена".
Кстати, первый вариант работы через умные устройства ещё хорош еще тем, что не нужно слушать противный голос домовенка Кузи.
Быстрее это все попробовать и все станет понятно. Тем более вы можете поупражняться с голосовым помощником встроенным в Яндекс Браузер, необязательно покупать голосовые устройства Яндекса.
Я описал лишь часть функционала, а там еще тележка плюшек.