Как вы думаете, что общего между лампочкой Philips Hue, пылесосом iRobot Roomba 671, термостатом Nest, микроволновкой General Electric, кондиционером Kenmore, розеткой TP Link HS100, устройствами Sonoff, кофеваркой Smarter и дроном Aire?
Как вы уже догадались, их объединяет то, что они могут управляться голосом с Алисы (и с Яндекс.Станции), как и сотни других умных устройств.
Более того, с такой настройкой может справиться любая домохозяйка.
Естественно, сразу возникает вопрос — как такое возможно?
Ведь только недавно Яндекс анонсировал свой Яндекс.Модуль для умного дома, но он поступит в продажу только осенью и пока неизвестно какие устройства будут входить в состав такого оборудования (скорее всего проприеретарные).
Справедливости ради надо также отметить, что уже есть навыки для умного дома в Яндекс.Диалогах, но они заточены на определенного вендора, т. е. другие устройства поддерживаться не будут. Также стоит упомянуть о софтовых умных домах, в которых есть управление Алисой, но здесь проблема заключается в том что количество поддерживаемых устройств очень мало и необходимы довольно продвинутые навыки программиста чтобы заставить все это работать.
А здесь — сотни устройств (и постоянно появляются новые) и легкая настройка, как?
Все очень просто — мы научили Алису и Яндекс.Станцию выполнять практически все скиллы, которыми обладает Alexa Echo от Amazon — мирового лидера в области голосовых помощников.
В первую очередь это касается управления всеми умными устройствами, с которыми может взаимодействовать Alexa Echo, коих в последнее время появилось огромное количество.
Для бытового применения это означает следующее — вам достаточно купить буквально за копейки на Алиэкспрессе практически любую умную розетку, выключатель, лампу (или пойти в ближайший магазин и купить это подороже), подключить и управлять этими устройствами голосом с Алисы или с Яндекс.Станции.
И не только подобными устройствами — вы сможете управлять кондиционерами, умными замками, гаражными воротами, системами полива и даже автомобилями.
А связующим звеном между Алисой и Алексой служит … M1 Messenger.
Немного предыстории.
Сначала мы добавили в мессенджер поддержку Alexa Echo.
Т.е. стало возможно, не покупая колонку Echo, управлять умными вещами голосом со смартфона.
Потом мы подумали что этого мало и добавили управление девайсами текстовыми сообщениями — например для тех кто не хочет пользоваться голосом по тем или иным причинам (нужно соблюдать тишину и т. д.).
Потом мы подумали, что наверное людям лень будет набирать одни и те же команды каждый раз текстом и сделали кастомные кнопки, в которых пользователь может прописать часто используемые команды один раз и потом вызывать их нажатием, наподобие пульта управления.
А потом пришла мысль — если мы можем управлять устройствами текстом, то почему бы не сделать API для таких команд?
И получился некий аналог сервиса IFTTT, который живет в мессенджере на смартфоне и может объединять разные сервисы.
Ну а теперь подробней, как все это сделать на простом примере.
Итак, самое первое что нужно — конечно же, купить умное устройство.
Если вы собираетесь сделать это на Алиэкпрессе, то просто смотрите в описании любого устройства фразу — works with Alexa, все это будет работать из коробки.
Если же вы планируете делать покупку в магазине, то обратите внимание — не все продавцы знают что то или иное устройство может работать с Alexa — в этом случае нужно погуглить эту возможность.
Рассмотрим пошаговый процесс подключения и настройки на примере вайфай розетки TP Link HS100.
1. Настраиваем умную розетку TP Link HS100
Здесь нет ничего сложного — скачиваем приложение Kasa, регистрируемся и следуем инструкции.
Самое главное — запомните логин-пароль для этого приложения — он понадобится в дальнейшем.
2. Скачиваем и устанавливаем M1 Messenger
Тоже ничего сложного — скачиваем, регистрируемся (без номера телефона), затем нажимаем иконку с буквой «а» — запускаем Alexa Echo в мессенджере:
После самого первого нажатия на иконку «а» приложение откроет страницу на
сайте Амазон с предложением или ввести существующие логин/пароль, либо зарегистрировать аккаунт:
Вводим существующие данные или регистрируемся и далее нужно разрешить доступ приложению доступ к Alexa Voice Service:
После этого откроется экран с Alexa в мессенджере и можно уже общаться с голосовым помощником от Амазона голосом или текстом:
3. Привязываем умную розетку к аккаунту в Амазон Alexa
Теперь нам нужно привязать умную розетку к Alexa и назначить ей активационное слово, например Kitchen.
Для этого заходим на страницу alexa.amazon.com
Здесь есть несколько лайфхаков.
Во-первых, если вы находитесь в стране, где Alexa Echo не продается официально, то не открывайте эту страницу на мобильном устройстве — вас перекинут в мобильный стор, где предложат скачать приложение, но приложение вы не сможете скачать — оно будет недоступно в вашей стране.
Поэтому открывайте эту страницу на десктопе.
Во-вторых, если вы не сделали пункт 2, т. е. не скачали и не установили приложение M1 Messenger, то даже если у вас есть аккаунт на Амазоне, вам откроется такая страница:
Это не то что нам нужно — так как здесь есть возможность настроить только официальные продукты от Амазона, а мы не хотим покупать Echo.
Только после установки М1 Messenger у вас появится такая страница:
Таким образом, если вы видите фразу:
Welcome!
Amazon is exited to bring you Alexa on Mob1's Mobile One Alexa Service.
то значит вы сделали все правильно и можно привязывать умные устройства.
Заходим в раздел Skills.
В поиске набираем название вендора устройства — в нашем случая это TP Link Kasa:
Выбираем соответствующий пункт и попадаем в раздел с активацией этого скилла:
Кликаем Enable и попадем в следующее окно (обратите внимание что открытие произойдет в новом окне и нужно разрешить показывать всплывающие окна, если у вас стоит блокировщик):
Именно сюда нужно будет ввести логин/пароль, которые у вас получились в результате настройки вашей вайфай розетки в п.1.
Если вы указали правильные данные, то откроется страница подтверждения:
Далее заходим в раздел Smart Home и запускаем обнаружение устройств (розетка в это время должна быть включена в сеть):
Затем откроется страница с тем именем устройства, которое вы указали при регистрации вайфай розетки в Kasa:
Далее заходим в конфигурирование Smart Home:
Заходим в Groups и прописываем розетку под названием например Kitchen:
Теперь, если вы скажете в мессенджер Turn kitchen On или Switch kitchen off,
то ваша розетка будет включаться/выключаться.
Следует отметить что это общий принцип привязывания умных вещей к Alexa Echo — будь то умная розетка, система для полива или автомобиль — нужно будет проделать точно такие же шаги.
Итак, Алексу мы настроили, подключили устройство, можем им управлять командами с М1 Messenger, теперь будем учить Алису делать все тоже самое.
4. Учим Алису выполнять скиллы Alexa Echo
Запускаем M1 Messenger и в общем меню находим пункт Поиск в сети М1:
Нам нужно найти бота Алиса и добавиться к нему:
Важно — после добавления бота он будет виден не в общем списке чатов, а в меню Бизнес:
Записываем/запоминаем код.
Далее открываем Алису или активизируем Яндекс.Станцию и запускаем навык M1 Мессенджер:
После запуска навыка Алиса спросит код, который мы получили в мессенджере — говорим его, подтверждаем правильность и все, теперь мы можем включать умную розетку на кухне:
Мы составили список наиболее часто используемых названий для умного дома для Алисы и в бэкенде делаем замену фразы, произнесенной на русском, в команду на английском для Алексы:
Поэтому, если вы будете использовать какие-то другие названия — сообщите нам как вы ее прописали на английском для Алексы и какой эквивалент вы бы хотели использовать на русском — мы добавим эту фразу в словарь Алисы и все будет работать.
Таким образом, добавляя различные устройства по вышеприведенному примеру, вы сможете управлять роботами-пылесосами, холодильниками и автомобилями, используя Алису или Яндекс. Станцию.
Несколько важных моментов — рекомендуем использовать смартфоны с поддержкой Андроид, а не iOS, в качестве такого своеобразного хаба умного дома с мессенджером.
Также нужно включить любой из 3 режимов в мессенджере — Live TV или PTT или Пользователи рядом, чтобы приложение было всегда в режиме онлайн.
Хотелось бы также поблагодарить команду YODE .pro и Яну Сафиуллину за помощь в реализации навыка.