Google 邮件
Google 邮件集成允许您将您的 Google 邮件notify
操作,允许您以纯文本草拟或发送电子邮件。
先决条件
您需要配置开发者凭据,以允许 Home Assistant 访问您的 Google 账号。 这些凭据与 Nest、Google Sheets 和 YouTube 所用的凭据相同。 这些与之前推荐的 Google Calendar 的 设备授权 凭据不同。
情景 1:您已经拥有凭据
在这种情况下,您需要做的就是启用 API:
情景 2:您尚未设置凭据
在这种情况下,您需要先生成一个客户端密钥:
生成客户端 ID 和客户端密钥
本节说明如何在 Google 开发者控制台
- 首先,转到 Google 开发者控制台以启用 Gmail API
。 - 选择 创建项目,输入项目名称并选择 创建。
- 启用 Gmail 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_mail.set_vacation
您可以使用 google_mail.set_vacation
操作来设置度假选项。
创建事件操作详细信息
数据属性 | 可选 | 描述 | 示例 |
---|---|---|---|
enabled |
是 | 关闭此选项以结束度假回复。 | True |
title |
否 | 邮件的主题。 | 假期 |
message |
是 | 邮件的正文。 | 我正在度假。 |
plain_text |
否 | 选择以纯文本或 HTML 发送消息。 | True |
restrict_contacts |
否 | 限制自动回复只发送给联系人。 | True |
restrict_domain |
否 | 限制自动回复仅发送给特定域。此选项仅适用于 GSuite 账户。 | False |
start |
否 | 假期的第一天。 | 11-20-2022 |
end |
否 | 假期的最后一天。 | 11-26-2022 |
添加的 notify
服务将以您在同意屏幕上选择的电子邮件地址命名。例如,名为 “example@gmail.com” 的电子邮件地址将显示为 notify.example_gmail_com
。
Google 邮件通知操作数据
以下属性可以放置在操作的 data
键中,以扩展功能:
属性 | 可选 | 描述 |
---|---|---|
cc |
是 | 抄送的收件人列表。 |
bcc |
是 | 密送的收件人列表。 |
from |
是 | 默认是当前经过身份验证的用户。通常仅适用于 GSuite 账户,在这种情况下,用户对共享邮箱具有代表访问权限。 |
send |
是 | 默认值为 true。将此设置为 false 以创建草稿。在这种情况下,收件人不是必需的。 |
示例
这是发送电子邮件的完整服务调用:
action: notify.example_gmail_com
data:
message: "测试"
title: "测试邮件"
target:
- "example2@gmail.com"
data:
cc:
- "example3@gmail.com"
bcc:
- "example4@gmail.com"
from: "example@gmail.com"
视频教程
本视频教程解释了如何在 Home Assistant 中设置 Gmail,以及如何创建仪表板和自动化来发送电子邮件并切换您的外出通知。