提问人:moonsung jang 提问时间:9/15/2021 最后编辑:moonsung jang 更新时间:9/22/2021 访问量:95
Google 操作测试套件中执行和查询意图的错误报告
Error report for execution and query intent in the test suite of the google action
问:
我们的项目在测试中通过了“Turn on”执行和查询 Google Action 的套件。 但是“关闭”执行和查询失败,我找不到我们的部分。 在“关闭”执行后,我为“on”属性回复了“false”,但是 显示错误报告 - 实际状态:{“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 操作错误报告“关闭卧室”之后的查询 错误:字符串“Error from HA: deviceOffline”被抛出,引发错误:)at new f (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18143:10) at Runner.fail (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4491:11) at js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4802:18 at done (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4189:5) at js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:4236:11 at w.Ic (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18137:24) at r.run (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18129:169) at js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18171:310 at w.Jl (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18137:454) at r.Ms (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18130:301) at h (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18126:375) at y.Jl [as Ic] (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18139:326) at q (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18167:89) 在 XMLHttpRequest.w (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18158:235) (js/app_compiled.js?f77b3b67-f1c5-4a38-8a20-fe5eafbc2c40:18167:241)
答:
你在这里有几个问题。
首先,您需要验证您的同步响应是否包含相应的设备属性 - 您的执行/查询响应都返回您的字符串,而不是同步响应中的字符串。如果您只是用于您的设备,您实际上甚至不需要实现任何特征功能。再次验证初始同步响应中的内容。NULL
currentToggleSettings
availableToggles
OnOff
Toggle
其次,您正在返回 以及 ,这就是您收到以下错误的原因:online: false
on:false
错误:引发字符串“Error from HA: deviceOffline”
online:false
should only be used when you intend to return the TTS response of "the device is not available right now" when a user issues a command/query, and when the device cannot be controlled. This should also include in your response. You can read more about handling errors and exceptions in the docs.status:ERRROR
Returning or when responding to an execute/query request should fix the error.online:true, on:false
online:true, on:true
deviceOffline
评论