skysilver

<<< Назад

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

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


Обсуждение (2) (13)

Смотрите так же:
12.07.2019 MajorDoMo и Яндекс Алиса. Алиса, включи канал Карусель.
20.06.2019 MajorDoMo и Яндекс Алиса. Алиса, измени цвет бра на красный.
18.06.2019 MajorDoMo и Яндекс Алиса. Алиса, сделай ярче настольную лампу.
17.06.2019 MajorDoMo и Яндекс Алиса. Алиса, включи свет на кухне.
06.06.2019 MajorDoMo и Яндекс Алиса. Объединение аккаунтов.
05.06.2019 MajorDoMo и Яндекс Алиса. Регистрация приватного навыка.
03.06.2019 Загрузка PHP-расширения PDO MySQL в Windows
01.06.2019 MajorDoMo и Яндекс Алиса. Публикация вебхуков.
29.05.2019 MajorDoMo и Яндекс Алиса. Общие сведения.
22.05.2019 Экспресс контроль состояния циклов в Linux
08.05.2019 Сценарий контроля состояния SSL сертификатов сайтов
26.02.2019 Экспорт графиков в PNG-файл в модуле Charts
26.01.2019 Мультисерийный кастомный график в модуле Charts
30.12.2018 Личные итоги 2018 года
13.12.2018 График с цветовой индикацией выхода величины за пределы
12.11.2018 Кастомный график в модуле Charts
15.08.2018 Кронштейн NB F120 (North Bayou)
18.07.2018 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 3.
20.06.2018 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 2.
15.06.2018 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 1.
20.05.2018 Кросс-компиляция ядра для Banana Pi M2U
14.05.2018 Ссылки на ресурсы по MajorDoMo
02.03.2018 Знакомство и тестирование Banana Pi M2U
21.02.2018 Распаковка Banana Pi M2U
14.02.2018 Одноплатный ПК для MajorDoMo
14.08.2018 Заметки по железу
23.01.2018 Мой взгляд на вопрос голосового управления в MajorDoMo
17.01.2018 Обзор цен на устройства Xiaomi
24.12.2017 Гирлянда на ESP8266 и WS2812
20.12.2017 Блог им. skysilver

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

На форуме: skysilver

Веб-сайт:
http://connect.smartliving.ru/profile/461