问题标签 [smarthomeskill]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mqtt - 智能家居设备与 Google home 和 Alexa 的集成
我正在尝试将智能家居设备与 Google home 和 Alexa 集成,但我面临以下问题。
- Google Home/Alexa 和我们的设备云服务器之间的通信是 HTTP。
- 智能家居设备与我们的设备云服务器之间的通信是 MQTT。
如何跟踪同步请求响应?有没有更好的方法来实施这个系统?
alexa-skills-kit - 我的自定义 Alexa 技能可以打开和关闭其他供应商的灯吗?
我希望我的自定义技能能够打开和关闭 WeMo 或 TP-Link 开关/插座。Alexa Skills Kit 中是否有一些 API 可以让我打开和关闭家庭设备,类似于 Alexa Routine 如何打开和关闭设备?
alexa - 如何从传感器发送 Alexa 智能家居主动变更报告?
我使用 LWA 作为我的 oauth2 提供程序,并且需要在我的接触传感器更改状态时发送更改报告。由于 LWA 帐户链接,我已经确定我必须根据我的技能在数据库中存储访问和刷新令牌。如果是这种情况,那么发送报告的唯一方法是让我的服务器将数据发送到将实际指令发送到端点的技能。如果是这种情况,我如何创建一个单独的触发器或函数来从我的服务器接收数据,重新打包并发送到端点?
如果最好的方法是让我的服务器直接联系端点,这对我来说似乎更优雅,我将如何将必要的令牌或身份验证代码获取到我的服务器进行存储?
google-smart-home - 智能家居技能发布
我试图发布一个智能家居行动,但我没有得到回应。我有智能家居认证——我已经提交了,我看到我还有一个发布部分。我应该在哪里提交我的行动?谢谢
node.js - 如何发送到亚马逊的 Alexa 事件网关?
我正在尝试使用 Postman 测试将事件发送到亚马逊的事件网关以获取我的 Alexa 智能家居技能,但我一直收到“无效的访问令牌异常”。我已经阅读了亚马逊的文档,但显然我遗漏了一些东西。
当我启用我的技能时,我的 Smart Home Lambda 会收到AcceptGrant。
我的 lambda 向“ https://api.amazon.com/auth/o2/token ”发送 POST 以接收访问和刷新令牌。然后它存储这些令牌。接下来,我的 lamdba 响应如下:
然后我得到一个消息网页,我已成功链接我的技能 - 一切都很好。
接下来,我尝试使用 Postman 应用程序向亚马逊的 Alexa 事件网关发送一个事件。我将访问令牌(我也尝试过刷新令牌)作为“BearerToken”类型放在标题中,并放在“端点”对象的“范围”中。
POST https://api.amazonalexa.com/v3/events?Content-Type=application/json&charset=UTF-8 带有指定承载令牌(之前收到的访问令牌)的标头和包含以下内容的正文:
收到的响应是“401 Unauthorized”
alexa - 飞利浦 Hue Alexa 技能授权
我正在创建一个 Alexa Skill 来控制我的飞利浦 Hue 灯。一切都按预期工作,但是令牌会在几周后过期,并且 Alexa 不会刷新令牌。我假设这是因为 Alexa 技能设置只需要一个 URL,该 URL 应该能够用于获取令牌和刷新令牌,但是Hue API有两个单独的端点:
https://api.meethue.com/oauth2/token
获取令牌并https://api.meethue.com/oauth2/refresh
刷新。
有没有办法在 Alexa 设置或 Hue API 中解决这个问题?
google-home - Google 智能助理:agentUserId 定义可能不正确
根据智能家居的 Google 助理文档,action.devices.QUERY 中使用的 agentUserId 被定义为 '反映代理平台上唯一(且不可变)的用户 ID。该字符串对 Google 是不透明的,因此如果代理端存在不可变表单与可变表单,请使用不可变表单(例如帐号而不是电子邮件) '
但是,在某些情况下,同一设备(具有相同的代理用户 ID)连接到多个 Google 助理帐户,在这种情况下,断开连接请求可能会导致所有帐户的报告状态停止。解决方案是添加一些与 Google Assistant 帐户相对应的唯一 ID,但是此类信息在任何请求中均不可用。
有没有人看到类似的问题,我的理解不正确?
actions-on-google - Google 请求同步操作返回 http 错误 500
当我对一个 agentUserId 进行请求同步时,它返回给我 http 错误 500,但我不知道为什么。
我还发现我无法执行来自 Google Home 应用程序的任何请求,但如果我更改与该 agentUserId 连接的电子邮件,请求同步工作正常,我可以毫无问题地命令我的设备。
我还发现,如果我更改与我的 domotic 关联的 agentUserId,那么两个帐户都可以工作并且可以控制设备。似乎这对夫妇的电子邮件和agentUserId被禁止或某种形式。
我已经写信给谷歌支持,但他们让我写在这里。如果有人可以提供帮助,将不胜感激
batch-file - 制作一个通过telnet执行命令的文件?
我是新来的,所以请原谅我的一些错误:D
我想通过简单地按键盘上的一个键来打开和关闭我的 Yeelight 灯泡(与 Google Home/Wifi/LAN 兼容)。我唯一需要的是一个使用 telnet 连接到灯泡的文件(我没有找到任何其他方法)然后执行命令( {"id":0,"method":"set_power" ,"params":["on"]} 或 {"id":0,"method":"set_power","params":["off"]} )。唯一的问题是,我制作的 bat 文件不起作用。
我可以使用 telnet 手动连接到灯泡,然后执行命令来打开/关闭灯,但不能自动执行。
我想创建一个打开灯的文件和相反的文件,使用所需的任何东西,所以我可以稍后使用我的键盘执行该文件。
非常感谢和抱歉,如果这篇文章不属于这里!
我制作的bat文件: