Интеграция Home Assistant в Google Home бесплатно, без СМС, но с регистрацией

24 ноября 2018, 12:31

Что это такое?

Google Home - система для управления устройствами умного дома от одноименной компании. На данный момент умеет управлять многими устройствами, но менее гибкая чем тот же HomeKit. Однако у нее есть определенное преимущество - голосовой помощник от Google уже говорит на русском и в скором времени в теории должен научиться и управлять устройствами умного дома русскими голосовыми командами. Это дает возможность использовать относительно недорогие колонки от Google для обращения к своему умному дому на родном для нас языке. 

А как это реализовать с Home Assistant?

Путей на данный момент два:

  1. С помощью облака Home Assistant (Далее HA)
  2. С помощью Google API

Первый способ самый простой, но стоит денег. 3$ в месяц. Если вам не жалко такой суммы в месяц и не хочется возиться с вот этими всеми заморочками с API - то это ваш вариант. Второй способ бесплатный, но придется немного помучиться с интеграцией. Его мы и будем использовать.

Что для этого требуется?

Для начала необходимо получить свой домен для HA. Самый простой способ - использовать сервис ddns. После этого необходимо настроить ssl (не путать с ssh) соединение для этого домена. Как это сделать, я рассказывал в своей прошлой статье в серии про HA. Это очень важный пункт и без него ничего не получится!

Настраиваем сервисы Google API

Заходим в консоль разработчиков Google под своей учетной записью и выбираем там пункт "Add/import project":

Далее заполняем поле имени проекта и выбираем в качестве страны "Россия", язык не меняем, с другим у меня не заработало:

После создания проекта вам предложат выбрать платформу, нажимаем на "Home Control":

И далее выбираем единственный пункт "Smart Home":

На вновь открывшейся страничке выбираем самый первый пункт "Name your Smart Home action":

и в появившемся поле пишем имя навыка. Может быть любым. Я выбрал себе "hunter's home". После этого жмем на кнопочку "Save" в правом верхнем углу и возвращаемся на главную страничку настроек, нажав на пункт "Overview":

Теперь выбираем второй пункт:

И выставляем там параметры следующим образом:

На 3 шаге пишем следующие пункты:

  • https://oauth-redirect.googleusercontent.com/ Это поле заполняем так же
  • любой набор буквоцифр - он ни на что не влияет
  • https://your.domain.org/auth/authorize вместо https://your.domain.org пишем свой домен
  • https://your.domain.org/auth/token вместо https://your.domain.org пишем свой домен

На 4 шаге указываем в точности как на скриншоте, а на пятном можете написать любую фразу, она ни на что не влияет. Далее нажимаем кнопку "Save", и переходим снова в пункт "Overview" слева. 

Теперь в разделе "Build your Action" выбираем строчку "Add Action(s)":

И в появившемся поле пишем https://your.domain.org/api/google_assistant, все так же заменяя https://your.domain.org на свой домен. В дальнейшем не буду более это указывать, запомните и будьте внимательней:

После жмете кнопку "Done", и в открывшейся странице кликаем кнопку "Test":

В открывшемся симуляторе переходим в строчку в нижнем левом углу и нажимаем на enter.

Тест выдаст ошибку, но это нам неважно, главное - сам факт запуска теста. Снова переходим в пункт "Overview" и выбираем последний пункт раздела:

Теперь заполняем все поля в новой странице:

Первый раздел - имя и описание нашего дополнения. У меня это OXOTH1K's Home Assistant:

Второй раздел - изображение для дополнения. Можно загрузить любое:

Третий раздел - ваша контактная информация. Я писал свой e-mail:

И последний раздел - заполняем одно поле и пишем в нем https://www.home-assistant.io/

Наконец кликаем на кнопку "Save" и переходим опять в раздел "Overview" слева. Если все предыдущие пункты сделаны верно, вы должны увидеть следующую картину:

Если у вас так же, жмем на шестеренку возле "Overview", выбираем "Project settings" и копируем куда-нибудь данные из строчки "Project ID":

Получаем API ключ

Вторым пунктом получаем API ключ, необходимый для взаимодействия с сервисом. Переходим на сайт Google API cloud. Выбираем сверху наш ранее созданный проект и жмем на кнопку Включить API и сервисы:

В поиске вводим "Homegraph" и выбираем единственную плашку:

Далее жмем кнопку "Включить", переходим в раздел "Учетные данные", выбираем "Создать учетные данные" и там пункт "Ключ API":

В открывшемся окошке копируем ключ и сохраняем его куда-нибудь, он так же понадобится в дальнейшем. После кликаем на кнопку "Применить ограничения для ключа":

Теперь, когда у нас есть все необходимые данные - приступим к настройке HA. 

Добавляем необходимые настройки в HA

Тут все просто, подключаемся по ssh к HA и открываем конфигурирование настроек. Вносим в самый конец файла следующие строки:

google_assistant:
  project_id: google_project_id
  api_key: google_api_key
  exposed_domains:
    - switch
    - light
    - climate
    - media_player

  • project_id: вносим данные, которые получили в первой части статьи
  • api_key: вносим данные, которые получили во второй части статьи
  • exposed_domains: перечисляем типы устройств, которые хотим экспортировать в HA

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

Подключаем плагин HA в Google Home

Дальнейшие инструкции будут для приложения на iOS, но думаю для Android они будут аналогичные:

Открываем приложение Assistant от Google и жмем на иконку своего аккаунта в правом верхнем углу

Переходим на вкладку Ассистент, потом выбираем пункт Автоматизация дома

Жмем на плюсик снизу

Выбираем наш плагин, который должен быть в самом начале списка

Если вы все сделали правильно - откроется страничка авторизации HA, в которой надо залогиниться. После этого можете открыть приложение Google Home и убедиться, что все устройства, которые мы указали - добавились:

Если что-то не получилось - можно удалить все плагины и проекты, которые мы создавали и начать все сначала. У меня у самого получилось со второго раза. Задавайте свои вопросы и комментируйте!


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Олег Челбаев (sprut)
    Олег Челбаев (sprut) 2 года назад

    Отличная статья и серьёзная заявка на победу ;)

  2. Антон Фаюк (LowriderA)
    Антон Фаюк (LowriderA) 2 года назад

    Спасибо. Сам прошёл этот путь вчера. 

  3. Artem Tomshin (tweaker3)
    Artem Tomshin (tweaker3) 2 года назад

    Спасибо большое за статью, все работает! Ждем русский язык!

  4. Вячеслав Фетисов (Ziracul)

    Отлично, все работает и завелись все устройства, счастья полные штаны.

  5. (AlekseyZhmailo)
    (AlekseyZhmailo) 2 года назад

    Спасибо, все работает

  6. Сергей Куролес (kuroles)
    Сергей Куролес (kuroles) отредактировано 2 года назад

    не выходит у меня что-то каменный цветок
    Надо 443 порт на малину прокидывать?

    Хотя у меня по адресам которые в визарде вписывал и изнутри ничего не отвечает

    3 раза пересоздал - эффект тот-же - в ассистенте фовардится на внешнее имя - пишет сафари не удалось установить безопасное соединение с сервером, хотя сертификат установлен, на https://myhostname.com:8123 нормально захожу

  7. Сергей Куролес (kuroles)

    Оно будет работать если я пропишу  https://myhost.name.com:8123/api/google_assistant и т.п. ?

    Потому, что в противном случае если завернуть на внешнем интерфейсе 443 порт на 8123 - оно изнутри не будет работать,т.к. изнутри надо на конкретный порт стучаться а не на 443, либо менять порт HA на 443, да и у многих ( у меня в том числе ) 443 порт завернут на другой девайс или сервис.

  8. Евгений Селянин (Shico)

    Вопрос по связке. У меня раз в 3-5 дней теряет google home mini связку. Помогает заход на duckdns и обновление IP адреса. Может кто подскажет как побороть?

  9. Vadim Novikov (Vadnov)
    Vadim Novikov (Vadnov) 2 года назад

    Спасибо за статью

  10. Роман Елизаров (FantomNotaBene)

    Сань, везде нужен порт HA - 8123 или какой он там сконфигурирован.

    https://your.domain.org:8123/auth/authorize

    https://your.domain.org:8123/auth/token

    И так далее. Только что проделал, наткнулся на ошибку, пошел проверять в чем дело и починил так.

  11. Евгений Селянин (Shico)
    Евгений Селянин (Shico) отредактировано год назад
    Комментарий удален
  12. (chex01)
    (chex01) год назад

    Опцию 'api_key' удалили, начиная с версии HA 0.105.
    Смотрите корректную инструкцию по адресу: https://www.home-assistant.io/integrations/google_assistant

  13. (viktor6)
    (viktor6) 2 месяца назад

    Подскажите как исключить некоторые сенсоры и выключатели? чтобы они не попадали в google assistant

  14. (viktor6)
    (viktor6) месяц назад

    У меня почемуто скрипты и автоматизация не пробрасывается хотя в конфиге их прописал.

К списку статей

Устройства в материале

Google Home

Производитель: Google

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
01 октября 2019, 07:07
"У всякого в умном дому неведомо никому" (с) Народная мудрость
11 мая 2019, 19:57
Как активировать русский язык в Google Assistant для Google Home