Перейти к содержанию

Несколько команд в одном сценарии: различия между версиями

Материал из Wiki yaboard
Новая страница: «== Что такое сценарий? == [https://alice.yandex.ru/smart-home/help/several/scenarios.html Сценарий] - это набор команд, к…»
 
Нет описания правки
Строка 19: Строка 19:
Создан специальный навык "[https://alice.ya.ru/s/e7c100ef-e128-4d42-b643-029e48130a89 Мои сценарии]", который поддерживает несколько сценариев для Станции (будет существовать до тех пор, пока Яндекс не начнет поддерживать подобные решения "из коробки").
Создан специальный навык "[https://alice.ya.ru/s/e7c100ef-e128-4d42-b643-029e48130a89 Мои сценарии]", который поддерживает несколько сценариев для Станции (будет существовать до тех пор, пока Яндекс не начнет поддерживать подобные решения "из коробки").


=== Демонстрация результата ===
Следующее видео демонстрирует, что в итоге может получиться (набор команд, конечно, задается вами - в видео один из возможных сценариев) -
https://youtu.be/QZniabV-Nf0


=== Ограничения ===
=== Ограничения ===

Версия от 20:14, 12 февраля 2020

Что такое сценарий?

Сценарий - это набор команд, которые может выполнить Алиса в ответ на один запрос. Например, на запрос "Алиса, доброе утро", Алиса может включить свет и поставить бодрую музыку. Сценарии настраиваются на специальной странице или в разделе Устройства приложении Яндекс.Браузер.

В настоящий момент (на момент написания статьи - февраль 2020) умный дом Яндекс не поддерживает несколько команд для одного устройства в Сценариях. Т.е. сделать сценарий из нескольких команд для разных устройств можно, например,

  1. Лампа - Включи свет;
  2. Станция - Поставь бодрую музыку.

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

  1. Станция - Расскажи погоду;
  2. Станция - Сколько ехать на работу;
  3. Станция - Спроси у моего ассистента сколько ехать на работу;

уже сделать нельзя.

Решение для нескольких команд

Создан специальный навык "Мои сценарии", который поддерживает несколько сценариев для Станции (будет существовать до тех пор, пока Яндекс не начнет поддерживать подобные решения "из коробки").

Демонстрация результата

Следующее видео демонстрирует, что в итоге может получиться (набор команд, конечно, задается вами - в видео один из возможных сценариев) - https://youtu.be/QZniabV-Nf0

Ограничения

  1. Решение работает только для Яндекс.Станции и Яндекс.Модуля (не работает с мини, irbis, dexp);
  2. Несколько команд возможны лишь для Станции и Модуля, но не для других устройств умного дома;
  3. Необходим белый (статический) IP-адрес или использования сервисов типа DynDNS
  4. Необходимо вручную задавать паузу между командами;
  5. Нужен Google-аккаунт.

Настройка

Для настройки необходимо выполнить следующие шаги:

  1. Запустить навык "Мои сценарии" на Станции или Модуле командой "Алиса, запусти навык Мои сценарии";
  2. Сказать Алисе "Авторизация";
  3. Получить push-уведомление на телефон с запросом авторизации;
  4. Убедиться, что в телефоне вы авторизованы под тем же аккаунтом Яндекса, что привязан к вашей Станции или Модулю;
  5. Выполнить авторизацию в Google-аккаунте (для выполнения этого шага может потребоваться скопировать URL из Яндекс.Браузера и вставить его в Google Chrome или Apple Safari - авторизация в Google в Яндекс.Браузере не поддерживается со стороны Google);
  6. Перейти на сайт https://yandex-station.appspot.com и авторизоваться там под тем же Google-аккаунтом, что использовался выше;
  7. Указать следующие данные:
    1. Яндекс Токен (токен для доступа к вашему Яндекс-аккаунту). Чтобы получить токен, пройдите по ссылке. Сайт покажет сообщение - "Авторизация в приложении Яндекс.Музыка не удалась. Возможные причины: Приложение не установлено" - это нормально. Скопируйте получившийся адрес (URL) из адресной строки браузера и вставьте его в соответствующее поле. Можно скопировать как строку целиком, так и только значение между #access_token= и &token_type.
    2. Токен Яндекс.Станции. Нажмите кнопку Получить - токен будет получен автоматически, если вы указали Яндекс Токен на предыдущем шаге. Вы также можете самостоятельно указать Токен Яндекс.Станции (если знаете как его получить) и не указывать Яндекс Токен.
    3. Внешний адрес станции. Тут нужно указать IP-адрес вашего роутера, доступный из вне (если у вас белый IP) или URL, если вы используете сервис типа DynDNS. Указывать протокол (http://, https://, wss:// и т.п.) - не требуется. Обратите внимание: на роутере необходимо осуществить проброс портов, чтобы станция стала доступна для приема команд из интернета (см. подробнее, например, тут). По умолчанию используется порт 1961. Если вы настроили в роутере другой порт, то укажите его в данном поле напрямую, например, :12345. Обратите также внимание: IP-адреса вида 192.168.xxx.xxx вряд ли являются вашими внешними IP-адресами. Проверьте свой адрес, например, на https://ip.yandex.ru.
    4. Сценарий 1 и Сценарий 2. Тут можно задать до трех команд в каждом сценарии. Можно использовать любые команды, которые воспринимает Алиса. Например, "расскажи погоду", "сколько ехать до работы". Можно обращаться и к сторонним навыкам. Например, "спроси у моего ассистента у кого сегодня день рождения". Или можно просто попросить Алису сказать какую-то фразу, например, "повтори за мной Какой чудесный день". В настоящий момент Станция не отдает статус - когда она закончила отвечать на предыдущий запрос (=выполнять предыдущую команду), потому необходимо вручную задавать паузы между командами. Паузу указывается в том же поле, где и сама команда, - после символа ^. Например, "погода^8" означает, что Алиса сможет рассказывать погоду в течение 8 секунд, а потом перейдет к выполнению следующей команды. Если паузу не задать, то будет использоваться пауза по умолчанию - 3 секунды.

Использование

Сценарии можно вызывать командой "Алиса, попроси Мои сценарии запустить Сценарий 1" (или Сценарий 2), но это неудобно. Чтобы сделать применение сложных сценариев более удобным, создайте сценарий для запуска сценариев из навыка. Для этого перейдите по ссылке, выберите Сценарии, нажмите + (плюс), Добавить сценарий, Выберите событие Фраза и введите фразу, например, "Доброе утро". Затем нажмите + Устройство и выберите Яндекс.Станцию, там укажите "попроси Мои сценарии запустить Сценарий 1". Теперь по запросу "Алиса, доброе утро", Алиса будет выполнять те команды, что вы указали для сценария 1.