Налаштовуємо Google Assistant для роботи з Home Assistant
На сьогодні, Home Assistant є найкращою системою керування розумним будинком. Кількість пристроїв, що з ним працюють, зростає чи не щодня. Але з голосовими асистентами вибір не дуже. Існує інтеграція для Alexa та Google Assistant, працює вона через хмару (Home Assistant Cloud), і є платною.

Сьогодні ми розглянемо безкоштовний спосіб інтегрувати Google Assistant до Home Assistant. Спочатку про вимоги, їх лише дві:
- Фіксована, «біла» IP адреса від провайдера
- Налаштований SSL (про налаштування читайте в цій статті)
Налаштування Google Assistant
Переходимо в Actions Console та створюємо проект

Далі обираємо Smart Home:

Далі обираємо Name your Smart Home action:

Вигадуємо ім’я та зберігаємо його:

Повертаємось до Overview та обираємо пункт Setup account linking:

Та заповнюємо поля форми:

В поле Client ID вводимо: https://oauth-redirect.googleusercontent.com/
В поле Client secret: будь-який пароль, він потрібен лише google і не буде використовуватись Home Assistant.
В поле Authorization URL введіть: https://my.home.com/auth/authorize (https://my.home.com це адреса вашого Home Assistant з Інтернету)
Token URL: https://my.home.com/auth/token (https://my.home.com це адреса вашого Home Assistant з Інтернету)
В останньому пункті ставимо галочку Google to transmit clientID and secret via HTTP basic auth header наступним кроком зберігаємо зміни:

Далі поверніться в розділ «Overview» і натисніть «Add Action(s)»:

В поле Add fulfillment URL вводимо : https://my.home.com/api/google_assistant (https://my.home.com це адреса вашого Home Assistant з Інтернету), та зберігаємо зміни.

Далі, повертаємось до вкладки Overview і тиснемо Enter information required for listing your Action in the Actions directory:

Далі введіть будь-яку інформацію, вона ніде не використовується, лише в полі Privacy Policy введіть посилання https://www.home-assistant.io, та збережіть зміни:
Заповніть всі поля в розділі Company details :

Перейдемо до консолі Google Cloud Console та, якщо їх декілька, зверху у випадаючому списку виберемо свій проект.

Тиснемо «ENABLE APIS AND SERVICES»

Шукаємо HomeGraph API та вмикаємо

В розділі Credentials натисніть кнопку Configure consent screen

Оберіть User Type – External

Наступним кроком заповніть необхідні поля форми, але, якщо ви бажаєте додати лого до свого додатку, будьте готові до верифікації з боку google, інакше, залиште форму без app logo

Остання дія в консолі – публікація додатку:

Налаштування Google Home app
Налаштування завершено, тепер відкрийте Google Home app на своєму смартфоні, та виконайте наступні дії

Якщо ви все вірно налаштували, ви побачите свій додаток в списку

На наступному екрані введіть звичайні облікові дані Home Assistant

Після авторизації, всі пристрої «залітають» до Google Home app, тепер ви можете призначити їх до певних кімнат та керувати ними. Але, як більш точно налаштувати «видимість» пристроїв можна почитати тут https://www.home-assistant.io/integrations/google_assistant#configuration в секції configuration , це буває корисно у випадку виникнення дублікатів сенсорів при їх додаванні з інших інтеграцій.

Добрий день , маю доступ через Cloudflared.
Але коли ввожу мій сайт/api/google_assistant то коли вже захожу через гугл добавляти не відкриває сторінку авторизації. Коли ввожу без api/google_assistant відкриває але при додаванні помилка . Вже разів 5 пробував всякі інструкції і ніяк не йде . Можливо хтось допоможе. Дякую дуже
Інструкція трохи відрізняється від офіційної:
https://www.home-assistant.io/integrations/google_assistant/
як мінімум на етапі “Configure you client”. Можливо офіційна інструкція оновилася після виходу цього поста
так і є
Зробив за статтею три рази, але нічого не виходить, не можу авторизуватися у створеному додатку.
Добрий день! Чи можете ви авторизуватися в HA за вашими логіном і паролем не з дому (наприклад в браузері)?
Та ж сама проблема. В Гуглє зробив згідно з інтструкцією, але не вдається авторізуватися в додатку Гугл Хоум. Отримую повідомлення. Could not reach….
Також у повідомленнях Home Assistant бачу таке: Login attempt or request with invalid authentication from rate-limited-proxy-142-250-88-34.google.com (142.250.88.34). Requested URL: ‘/auth/token’. (OpenAuth). Для достпупа зовні Клауд Флеа
“Could not reach…” може бути зза того, що ваш HA для гуглу знаходиться за NAT’ом (за роутером в локальній мережі). Ви в роутері порти перекинули? Хоча насправді зараз немає сенсу все це налаштовувати, зараз для України хмара nabukassa безкоштовна, спробуйте гривневу карту додати, у мене вже 1,5роки по 0 гривень знімає, тому зараз у мене все працює без мороки з google.
Дуже дивно. Я маю доступ через Cloudflared. Я зробив все згідно з Вашею інструкцією. Є сертифікат. Я бачу вікно авторизації в Home Assistant коли я заходжу через Google Home. Дійсно дивно.