Как добавить яндекс станцию в homekit
Дружим HomeKit с Алисой, благодаря Homebridge или другим системам автоматизации.
Вот что он пишет:
Давно хотел в дополнение к умному дому голосового ассистента понимающего и говорящего на русском языке. В итоге решил рискнуть и взять
сыруюновую колонку Яндекс.Станция с молодой, но уже многим полюбившейся Алисой. Первое впечатление было отличным, но когда я наслушался анекдотов и набеседовался вдоволь я начал познавать практическую сторону колонки. Больше всего меня интересовал вопрос взаимодействия Алисы с умным домом.Мой дом функционирует на основе сервера HomeBridge. Про его настройку и использование на хабре и других ресурсах написано множество статей (раз, два, три), потому я не буду останавливаться на этом. Не изучив вопрос основательно, я был уверен в том, что в каталоге навыков Алисы уже полно решений для взаимодействия с системами управления умным домом. Оказалось, что на момент написания статьи большая часть навыков по тематике «Умный дом» требует устройство с дисплеем для работы, что не подходит для станции. Единственным навыком с виду отвечающим требованиям и умеющим работать без дисплея был «Альфред». Навык не подошел мне по причине того, что он жестко завязан на сервис — IFTTT. Допустим я хочу создать виртуальный переключатель, функционирующий в системе умного дома и позволяющий привязывать сценарии к его текущему состоянию. Альфред использует сервис WebHook для IFTTT с помощью которого можно только воздействовать на триггер создаваемый в апплете IFTTT, но нет возможности получить текущее состояние апплета (можно перевести переключатель в положение вкл или выкл, но нельзя узнать в каком состоянии сейчас переключатель).
Для решения вышеописанной задачи как раз и создан сервис Alice-HomeBridge, предназначенный для связи голосового помощника Яндекс.Алиса и различных систем управления умным домом. Далее в качестве примеров настроек будем рассматривать конфигурацию HomeBridge, но данный подход применим и для других систем таких как Home Assistant, openHAB и других.
Сервис позволяет пользователям, после регистрации на сайте, создавать виртуальные переключатели.
Изменить или узнать состояние переключателей можно с помощью специально сформированного GET запроса к сервису.
Для того чтобы сервис мог взаимодействовать с голосовым ассистентом «Алиса» создан навык «Ленивый Джимми».
Скажите Алисе: «Запусти навык ленивый Джимми» и он предложит вам сообщить код активации, который вы можете найти в своем личном кабинете.
После активации вы можете изменить состояние ваших переключателей с помощью команд «Включи» или «Выключи». Например, если вы скажете «Включи Свет», состояние переключателя «Свет» изменится на положительное. Если вы скажете просто «Свет», то состояние переключателя изменится на противоположное.
Для того чтобы диалог звучал более естественно присутствует возможность создавать переключатели с более понятными названиями, например, «С Утречком», тогда вы сможете сказать Алисе «Скажи Джимми С Утречком» и состояние переключателя изменится.
Осталось настроить HomeBridge. Для примера будем использовать расширение cmdswitch2. Создадим для HomeKit переключатель с названием «Alice Button 1».
Для того чтобы не перегружать сервер лишними запросами значение параметра interval ставим не меньше 2 секунд.
Теперь, если сказать «Алиса скажи ленивому Джимми с утречком», переключатель «Alice Button 1» изменит состояние. Вот демонстрация того, как все работает в совокупности с настроенными сценариями HomeKit:
И еще пару слов от автора:
P. S. Большинство систем управления умными домами, например, HomeKit, поддерживают создание сценариев. Вы можете создать сценарий, который хотели бы использовать в определенной ситуации, например, когда вы просыпаетесь и назначить его вызов на событие «Включение переключателя С Утречком».
P. P. S. Мой сервис только развивается и еще, мягко сказать, далек от идеала. Но и Алиса некоторые фразы, время от времени, в упор отказывается воспринимать. Например, она прекрасно передает навыку фразу «Включи свет», но фразу «Доброе утро» не передаст. Надеюсь в Яндекс знают о проблеме и скоро ее исправят. Жду ваших комментариев.
Прошли годы с появления системы умного дома Xiaomi. И на всем пути, русскоговорящие пользователи были обделены полноценным голосовым управлением. Были разговоры, о сотрудничестве с Microsoft, для интеграции системы с их голосовым помощником Cortana. Google home поддерживает мало устройств и только на английском. Siri от Apple продвинулся дальше, возможность управления на русском языке появилась, но далеко не все устройства поддерживаются и далеко не все любят яблочного производителя.
И вот, Яндекс анонсировал запуск своей платформы умного дома, в которой сделан акцент на устройства Xiaomi. Сразу отвечу, теперь можно управлять умным домом через голосовой помощник Алиса, и без преувеличения - это огромный шаг вперед в плане удобства домашних систем автоматизации (особенно для любителей умного дома Xiaomi)!
Давайте попробуем более детально разобраться, что из себя представляет система, как с ней обращаться и что она умеет.
Yandex Smart Home
Сразу возникает вопрос, разве мало самой системы Xiaomi smarthome с их приложением Mi Home?
Отвечаю, пока китайцы не сделают голосового помощника на русском языке (или не будут использовать стороннего), полноценно использовать систему затруднительно. Куча пультов и кнопок, это конечно удобно, но только при условии, что ты знаешь предназначение каждой из них. А вот подать голосовую команду "Алиса, включи свет в зале" уже намного проще.
Плюс ко всему, можно добавить в систему устройства других производителей. Пока это только Xiaomi, Redmond, Philips, Samsung, Rubetek, но со временем этот список будет расти (к гадалке не ходи).
Сразу поясню, что принцип работы взаимодействия Yandex > Xiaomi - подача команд устройствам с их последующим выполнением. И запрос текущего состояния устройств. Остальные действия остаются на совести производителя, т.е. сценарии автоматизации, настроенные ранее, так же будет продолжать выполняться. Схема взаимодействия:
При этом, сопряжение с системой Яндекс, никак не ограничивает использование устройств в Mi home, т.е. устройства будут одновременно подключены в обеих системах.
Как добавить устройства в умный дом Яндекса?
Перейдем к настройке самой системы. Для начала, нам нужно скачать приложение Яндекс на телефон (доступна как для Android, так и для Iphone). Зайдем в приложение, предварительно авторизуемся в нем в случае необходимости. Нажимаем кнопку "меню" в левом верхнем углу и выбираем пункт "Устройства":
Нам предложат добавить фирменные устройства Яндекса, но требуемый нам пункт называется "Умный дом":
Пока у нас нет устройств, но не беда! Нажимаем кнопку "Добавить устройство" и смотрим, что нам предлагает сервис:
Если в начале было всего 5 производителей, то на начало 2021 года их уже около 100. Но нас интересует только один из них, заходим в пункт Xiaomi и нажимаем кнопку "Объединить аккаунты":
Вводим данные от входа в приложение Mi Home. Тут хочу обратить внимание, что по электронной почте у меня не проходила авторизация, только по id Mi-аккаунта.
Все прошло успешно? Отлично, нажимаем кнопку обновить список устройств и ждем.
Не совсем секундочку, скорее несколько минут, потом загружаются не все устройства, нажимаем кнопку еще раз или два. Ура! Устройства добавились:
В приложение добавляются умные розетки, устройства освещения, выключатели Aqara, роботы пылесосы и очистители воздуха.
Приложение не любит как китайские иероглифы, так и латиницу. Можно переименовать устройства в приложении Mi Home, а затем запустить обновление списка устройств, или просто переименовать каждое из устройств в самом приложении Яндекса. Нажимаем на устройство, в котором висит пометка "Требуется настройка" и задаем название на русском языке:
Пример настроек моего Roborock S50, по кличке "Блинчик". Задаем имя, и выбираем комнату (которые импортировались из Mi Home), после чего нажимаем сохранить. Проделываем аналогичные действия для других устройств.
Пока ковырял все это дело, весь исплевался. Пока работает крайне фигово, переименование устройств работает 1 раз из 5. Часто возникала ошибка "Что-то у меня сервер забарахлил". Периодически отпускает и работает стабильно, надеюсь что это проблема только первых дней работы системы.
Но некорректно сильно критиковать систему в первый день выхода, давайте посмотрим, как управлять устройствами.
По состоянию на 2021 год система работает стабильно, но сбои периодически случаются.
Если используете устройства Tuya Smart, то тут есть более подробная инструкция, посвященная именно этой системе.
Управление устройствами
Набор действий ограничен, например для пылесоса доступны только команда включить\выключить:
Команды выполняет четко, но если например заменить слово "выключи" на слово "останови", то она уже не понимает:
Аналогичные команды можно подать на выключатели и розетки:
А вот с лампами уже поинтереснее, для каждой из них доступно аж по 32 команды для цветных и 22 команды для белых (все их можно посмотреть во вкладке "Голосовые команды" устройства).
Можно управлять лампами Yeelight, Mijia и Aqara.
Из минусов, количество команд сильно ограничено. Например, в двухклавишном выключателе Aqara нет возможности управления каждой клавишей в отдельности, а только одновременно двумя . Исправлено, выключателями управляет корректно.
Возможности платформы умного дома
Мы уже помним, что теперь можно объединить устройства разных производителей в одну систему. А значит одной голосовой командой можно запускать целые сцены, задействовав все устройства в комнате. Для этого в систему Умного дома Яндекса есть вкладка "Сценарии":
Я настроил команду "Спокойной ночи", которая по голосовой команде отключает весь свет в квартире. Выглядит это так:
У меня есть похожая сцена, настроенная сценариями автоматизации Mi Home, которую я запускаю при уходе из квартиры при помощи беспроводной кнопки. И так и буду его запускать с кнопки, поскольку Яндекс пока не может выполнить некоторые действия, а точнее активировать сигнализацию и закрыть автоматические шторы. Шторами управлять уже научился.
Через сценарии, можно перенастроить команду для запуска:
Если есть интерес, то при помощи Яндекс-диалогов можно подключить и сторонние устройства. Но это потребует наличие определенных знаний и свободного времени.
P.S. Если вас или члена вашей семьи зовут Алиса, не стоит переживать. Переключить можно в настройках устройств:
Яндекс станция
Самый дешевый способ управления голосом - установить приложение на смартфон. Но не самый удобный. В прошлом году была выпущена Яндекс Станция, это умная колонка с голосовым помощником Алиса. И по случаю, у меня такая тоже есть:
Вот через неё мы и будем управлять нашим умным домом Xiaomi. Подробно останавливаться на ней не буду, девайс не новый, да и в интернете уже куча обзоров.
Все просто, говорим команду, список которых мы посмотрели выше, а Алиса посылает команду уже на устройство. Время реакции около 4-5 секунд, понимает команды из дальнего угла комнаты. Но требуется время, чтобы привыкнуть. Если перефразировать команду, Алиса может просто не понять её и запустить поиск, или ответить по принципу чат-бота.
Колонка не маленькая, она раза в 3 больше умной колонки от Xiaomi, которая так и не научилась понимать команды хотя бы на английском языке.
Но, уже в продаже появились другие колонки с голосовым помощником Алиса.
Если хотите полноценно управлять умным домом на русском языке, то придется раскошелиться на умную колонку. Если кто-то боится тотальной прослушки, это устройство не для вас, да и смартфон лучше бы выкинуть.
Личный опыт использования
Пока двоякие впечатления. Очень нравится, что появилось полноценное голосовое управление на русском. Минус - ограниченный список устройств и что Алиса понимает далеко не все команды. И стоит понимать, что некоторые действия проще запустить с кнопки, чем потратить время на голосовую команду.
Но это только начальный этап, пару дней как система вышла, а уже поддерживает многие девайсы Xiaomi и не только. Надеюсь, что Яндекс будет активно развивать это направление, добавлять новых производителей и устройства.
Обидный момент, система не поддерживает IR Remote Controller, а очень хотелось бы управлять телевизором при помощи голосовых команд. Придется заказывать фирменный девайс от Яндекса.
На этом все, задавайте вопросы и делитесь своим мнением в комментариях. До новых встреч!
Мы привыкли называть умными устройства, которыми можем управлять, не вставая с дивана. Включить лампочку, вентилятор, кофеварку или стиральную машину.
Колонки с Яндекс Алисой хоть и называются умными, но вы не можете изменить громкость не находясь рядом с колонкой (орать через всю комнату не считается). Вы не можете перемотать песню из мобильного приложения Яндекса. Или остановить сказку, запущенную на колонке в детской, из своей кровати в спальне.
В январе 2020 кто-то обнаружил, что Яндекс.Станция поддерживает некий локальный протокол. На GitHub начали появляться проекты по управлению Яндекс.Станцией. Мне хватило пару часов, чтоб разобраться и выпустить первую версию компонента для Home Assistant. Это достаточно популярная система домашней автоматизации, написанная на языке Python.
На сегодняшний день компонент поддерживает управление всеми колонками с Яндекс Алисой и при желании может выглядеть так:
Инструкции по установке, настройке и использованию компонента можете найти на GitHub странице проекта.
Локальный протокол
Устройства Яндекса обнаруживаются в локальной сети по протоколу mDNS и имени _yandexio._tcp.local. .
Кстати подключение к колонкам Google через протокол Chromecast не ограничено какими-либо паролями или аккаунтами. Управление колонкой доступно любому пользователю той же локальной сети.
К многим устройствам с AirPlay первой версии подключение также не ограничено паролем.
Вы можете включить плейлист дня с Яндекс.Музыки, лайкнуть песню, спросить погоду, вызвать такси, управлять умными устройствами, подключенными напрямую в экосистему Яндекса.
И вишенкой на торте — вы можете попросить станцию произнести любую фразу голосом Алисы. Это тот самый голос, который по праву признан лучшим голосом TTS для русского языка на сегодняшний день. Этот голос является эксклюзивом Яндекс Алисы и его нет даже в Yandex SpeechKit.
Но и это ещё не всё! Помимо зачечательного голоса вам доступна настройка генератора речи и библиотека звуков из платформы Яндекс.Диалоги.
Облачное управление
На сегодняшний день локальный протокол поддерживает только большая станция и модуль. Почти пол года сообщество ждало появление протокола в остальных колонках с Алисой, но это так и не случилось.
По задумке авторов сценарий выполняется по заданной активационной фразе, которую пользователь произносит своему устройству с Алисой. Это может быть колонка, мобильное приложение Яндекс или Яндекс.Браузер с Алисой на компьютере. Но в интерфейсе управления сценариями есть кнопка ручного запуска любого пользовательского сценария.
Интерфейс умного дома Яндекса представляет собой обычное веб-приложение, которое можно запустить в том числе на компьютере.
Я ранее сталкивался с внутренними API этого приложения для реализации функции управления HDMI выходом большой станции. Да, есть ещё такая недокументированная возможность и компонент её поддерживает.
Научить компонент создавать сценарии и выполнять их не составило особого труда. Через сценарии можно как выполнять команды, так и произносить любые фразы.
Единственным большим минусом такого подхода является отсутствие обратной связи от колонки. Неизвестно что играет станция на данный момент и вообще играет ли она что-либо. У локального протокола такой проблемы нет, там выводится полная информация о исполнителе и красивая обложка из Яндекс.Музыки.
YandexStation 2.0
Некоторое время ушло на объединение локального и облачного режима работы. При старте Home Assistant все колонки включаются в облачном режиме и запускается поиск колонок, поддерживающих локальный режим. mDNS довольно капризный протокол и иногда может искать колонку довольно долго. Но благодаря наличию облачного режима — управление станцией сохранится, пусть и в обрезанном режиме без обратной связи. При обнаружении локальной колонки — управление переключается на локальный протокол.
Похожим образом работает другой мой компонент для управления устройствами eWeLink (Sonoff) на оригинальной прошивке — SonoffLAN. В линейке популярных китайских реле также есть устройства, которые поддерживают локальное и облачное управление. И устройства, которые поддерживают только облачное управление.
Могу написать отдельную статью про компонент, если интересно.
Home Assistant Windows Portable
Для пользователей, испытывающих трудности в установке Home Assistant, я собрал портативную версию Home Assistant под Windows на базе WinPython — HassWP. Эта версия подойдёт для ознакомления и экспериментов. В ней уже установлен Home Assistant Community Store (HACS) и компоненты YandexStation и SonoffLAN.
Для повседневного использования всё же рекомендую установить Hass.io на Raspberry Pi, NUC (или аналог) или виртуальную машину с Linux. Но слышал у VirtualBox есть проблемы с Multicast. Это тот самый mDNS без которого в локальной сети НЕ найдутся ваши Яндекс.Станции, устройства Sonoff, колонки Google, плееры с поддержкой AirPlay и многие другие полезные гаджеты.
Заключение
Я знаю довольно много людей, кто купил колонки с Алисой благодаря выходу этого компонента. Решение показывает, что при наличии фукнционального API — эти колонки могут стать почти обязательным устройством в каждом умном доме.
Это далеко не все крутые вещи, на которые способны колонки с Алисой и экосистема умного дома Яндекса. Просто у меня пока ещё не дошли руки реализовать всё задуманное.
Следить за развитием этого и других моих проектов можно на канале в Telegram. На странице GitHub вы можете найти и другие полезные компоненты для Home Assistant.
Сразу скажу, чтобы никто не говорил в комментариях, что слишком много костылей, этот вариант лучше, че м вообще без управления Алисой. Уверен, что многие хотят управлять свои м до мом от Apple Алисой при помощи Алисы.
Настройка
Регистрируе м аккаунт на сайте плагина https://homebridge.g-on.io/, в настройках плагина вводи м логин, пароль и PIN код вашего моста (в конфинге он выглядит "pin": "031-45-154", у вас может быть другой)
Сохраняе м, homebridge перезагружается, далее заходим в личный кабинет https://homebridge.g-on.io/ и выбираем пункт "СТАТУС".
Если всё правильно сделали, должно быть так: СТАТУС КОНТРОЛЛЕРА: Онлайн
Устанавливае м плагин "Dummy" если это переключатель, также среди этих виртуальных устройств есть вентиляторы, кнопки, за мки и т.д.
Вводи м название переключателя и меняе м поле "Stateful", иначе переключатель будет сразу же выключаться (будет работать как кнопка). В поле Time устанавливае м значение "0" - это вре мя, через которое переключатель выключится. С охраняем, перезагружаем homebridge, если он автоматически не перезагрузился.
Создаё м две авто матизации Аксессуар контролируется > выбирае м наше устройство > в первой авто матизации выбирае м "включается", а во второй - "выключается".
Более подробно рассказал в видео
Посмотри примеры работ и выбери себе интегратора.
Класс! Спасибо за статью!
Не понял, если устройство нативно использует homekit как его пробросить в Алису?Само устройство которое нативное, никак не пробросишь в Алису. В Алису можно пробросить только те устройства, которые есть в homebridge, с помощью плагина g-on Alice. Далее создаётся виртуальный переключатель с помощью плагина Dummy, у вас появится новый переключатель в homekit и так-же это переключатель появится в алисе, а дальше нужно будет связать автоматизацией в homekit виртуальный переключатель с нативным устройством на включение и выключение.
Посмотрите прикреплённое видео, там показан весь процесс настройки, заранее извиняюсь за качество, под рукой нет хорошей камеры.
Спасибо! Думал произошло чудо с нативными устройствами
Используй спрутхаб, в нём есть это чудо.
Есть уже готовый? Не стик, а хаб?
Есть спрутстик, есть ПО спрутхаб. Все крутится на малине, работает стабильно. Интеграция с Хомкит, Яндекс. И обратный хомкит, о котором рассказывается в статье. Коммерческого продукта пока нет.
Простите, малинка, "так себе решение" для домашнего хаба на sd носителе. Есть ли возможность устанавливать ПО на NAS? например Synology? Там есть разъем USB. Не тестировали? Вообще много слухов про этот стик, но никто не выложил видео как это работает.
Малина используется лишь для тестирования. После релиза можно будет ставить почти куда угодно, продукт кроссплатформенный.
проблема в том что g-on глючный как вся моя жизнь, если есть тв в хоумбридже вобоще отваливается все, поддержка забила на плагин и он давно не обновлялся, поэтому просто кишит багами, у меня например вобоще все девайсы отвалились в яндекс алисе и что я только не пробовал больше не смог пробросить ни одного устройства, поддержка на гитхабе молчит. Но в целом это коечно вариант, сам таике костыли городил из за розеток koogeek которые не работают с яндекс алисой
Я тестировал только несколько устройств, тв не пробывал
Нужно 5 ирбисов теперь))
Раскидать по всем углам квартиры и управлять по-русски всем своим зоопарком
на авито можно примерено тысяч в 7 влезть)
Хотя сам ирбис как девайс слабенький но надо попробовать как они более 1 шт ся покажут
Делюсь прям опытом и практикой. 5 ирбисов - так себе решение, яндекс мультирум (его подобие) реализовал только в своих колонках и в еще одной вроде, сторонней, но не ирбис точно. Самая главная фишка в поддержке функции что откликается та колонка которая к ближе к тебе (которая лучше тебя услышала). Ирбисы будут слышать тебя все сразу если квартира не огромная, у них микрофон какой то люто чувствительный. Фишка эта что откликается одна колонка на мой взгляд топ за последний год.
Вывод, возьми на том же авито 5 мини, в 15к уложишься.
Когда покупать будешь - звони так же =)
"Мультирум" глючит как в большой, так и в маленькой станции, слышит в соседней комнате часто вместо текущей. А у ирбиса постоянные щелчки и потрескивания из динамика, в режиме простоя.
Читайте также: