问题标签 [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.
actions-on-google - OAuth 隐式流程失败,导航被阻止:助手切换
我们正在尝试 oauth 隐式流程,用于智能家居与谷歌操作的集成。成功验证用户 ID 和密码后,针对 redirect_uri(下面给出的示例)的重定向失败,并出现以下错误(从 android logcat 中提取)。
“导航被阻止:assistant-handoff://complete/?result_code=FAILURE&result_message=Account+linking+failed”,来源:https ://assistant.google.com/services/auth/handoffs/auth/complete (0)
从服务器端触发的重定向 URL: https ://oauth-redirect.googleusercontent.com/r/connectedghome#access_token=xxyuy12&token_type=bearer&state= ”,来源:https://connected-safehome.in/smarthome/ui-auth/js/main.js?id=2 (109)
请帮助我们或给我们一些有关如何解决此问题的提示。完整的流程适用于 OAuth 游乐场应用程序。这已经成为一个障碍。
谢谢和热烈的问候, Pradeep
actions-on-google - 除了验证 Authorization 标头之外,有没有办法确保 google-smart-home webhook 请求来自 Google?
我正在开发一个 google-smart-home 操作。我想通过 API 密钥对请求进行身份验证。
所以...
- 有没有办法将我的原始标头值添加到来自 Google-Smart-Home 的 HTTPS 请求?
如果没有办法...
- 除了验证 Authorization 标头之外,有没有办法确保 google-smart-home webhook 请求来自 Google?
actions-on-google - 如何限制智能家居应用的区域?
我想启动智能家居应用程序。但我们的设备仅在日本推出。所以我不想在其他国家的用户身上展示我的智能家居应用。
如何限制智能家居应用的区域?
gradle - 在 gRPC java 项目中导入文件
我正在尝试使用 gRPC 为 Google Actions 上的智能家居模块实现报告状态。但是我不能为我的 *.proto 文件进行所有导入(如官方文档所述):https
://developers.google.com/actions/smarthome/report-state
我做错了什么?
我的原型文件:
构建.gradle:
firebase - 谷歌智能家居应用程序上的操作没有调用 fullfilment
我正在尝试对谷歌智能家居应用程序进行操作。我已经实现了我的 oAuth2.0 服务器,它似乎工作正常。它生成一个授权令牌并使用 Google 提供的state
参数将其发送给 Google。但是,当我尝试在我的 google home 应用程序中进行帐户链接时,它会失败并出现默认couldn't update the setting
错误。当我检查我的 Firebase 控制台时,它说我的 smartHome 功能 - 我在 Google 控制台上的操作中提供的智能家居实现 - 从未被调用,即使其他功能已成功完成。
这是什么原因/解决方案?
actions-on-google - 谷歌模拟器上的操作不起作用
我遵循谷歌指令上的操作,只有一个操作是默认的欢迎意图。
当我键入“与 XXX 交谈”时,我总是会收到此错误。
另外,我尝试了谷歌智能家居动作示例,我可以在移动辅助APP - 家庭控制上看到我的设备,但是当我在模拟器上测试时出现一些错误,比如“打开我的灯”。
有谁知道什么可能导致这个问题?谢谢!
更新
你好,这个问题已经解决了。这是因为公司帐户管理员关闭了应用程序活动控制,即使我在我的帐户上启用了网络和应用程序活动。
actions-on-google - 用于百叶窗的谷歌智能家居命令
我想使用谷歌智能家居操作来控制百叶窗。如何创建诸如“打开/放下我的百叶窗”之类的命令?我应该使用哪些设备特征?OnOff trait 好像上下都看不懂,可以自定义吗?谢谢!
actions-on-google - 特征 action.devices.traits.Modes 似乎不起作用
我正在尝试使该action.devices.traits.Modes
特征起作用。根据action.devices.SYNC
要求,我返回以下响应:
我在https://developers.google.com/actions/smarthome/tools/validator/上验证了这个回复,并得到了很好的反馈。
现在,当我在智能手机上的控制台或助手中键入以下短语之一时,不会调用履行服务:
所有这些都简单地回退到谷歌搜索。
这些特征action.devices.traits.OnOff
,action.devices.traits.StartStop
但是工作正常。以下短语按预期工作:
我不知道出了什么问题以及我应该做些什么来调试它。AFAIK,智能家居服务或多或少是一个黑匣子,所以我不确定这里发生了什么/错误。
actions-on-google - 智能家居和报告状态:如果当前已知状态与现实不同步会怎样?
我通过实现SYNC
,EXECUTE
和DISCONNECT
动作实现了一个基本的智能家居服务。在SYNC
操作中,所有设备都willReportState
设置为false
。
但是,在https://developers.google.com/actions/smarthome/report-state上,我读到我们需要自己报告状态变化。这意味着所有设备都必须willReportState
设置为true
,我假设?
我的主要问题是如果最后报告的状态与现实不同步会发生什么?
例如,假设我们在 5 分钟前报告了某个设备(具有该OnOff
特征)已关闭电源。几秒钟前,客户通过按下开机按钮手动为设备供电。让我们假设 Smart Home Graph 尚未报告或知道这一事实。
如果客户问助手:关闭我的设备,现在会发生什么?这个请求会被拒绝吗?也就是说,即使 Graph Home 服务认为设备已经断电,履行服务是否会接收到这个后端?
QUERY
另外,如果我们实施报告状态,我们是否还必须实施行动?还是两者都需要?
在旁注中,该文档也没有真正解决必须报告状态更改的频率。它是否记录在其他地方?
google-api - 谷歌智能家居报告状态错误403
我正在使用带有使用服务帐户生成的 jwt 的 http post 报告设备的状态。下面是 jwt 的有效载荷
在此之后,我使用 python 库 google.auth.crypt.RSASigner.from_service_account_file(path) 使用我的服务帐户的私钥签署 jwt 并生成 jwt 令牌。我进一步使用此令牌从https://accounts.google.com/o/oauth/token获取访问令牌,这也是成功的。获得访问令牌后,我向 https://homegraph.googleapis.com/v1/devices:reportStateAndNotification?key=api_key发出发布请求
带标题
和json数据
但这给了我
我按照 https://developers.google.com/actions/smarthome/report-state 中的步骤操作我做错了什么吗?还是我错过了任何步骤?
更新:我将 api 密钥添加到 uri 现在它给了我另一个错误响应
我该如何解决这个问题?