Управление умным домом

Алиса это умеет

Перед началом работы посмотрите видео инструкцию

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

Как работает сервис

(Данное описание устаревшее, и постепенно обновляется)

Данный сервис работает сразу с 2мя навыками Алисы, Домовёнок Кузя и Мой умный дом и их правила можно объединять, так же на основе этих правил можно создавать виртуальные устройства для "Умного Дома" от Яндекса

Для запуска навыка, произнесите: "Запустить навык Домовенок Кузя", в случаи успеха услышите приветственную фразу

Поступающие команды от навыка, разбираются по правилам и при совпадении отправляются запросы по протоколам HTTP, MQTT и IFTTT на устройства доступные из интернета

Виртуальные устройства работают так же, но инициатором запроса выступает приложение Яндекса или голосовой помощника Алиса, в таком случаи в правилах не учитывается активационная фраза и поиск значений во входящей фразе, в этом случии доступна 1 метка заменитель со значением {value} в нее помещается значение, например яркость, вкл(1) выкл(0)

Виртуальные устройства управляют реальными устройствами по протоколам HTTP, MQTT или IFTTT (webhooks). Поддерживаются все устройства, которые могут управляться по этим протоколам из интернета

Алгоритм работы навыка Домовенок Кузя

От Алисы поступает команда, которая сопоставляется с текстом указанным в "Активационная фраза" и в случаи совпадения выполняется GET запрос по адресу указанному в поле "URL управления устройством".
Ограничение времени выполнения запроса 5 секунд. Для получения данных ответа вам нужно установить галочку «Ждать ответ от сервера», данные от сервера можно использовать в ответе Алисы виде меток.
Но есть сложности с ответом, так как у Алисы есть требование ответить ей за 1.5 секунды мы должны получить от вас ответ за 0.5 секунды, 1 секунду мы оставляем себе на ответ Алисе.
В случаи если за 0.5 секунды ответ не получен, результат можно получить повторный запросом в течении 2х минут (повторный запрос на ваш сервер отправлен не будет).

Требования к ответу вашего сервера.
Ответ должен быть в формате JSON и размером не более 2кб, время ответа не более 5 секунд. Пример использования ответа:
Ответ вашего сервера:
{"status":"ok","text":"Свет включен","value":"100"}
поле настройки правила "Ответ Алисы":
{text},яркость {value}%

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

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

Аналогично настраиваем выключение.
Для управления вашими устройствами лучше организовать управления через свой мини сервер сделанный на Rasberry Pi, иначе вы рискуете взломом ваших устройств, хотя и с сервером это не исключено.

Особенность работы Алисы с разных устройств

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

Механизм объединения правил

Что бы объединить правила нужно произнести или написать этот 5690818760 код на устройстве которое хотите присоединить к этим правилам

По всем вопросам обращайтесь по адресу info@alexstar.ru

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

Код для объединения устройств c этими правилами {{ connect_id}}

B Виртуальные устройства умного дома
Связать правила с Яндексом Выход {{ name}}

Общие настройки

Фраза при запуске навыка
Ппример: Здравствуйте,чего пожелаете?

Правила

{{ item.command }}
Часть текста которая содержится в сообщении (строгое совпадение)
Ответ голосового навыка в ответе можно использовать {1}- найденый параметр из запроса
Ппример: http://site.com/set-light/{1}, где {1} в это место будет подставлено значение найденое во фразе вкл или выкл передается как 0 - выкл и 1 - вкл, так же можно получить фразу которая пришла от Алисы матка {in}
по этому url будет отправлен GET запрос
При запросе этого правила через виртуальное устройство, в правило будет передан только 1 параметр {value}
Параметры в запрове URL будут пперекодированы Пример: пробел будет перекодирован в %20.
Адрес вида: https://maker.ifttt.com/trigger/<Имя тригера>/with/key/<Ваш API ключ>
Смотреть видео Пример настройки cloudmqtt.com
Можно использовать метки заменители: {1} в это место будет подставлено значение найденое во фразе, {in} - исходный запрос Алисы
Если оставить пустое поле, то Client ID будет сгенерен автоматически
Пример для "Все выше перечисленно"
Фраза: Включить ргомкость на 100 процентов и басы на 10.5
Пример поиска значений Пример поиска значений
Метки заменители для этого текста будут такие:
{on1} - 1
{!on1} - 0
{d1} - 100
{f1} - 10.5
{in} - исходный текст
{in_command} - чуть преобразованный текст
Если в текcте есть повторы цифр или вкл/выкл то они будут найдены аналогично {d2} {f2} {on2}
Ответ от сервера должен быть в формате JSON размером не более 2 кб, время ответа не более 5 секунд, подробнее в описании выше.