问题标签 [google-smart-home]

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.

0 投票
1 回答
399 浏览

google-home - Google Home 智能家居集成

Alexa 有两种技能:定制和智能家居。智能家居技能支持预定义的 API 与智能家居设备(灯等)进行交互。我在 Google Smart Home 的文档中找不到与此相关的任何内容。我应该从头开始开发所有对话框还是谷歌已经完成了一些事情?

0 投票
1 回答
151 浏览

actions-on-google - 如何在发布前将智能家居应用分享给其他用户?

我正在开发一个智能家居应用程序,并希望在发布之前将其分享到另一个 Google 帐户。

我按照https://developers.google.com/actions/smarthome/testing-deploying#sharing_your_project中的步骤 添加新成员 xxx@gmail.com 并将角色设置为项目 -> 查看器。

但是当我使用谷歌账号 xxx@gmail.com 时,我的智能家居应用并没有出现在 Google Home 应用的家庭控制部分。

当我切换回自己的 Google 帐户时,我的智能家居应用会出现在 Google Home 应用中。有人遇到这个问题吗?

0 投票
2 回答
1362 浏览

actions-on-google - 谷歌上的操作 - 智能家居 - REQUEST_SYNC

我们有一个智能家居应用程序,在谷歌上执行操作,并且已经实现了 SYNC、QUERY 和 EXECUTE 意图。

现在,我们想实现 REQUEST_SYNC 意图(在此处的图 2 中提到。但是,我们找不到任何关于它的实现的文档。有人已经实现了吗?

0 投票
1 回答
263 浏览

actions-on-google - 不接受 Google Actions Home 控制同步响应

对于以下 Google Assistant Home 自动化同步请求,我对某些帐户的后端响应有效。但是有些帐户失败了,我一无所知。

如何调试 SYNC 请求失败的原因?是否有一个控制台或日志,我可以看到哪里出了问题。

一切看起来都很好。我的用户群的其他一些帐户的类似响应有效,而对于该用户的响应,它总是无效。

不工作响应:

在这种情况下,它对以下 SYNC 响应失败。

[{ "payload": { "devices": [{ "id": "7e-f2-ca-ab-40-34-34-95:1:1", "name": { "name": "Air Conditioner" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.OUTLET", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:2:1", "name": { "name": "Office Hooter" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:5:1", "name": { "name": "Office Motion" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:11:1", "name": { "name": "Buzzer" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:11:2", "name": { "name": "DOOR SENSOR" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:11:4", "name": { "name": "Presence Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:14:1", "name": { "name": "Blue Lamp" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:14:2", "name": { "name": "Green Lamp" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:14:3", "name": { "name": "Side Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:15:1", "name": { "name": "Front Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:15:2", "name": { "name": "Outdoor Lights" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:15:3", "name": { "name": "Front Dimmer" }, "traits": ["action.devices.traits.OnOff", "action.devices.traits.Brightness"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:17:1", "name": { "name": "Extra Lights" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:17:2", "name": { "name": "Central Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:17:3", "name": { "name": "Fan" }, "traits": ["action.devices.traits.OnOff", "action.devices.traits.Brightness"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:19:1", "name": { "name": "Key Ring" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:19:2", "name": { "name": "Office Door" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:19:4", "name": { "name": "Presence Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:6:1", "name": { "name": "Blue LED" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:6:2", "name": { "name": "Work Lights" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:6:3", "name": { "name": "Dimmer Back" }, "traits": ["action.devices.traits.OnOff", "action.devices.traits.Brightness"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:4:1", "name": { "name": "Buzzer" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:4:2", "name": { "name": "Door Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:4:4", "name": { "name": "Presence Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:3:1", "name": { "name": "Plug" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.OUTLET", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:7:1", "name": { "name": "Curtain Up" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:7:2", "name": { "name": "Curtain Down" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "7e-f2-ca-ab-40-34-34-95:7:3", "name": { "name": "Regulator" }, "traits": ["action.devices.traits.OnOff", "action.devices.traits.Brightness"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "27465191118001134545448968013", "name": { "name": "Darkness" }, "traits": ["action.devices.traits.Scene"], "type": "action.devices.types.SCENE", "willReportState": false }, { "id": "27465189752942073090942148334", "name": { "name": "Everything" }, "traits": ["action.devices.traits.Scene"], "type": "action.devices.types.SCENE", "willReportState": false }, { "id": "27507709627159036391184182205", "name": { "name": "Mood Lights" }, "traits": ["action.devices.traits.Scene"], "type": "action.devices.types.SCENE", "willReportState": false }, { "id": "27514704337364024105847592198", "name": { "name": "White Lights" }, "traits": ["action.devices.traits.Scene"], "type": "action.devices.types.SCENE", "willReportState": false }, { "id": "27576295525515559712639822299", "name": { "name": "Office Lights" }, "traits": ["action.devices.traits.Scene"], "type": "action.devices.types.SCENE", "willReportState": false }] }, "requestId": "4881304563722779302" }]


而对于以下 SYNC 响应,它可以工作。

[{ "payload": { "devices": [{ "id": "21-0b-c9-87-db-70-b6-83:1:1", "name": { "name": "Serial Lights" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.OUTLET", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:2:1", "name": { "name": "Water Heater" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.OUTLET", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:10:1", "name": { "name": "Panic Alarm" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:11:1", "name": { "name": "Hall Motion Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:16:1", "name": { "name": "Buzzer" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:16:2", "name": { "name": "Primary Door" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:16:4", "name": {}, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:6:1", "name": { "name": "Car Keys" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:6:2", "name": { "name": "Door Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:6:4", "name": { "name": "Presence Sensor" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:3:1", "name": { "name": "Dummy" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:3:2", "name": { "name": "All Out" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:3:3", "name": { "name": "Bed Room Fan" }, "traits": ["action.devices.traits.OnOff", "action.devices.traits.Brightness"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:5:1", "name": { "name": "Hall Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:5:2", "name": { "name": "Night Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:5:3", "name": { "name": "Fan" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:8:1", "name": { "name": "Exhaust" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:8:2", "name": { "name": "kitchen Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "id": "21-0b-c9-87-db-70-b6-83:8:3", "name": { "name": "Balcony Light" }, "traits": ["action.devices.traits.OnOff"], "type": "action.devices.types.SWITCH", "willReportState": false }, { "name": { "name": "Good Night" }, "traits": ["action.devices.traits.Scene"], "type": "action.devices.types.SCENE", "willReportState": false }] }, "requestId": "13733611394224717847" }]

0 投票
1 回答
569 浏览

actions-on-google - 谷歌智能家居上的操作

我为 Alexa 编写了一个智能家居技能,它与我创建的一堆 REST api 交互。它与我的 OAUTH2 服务器集成,一切都很好。

我已经尝试阅读 Google 文档上的有限 Actions,并查看了 github 上的示例 Node 应用程序,我被难住了。action.json 似乎采用单个 URL - 我不清楚应该是什么,该示例采用传递单个 url 的简单路线,然后决定同步/执行等作为 index.js 中的 url 参数,哪个我不想做。有人可以解释一下这对他们有用吗?我看到一群人在这里挣扎,所以我感到安慰的是我可能很厚,但我并不孤单!

0 投票
1 回答
204 浏览

actions-on-google - 仍然无法在 Google Home App 上使用 Action SDK 找到 google 操作

我正在开发一个谷歌智能家居应用程序,我遵循官方开发文档。

  1. 在 Google 控制台中创建我的项目

  2. 'gactions 更新 --action_project action.json --project {myproject}'

  3. 完成必要的信息,包括应用信息、账户关联;

  4. 'gactions 测试 --action_project action.json --project {myproject}'

我已经尝试了很多次,甚至我使用了另一个帐户,并创建了它。但结果是一样的,我的智能家居应用程序仍然没有出现在我的谷歌主页中。

有人说他们创建了他们的应用程序,它会在“gactions test”之后出现在 [test]{project_name} 之类的 Home Control 部分中。但这对我不起作用。它非常沮丧。而这一步阻碍了我很多天的进一步工作。

此外,我想确认以下问题:

  1. 当我创建我的智能家居应用程序时,该部分是这样的:

从 Actions SDK 添加的操作

行动:(这个地方是空的,是正常的吗?或者缺少像代理这样的东西)

  1. 测试模式下的Smart Home App,是否需要与Google Home音箱进行纯语音对话,或者“gactions test”后直接出现在Google Home App中?

任何帮助将不胜感激!

我的 action.json: { "actions": [{ "name": "actions.devices", "deviceControl": { }, "fulfillment": { "conversationName": "automation" } }], "conversations": { “自动化”:{“名称”:“自动化”,“网址”:“ https://xxxxx ”}}}

0 投票
1 回答
871 浏览

actions-on-google - Google Home Control 自定义设备类型和特征

我正在尝试通过 Google 上的智能家居操作来控制不受支持的设备类型。我需要自定义命令,例如风扇速度、离开模式和调度。有什么方法可以使用动作 SDK 和 Home Control 创建自定义设备类型和特征?还有一种方法可以从 Home Control 应用程序中提取房间信息并在我自己的应用程序中进行修改吗?目标是在我自己的应用程序中创建房间,但仍然可以说“打开我卧室的风扇”。

0 投票
1 回答
339 浏览

actions-on-google - Actions on Google - 智能家居 - 如何在智能家居设备离线时让 Google Home 正确响应?

我的智能家居应用程序已经可以控制我的智能家居设备。但是,当智能家居设备离线时,我无法让 Google Home 说“您的设备离线”。

Google Home 总是说“好的,打开 device_name。”。根据 Google 提供的文档和 Node.js 示例,我尝试了 2 种错误响应:

但两者都不起作用。请赐教。谢谢。

2017 年 8 月 2 日更新:离线状态正在处理 QUERY,例如“设备名称是否打开?”。不适用于 EXEC,例如“打开 device_name”。

0 投票
1 回答
98 浏览

actions-on-google - 智能家居行动没有受欢迎的意图,这是否正常

我的action.json和官方的智能家居文档一样。没有受欢迎的意图。

移动应用程序一切正常。但是在模拟器中测试,我说“与 smart k 交谈”,它总是响应“对不起,此操作在模拟中不可用”(调试信息为空)。

正常吗?

0 投票
2 回答
1758 浏览

actions-on-google - Smarthome 应用程序/操作未出现在家庭控制下的 Google 助手伴侣应用程序中

问题: 我有一个问题很久了,我用 Actions SDK 创建的智能家居应用程序没有作为测试应用程序显示在家庭控制下的 Google 助理应用程序中。我尝试了 3 个不同的帐户,寻找使用同一个帐户登录,从头开始但没有任何帮助!你能帮忙解决这个问题吗,因为我无法从谷歌助手应用程序测试最终的用户 oAuth 流程是非常糟糕的。这完全阻止了我继续,也让我觉得 Google Home 还没有准备好生产。

我正在为一个全球知名的开源项目开发智能家居应用程序,许多用户都要求使用 Google Home。我的实现几乎完成了,它卡在了这个没有出现在助手应用程序中。所以我不能测试,社区也不能测试!

在我看来,这对 Google 和 Google Home 的推出都不利。我打开了许多支持票,但仍然没有解决方案。希望开发人员有责任感并能提供帮助。

环境:

  • MacBookAir:Mac OS X 10.12.15
  • 浏览器:Chrome,版本 59.0.3071.115(64 位)
  • Android 智能手机(从 Android v6 开始)

框架: Actions SDK(gactions)

重现步骤:

  • 在https://console.actions.google.com/下创建了一个新项目
  • 将 Actions SDK 添加到我的项目并运行以下命令: ./gactions update --action_package action.json --project <project-id>

./gactions --verbose test --action_package action.json --project <project-id>

  • 添加了所有需要的应用程序信息和帐户链接信息
  • 单击测试(在提交审核旁边)按钮

结果:

我无法使用模拟器,因为当我输入“Talk to”时,我总是收到此错误消息:“抱歉,此操作在模拟中不可用”。如果我在 Android 设备上打开 Google 助理并转到“家庭控制”以查看我的测试智能家居应用程序,它不会出现在带有括号等的列表中,例如 [test ...]。它根本不存在!

我发现其他开发人员在这里遇到了和我一样的问题: https ://github.com/actions-on-google/actionssdk-smart-home-nodejs/issues/1

在这里,您可以在终端中使用我的命令通过 gactions 命令部署智能家居应用程序: