Expose sensor to Google Assistant

Hey Everyone… I see sensors were recently added to HA Google Assistant tie in. I can’t seem to get them to show up though.

Here is what I have so far:

google_assistant:
  project_id: my_id
  api_key: my_key
  entity_config:
    sensor.living_room_temperature:
      name: Living Room
      room: Living Room
    sensor.master_bedroom_temperature:
      name: Master Bedroom
      room: Master Bedroom
    sensor.office_temperature:
      name: Office
      room: Office

Sensors are not supported.

https://www.home-assistant.io/components/google_assistant/ documentation says otherwise

from that doc: sensor (temperature setting, only for temperature sensor)

Also this: https://github.com/home-assistant/home-assistant/pull/11095

Sensor is not a supported domain.

Am I missing something under the section available domains it literally says sensors?

1 Like

Oh crap… no I missed that. I still don’t believe they are supported though (you can’t display them)… so have you tried setting the temperature? It probably won’t show anything in Google under Google Home ‘Home’ page - just like for Scenes and Scripts - but have you checked under Rooms if you go to home control?
‘Hey Google set Living Room to 17 degrees’ ?

Okay good to know I’m not crazy…

So nothing shows up in the rooms or not in a room. Looks like sensors are little shield icons. I see none of that. I have a few lights that are coming over so I know its working.

If it matters these are mqtt sensors:

  - platform: mqtt  
    state_topic: "livingroom/temperature_fahrenheit"
    name: "Living Room Temperature"
    unit_of_measurement: "°F"
    value_template: '{{value | round(1) }}'

Wonder if it doesn’t like the decimals…

Have you tried voice commands like I suggested?

Says it looks like that device hasn’t been setup yet. So yeah there is nothing there for it to talk to.

Hello,

I’ve noticed the same : sensor domain were added to Google Assistant. So I’ve exposed my temperature sensors from the HA Cloud interface a few days ago (I’m using NabuCasa but it should work the same) and then sync my devices.
My temperature sensors appears as a shield icon in Google Home app as you said and I put them into rooms.

After that I was able to ask : “Hey Google, what is the temperature in the living room ?”
To what google answer : “Living room thermostat is off and temperature is xxx degrees”

So I think they mapped the temperature sensors as a virtual thermostat that is constantly off but still getting the temperature.
FYI, I’m using Google Assistant in French.

@Frixx thanks for the reply, the odd this is I don’t see the sensors/shields in my Google Home app. So I’m not even there yet. Does my config look okay? I wonder what you’re doing that I’m not. Home Assistant isn’t giving me any errors.

1 Like

Have you set the device_class of the sensor to temperature. That is needed.

@andrewdolphin that did the trick thanks for the help!

I added the sensors to my customize file:

sensor.office_temperature:
  device_class: temperature
sensor.living_room_temperature:
  device_class: temperature
sensor.master_bedroom_temperature:
  device_class: temperature

Odd HA didn’t give me any errors about this. In the UI I had the sensor in degrees Fahrenheit and it displayed the temperature logo but I guess something internal still wasn’t set.

Oh well hope it helps someone, thanks for all the help everyone!

Sensors are not supported, but for temperature I have bypassed this by converting them to virtual generic thermostat instances, like so:

climate:
  - platform: generic_thermostat
    name: Bedroom
    target_sensor: sensor.temperature_158d0001f58fbc
    heater: # whatever bogus value, since it doesnt activate anything

Climate gets exposed to Google Assistant, and asking “What’s livingroom temperature?” it replies “It’s currently 21.5 degrees and the livingroom is off”.

The last bit is because it still thinks it’s a thermostat that is turned off, but at least i can get the sensor value spoken out loud.

Alternatively you can have a TTS script say anything you want, but it will have the non-native accent, pause music if playing and a whole other issues.

Update:

now it’s possible to expose the temperature sensor without a thermostat, and Google Assistant nicely responds with “Home is currently 26.9 degrees.”

Exposing them using Nabu Casa Cloud:

Xiaomi Temperature Sensor:

Even a virtual sensor using Thermal Comfort:

And yes, as pointed out above - contact sensors like door/window, etc.

2 Likes

As @DavidFW1960 mentioned earlier, Google Assistant doesn’t support Sensors and @veli confirmed this also.
Home Assistant works around this by exposing temperature sensors as thermostats, hence the " It’s currently xx degrees in the xxxxx and the xxxxx is off".
Some sensors, ESPHome sensors being one I know first hand of, are not exposed as thermostats to Google and as such need to be aliased as generic thermostats.
This is a limitation of Google Assistant and not Home Assistant though. Hoping Google will fix that in the future.
Thanks to @veli for the little generic thermostat extract there. I know that will help many with similar issues

Have you tried setting the device_class to temperature? It still exposes a sensor as a thermostat but it works. I did this with a BOM Temperature sensor (like a darksky actual temperature) and as soon as I did that (customize the entity) it sync’ed to Google and is reported

1 Like

That doesn’t seem to work for the ESPHome based sensors for some reason.
The fake generic thermostat does though and with Lovelace it’s pretty easy to hide the fake one.
:slight_smile:

I have no idea what you mean. Lovelace has nothing to do with this.

I was referring to hiding the fake thermostat from the UI.
It can sit as an unused entity.

In documentation i see:

  • sensor (temperature setting for temperature sensors and humidity setting for humidity sensors)

But no matter how I try, I can not add sensors to Google Home, all the time the sensor is displayed without values with a shield on the icon, and when asked what the temperature, the assistant says he does not know how to help.