Предполагается, что на момент прочтения данных строк, у читателя уже функционирует Home Assistant, настроен MQTT-брокер, на окне проветривается привод открытия/закрытия Drivent, Яндекс.Станция ждёт указаний и подключена к домашней сети wi-fi. Сегодня наша задача - обучить Алису открывать или закрывать окно простой фразой "Алиса, закрой/открой окно". Для этого нам потребуется следующее.
В Home Assistant установить компонент для управления станцией. В соответствии с документацией, прописываем необходимые строки в файле конфигурации Home Assistant. Логин и пароль пишутся в кавычках. Используется именно та учётная запись, которая привязана к Алисе!
yandex_station: username: "myuser" password: "mypass"
После этого проверяем конфигурацию и перезагружаем Home Assistant.Перезагрузившись, на панель управления можно вывести появившийся медиа-плеер, название объекта которого будет похоже на media_player.yandex_station_ff98f029d548. Выглядеть это будет следующим образом:
Не отвлекаясь на задачи плеера, обозначим, что плеер может выступать как в качестве «диктора», так и в качестве приёмника команд, которые предусмотрены «из коробки» (пока мы не научили её иному). Дополнительный функционал, который обеспечивается автоматизациями, описан в документации к компоненту. Режимы меняются в соответствующем выпадающем списке "Режим звука".
Далее следует установка Yandex Smart Home – компонента, который обеспечит относительную гибкость работы со станцией, интегрированной в Home Assistant. Данная интеграция компонента подробно описана здесь. Для получения SSL-сертификата, внимательно читаем и следуем указаниям отсюда. Проблем с получением нет, но есть часто задаваемый вопрос о том, что при выполнении
cd /home/homeassistant/.homeassistant/ - возникает ошибка. Путь зависит от способа установки Home Assistant. Попробуйте так:
cd /usr/share/hassio/homeassistant.
Проброс портов на роутере – это вопрос личный и касается самого роутера. Документацию по этому вопросу можно найти у поставщика.
С того момента, как Home Assistant будет доступен по ссылке (пример) https://demo.demo.org, можно начинать дружбу с Яндекс.Станцией.
Интегрируем компонент Yandex Smart Home по уже имеющемуся мануалу. С момента написания вышеуказанного мануала немного изменился интерфейс, но это не мешает связать аккаунты и завершить интеграцию для дальнейшего использования (проверено на момент написания статьи).
На этом интеграции завершились, и пришло время разбираться с тем, как же открыть окно командой «Алиса, открой окно».
На момент написания данной статьи, привод Drivent управляется по MQTT. Открытие происходит путём публикации запроса:
payload: 100 topic: /esp2/setTargetPosition
где 100 – процентное соотношение открытия к положению «закрыто», а esp2 – идентификатор привода, который произвольно задаётся в панели управления самим приводом. Этот запрос создаем в качестве сценария в Home Assistant, сохраняем его и перезагружаемся. После полной загрузки, открываем список доступных для интеграции вендоров умных устройств и находим там своего. Следует напомнить, что название "вашего вендера" задаётся в процессе настройки навыка умного дома. Именно это название далее вы сможете обнаружить в списке доступных интеграций. Вот на примере открытия окна:
Щелкаем по своему поставщику, обновляем список устройств и обнаруживаем одноименные сценарии, которые переносим в соответствующую комнату.
Возможно, что сценарий называется не совсем естественно, например, «Открытие окна на кухне» (как в примере), что сложно для воспроизведения в диалоге с Алисой. Для упрощения – переходим в Яндекс-Устройствах во вкладку «Сценарии» и создаем новый, который по вашей фразе (удобной вам) запускает интегрированный сценарий из Home Assistant. Пример – «открыть окно».
Аналогичные сценарии можно создать для закрытия, проветривания и прочих положений оконной створки, включая переменные значения в %, задаваемые через темплейты. Но об этом немного позже.
Удачи!
Здравствуйте 👋!
Где купить оконный привод drivent? Уже у двадцати человек есть, а я так и не могу его найти и купить, помогите пожалуйста!
https://t.me/Drivent">https://t.me/Drivent