Гид по технологиям

Интеграция Google Assistant с Home Assistant

9 min read Умный дом Обновлено 22 Dec 2025
Google Assistant для Home Assistant — шаг за шагом
Google Assistant для Home Assistant — шаг за шагом

Акустическая колонка Google Home

Home Assistant — одна из лучших открытых платформ для автоматизации умного дома. На неё можно развернуть Home Assistant на Raspberry Pi или старом ноутбуке, чтобы получить приватный умный дом. Вы можете покупать готовые устройства или собирать свои переключатели и контроллеры, добавлять их в Home Assistant и управлять всеми с единой панели.

Интеграция с Google Assistant добавляет голосовое управление всем сущностям Home Assistant. Это бесплатно и удобно — колонки Google Mini, Nest и мобильные приложения смогут управлять устройствами и запускать рутинные сценарии.

Важное: перед началом убедитесь, что ваш сервер Home Assistant доступен из интернета по HTTPS с валидным сертификатом. Без этого Google не свяжет ваш экземпляр Home Assistant.

Кому это подходит

  • Владельцам Home Assistant, которые хотят голосовое управление через Google Home.
  • Тем, кто готов открыть HTTPS-доступ к серверу (рекомендуется через защищённые туннели).
  • Людям, которые готовы настроить Google Cloud проект и сервисный аккаунт.

Требования и варианты доступа

Коротко:

  • Рабочий экземпляр Home Assistant с доступом к веб-интерфейсу.
  • Домен и HTTPS. Здесь возможны два безопасных варианта:
    • DuckDNS + Let’s Encrypt — классика для домашних пользователей.
    • Cloudflare Tunnel (рекомендуется) — проще в настройке и безопаснее, не требует пересылки портов.
  • Аккаунт Google, совпадающий с аккаунтом на ваших устройствах Google Home.
  • Проект в Google Cloud и сервисный аккаунт с ключом JSON.

Плюсы и минусы:

  • DuckDNS + Let’s Encrypt: бесплатно, контролируемо, но требует входящих портов и обновления сертификата.
  • Cloudflare Tunnel: безопасный выход без открытых портов, проще пробросить HTTPS, лучше для большинства современных установок.

Примечание: при использовании Cloudflare Tunnel вы обычно не указываете порт в URL при настройке Google Console.

Создание проекта в Google Console

  1. Перейдите на страницу Actions on Google Console и войдите в Google-аккаунт, который используете на своих Google-устройствах.
  2. Нажмите New Project, подтвердите условия и выберите имя проекта, например HomeAssistant. Выберите язык и страну. Нажмите Create project.

Введите имя проекта в Google Console

  1. В разделе проекта выберите Smart Home и нажмите Start Building.
  2. Дайте имя вашему Smart Home действию, например Home Assistant, и сохраните.
  3. На вкладке Overview нажмите Build Your Action.
  4. Нажмите Add Action(s) и укажите URL вашего Home Assistant для Google Action:
  1. Сохраните и в меню проекта откройте Project settings.

Откройте настройки проекта в Google Console

  1. Запишите Project Name и Project ID — они понадобятся в конфигурации Home Assistant.

Настройка связывания аккаунтов (Account Linking)

  1. В Overview найдите Setup Account Linking под Quick Setup.
  2. В режиме связывания выберите OAuth и введите параметры:

Примечание: если вы используете Cloudflare Tunnel, порт в URL часто не нужен.

  1. В Configure your client (optional) добавьте scope: email и name.
  2. Нажмите Next, затем Next, и завершите настройку. После этого на вкладке Develop появится кнопка Test. Нажмите Test. Если всё настроено верно, появится сообщение «Test now enabled».

Тест включён в Google Console

Создание сервисного аккаунта и включение HomeGraph API

  1. Перейдите в Google Cloud Platform Console.
  2. Откройте меню APIs and services > Credentials.

Откройте APIs and services в Google Cloud Console

  1. Нажмите Create Credentials и выберите Service account. Введите имя аккаунта и подтвердите Create and Continue.

Введите данные сервисного аккаунта

  1. В списке ролей выберите Service Account Token Creator. Нажмите Done.
  2. Откройте созданный сервисный аккаунт, перейдите на вкладку Keys. Нажмите Add Key > Create new key, выберите JSON и Create. Скачайте JSON-файл с ключами и переименуйте его в SERVICE_ACCOUNT.json.
  3. Скопируйте содержимое ключа в безопасное место. Включите API HomeGraph через Library — найдите HomeGraph API и нажмите Enable.

Включите HomeGraph API в Google Cloud

Важно: файл SERVICE_ACCOUNT.json содержит приватные ключи. Храните его в безопасном месте и не публикуйте.

Загрузка ключа и редактирование конфигурации Home Assistant

  1. В Home Assistant установите и откройте аддон File Editor или используйте любой другой способ доступа к файлам конфигурации.
  2. Нажмите на иконку папки, затем Upload и выберите файл SERVICE_ACCOUNT.json, который вы скачали и переименовали.

Загрузите JSON файл сервисного аккаунта

  1. Откройте configuration.yaml и добавьте блок для интеграции google_assistant. Пример корректного YAML:
google_assistant:
  project_id: YOUR_PROJECT_ID
  service_account: !include SERVICE_ACCOUNT.json
  report_state: true

Замените YOUR_PROJECT_ID на идентификатор проекта из Google Console. Параметр report_state: true позволяет отправлять состояние устройств в Google.

Редактирование configuration.yaml в Home Assistant

  1. Сохраните файл. Перейдите в Developers Tools > Check Configuration, чтобы убедиться, что конфигурация валидна. Перезапустите Home Assistant после успешной проверки.

Настройка Home Assistant в приложении Google Home

  1. Установите приложение Google Home на Android или iOS и войдите тем же Google-аккаунтом, который использовали при настройке проекта.
  2. Нажмите +, затем Set up device > Works with Google.

Нажмите плюс в приложении Google Home

  1. В списке сервисов найдите ваш проект [test] Home Assistant или то имя, которое вы задали при создании.

Выберите Home Assistant из списка сервисов

  1. Откроется веб-страница Home Assistant для входа. Введите учётные данные Home Assistant и нажмите Login.
  2. После успешной привязки приложение сообщит Home Assistant linked и покажет все сущности, доступные в Home Assistant.
  3. Выберите устройства, которые хотите контролировать через Google, распределите их по комнатам.

Все устройства Home Assistant добавлены в Google Home

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

Google Assistant включает лампочку через Home Assistant

Создание автоматизаций и рутин в Google Home

В приложении Google Home можно настроить Routines. Пример сценария:

  1. Откройте Google Home > Routines.
  2. Выберите триггер, например Bedtime, или создайте собственную голосовую команду.
  3. В Actions нажмите Add action и выберите Adjust Home devices.
  4. Выберите устройства и желаемые действия, затем Save.

Настройка рутин в Google Home

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

Голосовые уведомления через колонки Google

После интеграции вы можете настроить автоматизации в Home Assistant, которые будут воспроизводить голосовые оповещения через Google Home или Nest.

Примеры сценариев:

  • Оповещение, когда датчик уровня воды показывает «полный бак».
  • Оповещение о движении в нерабочее время.

Ниже пример автоматизации Home Assistant, которая отправляет TTS-сообщение на медиаплеер Google Cast (например, google_home):

alias: Оповещение о полном баке
description: При достижении уровня воды отправить голосовое сообщение на Google Home
trigger:
  - platform: numeric_state
    entity_id: sensor.water_level
    above: 95
action:
  - service: tts.google_translate_say
    entity_id: media_player.google_home
    data:
      message: 'Внимание. Уровень воды в баке выше 95 процентов.'
mode: single

Альтернатива для случаев, когда используются notify-сервисы Google:

action:
  - service: notify.google_home
    data:
      title: 'Бак полон'
      message: 'Уровень воды достиг 95 процентов.'

Критерии приёмки:

  • При достижении порога срабатывает триггер.
  • Колонка воспроизводит голосовое сообщение без ошибок.
  • Сообщение слышно в нужных комнатах.

Отладка и распространённые проблемы

Если интеграция не работает, проверьте по шагам:

  1. Доступность HTTPS: попробуйте открыть https://[ВАШ_ДОМЕН]/api/ в браузере извне сети.
  2. Сертификат: валиден ли SSL. Браузер не должен выдавать предупреждений.
  3. В логе Home Assistant: Developers Tools > Logs — нет ли ошибок google_assistant.
  4. Account Linking: убедитесь, что Authorization URL и Token URL корректны и открыты.
  5. Service Account: файл SERVICE_ACCOUNT.json корректен и присутствует в корне конфигурации, путь совпадает с !include.
  6. HomeGraph API: включён в Google Cloud Console.
  7. Google Console: проект находится в режиме теста или опубликован; для личного использования тестового режима достаточно.

Типичные ошибки и решения:

  • Ошибка 401 при связывании: проверьте Client ID и корректность перенаправления OAuth.
  • Устройства не показываются: убедитесь, что report_state: true и что сущности доступны для google_assistant.
  • Текст TTS не воспроизводится: проверьте правильность entity_id медиаплеера и наличие службы tts.google_translate_say или notify.

Безопасность и конфиденциальность

  • Держите SERVICE_ACCOUNT.json в приватном хранилище и не загружайте в публичные репозитории.
  • Ограничьте доступ к Home Assistant через Cloudflare Tunnel, чтобы не открывать прямые порты на роутере.
  • Используйте минимальные OAuth scope: email и name достаточно для связывания аккаунтов.
  • Если важен приватный доступ без облака, рассмотрите локальные голосовые решения. Но большинство облачных функций Google требует доступа в интернет.

Альтернативные подходы и когда интеграция не подходит

  • Nabu Casa Cloud: платный сервис, устраняет необходимость в ручной настройке Google Console и публичного HTTPS. Удобно, но платно.
  • Локальные интеграции и MQTT: если вы хотите полностью локальное решение без связи с Google, можно настроить локальные голосовые ассистенты или Home Assistant локальный интерфейс. Google в этом случае не используется.
  • Если вы не хотите, чтобы сторонние сервисы знали о ваших устройствах — не подключайте Google и пользуйтесь локальными сценариями.

Чек-листы по ролям

Администратор (тот, кто настраивает):

  • Иметь доступ к роутеру/серверу Home Assistant.
  • Создать проект в Google Console и сервисный аккаунт.
  • Загрузить SERVICE_ACCOUNT.json в конфигурацию.
  • Проверить сертификат HTTPS.
  • Перезапустить Home Assistant и проверить логи.

Пользователь (тот, кто пользуется голосом):

  • Иметь Google-аккаунт, привязанный к Google Home.
  • Найти и подключить [test] Home Assistant в приложении Google Home.
  • Проверить, что выбранные устройства доступны и распределены по комнатам.

Установка и тестирование:

  • Тестовый запуск TTS через Developer Tools > Services в Home Assistant.
  • Проверка рутин в приложении Google Home.

Мини-методология быстрой настройки

  1. Подготовить HTTPS-доступ (Cloudflare Tunnel или DuckDNS).
  2. Создать проект в Google Console и Smart Home action.
  3. Настроить Account Linking и указать OAuth URL-ы.
  4. Создать сервисный аккаунт и скачать SERVICE_ACCOUNT.json.
  5. Загрузить JSON в Home Assistant и обновить configuration.yaml.
  6. Проверить конфигурацию, перезапустить Home Assistant.
  7. Связать Home Assistant в приложении Google Home и распределить устройства.

Шаблон для теста автоматизации:

ШагОжидаемое поведение
Срабатывание триггераHome Assistant фиксирует событие
Выполнение действияTTS/notify отправлен на колонку
ВоспроизведениеСообщение слышно в комнате

Диаграмма принятия решения

flowchart TD
  A[Есть HTTPS доступ к HA?] -->|Да| B{Выберите способ}
  A -->|Нет| Z[Настройте Cloudflare Tunnel или DuckDNS]
  B --> C[Cloudflare Tunnel]
  B --> D[DuckDNS + Let's Encrypt]
  C --> E[Создать проект в Google Console]
  D --> E
  E --> F[Создать сервисный аккаунт и включить HomeGraph]
  F --> G[Добавить SERVICE_ACCOUNT.json в HA]
  G --> H[Добавить Google Assistant в configuration.yaml]
  H --> I[Перезапуск HA и проверка]
  I --> J[Связать в Google Home и тестировать]

Часто задаваемые вопросы

Нужно ли платить за связь Google с Home Assistant?

Нет. Сам интеграционный путь через Actions on Google и сервисный аккаунт бесплатен. Платные варианты существуют (например, Nabu Casa) и упрощают процесс.

Что безопаснее использовать DuckDNS или Cloudflare Tunnel?

Cloudflare Tunnel считается безопаснее, так как не требует открытия входящих портов на роутере. DuckDNS с Let’s Encrypt также безопасен при правильной настройке, но чуть сложнее в управлении.

Можно ли использовать локальные колонки без интернета?

Для локального воспроизведения TTS через Google Home обычно требуется сеть и доступ в интернет. Полностью локальные решения существуют, но они не будут интегрироваться с Google Assistant.

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

Краткое резюме

  • Интеграция Google Assistant с Home Assistant даёт удобное голосовое управление.
  • Нужен безопасный HTTPS-доступ; Cloudflare Tunnel рекомендован.
  • Необходимо создать Google проект, настроить Account Linking и сервисный аккаунт с HomeGraph API.
  • После загрузки SERVICE_ACCOUNT.json и обновления configuration.yaml свяжите Home Assistant в приложении Google Home.
  • Используйте TTS и автоматизации для голосовых оповещений.

Итоговые рекомендации:

  • Сохраняйте ключи в приватном хранилище.
  • Тестируйте автоматизации последовательно.
  • Предпочитайте Cloudflare Tunnel для простоты и безопасности.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как сохранить мотивацию к тренировкам зимой
Фитнес

Как сохранить мотивацию к тренировкам зимой

Больше фильтров, линз и стикеров для Snapchat
Социальные сети

Больше фильтров, линз и стикеров для Snapchat

Версии фото в Adobe Lightroom: просмотр, создание, удаление
Обучение

Версии фото в Adobe Lightroom: просмотр, создание, удаление

Панель анимации PowerPoint: руководство
Презентации

Панель анимации PowerPoint: руководство

Kodi + Amazon Echo: голосовое управление
Умный дом

Kodi + Amazon Echo: голосовое управление

Сцены HomeKit — создание и использование
Умный дом

Сцены HomeKit — создание и использование