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 用户名及密码。