问题描述
我正在努力在我们的安全面板上完成 SmartHome 操作的开发,涉及不同的特性实现(包括 Armdisarm、Power、Thermostats 等)。
一个特定的问题与 Toggles Trait 相关。 我需要接受命令以启用或禁用入侵传感器绕过/排除。
我已将以下块添加到 SYNC 响应中,例如,对于厨房中的窗户传感器:
{
'id': '...some device id...','name': {'name': 'Window Sensor'},'roomHint': 'Kitchen','type': 'action.devices.types.SENSOR','traits': 'action.devices.traits.Toggles','willReportState': true,'attributes': {
'commandOnlyToggles': false,'queryOnlyToggles': false,'availabletoggles': [
{
'name': 'bypass','name_values': {
{ 'name_synonym': ['bypass','bypassed','exclusion'},'lang': 'en'],{ 'name_synonym': ['escluso','bypass','esclusa','esclusione'],'lang': 'it'}
},}
]
}
}
我能够通过说来触发 EXECUTE 意图 “打开窗口传感器的旁路”(虽然非常不自然)。 我能够通过说来触发 QUERY 意图 “窗户传感器上有旁路吗?” (更不自然)。
这两个话语是在博客的某个偏僻角落找到的。
我的问题是意大利语(以及其他西欧语言,如法语/西班牙语/德语)。
EXECUTE Intent 似乎是由这句话触发的(我打赌没有意大利人会说这样的话): "Attiva escluso su Sensore Finestra" (在此示例中,在意大利语关联帐户的上下文中运行时,SYNC 请求中提供的名称从“Window Sensor”转换为“Sensore Finestra”)。
然而,我无法找到 QUERY 请求的话语,我已经尝试了一切可能有意义的事情,但 QUERY 意图从未被触发,并且助手将我重定向到网络上的简单搜索。
为什么对话语有这样的神秘感?助理文档中的示例英语话语非常有限,大多数时候很难猜测特定语言的对应物;此外,AOG 的任何人都无法向我提供有关此主题的任何信息。
对我来说已经一年多了,我一直在努力为我们的设备用户手册中包含的话语创建参考指南,但仍然没有运气。
你们中的任何人都可以给我一些参考吗? 还是我的 SYNC 数据有问题?
解决方法
您可以在 public tracker 上提交错误并包含您尝试过的查询。由于执行意图似乎有效,它可能只是未触发的后端语法中的错误。