Home Assistant – безусловно, лучшее программное обеспечение для домашней автоматизации, которое я использовал. Одна вещь, которая сделала бы это еще лучше, – если бы я мог управлять домашним помощником с помощью Google Home. Самым большим преимуществом центров Smart Home, таких как SmartThings, Wink и т.д., По сравнению с Home Assistant является интеграция с Google Assistant, который добавляет возможность голосового управления устройствами, подключенными к концентратору. Уже нет. В версии 0.56 добавлена интеграция Home Assistant и Google Assistant. Это стало еще проще с введением облака Home Assistant в выпуске 0.60. [ Читайте: Samsung SmartThings против Wink Hub – Какой из них лучше для кого? ]
В этом посте я покажу вам, как настроить Google Assistant для Home Assistant с использованием и без использования Home Assistant Cloud, что стоит 5 долларов в месяц. Бесплатный метод имеет некоторые требования и может быть неудобен в настройке, но это не так сложно и БЕСПЛАТНО.
Changelog:
- 10 апреля 2019 г. – Обновлены инструкции, отражающие текущий процесс. Протестировано на версии Home Assistant 0.91.2.
- 17 октября 2018 года – в версии Home Assistant 0.80 произошли серьезные изменения, которые затронули Google Assistant. Обновлено руководство с новыми инструкциями.
Преимущества Home Assistant – Интеграция с Google Assistant
Очевидным преимуществом является возможность управления устройствами, такими как источники света, переключатели и т.д., Которые подключены к вашему домашнему помощнику с помощью вашего голоса на переносных устройствах с поддержкой Google Assistant или в Google Home. Если учесть, что Home Assistant имеет интеграцию более чем с 1000 компонентами, вы сможете делать с голосом гораздо больше вещей, чем SmartThings, Wink или любой другой подобный концентратор. [ Читать: Как добавить анимированный метеорологический радар в Home Assistant? ]
Вот несколько необычных, но интересных примеров:
- Я могу включить режим отпуска, используя мой голос. Все автоматические помощники, включающие режим отпуска, автоматически станут активными.
- Если вы являетесь поклонником Docker, вы можете управлять своими Docker-контейнерами с помощью своей домашней страницы Google (далее следует отдельное руководство). Я могу использовать голосовые команды для запуска, остановки или перезапуска Home Assistant, UniFi Controller, Plex, Emby, Radarr, Sonarr и т.д., Которые я запускаю с помощью Docker, как описано в моем Docker Media Server pPost.
- Я могу начать, остановить или перезапустить загрузку (Transmission, SABnzbd и т.д. ). Я даже могу включить альтернативную скорость загрузки в передаче с помощью моего голоса.
- Я выключаю и включаю логическое значение ввода, которое запускает автоматизацию для отправки команды «ОК» на мой телевизор. Я использую это, чтобы пропустить рекламу с голосом, когда мои дети смотрят YouTube.
Итак, давайте посмотрим, как настроить Google Assistant для Home Assistant.
Настройка Google Assistant для Home Assistant
Как объяснялось ранее, теперь есть два способа интеграции Google Assistant, чтобы вы могли использовать Google Home с Home Assistant. Более простой, но не бесплатный (5 долларов в месяц) метод использует облачный сервис Home Assistant, который также предлагает интеграцию с Amazon Alexa. Громоздкий (это не так сложно, и я пройдусь по нему) требует небольшой настройки, но он бесплатный. Я расскажу оба в этом руководстве.
1. Настройка Google Assistant для Home Assistant без облачной службы – бесплатно
Настройка Google Assistant для Home Assistant основана на компоненте Google Assistant. Этот метод имеет несколько ключевых требований:
1.1. Требования
- Домашний помощник должен быть доступен через Интернет. Это может потребовать переадресации портов на вашем маршрутизаторе и может представлять угрозу безопасности, если все сделано неправильно. Вам нужно будет перенаправить порт 443, чтобы он указывал на хост вашего домашнего помощника.
- Доменное имя (example.com) или динамический DNS, указывающий (например, DuckDNS или Afraid) на ваш домашний IP.
- Сертифицированный SSL-сертификат (не самозаверяющий) для вашего доменного имени или Dynamid DNS.
Если вы следовали моим руководствам Docker Media Server и обратного прокси- сервера Traefik, довольно легко настроить экземпляр домашнего помощника с помощью Docker, за обратным прокси-сервером Traefik и автоматическим SSL-сертификатом Let’s Encrypt. Вам нужно только открыть порт 443 (для HTTPS) для Интернета, а не порт домашнего помощника, что повышает безопасность.
Как только вы удовлетворите требования, давайте перейдем к настройке Google Assistant для Home Assistant.
1.2. Создать действия в Google Project
Этот процесс включает создание Умного дома Google Action и получение учетных данных для доступа к нему. Прежде чем вы сможете управлять Home Assistant с помощью Google Home, вам потребуется следующая информация:
- project_id – идентификатор проекта из консоли разработчика Google
- ~client_id – длинная случайная строка, используемая для неявного OAuth~ – Не требуется, так как Home Assistant v0.80.
- ~access_token – еще одна длинная случайная строка. На самом деле не используется нигде, но необходимо~ – Не требуется, так как Home Assistant v0.80.
Перейдите в Actions в консоли Google / Developer и создайте новый проект Actions и введите имя, как показано ниже. Имя может быть любым, что вы можете узнать.
Создать новый проект Google Actions
На следующем экране выберите «Управление домом» для категории, а затем «Умный дом» для типа.
Выберите Дом управления Действия
Затем в разделе «Обзор» выберите «Дать имя своему умному дому», как показано ниже.
Назовите Умный Дом Действие
Укажите имя, которое вы будете использовать для вызова вашего домашнего помощника в Google Home или Google Assistant. К сожалению, вы не можете вызвать своего помощника по дому в Home Assistant, поскольку он содержит слово «Помощник», что запрещено. Вам придётся придумать что-нибудь креативное и не против использовать. Не используйте “Мистер Хасс”, я не могу заставить мой дом на Google правильно распознать это.
Введите отображаемое имя для действия
Вернитесь к обзору и затем нажмите «Настройка привязки учетной записи».
Настройка привязки аккаунта для действия
Оставьте выбор по умолчанию здесь – Нет, я хочу разрешить создание учетной записи только на моем сайте, как показано ниже.
Определить метод создания учетной записи
Далее, для типа Linking выберите OAuth и код авторизации, как показано ниже.
Определить тип привязки аккаунта
Затем вам нужно будет предоставить информацию о клиенте, как показано ниже:
Предоставить информацию о клиенте
Настройте следующее:
-
Идентификатор клиента: должен быть https://oauth-redirect.googleusercontent.com/ (включая косую черту в конце).
-
Секрет клиента: требуется для действий Google, но не используется Home Assistant. Так что это может быть любая случайная строка. Хотя это излишнее количество, вы можете использовать этот онлайн-инструмент для генерации случайной строки, как показано ниже.
Генерация клиентского секрета
Для авторизации URL используйте следующее:
https://hass.example.com/auth/authorize
Для URL токена используйте следующее:
https://hass.example.com/auth/token
Настройте следующее для URL авторизации и токена :
- hass.example.com: Используйте свой динамический DNS или доменное имя. В моем случае, HASS находится под своим собственным поддоменом за обратным прокси-сервером Traefik. Если ваш порт выставлен через порт, вы можете использовать example.com:8123, где 8123 – ваш порт Home Assistant.
Затем в разделе «Настройка клиента» определите следующие две области: имя и адрес электронной почты, как показано ниже:
Определить область
Google для передачи clientID и секрета через HTTP базовую аутентификацию должен быть оставлен непроверенным.
Затем в разделе «Инструкции по тестированию» укажите тестовый аккаунт, как показано ниже. Это может быть что угодно, так как на самом деле мы ничего не будем тестировать. Так что тест в порядке.
Предоставить тестовый аккаунт
Как только вы нажмете «Сохранить», Быстрая настройка завершена. Вернитесь к обзору и завершите «Создайте свое действие». Нажмите на Add Actions, как показано ниже.
Действие Действие
URL выполнения должен быть похож на следующее:
https://hass.example.com/api/google_assistant
Укажите URL выполнения
Еще раз настройте hass.example.com, как описано ранее. Затем нажмите «Готово», чтобы завершить построение своего действия. Далее вам нужно будет предоставить некоторую информацию о развертывании.
Вернитесь к экрану «Обзор» и выберите «Ввести информацию, необходимую для перечисления действий в каталоге действий».
Предоставить информацию о развертывании
На самом деле мы не будем перечислять наши действия в каталоге. Мы оставим это в «черновом» режиме. Не суетитесь по поводу предоставленных вами данных. Сначала предоставьте описание, как показано ниже. Это может быть что угодно.
Предоставить описание для действия
Затем предоставьте фоновое изображение и значок для вашего действия. Требуется только значок. Как вы можете видеть ниже, я только что использовал иконку домашнего помощника здесь.
Предоставить значок для действия
Затем, для контактных данных, укажите свой электронный адрес. Это не будет отображаться публично. Так что не переживай.
Предоставьте контактную информацию для акции
Наконец, для ссылки на Политику конфиденциальности, просто укажите любую ссылку. Я просто использовал URL сайта Home Assistant здесь.
Предоставить информацию о конфиденциальности и согласии
Игнорируйте раздел «Дополнительная информация» и нажмите «Сохранить». Выполнив все вышеперечисленные шаги, вы должны были выполнить все требования на странице Обзор, чтобы отменить действие.
Проект Действие завершено
Нажмите на симулятор, как показано ниже, и начните тестирование. Не волнуйтесь, это ничего не изменит на данный момент.
Симулятор действий
Вам будет представлен экран, похожий на приведенный ниже. Вам не нужно ничего делать здесь.
Проверьте действие
Наконец, нажмите на значок шестеренки, как показано ниже, перейдите в настройки проекта и запишите идентификатор проекта. Это необходимо для настройки Google Assistant for Home Assistant.
Запись идентификатора проекта
1.3. Создать ключ API Google Console для проекта
Ключ API необязателен. Но без этого вы не сможете сказать «Хорошо, Google, синхронизируй мои устройства », чтобы обновить устройства из Home Assistant, перечисленные в приложении Google Home. Поэтому, если вы добавите новые устройства в домашний помощник после настройки Google Assistant, вам придется отсоединить и повторно связать свой аккаунт, чтобы они отображались в вашем приложении Google Home. При этом вы потеряете настройки, такие как псевдонимы и назначения комнат. Поэтому предоставление api_key
настоятельно рекомендуется.
Перейдите в Google Cloud Console и выберите проект, который вы создали на предыдущем шаге, как показано ниже. Далее нажмите кнопку «Включить API и сервисы».
Консоль разработчика Google
Найдите, найдите и включите «Homegraph API».
Включить Homegraph API
Затем нажмите на «Учетные данные» и создайте новый ключ API.
Создать ключ API для Home Assistant
Запишите указанный ключ API. Вы можете закончить здесь, но я предлагаю вам нажать на Restrict Key.
Записать ключ API
По крайней мере, укажите имя ключа API, чтобы вы могли распознать, для чего он был создан. Если вы знаете, что делаете, вы можете ограничить API своим домашним помощником WAN IP или предоставить другие ограничения для использования ключа. Но это не обязательно.
Настройте ключ API
Уф! Это все о настройке на стороне Google. Теперь пришло время добавить компонент Google Assistant в Home Assistant.
1.4. Добавить Google Assistant в Home Assistant
С помощью идентификатора клиента, идентификатора проекта, токена доступа и ключа API, сгенерированных на предыдущих этапах, мы теперь можем добавить компонент Google Assistant в Home Assistant. Откройте ваш configuration.yaml
файл и добавьте следующий блок кода:
google_assistant:
project_id: PROJECTID
api_key: APIKEY
exposed_domains:
- light
Заменить ПРОЕКТ, ~CLIENTID, ACCESSTOKEN,~и APIKEY с тем, что вы отметили в предыдущих шагах. Вы можете сделать несколько доменов (типов устройств) доступными для Google Assistant. Весь список можно найти здесь. Эта страница также включает в себя еще несколько способов настройки того, какие устройства доступны для Home Assistant и как они доступны. В этом руководстве я лишь показываю свой умный свет для простоты. Лучше начинать с одного или нескольких доменов и постепенно добавлять другие домены / объекты, чтобы вы не были засыпаны сотнями новых устройств, загромождающих ваше приложение Google Home. Кроме того, у вас также есть возможность явно указать, какие объекты могут отображаться в приложении Google Home.
Сохраните файл конфигурации и перезапустите домашний помощник.
2. Облако Home Assistant Установка Google Assistant – 5 долларов в месяц
Внедрение облачного сервиса в 2018 году значительно упростило интеграцию Amazon Alexa и Google Assistant в Home Assistant. Вам не нужно создавать проекты, идентификаторы, ключи API и т.д., Благодаря чему намного проще управлять помощником по дому с помощью Google Home. Недостатком является то, что облачный сервис стоит 5 долларов в месяц.
Облачный сервис создает защищенную связь между вашим домашним экземпляром и облаком домашнего помощника. Ваши голосовые команды отправляются в облако Home Assistant, обрабатываются, а ответ отправляется обратно в ваш экземпляр HASS.
2.1. Зарегистрироваться или войти в аккаунт Home Assistant Cloud
Облако Home Assistant находится в ведении Набу Каса. Чтобы зарегистрироваться или войти, перейдите в «Конфигурация» -> «Домашний помощник в облаке» из пользовательского интерфейса домашнего помощника.
Зарегистрируйтесь или войдите в свою учетную запись Home Assistant Cloud
Если у вас уже есть аккаунт, войдите сейчас. Если вы этого не сделаете, вы можете создать учетную запись. При создании учетной записи на Nabucasa.com создается пробная 31-дневная учетная запись. По истечении 31-дневного пробного периода облачная служба будет стоить вам 5 долларов в месяц.
2.2. Добавить Google Assistant в Home Assistant
После регистрации в облачной службе вы можете открыть свое приложение Google Home и связать аккаунт. Однако я не рекомендую делать это, поскольку облачная служба по умолчанию делает все доменные доменные помощники / объекты доступными в Google Home. Это может быть несколько сотен устройств, если у вас есть полная настройка HASS. Я рекомендую добавлять устройства по шагам. В этом руководстве я только включаю умные огни.
Откройте ваш configuration.yaml
файл и добавьте следующий блок кода:
cloud:
google_actions:
filter:
include_domains:
- light
Подробности о том, как настроить устройства, доступные для Home Assistant и как они доступны, доступны на этой странице.
Сохраните файл конфигурации и перезапустите домашний помощник. Существует все, что нужно для настройки помощника Google с помощью облака домашнего помощника.
3. Настройте Google Home App
На вашем устройстве Android откройте приложение Google Home, используя ту же учетную запись Google, которая использовалась для создания проектов выше, и перейдите к элементу управления Главная из меню. В разделе «Добавить новый» вы должны увидеть созданное выше действие «Умный дом». В этом руководстве это мистер Пиппин. Обратите внимание, что [тест] перед ним указывает на то, что он является черновым и недоступен для публичного доступа, что хорошо. Если вы использовали Облако Home Assistant, вам придется искать hass.io (игнорируйте имя hass.io, оно будет работать для любого экземпляра Home Assistant) и добавить его.
Добавить действие «Умный дом» в приложение Google Home
После того, как вы выберите действие «Умный дом», приложение Google Home будет аутентифицироваться и предоставит вам список найденных устройств. Если вы выбрали облачную опцию, вам придется войти в свою учетную запись Nabucasa (Home Assistant Cloud Account). Для бесплатной опции, вам будет предложено войти в домашний помощник.
Обратите внимание, что в зависимости от настроек вашего домашнего помощника, Google Home App может выполнить ошибку или не найти устройства после аутентификации. Ваше приложение Google Home может также не синхронизировать устройства из домашнего помощника, когда вы говорите ” Хорошо, Google, синхронизируй мои устройства “. Если это произойдет, используйте мобильное устройство, отключите его от домашней сети и используйте мобильные данные, затем пройдите процесс аутентификации и / или синхронизируйте свои устройства.
В этом примере добавляется только одно устройство (у вас может быть еще несколько в зависимости от вашей ситуации). После настройки с псевдонимом и информацией о комнате эти устройства должны появиться в списке устройств, как показано ниже.
Добавить устройства Home Assistant в Google Assistant
Переключатель HomeSeer – один из лучших Z-wave выключателей. Он контролирует мой свет в гараже, и теперь я могу сказать: «Хорошо, Google, включите свет в гараже », и он должен работать.
Control Home Assistant с Google Home
Настройка Google Assistant для HASS раньше была довольно сложной. Облачный сервис облегчает интеграцию с Google Home Home даже для неопытных пользователей. Даже бесплатный метод стал значительно проще за несколько месяцев. Оба метода работают одинаково, и какой вы используете, это вопрос личных предпочтений. Если вам нравится Home Assistant, который является бесплатным, использование опции Cloud не только сократит объем работы на вашей стороне, но и станет одним из способов поддержки деятельности по разработке Home Assistant.
Отсутствие возможности управлять голосом моего HASS было одним из самых больших недостатков, которые у меня были. Это одна из причин, по которой у меня работали и Samsung SmartThings, и Home Assistant для домашней автоматизации. Я постепенно начал переводить все свои устройства на Home Assistant.
На странице компонента Google Assistant на веб-сайте Home Assistant есть инструкции по настройке Google Assistant для Home Assistant. Тем не менее, я обнаружил, что детали не совсем отражают то, как все делается сегодня (хотя вы все еще можете выяснить). Кроме того, я старался облегчить жизнь новичкам, добавляя картинки на разных этапах. Я надеюсь, что другие найдут это руководство полезным. Итак, настройте Google Assistant для Home Assistant и перенесите настройки на новый уровень.
Источник записи: https://www.smarthomebeginner.com