Google 动作不执行
Google Actions no execute
我基于 Google 示例代码编写了一个简单的 Java 应用程序:
https://github.com/actions-on-google/smart-home-nodejs
看了很多电影,参加了 Google 代码实验室,但我被卡住了。
我的应用程序对所需操作的响应(意图:action.devices.SYNC、action.devices.QUERY、action.devices.EXECUTE)- 使用 Google 个验证器、JSON 个验证器进行了检查。我还实现了简单的 OAuth 授权,为智能家居创建了 Google 个 Actions 项目。
经过几个小时的调试,我得到了:
- 我的测试应用程序列在添加设备菜单中,
- 我可以从列表中 select 我的应用程序并连接它,
- Google 执行 OAuth 检查,一切正常(我在 Nginx 日志和我的应用程序日志中看到了这一点),
- 然后 Google Actions 向我的服务器发送 action.devices.SYNC 请求,
- 我回复了一个测试设备:
{
"requestId":"14182994871341693427",
"payload":{
"agentUserId":"rysiek",
"devices":[
{
"id":"dev1",
"type":"action.devices.types.LIGHT",
"traits":[
"action.devices.traits.OnOff"
],
"name":{
"name":"główne"
},
"willReportState":false,
"roomHint":"pokój dzienny"
}
]
}
}
我也尝试过 willReportState: true,
- 然后它(Google 助手)要求我将设备分配到我正在做的房间。
在此之后就没有任何工作了。
我想对 phone Turn on light główne 说(波兰语“Włącz światło główne” , "Włącz światło główne w pokoju dziennym" 等 - 尝试了很多句子),但它只显示了网络搜索结果。没有请求发送到我的服务器 (action.devices.EXECUTE) - 我的所有东西都在 Nginx 代理后面,并且没有向我的服务器发送请求(在日志中看不到请求)。
我不知道该怎么做才能让它发挥作用。任何帮助将不胜感激。
顺便说一句。 Google 从今年 (2019 年 1 月 16 日) 开始,几天后波兰就可以使用 Google 助理了,我想知道这是我的问题还是 Google 的问题?这甚至可能吗?
例如,我说 好的 Google,同步我的设备(波兰语:好的 Google,synchronizuj moje urządzenia ),我得到的回复是英文的:
“抱歉,我没有收到任何回复。”。
但是我看到有 SYNC 请求,我的服务器响应了。
顺便说一句。我已将 Google Chromecast 连接到 Google Assistant,它可以正常工作 - 我的意思是我说 打开电视(波兰语:Włącz telewizor) 并且电视按预期启动。
正在检查 list of supported languages 智能家居特征,目前不包括波兰语。虽然看起来您的 SYNC 响应确实有效,但您现在无法使用波兰语与设备进行交互。虽然将来可能会发生这种情况,但您目前只能使用上述语言之一。
支持波兰语对智能家居操作的支持后,您无需执行任何额外工作即可成功执行命令。
我基于 Google 示例代码编写了一个简单的 Java 应用程序: https://github.com/actions-on-google/smart-home-nodejs
看了很多电影,参加了 Google 代码实验室,但我被卡住了。
我的应用程序对所需操作的响应(意图:action.devices.SYNC、action.devices.QUERY、action.devices.EXECUTE)- 使用 Google 个验证器、JSON 个验证器进行了检查。我还实现了简单的 OAuth 授权,为智能家居创建了 Google 个 Actions 项目。
经过几个小时的调试,我得到了:
- 我的测试应用程序列在添加设备菜单中,
- 我可以从列表中 select 我的应用程序并连接它,
- Google 执行 OAuth 检查,一切正常(我在 Nginx 日志和我的应用程序日志中看到了这一点),
- 然后 Google Actions 向我的服务器发送 action.devices.SYNC 请求,
- 我回复了一个测试设备:
{
"requestId":"14182994871341693427",
"payload":{
"agentUserId":"rysiek",
"devices":[
{
"id":"dev1",
"type":"action.devices.types.LIGHT",
"traits":[
"action.devices.traits.OnOff"
],
"name":{
"name":"główne"
},
"willReportState":false,
"roomHint":"pokój dzienny"
}
]
}
}
我也尝试过 willReportState: true,
- 然后它(Google 助手)要求我将设备分配到我正在做的房间。
在此之后就没有任何工作了。
我想对 phone Turn on light główne 说(波兰语“Włącz światło główne” , "Włącz światło główne w pokoju dziennym" 等 - 尝试了很多句子),但它只显示了网络搜索结果。没有请求发送到我的服务器 (action.devices.EXECUTE) - 我的所有东西都在 Nginx 代理后面,并且没有向我的服务器发送请求(在日志中看不到请求)。
我不知道该怎么做才能让它发挥作用。任何帮助将不胜感激。
顺便说一句。 Google 从今年 (2019 年 1 月 16 日) 开始,几天后波兰就可以使用 Google 助理了,我想知道这是我的问题还是 Google 的问题?这甚至可能吗?
例如,我说 好的 Google,同步我的设备(波兰语:好的 Google,synchronizuj moje urządzenia ),我得到的回复是英文的: “抱歉,我没有收到任何回复。”。 但是我看到有 SYNC 请求,我的服务器响应了。
顺便说一句。我已将 Google Chromecast 连接到 Google Assistant,它可以正常工作 - 我的意思是我说 打开电视(波兰语:Włącz telewizor) 并且电视按预期启动。
正在检查 list of supported languages 智能家居特征,目前不包括波兰语。虽然看起来您的 SYNC 响应确实有效,但您现在无法使用波兰语与设备进行交互。虽然将来可能会发生这种情况,但您目前只能使用上述语言之一。
支持波兰语对智能家居操作的支持后,您无需执行任何额外工作即可成功执行命令。