/

Google Assistant 接入 HA

ha_google_assistant_cover

Google Assistant 接入 Home Assistant 最简单的方法是通过 Home Assistant Cloud 服务,每月 $5,收入用于支持 Home Assistant 的开发,如果不想折腾可以直接订阅即可。另外一种方法是通过手动设置的方法,下面是步骤:

设置好外网访问

首先确保有公网 IP,在群晖或路由器中设置好 DDNS、端口映射 8123 端口,域名申请好 SSL 证书。

新增 Action

打开网址 http://console.actions.google.com

点击 New Project 并为项目命名,

ha_ga1

选中 Smart Home 卡片,之后点击 Start Building

ha_ga2

点击 Name your Smart Home action 下方 Quick Setup 的名称,为操作命名(Home Assistant 将在 Google Home 应用中显示为 [test] ),

ha_ga3

点击 Build your Action下方的 Add Action(s),添加 Home Assistant 的访问 URL https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant,之后点击 Save,在 Overview 选项卡,可以看到应用程序详细信息。

ha_ga4

关联账号

点击页面 Setup account linking 下面的 Quick Setup 设置Overview

输入以下内容:1.专案项目 ID: https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID(可以通过网址 URL 看到 YOUR_PROJECT_ID,);2. Client Secret:无填写要求;3.授权 URL(与实际 URL 替换): https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize。4.令牌URL(与实际URL替换): https://[YOUR HOME ASSISTANT URL:PORT]/auth/token

ha_ga5

Configure your client Scopes文本框中,输入 email 并点击 Add scope,输入name并再次点击 Add scope 。(不要勾选 Google to transmit clientID and secret via HTTP basic auth header),点击Next,然后点击 Save

ha_ga6

选择顶部的选项卡 Test 按钮以生成草稿版本 Test App。

ha_ga7

启用设备同步

这一步的目的是向Google服务器发送状态报告,当使用命令 Ok Google,sync my devices 时,可以同步设备。

首先在GCP控制台中,转到「创建服务帐户密钥」页面。

确保匹配 project_id,从服务帐户列表中,选择新服务帐户。在服务帐户名称字段中,输入名称。在服务帐户 ID 字段中,输入 ID。从角色列表中,选择服务帐户 > 服务帐户令牌创建者。密钥类型,选择 JSON,点击创建,之后包含密钥下载的 JSON 文件将自动下载。

ha_ga8

转到 Google API 控制台。选择项目,查找并启用 HomeGraph API。

ha_ga9

Home Assistant 配置

将以下配置添加至 configuration.yaml

1
2
3
4
google_assistant:
project_id: YOUR_PROJECT_ID
service_account: !include SERVICE_ACCOUNT.JSON
report_state: true

如果有不想使用 Google Assistant 进行控制的实体,可以将其禁用,在其下方,键入expose:并将其设置为false

1
2
3
google_assistant:
light.living_room:
expose: false

Google Home App 设置

打开手机上的 Google Home App,添加设备,选择 test 账号,之后填入 Home Assistant 用户名及密码。

ha_ga10