Навык Алисы для управления умным домом - Домовёнок Кузя

Данное описание еще в процессе написания
Алиса это умеет

Навык Домовенок Кузя состоит из 2х навыков:

  1. Запускается голосовой командой "Запусти навык Домовенок Кузя"
  2. Виртуальные устройства доступные в приложении Яндекса

1. Как работает голосовой навык

Для вызова навыка необходимо произнести "Запусти навык Домовенок Кузя" в любом устройстве, которое поддерживает голосового помощника Алиса от Яндекса.

Перед началом работы необходимо настроить правила, правила это действие которое выполнит сервис получив текстовую команду от Алисы. Действия это запрос на сторонний сервис посредствам сети Интернет, поддерживаются следующие протоколы: HTTP GET, MQTT (без подписки на топики) и IFTTT.

Для настройки правил можно перейти в настройки из приложения введя команду "меню" (на устройстве с экраном) и перейти по ссылке "перейти к настройкам правил" или зайти на сайт https://alexstar.ru в раздел "Умный дом".

Алгоритм работы

От Алисы поступает команда, которая сопоставляется с текстом указанным в "Активационная фраза" и в случаи совпадения выполняется запрос по адресу указанному в настройках. У сервиса Яндекса есть ограничение на ответ навыка, он должен ответить в течении 1.5 секунды, поэтому есть ограничение на время запроса к вашему сервису, оно составляет 0.5 секунды. В случаи если ваш сервис не успеет ответить, то в ответ вам будет направлена фраза "Запрос отправлен, что бы получить ответ спросите еще раз", а запрос к вашему сервису останется активен и будет выполнятся еще 20 секунд. Если ваш сервис ответит за это время то результат будет за кэширован в течении 2х минут и при повторном запросе ответ будет выдан из кэша (повторного запроса не будет).

Ответ от сервера доступен только у правил GET и при условии, что стоит галочка "Ждать ответ от сервера".

Все правила которые настроены в навыке Домовёнок Кузя доступны в аналогичном навыке Мой умный дом но этот навык не доступен на устройствах без экрана. Для использования общих правил между навыками и нужно объединить с помощью кода настроек.

Особенность работы навыка с разных устройств, объединение правил

Под термином устройства имеются ввиду физические устройства: телефон, колонка, навигатор и.т.д.

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

Список присоединённых устройств отображается по кнопке "Cвязанные устройства", в диалоге можно менять имена устройст, так же из этого списка можно отсоединить устройства от правил. Названия устройствам задаются только для удобства их различия.

Пример настроек правил

Например у нас есть устройство включения света на кухне, и у него ест web интерфейс, к которому есть доступ через интернет.
Настраиваем включение света.
  1. Нажимаем кнопку "Добавить правило GET"
  2. Заполняем поле "Активационная фраза" например включить свет на кухне
  3. Заполняем поле "Ответ Алисы" ответ который получит пользователь от Алисы например Свет включен
  4. Заполняем поле "URL управления устройством" например наше устройство доступно из интернета по адресу
    https://login:pass@site.com/set-light/?on=1
    в адресе можно указать логин и пароль для Basic авторизации.

Аналогично настраиваем выключение.
Видео по настройкам:
Настройка MQTT

Требования к ответу вашего сервиса.

Если вы установили галочку "Ждать ответ от сервера", то ответ должен быть в формате JSON и размером не более 2кб, время ответа не более 20 секунд.

Пример использования ответа:
Ответ вашего сервера:
{"status":"ok","text":"Свет включен","value":"100"}
поле настройки правила "Ответ Алисы":
{text},яркость {value}%

2. Виртуальные устройства доступные в приложении Яндекса

Виртуальные устроства создаются на странице https://alexstar.ru/smarthome/devices созданные устройства используют команды навыка "Домовенок кузя".

Для отображения устройств в приложении Яндекса, нужно произвести процедуру связывания акаунтов:

  1. Зайдите на сайт alexstar.ru в раздел умный дом
  2. Авторизоваться через Яндекс
  3. Зайдите в приложения Яндекс и добавьте устройство "Домовёнок Кузя" при авторизации используйте тот же аккаунт что и на шаге 2
  4. Будет создана виртуальная лампа и на сайте alexstar.ru появится дополнительный раздел с созданием виртуальных устройств.

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

В виртуальных устройствах не используется "Активационная фраза" и "Ответ Алисы", тк же присутсвует только 1 метка замениткль {value} в которой содержится значение например вкл = 1, выкл=0, или значение яркости или номер канала телевизора.

Так же другое требование к запросу статуса устройства, статус должен возвращатся в виде JSON , в котором есть параметр value, на данный момент значение могут возвращать только GET запросы.

Пример ответа статуса: {"value":0}

Поддержать проект

назал в раздел smarthome

Пт 06 Июл 2018.