When I send the reportState I am getting this error:
{"error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT"}}
For the following request:
{
"requestId":"b09aa527-e8ec-4374-8d0b-742ba61bbfe3",
"agentUserId":"5d8f3dd42ce05140dc1c6a20",
"payload":{
"devices":{
"states":{
"5e3679c9130c053f48888114":{
"brightness":67,
"colorModel":"rgb",
"spectrumRGB":31655,
"on":true
}
}
}
}
}
This is the sync request response:
{
"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
}
}
]
}
}
If I remove
"colorModel":"rgb", "spectrumRGB":31655,
seems to success.
Any idea why and how to fix this? It would be nice if Google APIs can return a better response than this
I found the reason. The response was missing color. Hope this will be helpful for someone else :D
{
"requestId":"956cf9d4-6ac2-407d-b683-e04224303de6",
"agentUserId":"5d8f3dd42ce05140dc1c6a20",
"payload":{
"devices":{
"states":{
"5e3679c9130c053f48888114":{
"brightness":67,
"color":{
"spectrumRGB":4915330
},
"on":true
}
}
}
}
}