I integrated google home via self hosting and exposed my Homematic thermostats to Google Home. They are appearing in Google Assistant as Thermostats. The Thermostats are set into Automatic mode. Unfortunately I cannot change the temperature in the Google Home App and if I ask google for the current abient temperature I just get the answer: “The Thermostat is set to automatic” without any temperature readings.
If I set the thermostat to “heating” everything is working as expected. Is there something wrong in my configuration?
Since it is already bumped, I would like to find out too. Before I used Google Home itself to expose my Netatmo thermostat. It then replied with the current and set temperatures when asked. Now it just states it is set to Automatic. No current and set temperatures.
It might be related to a difference in philosophy regarding what “auto” mode means for a thermostat between Google Home and Home Assistant. Google Home’s docs suggest that “auto” is “Automatic mode with temperature set by a schedule or learned behavior”. Hence there’s no possibility to set the desired temperature in auto mode. Instead, Home Assistant’s “heat” mode (at least for my thermostats) means “open the valve entirely”.
Maybe it could be resolved by reporting the “auto” mode as Google Home’s “heating” mode which allows setting the temperature but such mapping would mess up other devices that actually have “fully automatic mode”.
I’m also not sure how the google_assistant integration is reporting the current temperature setpoint. See the source code- here the HVAC mode is “auto” indeed, a thermostat doesn’t support temperature range, so we end up reporting only thermostatTemperatureSetpointHigh and thermostatTemperatureSetpointLow. But if I change the mode to “heat”, I’m able to set the temperature in Google Home, however, Home Assistant ignores setting the temperature in “heat” mode (that’s true also for Lovelace frontend- set the thermostat to “heat”, change temperature, change back to “auto”- the new temperature is not respected).
As a bonus, you should be able to set the temperature from Google Assistant voice command. It’s working for me as it allows setting thermostatTemperatureSetpoint even in “auto” mode.
If you’re using HACS, you can install this repo: hass-template-climate to create a “google” version of a thermostat.
I remapped the dry mode to be homeassistant’s heat as it doesn’t need to set the target temperature.
This way, setting the mode to “Drying” in Google Home turns the thermostat to 100% heating in reality, and “Heating” mode is just “Auto” in Homeassistant.
The thing is though, when I look at the options for the modes in my system, I see off, heat, auto in HA, but off, heat, other in Google Home. So the HA auto mode is not recognized?