Локальный голосовой ассистент Home Assistant без облака: Whisper, Piper и Assist
Home Assistant · локальный голос · без облака

Локальный голосовой ассистент Home Assistant: управление умным домом без Алисы и облака

Home Assistant может принимать голосовые команды, распознавать речь, выполнять действия и отвечать голосом полностью внутри домашней сети. Интернет для самой голосовой цепочки не обязателен: микрофон передаёт звук локальному распознаванию, Home Assistant определяет команду, а Piper формирует голосовой ответ.

Assist Speech-to-Phrase Whisper Piper Wyoming openWakeWord
Коротко: для обычного управления светом, климатом, шторами и другими устройствами чаще всего стоит начинать со Speech-to-Phrase + Piper. Если нужно распознавать более свободную речь, лучше Whisper + Piper. Все эти компоненты можно объединить через Wyoming Protocol и оставить обработку голоса внутри дома.

Что такое локальный голосовой ассистент Home Assistant

В Home Assistant голосовое управление строится вокруг Assist. Это не отдельная умная колонка и не один конкретный сервис распознавания речи. Assist представляет собой конвейер, в котором можно независимо выбрать компоненты для распознавания речи, понимания команды, синтеза ответа и активации по ключевой фразе.

Главное отличие локальной схемы от привычной облачной колонки в том, что аудиозапись не обязана уходить на сервер производителя. Распознавание и синтез речи можно выполнять на собственном Home Assistant, мини-ПК или другом локальном сервере.

Важно: локальный голосовой ассистент не означает, что абсолютно каждое подключённое к Home Assistant устройство автоматически становится локальным. Если само устройство или его интеграция требуют облака производителя, эта зависимость сохранится. Локальной становится именно голосовая цепочка Assist и те команды, которые Home Assistant способен выполнить без внешнего сервиса.

Если Home Assistant уже используется как центр умного дома, отдельная облачная экосистема для голосового управления становится необязательной. Это особенно удобно, когда в доме одновременно работают Zigbee, ESPHome, Matter, Wi-Fi, MQTT и устройства разных производителей.

Как устроена локальная голосовая цепочка

1Микрофонпринимает голос
2STTпревращает речь в текст
3Assistопределяет намерение
4Home Assistantвыполняет действие
5Piperозвучивает ответ

Например, пользователь говорит: «Включи свет на кухне». Голосовой спутник передаёт аудио в систему. Speech-to-Phrase или Whisper распознаёт сказанное. Assist связывает фразу с доступной сущностью Home Assistant, после чего вызывается нужное действие. Затем Piper при необходимости произносит ответ.

Такая модульность позволяет заменить отдельный компонент, не переделывая всю систему. Можно оставить один и тот же голосовой спутник, но переключиться с Whisper на Speech-to-Phrase или наоборот.

Из каких компонентов состоит локальный Assist

Assist

Логика голосового управления внутри Home Assistant. Получает распознанный текст и определяет, какое действие нужно выполнить.

Speech-to-Phrase

Быстрое локальное распознавание команд, ориентированное именно на управление устройствами Home Assistant.

Whisper

Более универсальное распознавание естественной речи. Требовательнее к процессору, но не ограничивается набором домашних команд.

Piper

Локальный синтез речи. Превращает текст ответа Home Assistant в голос без обязательного обращения к облачному TTS.

Wyoming Protocol

Связывает Home Assistant с локальными сервисами распознавания речи, синтеза и определения ключевой фразы.

openWakeWord / microWakeWord

Определяют ключевую фразу, после которой ассистент начинает обрабатывать следующую голосовую команду.

Wyoming здесь играет роль связующего протокола. Через него Home Assistant умеет подключать локальные Speech-to-Phrase, Whisper, Piper и openWakeWord. Благодаря этому голосовые сервисы можно запускать как внутри Home Assistant OS, так и на отдельной машине.

Speech-to-Phrase или Whisper: что лучше

Параметр Speech-to-Phrase Whisper
Основная задача Команды умного дома Общее распознавание речи
Скорость Обычно очень высокая Сильно зависит от модели и CPU/GPU
Требования к железу Низкие Выше
Свободная речь Ограниченно Да
Управление светом, климатом, шторами Отлично подходит Подходит
Диктовка произвольного текста Не предназначен Подходит значительно лучше
Работа на слабом сервере Предпочтительно Возможна, но ответ может быть медленнее

Когда выбирать Speech-to-Phrase

Если голос нужен прежде всего для бытовых команд: включить свет, изменить яркость, открыть шторы, запустить сцену, установить температуру или спросить состояние поддерживаемой сущности. Speech-to-Phrase строит модель вокруг известных Home Assistant сущностей, областей и поддерживаемых фраз, поэтому может работать быстро даже на сравнительно слабом оборудовании.

Когда выбирать Whisper

Whisper нужен, когда пользователь говорит более свободно, требуется универсальное распознавание или голосовая система в будущем будет использоваться не только для коротких команд умного дома. За универсальность приходится платить вычислительными ресурсами.

Практичный подход: для первого локального ассистента разумнее попробовать Speech-to-Phrase. Если его ограничений станет мало, перейти на Whisper несложно: Assist позволяет заменить STT-компонент без перестройки всей системы.

Что выбрать для русского языка

На сегодняшний день Speech-to-Phrase уже включает русский язык в список поддерживаемых. Это заметное изменение по сравнению с ранними версиями проекта, когда основной выбор для русскоязычного локального ассистента фактически сводился к Whisper.

Для русского домашнего управления Speech-to-Phrase особенно интересен там, где набор команд предсказуем: свет, выключатели, климат, сценарии, таймеры и другие поддерживаемые intents. При этом полнота конкретных команд может отличаться между языками, поэтому результат нужно проверять на реальных названиях сущностей и помещений.

Whisper остаётся более универсальным вариантом. Он лучше подходит, если пользователи формулируют команды каждый раз по-разному или предполагается дальнейшее подключение разговорного агента.

Не путайте распознавание речи и ключевую фразу. Русская команда может распознаваться локально, но стандартный openWakeWord имеет отдельные ограничения по языкам wake word. Это две разные стадии голосового конвейера.

Какое железо понадобится

Голосовая система состоит как минимум из сервера Home Assistant и устройства с микрофоном. Динамик нужен, если требуется голосовой ответ.

Сервер

Для Speech-to-Phrase требования относительно небольшие. Piper также оптимизирован для локальной работы и способен работать на маломощных системах. Whisper заметно чувствительнее к производительности процессора и выбранной модели.

Минимум

Home Assistant OS на совместимом устройстве + Speech-to-Phrase + Piper.

Оптимально

Современный x86-64 мини-ПК с SSD. Даёт запас для Home Assistant, истории, интеграций и голосовой обработки.

Для тяжёлого Whisper

Более производительный CPU, отдельный сервер или ускоритель, если важна минимальная задержка на крупных моделях.

Не стоит выбирать сервер только по голосовому ассистенту. В реальном доме на той же машине могут одновременно работать Zigbee2MQTT, ESPHome, MQTT, база данных, видеонаблюдение, Node-RED и другие сервисы.

Голосовые спутники

В качестве конечной точки можно использовать Home Assistant Voice Preview Edition, совместимые ESPHome-устройства с микрофоном и динамиком, Android-устройства или другие спутники, способные передавать звук в Assist.

Как собрать полностью локальный голосовой ассистент

Ниже схема для Home Assistant OS. Названия пунктов интерфейса могут немного меняться между версиями, но логика остаётся той же.

  1. 1

    Выберите локальное распознавание речи

    Установите Speech-to-Phrase или Whisper. Для обычных команд умного дома разумно начать со Speech-to-Phrase.

  2. 2

    Установите Piper

    Piper будет формировать голосовой ответ локально.

  3. 3

    Запустите голосовые сервисы

    После запуска Home Assistant обычно обнаруживает их через интеграцию Wyoming.

  4. 4

    Проверьте Wyoming

    Откройте «Настройки → Устройства и службы» и добавьте найденные Speech-to-Phrase/Whisper и Piper, если они ещё не настроены автоматически.

  5. 5

    Создайте Assist pipeline

    В разделе голосовых ассистентов создайте нового ассистента. Укажите русский язык, Home Assistant как Conversation agent, выбранный STT и Piper как TTS.

  6. 6

    Откройте нужные сущности для Assist

    Ассистент должен знать, какими устройствами ему разрешено управлять.

  7. 7

    Проверьте команды без wake word

    Сначала добейтесь стабильного распознавания и выполнения команд вручную. Только потом добавляйте активацию по ключевой фразе.

Если Home Assistant установлен не как Home Assistant OS, локальные голосовые сервисы можно запускать отдельно, например в контейнерах, и подключать к Home Assistant через Wyoming Protocol. В такой архитектуре особенно важно правильно настроить адреса, порты, DNS и межсетевые правила.

Почему Assist не видит лампу: нужно открыть устройства для голосового управления

Одна из самых частых ошибок: Speech-to-Text работает, фраза распознаётся правильно, но Home Assistant отвечает, что не может найти устройство. Причина часто не в микрофоне и не в Whisper, а в самой модели сущностей.

Для стабильного голоса нужно привести в порядок:

  • названия сущностей;
  • помещения и зоны;
  • псевдонимы;
  • список устройств, открытых для Assist;
  • дублирующиеся или непонятные имена.

Название вроде light.sonoff_10014a87_2 удобно системе, но бесполезно человеку. Пользователь должен говорить «люстра в спальне», «подсветка кухни», «бра у кровати», а Home Assistant должен однозначно понимать, какая сущность имеется в виду.

Хорошая структура имён

Плохо Реле 1 Свет 2 Sonoff CH3
Лучше Люстра Подсветка столешницы Свет в прихожей

Если одинаковые названия используются в разных помещениях, правильно назначенные Areas позволяют говорить естественно: «выключи свет в спальне» или «включи люстру на кухне».

Как сделать активацию по ключевой фразе

Голосовой ассистент можно запускать кнопкой, из приложения или автоматически после ключевой фразы. Для последнего используется wake word engine.

Home Assistant поддерживает openWakeWord, а некоторые конечные устройства умеют выполнять обнаружение ключевой фразы локально через microWakeWord. Архитектурно это важно: при серверном wake word спутник передаёт аудиопоток серверу, а при on-device варианте часть обработки остаётся непосредственно на устройстве.

openWakeWord на сервере

Подходит даже для сравнительно слабых голосовых спутников. Больше работы выполняет сервер Home Assistant.

microWakeWord на устройстве

Ключевая фраза определяется непосредственно на совместимом устройстве, что снижает постоянный поток аудио к серверу.

На практике сначала нужно добиться хорошей работы микрофона, STT и Assist, а уже затем включать wake word. Иначе становится трудно понять, на какой именно стадии теряется команда.

Стандартная поддержка языков для ключевых фраз уже, чем поддержка русского распознавания команд. Поэтому не следует делать вывод «русский STT работает, значит любая русская фраза активации тоже будет работать».

Приватность и безопасность

Главная причина строить голос локально заключается не только в отсутствии интернета. Пользователь получает контроль над маршрутом аудиоданных и может отделить голосовую инфраструктуру от внешних сервисов.

При полностью локальном pipeline Spoken audio → STT → Assist → TTS может выполняться внутри домашней сети. Но безопасность всё равно зависит от конфигурации самого Home Assistant и сети.

  • не открывайте порты Whisper, Piper и Wyoming напрямую в интернет;
  • для удалённого доступа используйте защищённый способ подключения;
  • не давайте голосу доступ к лишним сущностям;
  • особенно внимательно относитесь к замкам, воротам, сигнализации и другим критичным функциям;
  • держите Home Assistant и связанные компоненты обновлёнными;
  • делайте резервные копии конфигурации.

Голосовое управление не должно становиться единственным способом выполнить важное действие. Свет, отопление, ворота и другие инженерные системы должны сохранять нормальное ручное управление и предсказуемое поведение при отказе сервера.

Типичные ошибки при настройке

Сразу ставят тяжёлый Whisper

На слабом сервере ответы становятся медленными, хотя для бытовых команд хватило бы Speech-to-Phrase.

Путают STT и wake word

Это разные этапы. Система может отлично понимать русский после нажатия кнопки, но не реагировать на выбранную ключевую фразу.

Не приводят в порядок имена сущностей

Голосовое управление быстро показывает все проблемы со структурой Home Assistant.

Открывают Assist всё подряд

Чем больше одинаково названных сущностей, тем выше риск неоднозначной команды.

Пытаются исправить плохой микрофон настройкой модели

Эхо, расстояние, шум телевизора и неудачное размещение могут испортить распознавание сильнее, чем выбор STT.

Сначала настраивают wake word

Диагностировать систему проще по этапам: микрофон → STT → Assist → действие → TTS → wake word.

Какую конфигурацию выбрать

Вариант 1 Простой локальный голос для дома

Speech-to-Phrase + Home Assistant Assist + Piper

Лучший старт для света, климата, сценариев и других стандартных команд. Небольшие требования к серверу и минимальная задержка.

Вариант 2 Более свободная речь

Whisper + Home Assistant Assist + Piper

Подходит, когда жёстко ограниченного набора фраз недостаточно. Желательно использовать более производительный сервер.

Вариант 3 Голос в нескольких комнатах

Несколько voice satellites + центральный Home Assistant + локальные STT/TTS

В комнатах размещаются только микрофоны/динамики, а основная обработка выполняется на центральном сервере.

Что я бы выбрал для нового локального умного дома

Для обычного дома я бы начинал со Speech-to-Phrase и Piper на x86-64 сервере или достаточно производительной системе Home Assistant OS. Сначала один голосовой спутник в тихом помещении, нормальные имена сущностей и ограниченный набор устройств, открытых Assist. После отладки можно добавлять остальные комнаты.

Whisper имеет смысл подключать тогда, когда реально нужна свобода формулировок. Устанавливать более тяжёлую систему только потому, что она «умнее», не всегда рационально: в домашней автоматизации скорость и предсказуемость команды часто важнее универсальной расшифровки речи.

Локальный голос и облачная колонка: это не одно и то же

Алиса, Google Assistant и другие облачные ассистенты удобны как готовый пользовательский продукт. Home Assistant Assist решает другую задачу: он позволяет владельцу самому собрать голосовой интерфейс поверх собственной системы автоматизации и выбрать, какие части будут локальными.

Поэтому вопрос не обязательно звучит как «чем заменить Алису». В одной системе можно оставить привычные колонки для части бытовых задач и одновременно использовать локальный Assist для тех функций, где важны автономность, приватность и независимость от облачного API.

Частые вопросы

Может ли Home Assistant понимать голос полностью без интернета?

Да. Локальный Speech-to-Phrase или Whisper может распознавать речь внутри домашней сети, Assist обрабатывает команду локально, а Piper локально озвучивает ответ.

Работает ли локальный Assist на русском языке?

Да. Русский поддерживается в Speech-to-Phrase, а Whisper также может использоваться для русской речи. При этом набор поддерживаемых команд Speech-to-Phrase зависит от конкретного языка и Home Assistant intents.

Что быстрее: Speech-to-Phrase или Whisper?

Для типовых команд умного дома Speech-to-Phrase обычно легче и быстрее. Whisper универсальнее, но требует больше вычислительных ресурсов.

Нужна ли Home Assistant Cloud?

Нет, если используются локальные STT и TTS. Cloud остаётся отдельным вариантом, но для полностью локальной голосовой цепочки он не обязателен.

Нужна ли отдельная умная колонка?

Не обязательно. Нужен совместимый голосовой endpoint: устройство с микрофоном, а для голосового ответа ещё и с динамиком.

Можно ли поставить Whisper и Piper на другой сервер?

Да. Wyoming Protocol позволяет подключать внешние локальные сервисы к Home Assistant. Это удобно, если сам Home Assistant работает на слабом устройстве, а распознавание речи хочется перенести на более мощный сервер.

Можно ли управлять голосом воротами и замками?

Технически возможности зависят от интеграции и настроек Assist, но критичные действия нужно ограничивать особенно внимательно. Голос не стоит рассматривать как полноценную замену контролю доступа и безопасной авторизации.

Вывод

В 2026 году локальный голосовой ассистент Home Assistant уже можно собирать не как эксперимент, а как нормальную часть домашней автоматизации. Speech-to-Phrase подходит для быстрых и предсказуемых команд, Whisper даёт более свободное распознавание, Piper локально формирует голосовой ответ, а Wyoming объединяет эти сервисы с Assist.

Для русскоязычного дома логично начинать со Speech-to-Phrase + Piper и хорошо организованных сущностей Home Assistant. Если возможностей станет мало, STT можно заменить на Whisper, не меняя всю архитектуру.

Главное преимущество такой схемы не в том, что она копирует Алису. Home Assistant позволяет построить собственный голосовой слой поверх локального умного дома и самому определить, какие данные и устройства действительно должны зависеть от внешних облаков.