яндекс.алиса
«Алиса» молчит
Как я уже писал у меня возникла задача, в рамках которой хочется научиться управлять «Алисой» из локальной сети. В прошлый раз я остановился на том, что научился искать «Алисы» по имени сервиса, а вчера вечером решил попробовать подключиться и подать на одну из домашних «Алис»
Поковырял первую попавшуюся библиотеку, выглядит несложно — получаем любым способом OAuth-токен «Яндекса» (я взял от «Яндекс.Музыки»), с его помощью запрашиваем структуру для работы с колонками, формируем команду и шлём её на порт 1961 по протоколу WebSocket.
Управление «Алисой»
Хочу попробовать решить одну прикладную задачу, пока не буду описывать какую. Для этого надо научиться управлять яндексовской «Алисой» из локальной сети. В идеале — проговаривать произвольную фразу. Почитал интернет, посмотрел как это делается.
Официальный документации нет, но хорошие люди провели обратную разработку и задача выглядит как будто бы не очень сложно. Получаем токен, в сети через mDNS по имени _yandexio._tcp.local. ищем нужную колонку, находим, команды отдаём по протоколу WebSocket.
Так как я сейчас стараюсь больше времени проводить за книгой, чем за компьютером, всё, что успел — освоить модуль zeroconf для Гоу, чтобы по имени колонки получать её
Получившийся код выглядит так:
import "github.com/grandcat/zeroconf"
// …тут остальные импорты…
const Service = "_yandexio._tcp"
const Domain = "local."
func getAlisaAddr(instance string) (*zeroconf.ServiceEntry, error) {
resolver, err := zeroconf.NewResolver(nil)
if err != nil {
log.Fatalln("Failed to initialize resolver:", err)
}
entries := make(chan *zeroconf.ServiceEntry)
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
err = resolver.Lookup(ctx, instance, Service, Domain, entries)
if err != nil {
return nil, err
}
entry := <-entries
cancel()
<-ctx.Done()
if entry == nil {
return nil, fmt.Errorf(
"Failed to lookup for service instance '%s'",
instance
)
}
return entry, nil
}Теперь надо разобраться где взять токен и как выглядят команды.
Полезный сценарий
Как я уже
Думаю, я не один такой, поэтому время от времени делюсь сценариями, которые оказались полезными для меня.
У нас квартира так устроена, что легко не услышать как открывается дверь и, чтобы не вздрагивать от неожиданности, когда заходишь в коридор, а там
«Алиса» vs. ChatGPT
После сетей уровня
Раньше было неприятно, а сейчас тяжело — будто без подготовки общаешься с умственным инвалидом, не зная как сделать так, чтобы это вынужденное общение перевести
Лучше бы она совсем не притворялась, что у неё есть интеллект, слушала бы, да выполняла команды.
Яндекс.Стагнация
У меня нарастает ощущение, что «Яндекс» потихоньку стагнирует. Возможно я неверно чувствую тренд, но кажется он вполне вырисовывается — продукты становятся всё хуже и хуже в самых базовых вещах, падает качество обслуживания, техподдержка отдаёт роботизацией, а новые функции добавляются всё медленнее.
Можно по той же «Алисе» судить — про таймеры, которые постоянно отваливаются я уже писал, а теперь ещё «Сбер» выпустил свою колонку, которая уже на старте выглядит интереснее «Алисы», да ещё и стоит дешевле. Куда это годится?
Я по старой памяти недолюбливаю «Сбер», от которого мне до сих пор чудится
Возможно бывший «Сбербанк» становится новым «Яндексом»?
Чего не хватает в «Алисе»
Спросили чего мне не хватает в «Алисе». Чтобы описать, надо последить за своими сценариями, крепко подумать, а потом тщательно всё описать. С таким планом отвечать я буду вечность. Поэтому опишу всего один пункт, мне его не хватает сильнее всего.
У меня дома, помимо датчиков воздуха, о качестве которого я регулярно пишу, есть несколько датчиков утечки воды и датчик дыма
Я надеялся сделать сигнальные сценарии, которые при утечке и/или дыме слали бы мне на смартфон уведомление.
В MiHome мне это удалось без проблем — простой двухшаговый сценарий «если сработал датчик, то послать уведомление на телефон».
Но тут выяснилось, что «Алиса» на такое неспособна. В группе для бывших сотрудников «Яндекса» мне так и сказали, что такой возможности сейчас нет, порекомендовали запрограммировать колонку на проигрывание громкого звука в момент срабатывания датчика.
Но это не одно и то же, разумеется. Не хочу, чтобы показалось, что я хвастаюсь своей социальной жизнью, но в момент утечки воды или возгорания, не могу обещать обязательно быть дома.
В общем, отсутствующая возможность отправки уведомлений из сценариев «Алисы» возглавляет мой список того, что мне очень бы хотелось чтобы было.
Таймеры в «Яндекс.Алисе»
У меня «умный дом» в большей степени завязан на «Алису» — я пользуюсь встроенными интеграциями с различными экосистемами, так как придерживаться одного производителя нереально — это слишком сильно ограничивает выбор. И эта алисоцентрированность меня иногда подводит.
В «Алисе» нет некоторых вещей, которые я считаю необходимыми, но это полбеды. Гораздо хуже, что иногда не работает то, что есть. Это производит очень плохое впечатление и совершенно не красит такую крупную компанию как «Яндекс».
Я широко пользуюсь таймерами в «Алисе», — например, в сценарии «спокойной ночи» «Алиса» начинает играть колыбельные, которые выключаются через 50 минут. Это удобно, но беда в том, что таймеры не всегда срабатывают и это расстраивает, на это не я один жалуюсь.
Сегодня утром у меня не сработал запрограммированный сценарий открытия штор в спальне. Я не знаю почему — «Алиса» не сообщает.
Выглядит как
Новая возможность «Алисы»
После того как на фоне всё скуднеющего импорта «все побежали и я побежал» скупать технику, у меня накопилось просто неприличное количество бонусных баллов в некоторых магазинах. Сейчас я постепенно их трачу — они не навсегда, да и купить
Недавно купил вторую версию «Яндекс.Станции», всё равно планировал в новую квартиру докупить голосовых помощников, а тут всё совпало — баллы, плюс у моего банка появился очень славный кэшбэк именно для этого магазина.
Про новую «Станцию» я писать не буду, речь не об этом, но из её самопрезентации внезапно выяснилось, что у «Яндекса» есть другое приложение для управления «умным домом», в котором внезапно можно в сценариях давать несколько команд колонке.
Это давняя моя мечта, до того приходилось после команды «спокойной ночи» произносить ещё две — для снижения громкости и автоматического выключения. Это так неудобно, что непонятно почему «Яндекс» тянул с реализацией такой простой функции столько лет.
Дописал сценарий, теперь будет удобнее. Вообще, надо почитать что там ещё нового в автоматизации появилось, а то я, может, ещё
«Умная» детская
Как я уже
Правда у меня наметился
Зато теперь детская комната наиболее по́лно автоматизирована — весь свет, включая естественное освещение, в ней управляется через стоящую там же «Алису».
Сейчас в «Алисе» заведены три команды для детской: «добрый вечер» переключает свет на вечерний (выключается верхний свет, включаются фонарики и настольная лампа) и закрывает штору, «спокойной ночи» выключает весь свет, включает ночник и колыбельные, а «доброе утро» выключает всё и открывает штору.
Самое главное, что дочка сама с лёгкостью всем этим управляет, а созданные команды стали органичной частью ритуала отхода ко сну, который нам рекомендовал детский психолог, когда у Евы были проблемы со сном.
Теперь надо бы сделать серьёзную паузу в покупках уже по другой причине — в начале следующего года мы надеемся переехать в новую квартиру и до этого не имеет смысла продолжать всю эту историю с «умным» домом.
«Умный» выключатель
Теперь у меня дома два «умных» выключателя. Сам решил с установкой не мучаться, разместил объявление на «Яндекс.Услугах», выбрал из откликнувшихся исполнителей того, кто был согласен приехать прямо сегодня и он мне всё сделал — раздолбил отверстие, всё подключил и смонтировал.
Закрепили на два длинных шурупа (в выключателе есть отверстия), всё хорошо держится, поэтому решили обойтись без монтажных коробок. На стене смотрится очень хорошо. Проблем с подключением к «умному дому» не возникло — зигбишный хаб моментально опознал устройства и всё сразу заработало.
«Алиса» выключатели тоже увидела без усилий, теперь ей можно сказать «выключи всё в детской» и она выключает и люстру, и потолочные светильники, и настольную лампу, и гирлянду над кроваткой. Красота!
В сценариях автоматизации «умного дома» запрограммировал реакцию на нажатие сразу двух клавиш на выключателе — теперь этим действием тоже можно погасить сразу весь свет в комнате. Удобно на выходе выключать сразу всё.
Теперь сделаю небольшую паузу, ничего нового заказывать на буду — в первые дни месяца я уже исчерпал мартовский бюджет на «умный дом», купив увлажнитель. Ну ничего, из февральских заказов
«Алиса»: месяц использования
Хотел поделиться как проходит освоение голосовых помощников у нас в семье, пока про «Алису», про «Алексу»
Сидим
Алиса отломила от гриба два кусочка и откусила от одного из них. Её шея вдруг вытянулась настолько, что теперь голова девочки покачивалась над верхушками деревьев. «Змея!» — с ужасом запищала пролетающая мимо Голубка. «Я не змея!» — возмутилась Алиса…
И тут «Алиса» на столе выдаёт — «Какой ужас!».
После месяца использования «Алисы» можно определённо сказать — гаджет прижился, правда количество сценарий использования небольшое.
Из самых полезных хочу выделить колыбельные — с ними дочка стала засыпать стала быстрее и проигрывание детских аудиоэнциклопедий «Чевостик» — слушаем запоем, в основном на тему животного мира. Кажется в этом отношении у нас сейчас самый образованный ребёнок в садике. Нельзя не вспомнить и мой интерес к животному миру в детстве — мы выписывали журнал «Юный натуралист», который мне очень нравилось читать. Возможно ли, что такое совпадение интересов — наследственное?
Остальной набор сценариев — «умный дом» (управление гирляндой на кровати в детской, настольным светильником, пылесосом), погода, текущее время, музыка.
Сценарии умного дома у нас не особо многочисленны, но дочке, к слову, очень нравится, что «Алиса» умеет управлять светом,
Делать нечего — купил сяомишный «умный» выключатель, но загвоздка в том, что он не лезет в стандартную коробку под выключатели, надо высверливать.
Теперь к недостаткам. Тут ничего не изменилось, я уже о них писал — «Алиса» время от времени замолкает без причины (вчера перед сном это было настолько часто, что я просто попросил её остановиться), теряет сеть и петросянит.
Последнее, кстати, всех раздражает, не только меня, так как иногда совершенно неочевидно какой командой добиться желаемого, начинаешь перебирать версии до успеха и в процессе перебора обязательно слушаешь эти унылые шутки. Возникает ощущение, что над тобой издеваются, хотя вроде понимаешь, что это не так.
Бывшие коллеги из «Яндекса» уже со мной связались и пообещали
Модифицированное приложение Mi Home
Провидению было сегодня угодно, чтобы я совсем по другому поводу переходя по ссылке, натолкнулся на модифицированное приложение Mi Home, в котором решается главное неудобство умного дома «Сяоми» — разделение устройств на европейские и китайские, на которое я уже
После установки в приложении появились чайник и очиститель воздуха, несмотря на выбранный в качестве региона Китай.
Это просто чудо
Что интересно, «Яндекс.Станция» тоже увидела новое устройство — в списке появился очиститель воздуха, которым, впрочем, управлять не особо интересно. А вот умный помощник «Алекса́» опять подвела, ничего нового найти не смогла и единственное, чем получается через неё управлять — пылесос.
«Алиса»: после трёх дней использования
Горько это признавать, но после трёх дней использования голосовой помощник от «Яндекса» всё больше разочаровывает.
Горько, потому что потенциально это потрясающий отечественный продукт, у которого на русскоязычном рынке пока нет конкурентов.
Мы с дочкой используем «Алису» каждый день, утром и вечером. Пока наш опыт использования — считанные дни, но уже чётко видны довольно существенные недостатки.
Самый главный — «Алиса» постоянно теряет сеть. Иногда замолкает посредине сказки, продолжая не с того места, на котором остановилась, иногда конкретно говорит, что не видит сети вайфай. При этом она лежит на столе рядом с «умной» лампой «Сяоми» и роботом «Вектором», которые ни разу не были замечены за потерей сети.
Второе — время реакции. Если амазоновская «Але́кса» реагирует почти моментально, то «Алиса» в сравнении сильно проигрывает, не знаю в чём проблема, но задержки некомфортные.
Третье — попытки «Алисы» хохмить меня окончательно заколебали. «Станция» в формате «мини» немного глуховата и я сильно утомляюсь от нашего нелепого разговора — пытаюсь дать команду всё повышая голос, в ответ — по 2—3 фразы, не имеющие никакого отношения к отданной команде.
По сумме — я бы её немедленно продал, было бы чем заменить. Посмотрим что получится у «Мейла» с её «Марусей», у моей подруги как раз она скоро появится.
Але́кса против Яндекс.Станции ★
В довесок к умному дому, как и планировал купил голосового помощника, только не одного, а двух — и заграничную «Але́ксу», и отечественную «Алису». Первую я планирую использовать для изучения дочкой английского, а вторую, в итоге, взял для наработки опыта использования таких устройств в принципе.
Когда не умеешь обращаться с голосовыми помощниками, неродной язык становится дополнительным сложным препятствием.
«Алекса» не разочаровала — отлично выхватывает своё имя, даже рядом с закипающим электрочайником среагировала моментально! Мне даже показалось, что она умеет вычленять из общего шума голос обратившегося — у меня не было никаких проблем с выдачей команд и в том случае, если фоном разговаривали жена с дочкой. Впрочем, возможно всё дело в том, что язык команд — английский, и фоновый русский разговор ему не мешает. Мой акцент «Алекса» понимает без малейших усилий, даже с неправильными удалениями. Синтез голоса сделан очень качественно, он чёткий и без машинных интонаций.
Звук удивительно хороший для такой малютки, очень приличные басы. Основной сценарий использования сейчас — прослушивание музыки, с этим всё очень хорошо. Пришлось купить подписку на стриминговый сервис «Дизер» (169 рублей), думаю пожить пока с ним, потом попробую
Неожиданно всё плохо оказалось с интеграцией с «Сяоми» — из всего оборудования распознался только пылесос, это расстроило, а я рассчитывал, что по этому параметру «Алекса» будет вне конкуренции.
С «Яндекс.Станцией» всё несколько хуже. Я взял вариант «мини» — полновесная бандура мне не понравилась визуально, да и у «мини» всё управление происходит жестами, мне показалось, что это интереснее.
«Станция», по сравнению с «Алексой», звучит заметно хуже — как будто
Тут за натужный юмор «Алисы» начинаешь испытывать настоящий испанский стыд. Если кто не знает, «Алиса» пытается притворяться человеком — шутит, отвечает разнообразными фразами. Наверное это ещё будет хорошо работать, но пока всё портят две вещи — огрехи синтеза голоса и выхватывание случайных фраз из фонового разговора. «Алекса» в этом случае отвечает «I’m not sure» или подобное, а «Алиса»,
Управление жестами тоже оставляет желать лучшего — шевельнувшаяся от ветра занавеска или проходящий кот могут внезапно задрать громкость до небес.
Из плюсов — русский язык. Общаться с помощником на русском заметно проще, русские названия «Алиса», разумеется, понимает лучше «Алексы» — особенно смешно, когда мы пытались заставить «Алексу» поставить песню Ёлки (на «Дизере» она есть), а получали сборник для йоги.
За 169 рублей подписки на «Яндекс.Плюс» получаешь возможность слушать музыку и сказки, вчера вечером укладывали дочку под плейлист колыбельных, удобно.
Другой плюс — работает с моим хабом «Сяоми», соответственно умеет управлять «умной» лампой в детской и розеткой. Для дочки это сейчас основное развлечение.
Мне сложно сказать какой из двух гаджетов лучше, у каждого есть достоинства. Будем пользоваться дальше, если в ощущениях
Mi Home и «Алиса»
По совету одного моего друга попробовали с дочкой для интереса управление умным домом через яндексовскую «Алису». Процесс несложный — ставится плагин, вводятся логин и пароль от «Ми Хоума» (я его называю «Михон»), всё, чем может управлять «Алиса», подтягивается к ней в навыки.
У меня часть оборудования в «Михоне» привязана к китайскому личному кабинету, часть — к греческому, о причинах такого разделения его уже рассказывал. Вроде как «Алиса» должна была найти
«Умную» розетку сразу предложила называть «гирляндой», очевидно
Дочке интересно покомандовать, но что ещё полезного «Алиса» умеет с точки зрения трёхлетки, мы представления не имеем, надо бы посмотреть
Вообще было интересно для себя решить — нужна дома «умная колонка» или нет («Алиса» у меня не колонке, а в телефоне), решил, что нужна, но не «Алиса» — хочется приобретением колонки подтолкнуть дочку к более интенсивному изучению английского, кроме того в обзорах говорят, что навыки этой голосовой помощницы очень скромные.
Выбрал амазоновскую «Алексу». Небольшая цена, скромные размеры (я взял «Амазон Эко Дот» третьего поколения), уверенно распознаёт английский даже с русским акцентом, интегрируется со всем подряд (например, с роботом «Anki Vector», который у нас тоже есть), ну и решающий аргумент — техновлогеры утверждают, что это самая толковая «умная колонка».
Заказал, жду. Пока «Алекса» в пути, попользуемся «Алисой», посмотрим чем голосовые помощники могут быть полезны ребёнку такого возраста.