1

我正在使用亚马逊的 Echo Dot,并且我有几个 Echo 设备。假设这是设置:

  • 房间 1(带Echo Dot 1)->Light 1
  • 房间 2(带Echo Dot 2)->Light 2

我已经设置了一个智能家居技能来打开灯,我可以通过说这些话来打开/关闭灯:

  • “Alexa,打开灯 1”
  • “Alexa,打开灯 2”

到现在为止还挺好。现在,我不想告诉 Alexa“灯 1”或“灯 2”,而是检测哪个 Echo 设备(Echo Dot 1Echo Dot 2)检测到话语并触发了技能,所以我可以说类似的话:

  • “Alexa,打开灯”

.. 然后通过查看激活了哪个 Echo Dot 来决定我们是在 Room 1 还是 Room 2,然后打开/关闭匹配的灯。

由于必须预先发现设备,并且如果没有以指定名称找到设备,则不会触发该技能,我认为这将涉及在 Discover 端点中返回某种“虚拟”设备,以对Light 1和 和Light 2和进行建模通过使用触发事件的 Echo Dot 的 ID 来确定是哪一个。

但是,在调试调用的 AWS Lambda 函数时,我找不到任何关于激活了哪个特定 Echo 设备的指示。

这可能吗?如果没有,您是否知道其他实现相同用户体验的方法?

4

2 回答 2

2

不,遗憾的是这是不可能的。虽然我们很多人都喜欢这个...

参考

亚马逊的这个答案中(粘贴在这里供访问,稍微重新格式化):

在一个帐户上有多个回声,是否有一种自定义技能可以确定请求来自的回声?

由 [Amazonian] Levon@Amazon 回答 · 7 月 11 日上午 11:32

...

遗憾的是,目前不支持该用例。

于 2016-11-30T16:02:13.963 回答
1

可能的hacky解决方案......让每个点都有自己的亚马逊帐户,并将每个点与它们自己的lambda函数变体相关联。所以点 A 对房间 A 使用 lambda A,点 B 对房间 B 使用 lambda B。我看到的一个问题是它们不能很好地一起玩,因为它们在不同的帐户上,而且你不会获得亚马逊音乐等的主要订阅。但他们没有反正同步不是很好,因为我听说过,所以可能不是什么大问题。如果我为我的主要起居室的其他房间购买更多,我可能最终会为我的次要点做一些事情。

于 2017-01-17T00:20:26.823 回答