
Google Assistant 接入 Home Assistant 最简单的方法是通过 Home Assistant Cloud 服务,每月 $5,收入用于支持 Home Assistant 的开发,如果不想折腾可以直接订阅即可。另外一种方法是通过手动设置的方法,下面是步骤:
设置好外网访问
首先确保有公网 IP,在群晖或路由器中设置好 DDNS、端口映射 8123 端口,域名申请好 SSL 证书。
新增 Action
打开网址 http://console.actions.google.com,
点击 New Project 并为项目命名,

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

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

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

关联账号
点击页面 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,

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

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

启用设备同步
这一步的目的是向Google服务器发送状态报告,当使用命令 Ok Google,sync my devices 时,可以同步设备。
首先在GCP控制台中,转到「创建服务帐户密钥」页面。
确保匹配 project_id,从服务帐户列表中,选择新服务帐户。在服务帐户名称字段中,输入名称。在服务帐户 ID 字段中,输入 ID。从角色列表中,选择服务帐户 > 服务帐户令牌创建者。密钥类型,选择 JSON,点击创建,之后包含密钥下载的 JSON 文件将自动下载。

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

Home Assistant 配置
将以下配置添加至 configuration.yaml:
1 | google_assistant: |
如果有不想使用 Google Assistant 进行控制的实体,可以将其禁用,在其下方,键入expose:并将其设置为false。
1 | google_assistant: |
Google Home App 设置
打开手机上的 Google Home App,添加设备,选择 test 账号,之后填入 Home Assistant 用户名及密码。
