google action的测试套件中执行和查询意图的错误报告
Posted
技术标签:
【中文标题】google action的测试套件中执行和查询意图的错误报告【英文标题】:Error report for execution and query intent in the test suite of the google action 【发布时间】:2021-11-10 10:57:54 【问题描述】:我们的项目在测试中通过了“开启”执行和查询 谷歌行动套件。 但是“关闭”执行和查询失败了,我找不到我们的部分。 在“关闭”执行后,我对“开启”属性回复了“假”,但是 显示错误报告 - 实际状态:"on":true,"online":true。 下面是交换的数据和错误报告。
执行 Google 操作请求: "inputs":["context":"locale_country":"US","locale_language":"en","intent":"action.devices.EXECUTE","payload":"commands": ["devices":["id":"eg_cam_87901"],"execution":["command":"action.devices.commands.OnOff","params":"on":false ]]],"requestId":"960820806239759768"
我们对执行的回应: "requestId":"960820806239759768","payload":"commands":["ids":["eg_cam_87901"],"status":"SUCCESS","state":"online":false," on":false,"currentToggleSettings":null]
Google 操作错误报告 关掉卧室 AssertionError:预期状态包括:"on":false,实际状态:"on":true,"online":true:预期 false 为 true
Google 操作请求查询: "inputs":["intent":"action.devices.QUERY","payload":"devices":["id":"eg_cam_87901"]],"requestId":"4409204964431192716"
我们的查询回复: "requestId":"4409204964431192716","payload":"devices":"eg_cam_87901":"online":false,"status":"SUCCESS","on":false,"currentToggleSettings":null
Google 操作错误报告 “关闭卧室”后的查询 错误:抛出字符串“来自 HA 的错误:deviceOffline”,在 Runner.fail (js/ app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4491:11) 在 js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4802:18 完成 (js/app_compiled.js?f77b3b67-fc1 -4a38-8a20-fe5eafbc2c40:4189:5) 在 js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4236:11 在 w.Ic (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20- fe5eafbc2c40:18137:24) 在 r.run (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18129:169) 在 js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40: 310 在 w.Jl (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18137:454) 在 r.Ms (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18130:301 ) 在 h (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18126:375) 在 y.Jl [as Ic] (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18139 :326) 在 q (js/app_compiled.js?f7 7b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18167:89) 在 e (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18158:235) 在 XMLHttpRequest.w (js/app_compiled.js?f77b3b67- f1c5-4a38-8a20-fe5eafbc2c40:18167:241)
【问题讨论】:
【参考方案1】:这里有几个问题。
首先,您需要验证您的同步响应是否包含适当的设备属性 - 您的执行/查询响应都为您的 currentToggleSettings
返回 NULL
,而不是同步响应中的 availableToggles
字符串。如果你只是为你的设备使用OnOff
,你实际上甚至不需要实现任何Toggle
trait 特性。再次验证您的初始同步响应中的内容。
其次,您将返回 online: false
和 on:false
,这就是您收到以下错误的原因:
错误:抛出字符串“来自 HA:deviceOffline 的错误”
online:false
仅应在用户发出命令/查询时以及当您打算返回 “设备现在不可用”的 TTS 响应时使用受控。这还应在您的回复中包含status:ERRROR
。您可以在docs 中阅读有关处理错误和异常的更多信息。
在响应执行/查询请求时返回 online:true, on:false
或 online:true, on:true
应该可以修复 deviceOffline
错误。
【讨论】:
以上是关于google action的测试套件中执行和查询意图的错误报告的主要内容,如果未能解决你的问题,请参考以下文章
sh Phoronix测试套件,Google PerfKit