Если ваше жизненное пространство заполнено новейшими интеллектуальными устройствами и устройствами IoT, вы можете создать сервер Home Assistant для управления всеми тонкими аспектами настройки вашего умного дома. В дополнение к широкому набору полезных дополнений, Home Assistant также позволяет вам создавать события автоматизации и следить за состоянием ваших устройств.
Более того, эта изящная платформа поддерживает голосовое управление, что означает, что вы можете взаимодействовать с настройками Home Assistant, не пошевелив пальцем. Хотя это звучит (каламбур) действительно круто, настройка собственного голосового помощника может оказаться довольно сложной. Поэтому я составил руководство по созданию умного дома с голосовым управлением!
Что вам понадобится
Прежде чем начать, стоит отметить, что в этом руководстве предполагается, что у вас есть рабочий экземпляр Home Assistant в домашней лаборатории. Если вы еще не настроили сервер Home Assistant, вы можете следовать моему руководству по его установке на Raspberry Pi. Процедура более или менее та же самая, если у вас запасной компьютер x86/x64, и единственное отличие заключается в том, что вам придется прошить другой файл ISO на USB-накопитель вместо карты microSD.
Хотя вы можете повторить этот проект на сервере Home Assistant, работающем на виртуальной машине, вы не сможете настроить функцию голосового управления при запуске HA в контейнере. Это связано с тем, что контейнерная версия Home Assistant не позволяет вам получить доступ к магазину дополнений, который мы будем использовать для получения необходимых плагинов для этого проекта.
Это правда, что вы можете запустить голосового помощника на SBC, таких как Raspberry Pi. Но вы заметите большие задержки в ответе, если попытаетесь использовать более мощные модели преобразования речи в текст на более слабых системах. Наконец, вам понадобится устройство, которое может захватывать и воспроизводить звук с вашего сервера Home Assistant. Чтобы не усложнять, я использовал стандартную комбинацию микрофон + (монитор) динамики для этого руководства, но вы также можете использовать ESP32-S3 Box с помощью других дополнений.
Включение расширенного режима в Home Assistant
После того, как вы настроили Home Assistant на ПК/SBC/виртуальной машине и можете войти в веб-интерфейс, пришло время надеть перчатки DIY. Сначала вам нужно будет включить расширенный режим в пользовательском интерфейсе Home Assistant. Для этого:
- Нажмите на Имя пользователя в левом нижнем углу веб-интерфейса.
- Внутри Общий раздел, прокрутите вниз и включите переключатель рядом с Расширенный режим.
Установка необходимых дополнений
Включив расширенный режим, вы можете приступить к установке необходимых плагинов.
- Нажмите на Настройки вкладку и перейдите к Дополнения раздел.
- Нажмите Добавить в магазин кнопку в правом нижнем углу экрана.
- Искать Шепот и нажмите на Установить кнопку, когда вы заметите дополнение.
- Обязательно установите Пайпер, openWakeWord, Утиный DNS, DNSmasq, Сервер кода студиии Вспомогательный микрофон плагины, пока вы этим заняты.
- Включить Запуск при загрузке и Сторожевой пес переключается перед нажатием на Начинать кнопка для инициализации сервера Whisper.
- Повторите процесс для Пайпер и openWakeWord.
- Возвращайтесь к Настройки страницу и нажмите на Устройства и услуги.
- Нажмите на Настроить кнопка под Пайпер добавить.
- Выбирать Представлять на рассмотрение и нажмите кнопку Заканчивать кнопку во всплывающем окне.
- Повторите последние два шага для Шепот и openWakeWord интеграции.
Добавление источника звука для голосового помощника
Вам необходимо настроить надстройку Assist Microphone для приема (и отправки) звука с сервера голосового помощника.
- Внутри Дополнения раздел Настройки страницу, найдите Вспомогательный микрофон плагин, который вы скачали ранее, и запустите его, нажав на кнопку Начинать кнопка.
- Отправляйтесь в Конфигурация вкладку и выберите Вход и Выход источники под Аудио раздел.
- Ударь по Сохранять кнопку после этого.
Инициализация конвейера голосового помощника
Теперь, когда три основных дополнения готовы и работают, пришло время создать новый конвейер голосового помощника.
- Перейдите к Голосовые помощники страница из Настройки вкладка.
- Ударь по Добавить помощника кнопка.
- Дайте новый Имя вашему голосовому помощнику.
- Набор быстрее-шепот как дополнение под Речь в текст, волынщик как плагин для Преобразование текста в речь объект, и openWakeWord как Wake Word Engine.
- Нажмите Создавать кнопка.
- Выберите Сущности, подвергшиеся воздействию вариант.
- Нажмите на + Раскрыть сущности кнопку перед выбором флажка для всех услуг, связанных с Пайпер, Шепот, Помощник микрофонаи openWakeWord.
Создание HTTPS-сертификата для Home Assistant
В идеальном мире вы могли бы управлять своими умными гаджетами после настройки голосового помощника. Но вы могли заметить, что крик слова пробуждения ничего не делает, в то время как Микрофон кнопка в Помочь раздел Панель инструментов выдает сообщение об ошибке.
Это потому, что Home Assistant, или, скорее, браузер, в котором вы запускаете HA, требует от вас использовать более безопасный протокол HTTPS для использования функции голосового помощника. Есть несколько способов сделать это, но мы пойдем коротким методом, который включает использование бесплатного сервиса DuckDNS.
- Начать Утиный DNS, DNSmasqи Сервер кода студии плагины через Дополнения страница.
- Перейдите на официальный сайт DuckDNS и войдите, указав свой адрес электронной почты.
- Введите уникальное доменное имя и нажмите кнопку Добавить домен кнопка.
- Переключиться на Конфигурации Duck DNS вкладку и вставьте доменное имя и токен вы приобрели на сайте Duck DNS под домены и токены варианты соответственно.
- Изменить принять_условия к истинный и что-нибудь к prime256v1 перед нажатием кнопки Сохранять кнопку для обновления изменений.
- Перейдите к Конфигурация вкладка DNSmasq добавить.
- Тип – хозяева: затем ваше недавно приобретенное доменное имя перед добавлением айпи: рядом с частным IP-адресом вашего сервера Home Assistant в следующей строке.
Обязательно нажмите Сохранять кнопку после этого.
- Используя Сервер кода студииоткройте конфигурации.yaml файл.
- Введите следующие значения в разделе конфигурации по умолчанию с тем же отступом, что и на прилагаемом снимке экрана.
- Перейти к Инструменты разработчика раздел и нажмите Перезапуск кнопка.
- Выберите Перезапустить помощника по дому вариант.
Когда система Home Assistant перезагрузится, веб-интерфейс не будет доступен с обычного IP-адреса. Поэтому вам нужно будет открыть его, введя https:// перед обычным домашний помощник.местный:8123 URL или локальный IP-адрес сервера HA.
Сделайте свой умный дом более удобным с помощью голосового помощника с собственным хостингом
Если вы правильно выполнили все шаги, вы можете включить голосового помощника с помощью слова пробуждения. В качестве альтернативы вы можете использовать Микрофон кнопка внутри Помочь раздел Панель инструментов помощника по дому. Если последний выдает ошибку, возможно, вы используете старую версию Home Assistant и вам придется обновиться до последней версии. Если вам надоело получать запоздалые ответы, вы можете перейти на Конфигурации вкладка Шепот дополнение и переключиться на другой модель транскрипции.
Должен признать, что у меня был неоднозначный опыт с USB-микрофоном. Например, мне пришлось переделать весь процесс, когда Home Assistant неожиданно завис после того, как я установил несколько плагинов для другого проекта. Кроме того, было несколько случаев, когда голосовой помощник не реагировал даже после того, как я прокричал сигнал пробуждения возле микрофона. Тем не менее, это все еще забавный способ управлять сервером Home Assistant только голосом, и я планирую поработать над последующим руководством с более надежным ESP32-S3 Box, когда он попадет мне в руки в будущем.