cancel
Showing results for 
Search instead for 
Did you mean: 

functionNotSupported in QUERY request

simone-moku
Community Member

Hi,

i'm integrating a heater in google home. Depending on the model, the heater can have onOff control and power percentage control  (which i mapped to the fanSpeed trait).

Unfortunately the device does not support temperature setpoint reading or setting.

The heater device type requires the support of the TemperatureSetting trait, which is therefore unavailable.

The documentation (https://developers.home.google.com/cloud-to-cloud/guides/heater) suggests to return functionNotSupported when executing commands that are related to that trait. Following the error guide, that seems to be straightforward and i've already implemented it.

The documentation also suggests to return functionNotSupported when answering a QUERY, but it's not clear how i would do that as there seems to be no way to refer the error to a particular trait or attribute.
How should i proceed?

2 Recommended AnswerS

armen_dpe
Solutions Expert
Solutions Expert

Thanks for bringing this up. You can return a functionNotSupported error and
customize the error message to inform users that the temperature control functionality is not available for this device. 

For example,

"commands": [
{
"ids": ["heater1"],
"status": "ERROR",
"errorCode": "functionNotSupported",
"debugString": "Temperature control is not supported for this device. Use on/off and fan speed adjustments only."
}
Please refer to this link for additional information.

 

 

 

View Recommended Answer in original post

simone-moku
Community Member

Thanks for the fast and detailed response. I will implement that as well.

Unfortunately though, it's still not clear how i would implement that in response to a query.

The certification team rejected my submission because I don't implement these states:
"thermostatTemperatureAmbient" and "thermostatTemperatureSetpoint "

But I can't implement them as the device doesn't support that and can't seem to have any way of reporting the functionNotSupported error without having all the device be considered in a fault state.

How should i proceed?

View Recommended Answer in original post

2 REPLIES 2

armen_dpe
Solutions Expert
Solutions Expert

Thanks for bringing this up. You can return a functionNotSupported error and
customize the error message to inform users that the temperature control functionality is not available for this device. 

For example,

"commands": [
{
"ids": ["heater1"],
"status": "ERROR",
"errorCode": "functionNotSupported",
"debugString": "Temperature control is not supported for this device. Use on/off and fan speed adjustments only."
}
Please refer to this link for additional information.

 

 

 

simone-moku
Community Member

Thanks for the fast and detailed response. I will implement that as well.

Unfortunately though, it's still not clear how i would implement that in response to a query.

The certification team rejected my submission because I don't implement these states:
"thermostatTemperatureAmbient" and "thermostatTemperatureSetpoint "

But I can't implement them as the device doesn't support that and can't seem to have any way of reporting the functionNotSupported error without having all the device be considered in a fault state.

How should i proceed?