google-smart-home - 目标设备的错误和阻塞异常有什么区别?
问题描述
您能否提供有关错误和异常的更多详细信息:
- 目标设备的错误和阻塞异常有什么区别?在每种情况下我们应该使用什么意图和什么样的反应?你能提供例子吗?
- 我们应该在执行响应中只使用错误代码吗?EXECUTE 响应中是否没有异常代码?
- 异常代码是否只能在提供目标设备和所有关联设备状态的查询响应中使用?
- 如果异常代码列表中提供了所需的错误消息并且错误代码中没有类似消息(例如,“inSoftwareUpdate”),我们应该如何处理目标设备的阻塞错误?你能举个例子吗?
解决方案
文档中关于这一点的几点说明:
当问题导致执行或查询请求失败时,您应该返回错误代码。
当存在与命令相关的问题或警报时,您应该返回异常。
为了更清楚地说明这一点,当您无法处理意图(无法访问设备、设备已经处于预期状态等)时,通常会发生错误。异常通常是相关状态,不一定表示故障(我能够锁门,但仅供参考,电池电量不足)。当与StatusReport特征一起使用时,这也可以是另一个设备的状态。