Управление устройствами яндекс через браузер
Для управления сторонним умным устройством зарегистрируйте и настройте его в приложении производителя, а затем свяжите аккаунт производителя с Яндекс ID. После этого вы сможете управлять устройством как через приложение производителя, так и через Алису и приложение Дом с Алисой.
Чтобы зарегистрировать стороннее умное устройство:
Подсоедините устройство к электросети и включите его.
Скачайте приложение производителя для управления устройством:
Откройте приложение и войдите в свой аккаунт на сайте производителя. Если у вас еще нет аккаунта, зарегистрируйтесь.
Настройте устройство в приложении. Обратите внимание, что для подключения некоторых устройств вам понадобится специальный контроллер — хаб умного дома. Уточнить, нужен ли он для работы устройства, можно на сайте производителя.
Если в процессе настройки вам предложат выбрать регион, где расположено устройство, выберите Россию или другой географически близкий регион. Иначе ваши команды будут отправляться на устройство через удаленный сервер — это замедлит скорость отклика.
Для подключения и управления умными устройствами вам понадобится аккаунт на Яндексе. Если у вас еще нет аккаунта, зарегистрируйтесь.
Если это ваше первое умное устройство, нажмите на баннер Устройства , затеми выберите производителя устройства в списке.
Если у вас уже добавлены умные устройства, в правом верхнем углу нажмите → Устройство умного дома и выберите одного из предложенных производителей или нажмите значок лупы, чтобы найти нужного.
Чтобы настроить устройство, в приложении Дом с Алисой нажмите на него и измените настройки:
Если ваше устройство — выключатель или умная розетка, к которой присоединен осветительный прибор, измените тип устройства на «Освещение» . После этого вы сможете управлять устройством с помощью команд включения и выключения умных лампочек, а также добавить его в группу осветительных приборов.
Выберите дом и комнату, где расположено устройство. Так его будет проще найти в списке компонентов умного дома в приложении Яндекс.
Добавьте устройство в группу устройств. Группы удобно использовать, когда нужно управлять несколькими устройствами одного типа одновременно.
В приложения Дом с Алисой нажмите → Устройство умного дома и выберите производителя умного устройства.
Примечание. На один аккаунт может быть добавлено не больше 301 устройства. Это нужно, чтобы обеспечить стабильность и синхронность выполнения команд, которые затрагивают несколько устройств.
Управлять умными устройствами можно из приложения Дом с Алисой или любого устройства с Алисой.
В приложении Дом с Алисой
Откройте приложение Дом с Алисой. Убедитесь, что вы используете аккаунт, связанный с аккаунтом производителя устройства.
Кроме того, на экране управления устройством могут отображаться текущие показания его датчиков. Например, кондиционер может сообщать о температуре вокруг, а увлажнитель — о влажности воздуха и уровне воды в своем баке. Показатели датчиков помогут вам выбрать правильный режим работы и не забыть вовремя обслужить устройство.
Поддерживаемые датчики перечислены в документации о навыках Алисы.
С помощью Алисы
Позовите Алису и попросите выполнить нужное действие с устройством: включить или выключить, поменять цвет или яркость, перевести в другой режим работы и т. д. Чтобы посмотреть список поддерживаемых команд нажмите на устройство в приложении Дом с Алисой. Доступные команды отображаются на вкладке Голосовые команды . Команды можно выполнять с задержкой или в определенное время.
Чтобы включить или выключить устройство, достаточно просто сказать его название — оно сменит свое состояние на противоположное: включится, если сейчас выключено, и наоборот.
Узнать состояние устройства
Вы можете узнать у Алисы, включено или выключено умное устройство, в каком режиме оно работает, а также что показывают его датчики.
Просто спросите — и голосовой помощник опросит нужное устройство и скажет его текущий статус или показатель. Подробнее читайте в разделе Узнать состояние устройства.
Решение проблем
Если не получается управлять умным устройством, убедитесь, что выполняются следующие условия:
Для управления умным устройством нужен аккаунт на Яндексе, поэтому управлять без авторизации (например, через наушники или часы) не получится.
На устройстве или в приложении Дом с Алисой войдите в аккаунт, который связан с аккаунтом производителя.
Если вы хотите отправлять команды через Алису в Яндекс Браузере, включите в нем синхронизацию.
Если вы хотите изменить настройки только одного устройства, уточните в команде его название, если управляете несколькими — назовите дом, комнату или группу, к которой относится команда.
Их можно не уточнять, тогда Алиса применит команду к той комнате, где стоит умная колонка, — например, команда «Алиса, открой шторы» сделает светлее только в текущей комнате.
Если колонка не привязана к комнате или в комнате с ней нет нужного устройства, настройки изменятся во всем доме. Это же произойдет, если вы отдадите команду не через колонку, а через другое устройство или приложение с Алисой.
Если в вашем умном устройстве установлен один из этих датчиков, но показания в приложении не отображаются, попробуйте добавить устройство заново:
В приложения Дом с Алисой нажмите → Устройство умного дома и выберите производителя умного устройства.
Если это не помогло, обратитесь к производителю устройства — он должен добавить поддержку встроенных датчиков в свой навык для умного дома.
Мы верим, что в будущем люди будут управлять своим домом с помощью голоса, а не кнопок. Поэтому сегодня Яндекс представляет платформу умного дома, которая позволит зажечь свет, убавить температуру на кондиционере, переключить телевизор на другой канал или даже сварить кофе — с помощью Алисы.
Платформа открыта: подключиться к ней могут как крупные производители умных устройств, так и разработчики, автоматизирующие свои дома. Сегодня мы не будем пересказывать документацию, но расскажем читателям Хабра об архитектуре нашей платформы и подскажем устройства, которые уже её поддерживают.
Люди всегда стремились упростить быт. В 1950 году американский инженер Эмиль Матиас вмонтировал более двух километров проводов и многочисленные электродвигатели в стены своего дома, чтобы управлять окнами, дверьми, радиоприемником и прочей техникой с помощью кнопок. Лишь через 25 лет компания Pico Electronics предложит не ломать стены, а использовать существующую в доме электросеть не только для питания приборов, но и для передачи управляющих команд. Со временем появились альтернативы, но человечество ещё десятки лет полагалось на вмонтированные в стены провода и переключатели.
Беспроводной интернет и смартфоны изменили всё. Не обязательно планировать количество и расположение всех устройств на этапе ремонта, если они работают по Wi-Fi. Стационарный пульт можно заменить мобильным телефоном или планшетом. Да и сама идея умного дома вышла за рамки квартиры: выключить забытый дома утюг теперь можно и из такси. И всё бы хорошо, но есть два нюанса.
Фрагментация и управление
Разные умные устройства редко совместимы друг с другом. Если у вас в квартире лампочки разных производителей, то будет проблематично выключить весь свет одной командой. Если кофеварка и колонка не совместимы, то сварить кофе и одновременно прослушать прогноз погоды будет также не просто. Подобные сложности ограничивают выбор умных устройств или даже отпугивают неискушённых пользователей от самой идеи умного дома.
Другая проблема в том, что большинством умных устройств нужно управлять с помощью мобильного приложения. Но это удобно далеко не всегда. Для первичной или точной настройки — да, но попробуйте совершать рутинные операции, например регулировать яркость освещения или громкость телевизора. Для этого нужно отыскать телефон, разблокировать его, запустить приложение, поиграть с опциями, обучить всему этому своих детей и родственников. Сложно.
Научная фантастика уже давно решила эту проблему за нас. В фильмах никто не управляет космическим кораблём или андроидом с помощью телефона — они просто понимают наш язык и умеют отвечать. Единый, понятный любому человеку интерфейс.
Около пяти лет мы шли к собственному голосовому помощнику — Алисе. Сейчас она живёт в наших приложениях. В дороге к ней можно обращаться с помощью Навигатора, дома — через Яндекс.Станцию и другие умные колонки на базе Yandex IO. А ещё у неё живой и приятный голос.
Когда мы взялись за идею умного дома, то поставили перед собой задачу решить обе проблемы. Дать возможность любому человеку вне зависимости от возраста и технической подкованности просто сказать: «Алиса, выключи свет на кухне». И не думать при этом о совместимости разных ламп друг с другом. Мы верим, что наша новая платформа решает эту задачу.
Умный дом Яндекса
У нас было два варианта. Первый — договариваться о совместимости чужого железа и нашего облака. Но тогда пришлось бы вносить изменения в каждое устройство. Слишком трудоёмко и медленно. А ещё это не позволило бы подключить к платформе уже имеющиеся у пользователей устройства, вынуждая их приобретать новые.
Другой вариант — открытая платформа с архитектурой cloud-2-cloud. Производителям достаточно научить своё облако работать с облаком Яндекса с помощью промежуточного Adapter API. Это проще, быстрее и позволяет поддержать устройства, которые были проданы ранее. Этот вариант мы и выбрали.
Важно сказать, что мы не подменяем собой центральный хаб производителя, не пытаемся заменить homebridge и никак не ограничиваем развитие альтернативных интерфейсов.
Объясним на примере. Пользователь Станции говорит: «Алиса, включи чайник». Облако Яндекса преобразует эту фразу в запрос и через Adapter API отправляет в облако производителя. Оттуда сигнал отправляется к чайнику, которому не нужно уметь работать с разными облаками.
Чтобы всё это заработало, Алиса должна знать, какие устройства бывают и как с ними работать. Для этого разработчик устройства должен опубликовать специальный навык умного дома через платформу Диалоги. Этот навык описывает поддерживаемые устройства в формате платформы, а также содержит адрес, по которому доступен Adapter API.
Приложение Яндекс
Управлять умным домом можно с помощью разных приложений и устройств с Алисой, но для настройки необходимо приложение Яндекс. В нём вы найдете список производителей, которые уже поддерживают нашу платформу.
После стартовой активации пользователь сможет управлять поддерживаемыми устройствами голосом: включать/выключать, выбирать цвет или режим работы, регулировать диапазонные настройки. Мы также сохранили возможность управлять ими вручную — с помощью кнопок в приложении.
Умный дом не ограничен простыми командами. Платформа позволяет управлять сразу несколькими устройствами. Например, можно настроить сценарий для пробуждения — и тогда в ответ на приветствие «Алиса, доброе утро» она поставит бодрую музыку на Станции, погасит ночник и включит чайник. Для своих сценариев вы можете придумать любую фразу и набор действий.
Для удобства управления пользователи могут создавать группы и комнаты. Например, можно объединить несколько лампочек в группу «люстра». А если их несколько, то фразой «Алиса, выключи люстру на кухне» можно погасить только ту, что на кухне.
Более того, с помощью Алисы управлять умным домом можно откуда угодно. Допустим, вы любите, чтобы к вашему приходу в квартире было прохладно. Просто скомандуйте по пути с работы: «Алиса, включи кондиционер».
Первые устройства
Умный дом Яндекса уже работает с десятками устройств Philips, Redmond, Rubetek, Samsung и Xiaomi. Список поддерживаемых устройств от этих производителей регулярно пополняется. На очереди — Bosch, Elari, Perenio IoT, SAPFIR и Z-Wave.
Кроме подключения партнёрских устройств, Яндекс выпустил и собственные — умную лампочку, розетку и пульт. Лампочка меняет яркость и цвет освещения, с помощью розетки можно дистанционно включать и выключать подсоединённые к ней приборы, а пульт управляет техникой с инфракрасным портом — например кондиционерами и телевизорами.
Мы верим, что за голосовыми интерфейсами будущее, и сегодня делаем к нему большой шаг. Сейчас у каждого пользователя и разработчика умных устройств есть возможность повлиять на развитие нашей платформы. Любые отзывы и предложения приветствуются.
Если вы разрабатываете свои умные устройства и хотели бы управлять ими с помощью Алисы, то приглашаем в документацию. Спасибо!
Недавно компания Яндекс запустила свою систему «умного дома». Нам предлагают купить недорогие работающие по Wi-Fi устройства: адаптер в розетку, лампочку и ИК пульт. Интересно, что у разработчиков «умных» устройств появилась возможность создать свои навыки «умного дома», это позволит подключить девайсы к системе Яндекса и управлять ими голосом через Алису. В списках навыков появляется всё больше новых брендов. Алиса прекрасно понимает русскую речь, что делает ее безусловным лидером среди голосовых ассистентов на российском рынке.
Однако, не всё так гладко…
Первый минус: в основном, все предложенные системы — «облачные». Их надежность порой вызывает сомнения, так как их работоспособность на прямую зависит от качества соединения с серверами производителя. А при отключении интернета устройства вовсе превращаются в “тыкву”.
Второй минус: система сценариев. Немаловажная часть умного дома — сценарии. И тут они очень примитивные: Если “фраза такая-то”, то включить “устройство такое то”. Для моего умного дома этого оказалось слишком мало.
Изучив документацию, я решил создать навык Яндекс УД и подключить к нему контроллер умного дома. Это позволит не зависеть от облачных серверов, реализовывать любые сценарии локально на контроллере и при этом управлять системой голосом через Алису. Для этого я написал плагин “yandex2mqtt” на Node.js.
Немного теории
— Алиса, включи свет.
После этой фразы происходит магия и включается свет. Но что же за кулисами? Давайте разбираться, как всё это работает.
Яндекс-станция, услышав знакомую команду, отправляет данные на сервер Яндекса, которому мы заранее указали адрес нашего контроллера. Сервер обрабатывает информацию и перенаправляет ее на контроллер в виде Post-запроса. На контроллере промежуточный API (в нашем случае это плагин yandex2mqtt) обрабатывает запрос и перенаправляет его в MQTT топик. Дальше происходит обработка сценария в программе Node-Red.
Node-Red решает, что делать дальше. Если это предусмотрено сценарием, он посылает команду на включение света в соответствующий топик MQTT. Драйвер wb-mqtt-serial реагирует, посылая команду по Modbus на релейный модуль, тот переключает реле. И наконец-то включается свет! Да, путь не близкий, однако для пользователя проходят считанные доли секунд.
Давайте посмотрим на плагин yandex2mqtt поближе. Первое, что требует Яндекс для работы навыка, — oAuth сервис для связки аккаунтов в приложении Яндекс. После того как Яндекс получит токен авторизации от oAuth сервиса, он запрашивает список устройств. Плагин yandex2mqtt отдает в ответ список устройств со всеми свойствами в json формате. Затем они появляются в списке доступных для управления устройств (в так называемом квазаре). Теперь, если скомандовать Алисе включить какое-то устройство из списка, Яндекс пошлёт Post запрос с данными устройства, которое он хочет включить, на контроллер. В ответ плагин подтверждает включение и записывает новое состояние в mqtt топик, указанный в настройках все того же плагина. Если же устройство изменило свой статус без участия Яндекса, то плагин, увидев новые данные в mqtt топике, отправит их Яндексу при запросе статуса, который сейчас происходит, только если зайти в само устройство в квазаре. В иных случаях Яндекс не опрашивает статусы.
Теперь расскажу о некоторых свойствах устройств Яндекс УД.
Тип устройств
Для правильного отображения в “квазаре” и более точного определения команд Алисой Яндекс предлагает присваивать устройствам разные типы. Всего типов 10:
Умение (capability)
Также у каждого устройства должно быть минимум одно умение (capability).
Всего у Яндекс УД есть 5 типов умений. Каждое умение имеет разную функцию (instance), а некоторые умения имеют несколько таких функций, что добавляет гибкости при настройке устройств.
Сapabilities:
1. devices.capabilities.on_off — Включение и выключение.
- brightness
- temperature
- volume
- channel
При правильной комбинации всех свойств устройства Алиса без проблем понимает все отданные ей команды по управлению Умным домом. Тут, конечно, есть некие трудности с комбинированием умений. В документации явно не указано, какие умения можно комбинировать, а какие нельзя. Но с этим нам поможет “метод научного тыка”.
Так, к примеру, я выяснил, что кондиционер содержит четыре умения:
devices.types.thermostat.ac
devices.capabilities.on_off
Чтобы всё заработало, требуется:
Контроллер
Моя “умная” квартира управляется контроллером Wiren Board 6. Но можно использовать любой другой контроллер на линуксе, который потянет Node.js и Node-Red. Например, Raspberry pi или ПК.
Домен
Таким образом, мы имеем статический адрес, который перенаправляет все запросы на наш контроллер.
Порты 443 и 80
Сейчас почти у каждого человека дома есть роутер. Помимо очевидных его функций, он также является барьером для локальной сети от нежелательных гостей извне. Но в определённых случаях нам требуется доступ к внутренней сети снаружи. Производители роутеров это предусмотрели и добавили функцию NAT (Network Address Translation).
Момент настройки роутера я расписывать не стану, так как он разный для каждого производителя. Как это сделать, читайте в инструкции к Вашему роутеру. Ключевые слова для гугления: Port Forwarding, Port Mapping, NAT.
Необходимо пробросить порт для доступа к yandex2mqtt (может быть любой, я выбрал 443) и 80 порт (нужен только для получения SSL сертификата. После получения сертификата 80 порт можно закрыть).
SSL-сертификат
Для получения сертификата необходимо установить программу certbot, запустить и указать все данные, которые она запросит. При этом должен быть свободен и доступен снаружи порт 80. Я советую внимательно изучить инструкцию от letsencrypt.
Останавливаем сервисы watchdog и nginx.
Пробрасываем 80 порт в роутере.
Запускаем программу certbot:
После запуска программа задаст несколько простых вопросов
1. Ваш e-mail. Просто введите адрес и нажмите enter
2. Вам предлагают прочесть пользовательские соглашения. Если вы со всем согласны, просто введите “A”, что означает Agree, то есть согласен.
3. Программа просит разрешения на отправку Вашего адреса электронной почты разработчикам. Введите N.
Если Вы всё сделали правильно, то увидите следующее:
Значит, сертификат успешно получен. Запомните путь к сертификату и ключу, он потребуется при настройке плагина yandex2mqtt. Для безопасности закройте 80 порт в настройках роутера, он больше не пригодится.
Включаем сервисы watchdog и nginx.
Сертификат от letsencrypt выдаётся на 3 месяца. Не забывайте обновлять.
Node.js и плагин yandex2mqtt
Настраиваем репозиторий node.js
Далее устанавливаем или обновляем все необходимые компоненты
После успешной установки копируем репозиторий yandex2mqtt на контроллер.
Заходим в папку.
Cоздайте юнит systemd:
Перейдите в папку /etc/systemd/system/ на контроллере и создайте файл с названием yandex2mqtt.service. Скопируйте в него следующее:
После этого сохраните изменения и закройте файл.
Для включения юнита введите в консоль команду:
Теперь можно запускать и останавливать плагин командами
Все необходимые настройки плагина находятся в файле /mnt/data/root/yandex2mqtt/config.js
Отредактируйте этот файл в соответствии с Вашими параметрами.
SSL-сертификат обязательно должен быть fullchain.
После настройки запустите yandex2mqtt командой:
После настройки и запуска моста советую проверить сертификат на этом сайте.
Просто введите свой домен, который собираетесь использовать для доступа к Алисе. Для корректной работы сертификат должен пройти все проверки. Иначе ничего не заработает.
Навык Яндекс УД
- Название — Любое название.
- Endpoint URL — адрес типа вашдомен/provider, где вместо “вашдомен” адрес из noip или ваш домен, для которого получен ssl-сертификат.
- Приватность — выбрать “Не показывать в каталоге” (Обязательно! Иначе навык не пройдет мгновенную модерацию)
- Имя и Email разработчика — указать Ваши данные.
- Описание — любой текст
- Иконка — любая иконка.
6. Связка аккаунтов:
- Первые два пункта — указываем данные из config.js / clients :
2. Секрет приложения — clientSecret
7. Сохранить навык
8. Нажать “На модерацию”
9. Нажать “Опубликовать”
1. Зайти в приложение Яндекс на телефоне
2. В меню выбрать Устройства/Умный дом
3. Нажать “Добавить устройство”
4. Выбрать свой навык
5. Нажать “Объединить аккаунты”
6. Откроется страница авторизации
Ввести логин и пароль (задается в файле config.js в блоке users)
7. Нажать “Разрешить”.
8. Нажать “Обновить список устройств”
Теперь Алисе можно отдавать команды для управления добавленными устройствами. В указанные mqtt топики будут приходить соответствующие команды.
Осталось привязать к этим топикам какие-то действия.
Node-Red
Для системы автоматизации был выбран Node-Red. Это отличный инструмент визуального программирования. Процедуру установки и настройки можно подсмотреть тут.
Процесс настройки и автоматизации умного дома потянет на целую статью, а то и две. Да и таких статей уже много. Вместо этого — небольшой пример использования плагина, как включить лампочку голосом.
Для удобства на контроллере Wiren Board 6 в веб интерфейсе создаем виртуальное устройство.
В движок правил wb-rules нужно вписать
MQTT топики этого виртуального устройства впишем в config.js на тип умения “on” устройства “Свет”:
Теперь при фразе “Алиса, включи/выключи Свет” переключается виртуальное устройство.
Перейдем в Node-Red, который установили по инструкции.
Для удобной работы с Wiren Board 6 также можно использовать дополнительную “ноду” node-red-contrib-wirenboard.
В контроллер поставлен модуль расширения WBE2R-R-ZIGBEE, что позволило подключиться к “Икеевской” умной лампочке серии ТРОДФРИ по ZigBee-протоколу.
Теперь дело за малым. Закинуть несколько блоков в рабочее поле Node-Red, соединить “ниточками” и нажать Deploy.
Икеевская лампочка подключена через плагин zigbee2mqtt, поэтому в mqtt топик лампочки для управления нужно отправлять json. Для этого между виртуальным девайсом WB и mqtt топиком лампочки вставим простую функцию.
Нажимаем Deploy. Проверяем.
Алиса, включи Свет!
Итак, сегодня мы научились подключать Алису к системе автоматизации. Возможно в некоторых случаях это слишком сложно, проще купить обычную wi-fi лампочку, и этого хватит. Но если Вы задумали собрать себе по-настоящему умный дом, то простыми способами тут не обойтись. А стоит оно того или нет, каждый решит сам. Спасибо за внимание!
Мы привыкли называть умными устройства, которыми можем управлять, не вставая с дивана. Включить лампочку, вентилятор, кофеварку или стиральную машину.
Колонки с Яндекс Алисой хоть и называются умными, но вы не можете изменить громкость не находясь рядом с колонкой (орать через всю комнату не считается). Вы не можете перемотать песню из мобильного приложения Яндекса. Или остановить сказку, запущенную на колонке в детской, из своей кровати в спальне.
В январе 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.
Читайте также: