Справка

Модуль 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 вебхука Пример опубликованной ссылки
1URL авторизации/modules/yandexhome/authorize.phphttps://majordomo.keenetic.pro:8443/modules/yandexhome/authorize.php
2URL для получения и обновления токена/modules/yandexhome/token.phphttps://majordomo.keenetic.pro:8443/modules/yandexhome/token.php
3URL обработчика навыка/modules/yandexhome/smarthome.phphttps://majordomo.keenetic.pro:8443/modules/yandexhome/token.php

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

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

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

Скриншот настроек модуля

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

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

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

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

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

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

Скриншот кнопки добавления устройства

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

Скриншот кнопки редактирования устройства

Скриншот кнопки редактирования устройства

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

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

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

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

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

Скриншот набора полей устройства

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

Скриншот выпадающего списка умений

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

Скриншот привязки свойств

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

Метрика (умение) Описание Значения в модуле Значения от Яндекс
controls_lockedБлокировка управления.1 и 0true и false
onВключить/выключить.1 и 0true и false
humidityВлажность (целевая).0 - 100% (*)0 - 100%
volumeГромкость.1 - 100 (*)1 - 100, либо +1/-1
input_sourceИсточник сигнала.one, two, three,
four, five
one, two, three,
four, five
pauseПауза.1 и 0true и false
backlightПодсветка.1 и 0true и false
muteРежим без звука.1 и 0true и false
oscillationРежим вращения.1 и 0true и false
ionizationРежим ионизации.1 и 0true и false
keep_warmРежим поддержания тепла.1 и 0true и false
fan_speedСкорость вентиляции.auto, low, medium, highauto, low, medium, high
openСтепень открытия.0 - 100% (*)0 - 100%
channelТВ-канал.№ канала (*)№ канала, либо +1/-1
temperatureТемпература (целевая).1 - 100 (*)°C
temperature_kТемпература цвета (кельвины).2700 - 90002700 - 9000
thermostatТемпературный режим.auto, heat, cool,
eco, dry, fan_only
auto, heat, cool,
eco, dry, fan_only
rgbЦвет в формате RGB (hex).000000 - FFFFFF0 - 16777215
brightnessЯркость (проценты).1 - 100 (*)1 - 100
humidity_sensorВлажность (датчик).0 - 100%0 - 100%
power_sensorМощность (датчик).ваттыватты
voltage_sensorНапряжение (датчик).вольтывольты
amperage_sensorСила тока (датчик).амперыамперы
temperature_sensorТемпература (датчик).°C°C
co2_level_sensorУглекислый газ (датчик).ppmppm
water_level_sensorУровень воды (датчик).0 - 100%0 - 100%
battery_level_sensorУровень заряда аккумулятора (датчик).0 - 100%0 - 100%
* Имеется возможность переопределить диапазон значений и шаг изменения.

Температурные режимы:

  • auto - авто;
  • heat - нагрев;
  • cool - охлаждение;
  • eco - экономичный;
  • dry - осушение;
  • fan_only - вентиляция.

Скорость вентиляции:

  • auto - авто;
  • low - низкая;
  • medium - среднаяя;
  • high - высокая.

<#LANG_STRING_BACK#>