Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку

Умный дом с Алисой от Яндекса

Решил прикрутить к своему умному дому голосовой интерфейс от Яндекса. Мой умный дом — страшный зверинец из разных систем, на разном железе и разном софте.
В нем всё самописное, поэтому открытых дверей ждать не приходится.

Яндекс предполагает работу с нормальными сторонними сервисами, которые не поленились встроить регистрацию пользователей через OAuth. У меня такой нет, поэтому будем использовать яндексовскую же.

  1. Идем на https://oauth.yandex.ru/ и нажимаем зарегистрировать новое приложение.
    Название, описание, иконка — пофигу
    Ссылка на приложение тоже, но я задал путь к скрипту, обрабатывающему запросы яндекса.
    Платформы — веб-сервисы
    Callback URI ставим «https://social.yandex.net/broker/redirect» (это самое главное). Всякие ошибки «redirect_uri не совпадает с Callback URL» — это отсюда.
    Дальше доступы отмечаем
    API Яндекс.Паспорта доступ к электронной почте (может и не надо, но не жалко)
    Умный дом Яндекса ставим обе галочки.
    Сохраняем.
    Теперь у нас есть ID и Пароль.
  1. Идем на Яндекс диалоги https://dialogs.yandex.ru/developer выбираем новый диалог — создать умный дом
    Настройки:
    задаем любое название;
    endpoint url — самое главное — это опять путь к скрипту, который будет общаться с яндексом;
    тип доступа — приватный;
    подзаголовок пофигу что
    имя разработчика также
    описание тоже;
    иконку — любую картинку;
    авторизация — тут сложнее:
    идентификатор — вышеполученный ID
    секрет — вышеполученный Пароль
    URL авторизации — https://oauth.yandex.ru/authorize
    URL получения токена — https://oauth.yandex.ru/token
    обновление не нужно
    идентификатор группы действий (scope) пишем — login:email iot:control iot:view
    это те самые доступы, как они описаны внутри системы. Без этого будем получать ошибку «Не удалось определить список запрашиваемых доступов (invalid_scope)».
    Кстати чтобы их узнать можно пойти по ссылке https://oauth.yandex.ru/client/ID/info где ID — тот самый ID приложения.
    Сохраняем.
  1. Нажимаем «Опубликовать», ошибок быть не должно. Переключаем движок на «Опубликовано» и идем в Тестирование.
    Нажимаем большой плюс, выбираем «Другое устройство». Где то тут оно пробросит нас на авторизацию OAuth попросит разрешения предоставить данные и добавит умный дом в список производителей.
  1. Теперь идем в свой скрипт и начинаем прописывать устройства и их реакции.
    Тут придется сначала изучить https://yandex.ru/dev/dialogs/alice/doc/smart-home/about.html
 331   2021   alice   smarthome   yandex   умный дом