Google 表格
Google 表格集成允许您将 Google Drive
注意: 该集成目前仅访问设置过程中创建的那一个文档。
先决条件
您需要配置开发者凭据以允许 Home Assistant 访问您的 Google 帐户。 这些凭据与 Nest、YouTube 和 Google Mail 的凭据相同。 这与之前为 Google Calendar 推荐的 设备身份验证 凭据不同。
情景 1:您已经拥有凭据
在这种情况下,您需要做的就是启用 API:
- 转到 Google 开发者控制台 Google Drive API
和 Google Sheets API 。 - 确认项目并 启用 API。
- 按照 配置 部分中描述的步骤继续进行。
情景 2:您尚未设置凭据
在这种情况下,您需要先生成一个客户端密钥:
生成客户端 ID 和客户端密钥
本节说明如何在 Google 开发者控制台
- 首先,转到 Google 开发者控制台以启用 Google Drive API
和 Google Sheets API 。 - 选择 创建项目,输入项目名称并选择 创建。
- 启用 Google Drive API。
- 导航到 API 和服务(左侧边栏) > 凭据
。 - 在左侧边栏,选择 OAuth 同意屏幕。
- 选择 外部 并 创建。
- 将 应用名称(请求同意的应用程序名称)设置为您想要的任何名称,例如 Home Assistant。
- 您需要选择一个 支持电子邮件。
- 从下拉菜单中选择您的电子邮件地址。
- 在 开发者联系信息 下,输入您的电子邮件地址(可以与上面的相同)。
- 向下滚动并选择 保存并继续。
- 您不需要在这里填写其他任何内容。添加此页面的其他信息(如应用标志)可能会触发 Google 的额外审核过程,并导致设置延迟几天。
- 然后,您将自动进入 范围 页面。
- 您不需要在此处添加任何范围。选择 保存并继续 以移至 测试用户 页面。
- 您不需要在 测试用户 页面添加任何内容。选择 保存并继续,这将带您到 摘要 页面。
- 选择 返回仪表板。
- 重新选择 OAuth 同意屏幕 并在 发布状态 下选择 发布应用。
- 否则您的凭据将每7天到期。
- 确保 发布状态 设置为 在生产中。
- 在左侧边栏中,选择 凭据,然后选择 创建凭据(在屏幕顶部),再选择 OAuth 客户端 ID。
- 将 应用程序类型 设置为 Web 应用程序,并给这个凭据集命名(例如 “Home Assistant Credentials”)。
- 将
https://my.home-assistant.io/redirect/oauth
添加到 授权重定向 URI 中,然后选择 创建。- 这不是占位符。它是必须使用的 URI。
- 然后,您将看到一个弹出窗口,显示 OAuth 客户端已创建,显示 您的客户端 ID 和 您的客户端密钥。
- 请记下这些(例如,将其复制并粘贴到文本编辑器中),因为您稍后需要它们。
- 记下这些字符串后,选择 确定。
- 如果您在任何时候需要再次查找这些凭据,请导航到 API 和服务 > 凭据,您将在 OAuth 2.0 客户端 ID 下看到 Home Assistant Credentials(或您在上一步中命名的任何名称)。
- 要查看 客户端 ID 和 客户端密钥,请选择铅笔图标。这将带您进入这些凭据的设置页面,信息将在页面右侧显示。
- 恭喜您!您现在是客户端密钥的保管者。将其保存在您的宝藏箱中。在大多数情况下,您的新凭据将在几分钟内激活。然而,Google 表示在某些情况下激活可能需要多达五小时。
配置
要将 Google 表格 服务 添加到您的 Home Assistant 实例中,请使用此 My 按钮:
手动配置步骤
如果上述 My 按钮不起作用,您也可以手动执行以下步骤:
-
浏览到您的 Home Assistant 实例。
-
转到
设置 > 设备与服务。 -
在右下角,选择
Add Integration 按钮。 -
从列表中选择 Google 表格。
-
按照屏幕上的说明完成设置。
集成设置将接下来给您提供进入 应用凭证(OAuth 客户端 ID 和客户端密钥)的说明,并授权 Home Assistant 连接到 Google 表格。
OAuth 和设备授权步骤
-
继续执行选择您想要授权的帐户的步骤。
-
注意:您可能会收到一条消息,告知您该应用尚未经过验证,您需要确认才能继续。
-
现在您可以看到您授权 Home Assistant 访问的详细信息,底部有两个选项。选择 继续。
-
页面现在将显示 将账户链接到 Home Assistant 吗?,请注意 您的实例 URL。如果不正确,请参考 我的 Home Assistant。如果一切正常,请选择 链接账户。
-
您可以关闭窗口,然后返回 Home Assistant,在那里您应该会看到来自 Home Assistant 的 成功! 消息。
故障排除
如果您的凭据出现错误,您可以在 应用凭据 用户界面中删除它们。
视频教程
本视频教程解释了如何设置 Google 表格集成,以及如何将数据从 Home Assistant 添加到 Google 表格中。
操作 google_sheets.append_sheet
您可以使用 google_sheets.append_sheet
操作向设置时创建的表格文档添加数据行。
创建事件操作详细信息
数据属性 | 可选 | 描述 | 示例 |
---|---|---|---|
config_entry |
否 | 要使用的配置条目。 | |
worksheet |
是 | 工作表的名称。默认为文档中的第一个工作表。 | Sheet1 |
data |
否 | 要附加到工作表的数据。每列一个值地在新行中放置数据。 | {“hello”: world, “cool”: True, “count”: 5} |
# 示例操作
action: google_sheets.append_sheet
data:
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
worksheet: "汽车充电"
data:
日期: "{{ now().strftime('%-d-%b-%y') }}"
KWh: "{{ states('input_number.car_charging_kwh')|float(0) }}"
成本: "{{ states('input_number.car_charging_cost')|float(0) }}"
# 示例操作,包含多行
action: google_sheets.append_sheet
data:
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
worksheet: "汽车充电"
data:
- 项目: "汽车 1 成本"
成本: "{{ states('input_number.car_1_charging_cost')|float(0) }}"
- 项目: "汽车 2 成本"
成本: "{{ states('input_number.car_2_charging_cost')|float(0) }}"