В качестве примера будет рассмотрено добавление тестового навыка (приватного) на платформу УД Яндекс. Такой навык не будет отображаться в списке доступных по умолчанию производителей при добавлении через мобильное приложение УД Яндекс.

Платформа должна иметь домен с действительным SSL-сертификатом.

При необходимости вы можете обратиться к официальной документации Яндекс.

1. Перейдите на страницу Яндекс.Диалоги и нажмите кнопку Создать навык. Далее авторизуйтесь на платформе Яндекс.

2. На странице Яндекс.Диалоги нажмите кнопку Создать диалог.

3. Выберите тип диалога Умный ДомОткроется страница создания нового диалога.

4. Во вкладке Связка аккаунтов заполните обязательные поля, а также поле URL для обновления токена в соответствии с таблицей, приведенной ниже:

Жирным шрифтом выделены параметры, значения которых необходимо задать, учитывая ваши индивидуальные требования.

ПараметрТребуемое значениеОписание
Идентификатор приложенияЛюбоеИдентификатор приложения задается тем, кто настраивает интеграцию.
Допускается указание любого уникального значения (не совпадающего с Client ID других интеграций).
Секрет приложенияЛюбоеСекрет приложения задается тем, кто настраивает интеграцию.
Допускается указание любого значения.
URL авторизации

https://domain.name:port/api/v1/oauth2/authorize

где domain.name — доменное имя сервера платформы умного дома (файл vars/default.yml, параметр iot.serverName);

      port — HTTPS-порт (файл vars/default.yml, параметр iot.web.httpsPort).

По данному URL УД Яндекс будет выполнять перенаправление пользователей для входа в аккаунт на платформе умного дома ELIS.
URL для получения токена

https://domain.name:port/api/v1/oauth2/token

где domain.name — доменное имя сервера платформы умного дома (файл vars/default.yml, параметр iot.serverName);

      port — HTTPS-порт (файл vars/default.yml, параметр iot.web.httpsPort).

По данному URL УД Яндекс будет выполнять получение токена для доступа к платформе умного дома от имени привязанного пользователя.
URL для обновления токена

https://domain.name:port/api/v1/oauth2/token

где domain.name — доменное имя сервера платформы умного дома (файл vars/default.yml, параметр iot.serverName);

      port — HTTPS-порт (файл vars/default.yml, параметр iot.web.httpsPort).

По данному URL УД Яндекс будет выполнять обновление токена для доступа к платформе умного дома от имени привязанного пользователя.

5. После сохранения настроек во вкладке Связка аккаунтов перейдите во вкладку Настройки. Заполните все обязательные поля и выставьте для параметра Тип доступа режим Приватный. В поле Backend введите адрес, на который будут отправляться запросы. Формат ввода:

https://domain.name:port/api/v1/yandex

где domain.name — доменное имя сервера платформы умного дома (файл vars/default.yml, параметр iot.serverName);

       port — HTTPS-порт (файл vars/default.yml, параметр iot.web.httpsPort).

6. После сохранения настроек нажмите кнопку Опубликовать навык во вкладке Настройки и убедитесь, что под именем диалога статус изменился на «Диалог опубликован».

7. Получите на вкладке «Общие сведения» Идентификатор диалога и сохраните его для выполнения шага 9.

8. Пройдите по данной ссылке и авторизуйтесь при помощи того же аккаунта, от имени которого создавался навык в шаге 1, для получения OAuth-токена для отправки уведомлений и сохраните его для выполнения шага 9.

Полученный токен должен иметь следующий вид: y0_*******************************************************

9. Отредактируйте конфигурационный файл /etc/ansible-iot/latest/vars/default.yml в соответствии с таблицей, приведенной ниже:

default.yml
# Параметры установки платформы.
iot:
  # Параметры authorization server.
  authorization:
    skills:
      # Параметры навыка Яндекс для интеграции с Умным домом (Алисой). Отображается в карточке навыка.
      yandex:
        enabled: false
        # Параметры для Basic Authentication.
        clientId: "YandexClientIdChangeMe"
        password: "PasswordChangeMe"
        # Id навыка, который необходимо указывать при отправке уведомлений.
        skillId: ""
        # OAuth-токен, который необходимо указывать при отправке уведомлений.
        oauthToken: ""

Жирным шрифтом выделены параметры, значения которых необходимо задать, опираясь на столбец "Значение по умолчанию", с учетом ваших индивидуальных требований, а также данных из предыдущих шагов документа.

ПараметрЗначение по умолчаниюТребуемое значениеОписание

iot.authorization.skills.yandex.enabled

false

true

Включение возможности интеграции с УД Яндекс.

iot.authorization.skills.yandex.clientId

"YandexClientIdChangeMe"

Идентификатор приложения, указанный при создании навыка в шаге 4

Идентификатор приложения, использующийся для определения интеграции, отправившей запрос на авторизацию.
Данный идентификатор не должен совпадать с Client ID других интеграций (УД ВК, УД Сбер).

iot.authorization.skills.yandex.password

"PasswordChangeMe"

Секрет приложения, указанный при создании навыка в шаге 4

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

iot.authorization.skills.yandex.skillId

""

Идентификатор диалога, полученный в шаге 7

Идентификатор диалога, использующийся для отправки уведомлений УД Яндекс от имени созданного навыка.

iot.authorization.skills.yandex.oauthToken

""

OAuth-токен для отправки уведомлений, полученный в шаге 8

OAuth-токен, использующийся для отправки уведомлений в УД Яндекс от имени созданного навыка.

Для более подробного описания процедуры публикации навыка УД Яндекс рекомендуется обратиться к официальной документации УД Яндекс.


  • Нет меток