关于action.devices.types.GARAGE设备SYNC后仅显示设置页的问题咨询
看你其他类型设备都正常,唯独车库门设备出问题,大概率是SYNC响应里的配置没贴合Google Assistant对GARAGE类型设备的要求,我给你梳理几个最可能的原因和修复方法:
缺少核心Trait:GARAGE设备必须包含
action.devices.traits.OpenClose这个核心特质——这是车库门执行开/关操作的基础。如果你的SYNC响应里没加这个Trait,Assistant会认为这个设备没有可执行的主动操作,自然只会显示设置入口。属性配置不完整:OpenClose Trait要求GARAGE设备必须在
attributes字段里指定openDirection(可选值是UP或DOWN),用来定义车库门的开合方向。如果漏了这个必填属性,Assistant无法正确识别设备的操作能力,也会导致操作按钮不显示。给你一个正确的GARAGE设备SYNC响应片段参考:
{ "id": "your_garage_device_id", "type": "action.devices.types.GARAGE", "traits": ["action.devices.traits.OpenClose"], "name": {"name": "Main Garage Door"}, "attributes": { "openDirection": "UP", "openPercentSupported": false // 不支持部分开启就设为false,支持则设为true }, "willReportState": true }状态报告异常:如果你的设备设置了
willReportState: true,但没有正确上报openPercent状态值(0代表关闭,100代表完全打开),Assistant无法获取设备当前状态,也会隐藏操作按钮。确保状态报告里包含正确的状态数据,比如:{ "states": { "openPercent": 0, "online": true } }缓存问题:有时候Assistant会缓存旧的SYNC配置,建议先在Google Home应用中删除该设备,重新触发SYNC同步,或者在测试控制台里使用「重新同步设备」功能,确保最新的配置生效。
最后也可以检查下是否正确实现了action.devices.commands.OpenClose命令的处理逻辑,但从你的问题描述来看,核心问题应该还是出在SYNC阶段的配置上。
内容的提问来源于stack exchange,提问作者Renato

