Google Assistant

  1. Автоматическая настройка через Home Assistant Cloud
  2. Ручная настройка
  3. Мигрируйте, чтобы выпустить 0,80 и выше
  4. Первая настройка
  5. конфигурация
  6. Переменные конфигурации
  7. Доступные домены
  8. Безопасные устройства
  9. Медиа Плеер Источники
  10. Пример команды:
  11. Поддержка номеров / площадей
  12. Климатические режимы работы
  13. Устранение неполадок службы request_sync
  14. Устранение неполадок с NGINX
  15. Отключить и повторно связать

Компонент google_assistant позволяет вам управлять вещами с помощью Google Assistant (на вашем мобильном телефоне или планшете) или на устройстве Google Home.

Автоматическая настройка через Home Assistant Cloud

С Домашний помощник Облако Вы можете подключить свой экземпляр Home Assistant несколькими щелчками мыши к Google Assistant. С Home Assistant Cloud вам не нужно иметь дело с динамическими DNS, SSL-сертификатами или открытием портов на вашем маршрутизаторе. Просто войдите в систему через пользовательский интерфейс, и безопасное соединение с облаком будет установлено. После 30-дневной бесплатной пробной версии Home Assistant Cloud требуется платная подписка.

Для пользователей Home Assistant Cloud документацию можно найти Вот ,

Ручная настройка

Компонент Google Assistant требует немного больше настроек, чем большинство из-за того, как Google требует настройки Assistant Apps.

Чтобы использовать Google Assistant, ваша конфигурация Home Assistant должна быть внешне доступный с именем хоста и сертификатом SSL , Если вы еще не настроили это, вы должны сделать это, прежде чем продолжить.

Мигрируйте, чтобы выпустить 0,80 и выше

Если вы впервые настраиваете интеграцию с Google Assistant, вы можете пропустить этот раздел и продолжить инструкции по ручной настройке ниже.

Начиная с версии 0.80 поддерживается тип кода авторизации привязки учетной записи OAuth. Чтобы перенести существующую конфигурацию с версии 0.79 или ниже, вам необходимо:

  1. Измените настройки привязки своего аккаунта в Действия в консоли Google найдите дополнительные параметры в левом нижнем углу боковой панели.
    • Измените тип связывания на OAuth и код авторизации.
    • В разделе информации о клиенте:
      • Измените идентификатор клиента на https://oauth-redirect.googleusercontent.com/, косая черта важна.
      • Введите любую строку в Client Secret, Home Assistant это поле не нужно.
      • Измените URL авторизации на https: // [ВАШ ДОМАШНИЙ ПОМОЩНИК URL: ПОРТ] / авторизация / авторизация (замените реальным URL).
      • Измените URL токена на https: // [ВАШ ДОМАШНИЙ ПОМОЩНИК URL: ПОРТ] / auth / token (замените своим реальным URL).
    • В разделе Настройка вашего клиента:
      • НЕ проверяйте Google для передачи clientID и секрета через HTTP-заголовок базовой аутентификации.
    • Нажмите «Сохранить» в правом верхнем углу, затем нажмите «Тест», чтобы создать новую черновую версию Тестового приложения.
  2. Измените ваш файл configuration.yaml:
    • Удалите конфигурацию client_id, access_token, agent_user_id из google_assistant: так как они больше не нужны.
  3. Перезапустите Home Assistant, откройте приложение Google Home на своем мобильном телефоне, затем выберите «Учетная запись»> «Настройки»> «Помощник»> «Управление домом», нажмите значок с 3 точками в правом верхнем углу> Управление учетными записями> [проверить] имя приложения> Отключить учетную запись, а затем повторно связать свой аккаунт, выбрав [проверить] имя вашего приложения снова.
  4. Откроется браузер и попросит вас войти в свой экземпляр Home Assistant и сразу же перенаправит обратно в приложение Google Assistant.

Если вы добавили Home Assistant на домашний экран, вы должны сначала удалить его с домашнего экрана, в противном случае это приложение HTML5 будет отображаться вместо браузера. Его использование не позволит Home Assistant перенаправить обратно в приложение Google Assistant. Если у вас по-прежнему возникают проблемы, убедитесь, что вы не подключены к той же сети, в которой работает Home Assistant, например, вместо этого используйте 4G / LTE.

Первая настройка

Вам необходимо создать ключ API с Google Cloud API Console которая позволяет вам обновлять устройства, не связывая и не перепривязывая аккаунт (см. ниже ). Если вы его не предоставите, служба google_assistant.request_sync не будет доступна. Рекомендуется настроить этот ключ конфигурации, поскольку он также позволяет использовать следующую команду: «Хорошо, Google, синхронизируй мои устройства». После настройки этого компонента вам нужно будет вызывать эту службу (или команду) каждый раз, когда вы добавляете новое устройство, которым вы хотите управлять через интеграцию с Google Assistant.

  1. Создайте новый проект в Действия в консоли Google ,
    1. Добавить / импортировать проект и дать ему имя.
    2. Нажмите на карту управления домом, выберите рекомендацию Умный дом.
    3. Нажмите «Создать действие», выберите «Добавить действие» и нажмите «Добавить первое действие». Добавьте URL-адрес Home Assistant: https: // [URL-адрес ВАШЕГО ДОМАШНЕГО ПОМОЩНИКА: ПОРТ] / api / google_assistant, замените [URL-адрес ВАШЕГО ДОМАШНЕГО ПОМОЩНИКА: ПОРТ] доменом / IP-адресом и портом, под которым доступен домашний помощник.
    4. Нажмите Готово. Затем нажмите «Обзор», и вы вернетесь к экрану сведений о приложении.
  2. Для взаимодействия вашего приложения с Home Assistant требуется привязка аккаунта. Установите это в разделе быстрой настройки.
    1. Оставьте значение по умолчанию Нет, я только хочу разрешить создание учетной записи на моем веб-сайте и выберите Далее.
    2. В качестве типа связывания выберите OAuth и код авторизации.
    3. Идентификатор клиента: https://oauth-redirect.googleusercontent.com/, косая черта важна.
    4. Секрет клиента: все, что вам нравится, Home Assistant не нуждается в этом поле.
    5. URL авторизации (замените реальным URL): https: // [ВАШ ДОМАШНИЙ ПОМОЩНИК: ПОРТ] / авторизация / авторизация.
    6. URL токена (замените его фактическим URL): https: // [ВАШ ДОМАШНИЙ ПОМОЩНИК URL: ПОРТ] / auth / token.
    7. Настройте свой клиент: введите адрес электронной почты и нажмите кнопку Добавить область, затем введите имя и нажмите кнопку Добавить область еще раз.
    8. НЕ проверяйте Google для передачи clientID и секрета через HTTP-заголовок базовой аутентификации.
    9. Инструкции по тестированию: введите что-нибудь. Это не имеет значения, так как вы не отправите это приложение.

    Это не имеет значения, так как вы не отправите это приложение

  3. Вернуться на страницу обзора. Нажмите Симулятор под ТЕСТ. Это создаст новую черновую версию Test App. Вам не нужно тестировать, но вам нужно создать черновую версию Test App.
  4. Добавьте конфигурацию компонента google_assistant в свой файл configuration.yaml и перезапустите Home Assistant, следуя инструкциям руководство по конфигурации ниже.
  5. Откройте приложение Google Home и перейдите в «Аккаунт»> «Настройки»> «Помощник»> «Управление домом».
  6. Нажмите на знак «+», и в нижней части вы должны [проверить] название вашего приложения в списке «Добавить новое». Выбор этого пункта приведет к тому, что браузер войдет в ваш экземпляр Home Assistant, а затем перенаправится обратно на экран, где вы сможете установить комнаты для своих устройств или псевдонимы для своих устройств.

Если вы добавили Home Assistant на домашний экран, вы должны сначала удалить его с домашнего экрана, в противном случае это приложение HTML5 будет отображаться вместо браузера. Его использование не позволит Home Assistant перенаправить обратно в приложение Google Assistant.

  1. Если вы хотите разрешить другим домашним пользователям управлять устройствами:
    1. Перейдите в настройки для проекта, который вы создали в Действия в консоли Google ,
    2. Нажмите Test -> Simulator, затем нажмите значок «Поделиться» в правом верхнем углу. Следуйте инструкциям на экране:
      1. Добавление участников команды: Перейдите в «Настройки» -> «Разрешения», нажмите «Добавить», введите адрес электронной почты нового пользователя и выберите «Проект -> Роль зрителя».
      2. Скопируйте и поделитесь ссылкой с новым пользователем.
      3. Когда новый пользователь откроет ссылку со своей учетной записью Google, он включит черновой вариант тестового приложения под своей учетной записью.
    3. Попросите нового пользователя перейти в приложение Google Assistant, чтобы добавить [проверить] имя своего приложения в свою учетную запись.
  2. Если вы хотите использовать службу google_assistant.request_sync, чтобы обновить устройства без отсоединения и повторного связывания, в Home Assistant включите Homegraph API для вашего проекта:
    1. Перейти к Консоль Google API ,
    2. Выберите свой проект и нажмите «Включить Homegraph API».
    3. Перейдите в раздел «Учетные данные», который вы можете найти на левой панели навигации под значком ключа, и выберите «Ключ API» в меню «Создать учетные данные».
    4. Запишите сгенерированный ключ API и используйте его в конфигурации.

конфигурация

Теперь добавьте следующие строки в ваш файл configuration.yaml:

# Пример configuration.yaml запись google_assistant: project_id: YOUR_PROJECT_ID api_key: YOUR_API_KEY exposed_domains: - выключатель - светло-entity_config: switch.kitchen: Название: CUSTOM_NAME_FOR_GOOGLE_ASSISTANT псевдонимы: - BRIGHT_LIGHTS - ENTRY_LIGHTS light.living_room: выставить ложь номер: LIVING_ROOM group.all_automations: выставить : ложный

Переменные конфигурации

project_id

(строка) (обязательно) Идентификатор проекта из консоли действий в Google (выглядит как words-2ab12)

secure_devices_pin

(строка) (Необязательно) Пин-код, указывающий, когда вы хотите взаимодействовать с защищенным устройством.

Значение по умолчанию:

api_key

(строка) (Необязательно) Ключ вашего Homegraph API (для службы google_assistant.request_sync)

expose_by_default

(булево) (Необязательно). По умолчанию отображать устройства во всех поддерживаемых доменах. Если заданы домены visible_domains, по умолчанию доступны только эти домены. Если для expose_by_default установлено значение false, устройства должны быть вручную выставлены в entity_config.

Значение по умолчанию: true

exposed_domains

(список) (Необязательно) Список доменов сущностей, которые будут отображаться в Google Assistant, если для expose_by_default установлено значение true. Это не имеет никакого эффекта, если для expose_by_default установлено значение false.

entity_config

(карта) (Необязательно) Конфигурация для конкретного объекта для Google Assistant

<ENTITY_ID>

(карта) (Необязательно) Объект для настройки

название

(строка) (Необязательно) Имя объекта для отображения в Google Assistant

разоблачать

(булево) (Необязательно) Принудительно выставить / исключить объект.

псевдонимы

(список) (Необязательно) Псевдонимы, которые также могут использоваться для ссылки на этот объект

номер

(строка) (Необязательно) Позволяет связать это устройство с комнатой в Google Assistant.

Доступные домены

В настоящее время для работы с Google Assistant доступны следующие домены, перечисленные с типами по умолчанию:

  • камера (потоковая передача, требуется совместимая камера)
  • группа (вкл / выкл)
  • input_boolean (вкл / выкл)
  • сцена (вкл)
  • сценарий (вкл)
  • выключатель (вкл / выкл)
  • вентилятор (вкл / выкл / скорость)
  • свет (вкл / выкл / яркость / цвет RGB / цветовая температура)
  • блокировка (блокировка / разблокировка (чтобы разблокировать помощника, установите ключ allow_unlock в конфигурации))
  • крышка (вкл / выкл / установить положение)
  • media_player (вкл / выкл / настройка громкости (через настройку яркости) / источника (через установку входного источника))
  • климат (настройка температуры, операция_режим)
  • вакуум (док / старт / стоп / пауза)

Группы домена содержат группы, содержащие все элементы, например, group.all_automations. Когда Google Assistant говорит, что все отключается, в этом примере это приведет к отключению всех автоматических систем.

Безопасные устройства

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

По умолчанию они не могут быть открыты помощником Google, если не настроен параметр secure_devices_pin. Чтобы разрешить открытие, установите для secure_devices_pin что-то, и вам будет предложено произнести пин-код при открытии устройства. Закрытие и блокировка этих устройств не требует булавки.

Медиа Плеер Источники

Источники Media Player отправляются через черту Modes в Google Assistant. В настоящее время существует ограничение этой функции, которое требует жестко заданного набора настроек. По этой причине единственные источники, которые будут использоваться этой функцией, перечислены здесь: https://developers.google.com/actions/reference/smarthome/traits/modes

Пример команды:

«Эй, Google, смени источник входного сигнала на ТВ на ресивере Living Room»

Поддержка номеров / площадей

Объекты, для которых явно не заданы комнаты и которые были размещены в областях Home Assistant, будут возвращать подсказки комнат в Google с устройствами в этих областях.

Климатические режимы работы

Не существует точного соответствия 1-1 между Home Assistant и Google Assistant для доступных режимов работы. Вот режимы, которые доступны в данный момент:

  • от
  • высокая температура
  • прохладно
  • теплоохладитель (авто)
  • только вентилятор
  • сухой
  • эко

Устранение неполадок службы request_sync

Сервис request_sync требует, чтобы начальная синхронизация от Google включала agent_user_id. Если нет, служба регистрирует ошибку, которая гласит что-то вроде «Запрос содержит недопустимый аргумент». Если это произойдет, то снять связь с аккаунтом из дома управления и перекомпоновки.

Служба request_sync может завершиться с ошибкой 404, если идентификатор_проекта API Homegraph отличается от идентификатора_проекта SDK для действий, который можно найти в настройках вашего проекта на Действия в консоли Google , Решить это с помощью:

  1. Удаление вашего проекта из Действия в консоли Google ,
  2. Добавить новый проект в Google Cloud API Console , Здесь вы получите новый project_id.
  3. Включить Homegraph API для нового проекта.
  4. Создайте новый ключ API.
  5. Опять же, создайте новый проект в Действия в консоли Google , Описано выше. Но на шаге «Построить под полем Actions SDK» выберите только что созданный проект. По этому они разделяют один и тот же project_id.

Синхронизация может также завершиться ошибкой через некоторое время, вероятно, около 30 дней, из-за того, что ваши действия в приложении Google технически находятся в режиме тестирования и никогда не публиковались. В конце концов, кажется, что тест истекает. Управление устройствами будет продолжать работать, но синхронизация может не работать. Если вы говорите «Хорошо, Google, синхронизируйте мои устройства» и получаете ответ «Невозможно синхронизировать Home Assistant», это обычно можно решить, вернувшись к своему тестовому приложению в Действия в консоли Google и нажав Симулятор в разделе ТЕСТ. Восстановите черновую версию тестового приложения и попробуйте снова попросить Google синхронизировать ваши устройства.

Устранение неполадок с NGINX

При использовании NGINX убедитесь, что в строке proxy_pass нет завершающего символа /, так как это приведет к ошибкам. Ваша строка должна выглядеть так:

proxy_pass http: // localhost: 8123;

Отключить и повторно связать

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