Google Homegraph API调用reportState上报ERROR状态返回400问题咨询
Homegraph API上报设备错误状态说明
核心结论
可以通过Homegraph API为设备设置错误状态,你返回的400无效参数错误由请求结构和字段规则不符合官方要求导致。
问题原因
- 请求结构错误:
payload.devices下不允许直接嵌套states层,该层级需要直接以设备ID为key,每个设备ID对应的对象内部声明states字段。 - 字段使用错误:Google Smart Home生态不支持自定义的根级
status字段,错误码errorCode需要和对应 trait 的状态字段放在同一层级,你配置的StartStoptrait原生支持errorCode字段,无需额外自定义状态。
正确请求JSON示例
{ "requestId":"15cdee88-e804-4352-a2f9-4eace7eb119d", "agentUserId":"18807", "payload":{ "devices":{ "9196":{ "states":{ "isRunning": false, "isPaused": true, "errorCode":"deviceStuck" } } } } }
补充说明
isRunning、isPaused是StartStoptrait的必填状态字段,上报状态时必须同步携带,不能仅上报errorCode。deviceStuck是官方认可的通用设备错误码,可直接正常使用。
内容的提问来源于stack exchange,提问作者numa
相关产品推荐
相关产品推荐

