This question was prompted by our previous question regarding review requirements for QUERY intents, found here.
Although we are currently unable to implement querying a detailed status of many of our devices, we would like to respond properly to attempts at QUERY intents. Specifically: with a notSupported error response seems appropriate. For a general user query, such as "Is the Desk light on?", this works as we would expect:
"That mode isn't available for the Desk light".
However, when attempting relative operations, such as "Dim the Desk light.", the same response format results in the following response by Google Home:
"Encountered an unknown error for the Desk light."
The same json response is returned in both scenarios:
{
"requestId": "****************",
"payload": {
"devices": {
"********": {
"errorCode": "notSupported"
}
}
}
}
We have verified, by faking a query response with an actual brightness status, that the intent continues properly after the QUERY returns; receiving an EXECUTE intent next to effect the change in brightness.
We are unsure why a notSupported error is handled differently in this case; are we perhaps misunderstanding how an error response to this kind of QUERY should be formatted? If so, how can we distinguish a QUERY intent that will be followed by an EXECUTE intent from a solitary QUERY intent? Perhaps there is something else entirely that we have missed?
Thank you for reading.