google-home - Google Home 报告 LIGHT 问题的状态
问题描述
当我发送 reportState 时,我收到此错误:
{"error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT"}}
对于以下请求:
{
"requestId":"b09aa527-e8ec-4374-8d0b-742ba61bbfe3",
"agentUserId":"5d8f3dd42ce05140dc1c6a20",
"payload":{
"devices":{
"states":{
"5e3679c9130c053f48888114":{
"brightness":67,
"colorModel":"rgb",
"spectrumRGB":31655,
"on":true
}
}
}
}
}
这是同步请求响应:
{
"requestId":"4439574979535065527",
"payload":{
"agentUserId":"5d8f3dd42ce05140dc1c6a20",
"devices":[
{
"id":"5e3679c9130c053f48888114",
"type":"action.devices.types.LIGHT",
"traits":[
"action.devices.traits.Brightness",
"action.devices.traits.ColorSetting",
"action.devices.traits.OnOff"
],
"name":{
"defaultNames":[
"lamp"
],
"name":"lamp",
"nicknames":[
"lamp"
]
},
"willReportState":true,
"roomHint":"Living Room",
"deviceInfo":{
"manufacturer":"Sinric Pro",
"model":"SR2",
"hwVersion":"1.0",
"swVersion":"1.0"
},
"attributes":{
"colorModel":"rgb",
"colorTemperatureRange":{
"temperatureMinK":2000,
"temperatureMaxK":9000
},
"commandOnlyColorSetting":false
}
}
]
}
}
如果我删除
“colorModel”:“rgb”,“spectrumRGB”:31655,
似乎成功了。
知道为什么以及如何解决这个问题吗?如果 Google API 可以返回比这更好的响应,那就太好了
解决方案
我找到了原因。响应缺少颜色。希望这对其他人有帮助:D
{
"requestId":"956cf9d4-6ac2-407d-b683-e04224303de6",
"agentUserId":"5d8f3dd42ce05140dc1c6a20",
"payload":{
"devices":{
"states":{
"5e3679c9130c053f48888114":{
"brightness":67,
"color":{
"spectrumRGB":4915330
},
"on":true
}
}
}
}
}
推荐阅读
- python - 瓶子的 before_request 钩子有执行顺序吗?
- java - 即使条件为假,为什么 for 循环仍在运行
- javascript - Node/Express Post请求使用函数发送数据
- python - 根据长度列表创建新变量
- visual-studio - Power Shell 无法在第二次运行脚本后覆盖常量错误?
- python - 遍历 URL 列表并抓取 tspan 元素
- google-cloud-platform - 基于导出的图像创建实例模板
- c# - System.Data.Entity.Migrations.AddOrUpdate 的 EF6 数据播种问题
- java - 如何防止某些包在 ArchUnit 中使用 spring?
- javascript - 用 jest 对函数进行单元测试