0
Отвечен

Alice Yandex Platform

Vyacheslav Shorin 4 года назад в Tips and Tricks обновлен 4 года назад 14

А может кто разъяснить как все таки работает яндекс платформа, я тут ковырялся но логику не могу понять
Делаю сервер, добавляю субдевайс розетку например
В итоге в списке устройств яндекса она есть, при нажатии или команде голосом состояние вкл/выкл меняется скрипт из вики работает, в логах все есть, фидбеки отрабатывают, но физическая розетка не включается и не включается.
Если я физическую розетку привязываю к яндексу, то в списке устройств появляется 2 розетки одна из сервера другая из яндекса
Они как-то независимо работают друг от друга
Я что-то не так делаю?

На рассмотрении

Добрый день!

По голосовой команде драйвер Алисы инициирует событие на сервере Иридиум. Это событие Вы можете отлавливать (подписываться на него) в Routines или в JS.

Соответственно, если реле не реагирует, начать стоит с проверки:

- срабатывает ли Routine

- работает ли управление розеткой из Иридиум без голосовой команды

Вторая часть вопроса не совсем понятна:

Если Ваша розетка поддерживает Алису напрямую, то конечно можно привязать ее как в Алисе напрямую, так и через Иридиум проект - для Алисы это будут разные устройства. В чем Вы видите здесь расхождение?

По голосовой команде, сервер получает от яндекса событие, я ставил обработку через JS скрипт, он срабатывает в логах видно.
Но не включается реле, и КМК с чего ему включаться, если это реле никак не привязано к иридиум. Возможно я что-то не так делаю, моя последовательность такая.
Есть реле с поддержкой Яндекс, я сделал серверный проект с JS скриптом из вики, поставил драйвер, добавил сабдевайс розетка. Проект в облако и загрузил его на сервер на виндуз.
Объединил аккаунты иридиум и обновил список устройств.
Яндекс эту розетку увидел, и в список устройств она добавилась.
Но это же виртуальное устройство, как к нему привязать реальную розетку?

Физическое устройство никак не реагирует, я же его просто в запитал и все. 


И я не писал про расхождение, я пытаюсь логику понять.

Отвечен

Вот правильно же описываете:

Чтобы управлять реле из Иридиум оно должно управляться из Иридиум )) Если у оно никак не привязано и не может управляться из проекта, то и транслировать его в Яндекс не имеет смысла. Поэтому сначала подключайте устройство в Иридиум проект.

Логика: все что управляется в Иридиум можно перенести в голосовое. Вывод: если Иридиум этим не управляет (нет драйвера), то нет смысла думать, что оно по волшебству будет управляться голосовым драйвером.

Когда я подключаю устройство к яндексу, я нажимаю на нем кнопку, она начинает быстро моргать, я в яндексе прописываю сеть wifi и устройство подключается к сети, регистрируется в яндексе и появляется в списке клиентов wifi
Эта процедура мне понятна.
Мне не понятна процедура физического подключения устройства к Иридиум проекту. Я про это спрашиваю. 

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

Вы смешиваете 2 совершенно разных механизма:

1. У вас есть реле, которое поддерживает Я.Алису через свою экосистему. Оно управляется без Иридиум.

2. У вас есть сервер с Иридиум, который отвечает за ТРАНСЛЯЦИЮ устройств в Я.Алису. Т.е. он может транслировать только те устройства, которые добавлены в проект Иридиум, для которых существует драйвер и которые могут управляться из визуализии Иридиум.

Исходя из ваших объяснений:

1. У вас есть реле, которое может управляться из Алисы

2. У вас нет драйвера в Иридиум для этого устройства и Вы не можете управлять этим устройством из Иридиум.

3. Вы добавляете виртуальное реле в Я.Алису на сервере, но логично, что оно ни с чем не связано.


Очевидно, что Иридиум сервер не может странслировать устройство, которого у него нет...

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

Верно, если устройство подключено к Яндекс, но не имеет драйвера в проекте, то мы им управлять не можем (на сколько знаю, сейчас так никто не может - Я.Алиса этого не позволяет).

Какая жадная Алиса

Спасибо, понятно
И кстати в этом случае при использовании рутин не планируется ли возможность добавить отправку значений в фидбек

Сейчас только в команду можно значение отправить, а хотелось бы и фидбеки менять.

Идеалогия простая: команды для управления чем-то, фидбек для получения обратной связи. Для нас Я.Алиса такое же устройство (сервис). Когда человек говорит команду, Я.Алиса предоставляет нам обратную связь о событии (команда от человека).

Опишите ситуацию в которой вы хотите отправить Я.Алисе какое-то значение? Учитывая при этом, что значение она точно озвучит, а лишь отобразит в своем настроечном графическом интерфейсе.

Не обязательно Алисе отправлять значение, я тут подумал использовать аналог сценарий
Например Добавляю розетку и называю ее "Вечер" или "Романтик" :))
говорю Алисе, включи Вечер
А дальше включаю то, что нужно, свет, музыку и т.д. но есть устройства без обратной связи, в них вручную надо фидбеки задать, чтобы в графическом интерфейсе отобразилось, сейчас придется скрипт вызывать.

Извините, не понял примера.

Что за устройства и в каком графическом интерфейсе? Почему нельзя в Routine задать значения для этих устройств?

Для примера я сделал Алисе виртуальное устройство Вечер

Я говорю Алиса включи вечер 
У меня должны включиться группы света, группы висят на реле без обратной связи
Я посылаю команду в это реле, оно включается, но на настенной панели с графикой должно отобразиться, что группа света включилась, сейчас я это делаю скриптом, ловлю изменение в команде этого реле и выставляю фидбек этого реле в 1, на графическом интерфейсе зажигается лампочка :)
Используя рутины я все могу сделать, кроме как выставить фидбек этого реле, там либо отправить команду, либо задержка, либо вызвать скрипт, записать в фидбек нет.
вот я и спрашиваю.
это не применительно к алисе :)

Если у вас нет фидбека у реле, то используйте виртуальные переменные, а в Routine вы можете менять такие токены без ограничений.

Вариант рабочий, но не удобно на граф. интерфейс переменные накидывать, если их много ошибиться легче, чем когда они привязаны к устройствам в качестве фидбеков.
ну нет, так нет :)

Сервис поддержки клиентов работает на платформе UserEcho