Amazon Alexa 快报
快报技能
从 0.31 版本开始,Home Assistant 支持新的 Alexa Flash Briefing Skills API。快报技能会添加一个由 Home Assistant 生成的全新 Flash Briefing 来源。
要求
Amazon 要求技能的端点必须通过 SSL 托管。由于我们的技能只会在开发模式下运行,因此可以使用自签名证书。有关如何为 Home Assistant 配置加密,请参阅我们的博客。使用 Let's Encrypt 和 Duck DNS 加载项是最简单的方法。如果您无法成功启用 HTTPS,可以考虑使用这个适用于 Alexa 技能的 AWS Lambda 代理。
此外,在撰写本文时,您的 Alexa 技能端点必须通过 443 端口接收请求(Home Assistant 默认端口为 8123)。您可以通过以下两种方式处理:
- 在路由器中,将外部 443 端口转发到 Home Assistant 的服务端口(默认为 8123) 或者
- 将 Home Assistant 的服务端口改为 443。这可以通过在
configuration.yaml文件的http部分设置server_port实现
在 Home Assistant 中配置快报技能
您可以对 title、audio、text 和 display_url 配置参数使用模板。
以下是一个快报技能配置示例,它会告诉您谁在家:
如果需要,您可以为一个源添加多个条目。Amazon 要求的 UID 和时间戳会在启动时随机生成,并在每次 Home Assistant 重启时变化。
有关允许使用的配置参数和格式的更多信息,请参阅 Amazon 文档。
配置您的快报技能
- 登录 Amazon developer console
- 选择 Create Alexa Skills
- 选择右上角蓝色的 Console 按钮
- 选择右上角浅蓝色的 Create Skill 按钮
- 在 Skill Information 中:
- 输入任意技能名称
- 在 Choose a model 中选择 Flash Briefing
- 选择右上角的 Create Skill
- 在 Flash Briefing 中:
- 输入自定义错误消息,比如 “This skill is currently not available.”
- 添加新的 feed:
- 在 Preamble 中输入 “From Home Assistant”(或任意您喜欢的内容)
- 在 Name 中输入 “Home Assistant”
- 将 Content type 设为 “Text”
- 选择一个类型,比如 “Other”
- 在 Feed 中输入
https://YOUR_HOST/api/alexa/flash_briefings/BRIEFING_ID?password=YOUR_PASSWORD,其中BRIEFING_ID是您在配置中填写的键名(如上例中的whoishome)。注意: 不要使用非标准的 HTTP 或 HTTPS 端口,否则 AWS 无法连接 - 您可以使用这个专门调整尺寸的 Home Assistant 标志作为 Feed Icon
- 选择 Add
- 选择右上角的 Save
- 在 Test 中:
- 当您通过所有验证并到达此页面后,就可以选择 < Back to All Skills,因为您的 flash briefing 已作为 “Development” 服务可用
- 要调用您的快报,请打开手机上的 Alexa 应用,或前往 Alexa Settings Site,打开 “Skills” 配置部分,选择 “Your Skills”,滚动到底部,点选您刚创建的 Flash Briefing Skill,启用它,然后管理 Flash Briefing 并按需调整顺序。最后,向您的 Echo 说出 “news”、“flash briefing” 或 “briefing” 来触发它。

