i8beef / HomeAutio.Mqtt.GoogleHome

MIT License
215 stars 29 forks source link

Google no longer allows listing availableThermostatModes as a comma-separated list #105

Closed sognen closed 3 years ago

sognen commented 3 years ago

Hi,

It appears that Google no longer allows listing availableThermostatModes as a comma-separated list. https://developers.google.com/assistant/smarthome/traits/temperaturesetting

I previously had the various modes defined as: { "availableThermostatModes": "off,heat,cool,on,heatcool,auto,fan-only,purifier,eco,dry", "thermostatTemperatureUnit": "C" } but this now fails the Google Validator check with the message data.payload.devices[5].attributes.availableThermostatModes should be an array

I have tried the following but it gives an error when clicking the Update button.

{ "availableThermostatModes": [ "off", "heat", "cool", "on", "heatcool", "auto", "fan-only", "purifier", "eco", "dry"], "thermostatTemperatureUnit": "C", "minThresholdCelsius": 10, "maxThresholdCelsius": 40 }

I believe the new is similar to action.devices.traits.TransportControl.

Best Regards, Cato

i8beef commented 3 years ago

Try the version getting published right now and see if it helps. Thanks for reporting!

sognen commented 3 years ago

Thank you so much. It's working and is now passing the Google check

For others that may be looking at this, under you can find the attribute definition for TemperatureSetting. You may have to delete the trait in an older version before re-creating it in the latest build. { "availableThermostatModes": [ "off", "heat", "cool", "on", "heatcool", "auto", "fan-only", "purifier", "eco", "dry" ], "thermostatTemperatureUnit": "C", "thermostatTemperatureRange": { "minThresholdCelsius": 10, "maxThresholdCelsius": 40 } }

i8beef commented 3 years ago

Oh, that reminds me I have to update the example template too. Ill do that now.