问题
我正在尝试扩展我自己的应用程序以使用 Google Assistant(在我的情况下是 Google Nest Hub 设备),并且能够控制我的家庭定制设备,例如开/关灯、锁门、喂猫等。我我没有使用任何常见的解决方案,比如https://www.home-assistant.io,因为我正在创建我的服务器并且拥有我想要保留的现有基础设施。
研究
- 谷歌操作控制台
- 对话- 这让我可以做我想做的一切,但需要先说“嘿谷歌,谈谈我的应用程序名称”。另一个缺点是我需要部署它,然后在谷歌主页中添加我的“应用程序”应用程序将其与我的 Nest Hub 设备配合使用。
- 智能家居 - 这让我可以做任何我想做的事情(不需要口头表达),但我仍然需要部署它,然后将我的“应用程序”添加到 Google Home 应用程序中,以便与我的 Nest Hub 设备一起使用。
- IFTTT - 这项服务正是我想要的。与我的 Google 帐户集成并在我对 Google Nest Hub 设备说“喂我的猫”时发送 HTTP 请求(网络钩子)。
- Zaphier - 类似于 IFTTT
当前解决方案
我现在正在使用 IFTTT 连接我的 Google 帐户,添加命令。我有一个小程序,它使用 webhook 使用我对 Google Nest Hub 说的特定命令将 HTTP 请求发送到我的服务。在我的例子中是“嘿谷歌,喂猫”
IFTTT 有一个我感兴趣的工作流程,但有以下限制:
- 小程序数量(免费帐户中 3 个)
- 另一个需要的第 3 方服务
- 另一个账号
- 我需要登录和设置的另一项服务
我想在我的应用程序中完成所有这些。
预期的解决方案
我想做一些类似于 IFTTT 但以我自己的编程方式。简单地说:
- 使用特定凭据连接到 Google 帐户
- 接受我可以管理语音命令
- 添加“开灯”、“喂猫”等命令
- 能够在我的 REST 端点上接收来自 Google Assistant 的意图,并通过我家中托管的应用程序处理它。
然后我想对谷歌说:“嘿谷歌,喂猫”。说完这个命令后,我想在我的应用程序中获得一个 REST API 请求,我可以处理它并做我想做的事情(比如 IFTTT 中的 webhook)
问题
不使用 IFTTT 是否可以做到这一点?如果是,如何,因为我找不到与此方法相关的任何教程或 Google 文档。我看到一些流言说 IFTTT 有一些由谷歌共享的私有 API,但没有官方确认。