skysilver

<<< Back

MajorDoMo и Яндекс Алиса. Модуль Yandex Home.

Часть 5. О модуле Yandex Home.

ya_mdm_ch5_startlogo

Оглавление

Модуль Yandex Home предназначен для поддержки личных (приватных) навыков для платформы умного дома Яндекс. Модуль реализует авторизационный сервис на основе стандарта OAuth 2.0 и Provider Adapter API - промежуточный API, который принимает на вход запросы в формате платформы умного дома Яндекс и преобразует их в запросы к API MajorDoMo.

Для успешного функционирования модуля и управления устройствами, подключенными к MajorDoMo, через ассистента Яндекс Алиса требуется, в первую очередь, опубликовать обработчики запросов (конечные точки, вебхуки) в сеть Интернет и обеспечить тем самым их доступность со стороны облака Яндекс по доменному имени (DNS) и протоколу HTTPS. Во вторую очередь, необходимо в консоли разработчика платформы Яндекс Диалогов создать, настроить и опубликовать приватный навык специальной категории Умный дом.

В модуле Yandex Home все обработчики запросов реализованы в виде отдельных файлов: authorize.php, token.php и smarthome.php, и размещаются в директории /modules/yandexhome.

# Назначение вебхука URL вебхука Пример опубликованной ссылки
1 URL авторизации /modules/yandexhome/authorize.php https://majordomo.keenetic.pro:8443/modules/yandexhome/authorize.php
2 URL для получения и обновления токена /modules/yandexhome/token.php https://majordomo.keenetic.pro:8443/modules/yandexhome/token.php
3 URL обработчика навыка /modules/yandexhome/smarthome.php https://majordomo.keenetic.pro:8443/modules/yandexhome/token.php

В конечном итоге запуск модуля сводится к такой последовательности шагов:

  1. Установка модуля из маркета дополнений.
  2. Настройка модуля.
  3. Публикация обработчиков запросов.
  4. Регистрация приватного навыка.
  5. Объединение аккаунтов в приложении Яндекс.
  6. Добавление и управление устройствами в модуле.

Установка модуля

Чтобы установить модуль, нужно в Панели управления MajorDoMo перейти в раздел Система и открыть Маркет дополнений. Модуль находится в категории Взаимодействие. Открываем эту вкладку и ищем в списке строку с модулем. Для установки нажимаем кнопку Добавить.

ch5_001

Процесс установки отобразится в виде лога. После успешной установки система перенаправит обратно на страницу Маркета дополнений, а в разделе Устройства Панели управления появится новый пункт с модулем Yandex Home.

ch5_002


Настройка модуля

Настройка модуля заключается в генерации значений OAuth2 ID и OAuth2 KEY с помощью соответствующей кнопки, а также ввод произвольных логина и пароля пользователя, которые впоследствии будут запрошены в ходе объединения аккаунтов в приложении Яндекс.

ch5_003

На ранних этапах использования модуля рекомендуется включить ведение логов событий - Отладка DebMes.

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


Публикация обработчиков запросов

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


Регистрация приватного навыка

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


Объединение аккаунтов в приложении Яндекс

Данный вопрос подробно рассмотрен в статье MajorDoMo и Яндекс Алиса. Объединение аккаунтов.


Добавление и управление устройствами в модуле

Модуль реализует классическую концепцию MajorDoMo для взаимодействия с пользователем через метрики и привязанные к ним свойства объекта. К метрикам (умениям) привязываются уже существующие объекты и свойства, через которые реализовано управление устройствами. К каждому умению устройства можно привязать свое свойство объекта.

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

ch5_004

Дальнейшее конфигурирование выполняется на странице редактирования (настройки) устройства.

ch5_005

ch5_006

Обязательные для заполнения поля устройства:

  1. Название.
  2. Тип.
  3. Местоположение.
  4. Умения.

У каждого устройства должно быть указано минимум одно умение.

Не обязательные для заполнения поля устройства:

  1. Описание.
  2. Производитель.
  3. Модель.
  4. Версия программного обеспечения (ПО).
  5. Версия аппаратного обеспечения (АО).

ch5_007

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

ch5_008

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

ch5_009

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


Поддерживаемые умения

(по состоянию на июнь 2019 года)

# Метрика (умение) Описание Значения в модуле Значения от Яндекс
1 on Включить/выключить (1 - включено, 0 выключено). 1 и 0 true и false
2 brightness Яркость (проценты). 1 - 100 1 - 100
3 rgb Цвет в формате RGB (hex). 000000 - FFFFFF 0 - 16777215
4 temperature_k Температура цвета (кельвины). 2700 - 9000 2700 - 9000

Требования

  1. Публичный (глобальный, белый) IP-адрес, выдаваемый интернет-провайдером.
  2. Доменное имя (DNS), привязанное к публичному IP-адресу.
  3. Валидный SSL-сертификат на DNS-имя.
  4. Опубликованные в Интернет обработчики запросов.
  5. Зарегистрированный и опубликованный приватный навык категории Умный дом.
  6. Активное PHP-расширение pdo_mysql.

Дополнительная информация и ссылки

  • Обсуждение модуля на Форуме
  • Исходный код модуля на Github
  • Модуль в Connect

Поддержать разработку и развитие модуля


Discuss (2) (8)

See also:
2019-06-06 MajorDoMo и Яндекс Алиса. Объединение аккаунтов.
2019-06-05 MajorDoMo и Яндекс Алиса. Регистрация приватного навыка.
2019-06-03 Загрузка PHP-расширения PDO MySQL в Windows
2019-06-01 MajorDoMo и Яндекс Алиса. Публикация вебхуков.
2019-05-29 MajorDoMo и Яндекс Алиса. Общие сведения.
2019-05-22 Экспресс контроль состояния циклов в Linux
2019-05-08 Сценарий контроля состояния SSL сертификатов сайтов
2019-02-26 Экспорт графиков в PNG-файл в модуле Charts
2019-01-26 Мультисерийный кастомный график в модуле Charts
2018-12-30 Личные итоги 2018 года
2018-12-13 График с цветовой индикацией выхода величины за пределы
2018-11-12 Кастомный график в модуле Charts
2018-08-15 Кронштейн NB F120 (North Bayou)
2018-07-18 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 3.
2018-06-20 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 2.
2018-06-15 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 1.
2018-05-20 Кросс-компиляция ядра для Banana Pi M2U
2018-05-14 Ссылки на ресурсы по MajorDoMo
2018-03-02 Знакомство и тестирование Banana Pi M2U
2018-02-21 Распаковка Banana Pi M2U
2018-02-14 Одноплатный ПК для MajorDoMo
2018-08-14 Заметки по железу
2018-01-23 Мой взгляд на вопрос голосового управления в MajorDoMo
2018-01-17 Обзор цен на устройства Xiaomi
2017-12-24 Гирлянда на ESP8266 и WS2812
2017-12-20 Блог им. skysilver

Киров, Россия

На форуме: skysilver

Web-site URL:
http://connect.smartliving.ru/profile/461