Google Assistant Setting Generic Thermostat temperature

Hi all,
I recently got and setup a Google Home, and I’m very much enjoying the native integration with HA.
Controlling lights by voice is great is great.

I’ve been trying to research this for some time, but I’m trying to find a way to set the temperature controlled by a Generic Thermostat by using Google Assistant (via Google Home).

In an ideal situation:

Me: "Hey Google, set house temperature to 20 degrees"
Google: "Ok, setting house temperature to 20 degrees"

This could be via a switch, script or automation that would trigger a temp set, or via the Generic Thermostat itself.

It seems that there are a few hurdles here to overcome, if this isn’t been done before.

Does anyone have any idea?

I’d be interested in that also :slight_smile:

That works natively? Expose the climate domain and assuming your generic thermostat is called “house” that would work.

Well, smack me sideways, turns out it does work out of the box and I somehow missed this…

My climate controller is called “House Heating”:

climate:
  - platform: generic_thermostat
    name: House Heating
    heater: switch.some_switch
    target_sensor: sensor.some_temp_sensor

All I had to do was make sure that the Google Assistant configuration had climate exposed:

google_assistant:
  project_id: someproject-2d0b8
  client_id: !secret client_id
  access_token: !secret access_token
  agent_user_id: !secret agent_user_id
  api_key: !secret api_key
  exposed_domains:
    - switch
    - light
    - group
    - climate

(last line above^^ is important)

Make sure to refresh your config to Google Assistant (You may need to unlink it, and relink it), and check that “House Heating” is listed in the discovered devices.

Instructions from the Google Assistant page:

  • Open the Google Assistant app and go into Settings > Home Control
  • Click the + sign, and near the bottom, you should have [test] your app name.

After this I can now:

Me: "Hey Google, set the house heating to 21"
Google: "There you go, setting the house heating to 21 degrees"
Me: < hears boiler switch on >
Me(Optional): "Sweet, Thanks Google"

3 Likes

Hey how did you get this to work?

I’m struggling to do the same, I can’t get google Assistant to see my MQTT temperature.
Do you know what I’m missing.

My Config:
google_assistant:
project_id: xxxxxxxxxx
client_id: xxxxxxxxxxx
access_token: xxxxxxxxxxxx
exposed_domains:

  • switch
  • light
  • script
  • scene
  • climate

My Customize.yaml
switch.geyser:
homebridge_visible: true
friendly_name: Geyser
google_assistant: true
google_assistant_type: switch
sensor.geyser_temperature:
homebridge_visible: true
friendly_name: Geyser Temperature
google_assistant: true
google_assistant_type: climate

I’m on the latest HA version 0.62.1
If anyone has a nice timer interface for my Geyser / Hot Water Boiler that would be great :slight_smile:

I’d like to help, but you might want to do a couple things, as I’m a little confused what you’ve done and what you’re trying to do:

  • put your code into code blocks (use backtick (`) or 4 spaces at beginning of lines)
  • state clearly what you did, what you’re trying to achieve, and what you have working already
  • from your example I see you’re not using climate like I am. Are you trying to set this up?