Amazon Alexa Flash Briefing

Flash Briefing 技能

从版本 0.31 开始,Home Assistant 支持新的 Alexa Flash Briefing Skills API。Flash Briefing 技能添加了一个新的 Flash Briefing 源,由 Home Assistant 生成。

需求

亚马逊要求技能的端点通过 SSL 托管。自签名证书是可以的,因为我们的技能仅会在开发模式下运行。有关如何为 Home Assistant 设置加密的更多信息,请参见 我们的博客。使用 Let’s EncryptDuck DNS 插件是最简单的方法。如果您无法使 HTTPS 正常工作,请考虑使用 这个 AWS Lambda 代理用于 Alexa 技能

另外,请注意,在撰写本文时,您的 Alexa 技能端点 必须 接受 443 端口的请求(Home Assistant 默认使用 8123)。您可以通过两种方式处理此问题:

  1. 在路由器中,将外部 443 转发到您的 Home Assistant 服务端口(默认为 8123) OR
  2. 将您的 Home Assistant 服务端口更改为 443,这在您的 configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件的 http 部分中通过 server_port 条目完成

在 Home Assistant 中配置 Flash Briefing 技能

您可以使用 [模板] 来配置 titleaudiotextdisplay_url 参数。

以下是一个 Flash Briefing 技能的示例配置,它会告诉您谁在家:

# 示例 configuration.yaml 条目
alexa:
  flash_briefings:
    password: YOUR_PASSWORD
    whoishome:
      - title: 谁在家?
        text: >
          {%- if is_state('device_tracker.paulus', 'home') and
                 is_state('device_tracker.anne_therese', 'home') -%}
            你们都在家,真傻
          {%- else -%}
            安妮·特蕾丝在 {{ states("device_tracker.anne_therese") }}
            而保罗斯在 {{ states("device_tracker.paulus") }}
          {% endif %}

如果您愿意,可以为一个 feed 添加多个条目。亚马逊要求的 UID 和时间戳将在启动时随机生成,并在每次重启 Home Assistant 时更改。

有关允许的配置参数和格式的更多信息,请参考 Amazon 文档

配置您的 Flash Briefing 技能

  • 登录到 Amazon 开发者控制台
  • 点击“创建 Alexa 技能”按钮
  • 点击右上角的蓝色“控制台”按钮
  • 点击右上角的淡蓝色“创建技能”按钮
    • 技能信息
      • 您可以输入您想要的任何名称
      • 选择“选择模型”中的“Flash Briefing”
      • 点击右上角的“创建技能”
    • Flash Briefing
      • 输入自定义错误消息,例如“此技能当前不可用。”
      • 添加新 feed
        • 在前言中输入“来自 Home Assistant”(或您喜欢的任何内容)
        • 在名称中输入“Home Assistant”
        • 选择内容类型“文本”
        • 选择一个类别,例如“其他”
        • 在 Feed 中输入 https://YOUR_HOST/api/alexa/flash_briefings/BRIEFING_ID?password=YOUR_PASSWORD 其中 BRIEFING_ID 是您在配置中输入的键(例如上面的示例中的 whoishome)。注意: 请勿使用非标准 HTTP 或 HTTPS 端口,AWS 将无法连接。
        • 您可以使用这个 特别尺寸的 Home Assistant logo 作为 Feed 图标
        • 点击“添加”
        • 点击右上角的“保存”
    • 测试
      • 经过所有验证后到达此屏幕,您现在可以点击“< 返回所有技能”,因为您的 Flash Briefing 现在作为“开发”服务可用。
  • 要调用您的 Flash Briefing,请在您的手机上打开 Alexa 应用程序或访问 Alexa 设置网站,打开“技能”配置部分,选择“您的技能”,滚动到页面底部,点击刚刚创建的 Flash Briefing 技能,启用它,然后管理 Flash Briefing 并根据需要调整排序。最后请要求您的 Echo 提供您的“新闻”、“Flash Briefing”或“Briefing”。