Why does Google Assistant says that temperature is off?

I have exposed 3 temperature sensors (1 Z-Wave and 2 ESPHome sensors) through Nabu Case Google Assistant integration (Manage Entities). It works - when I ask for the temperature, it answers. But why it also says “the temperature is off”? What does it mean? How can I turn on or off the temperature? Did I do something wrong in the sensor configuration?

1 Like

It normally does that when you expose it a climate device like an aircon or heater. What it is saying is the current state of the aircon/heater, and what the internal temperature is.

‘The garden’ is one of these temperature sensors?

How are you exposing just a temperature sensor?

Garden is the “room”, the sensor is called “temperature outside - an alias in Google, otherwise it has the name in Czech language” (but if I ask Google about temperature outside, she will default to the local weather forecast, so I use the “room” name, it works).
Now I understand - It is not a climate device, it is a standard sensor:


This is how I expose it on Nabu Casa
image

I’ve not seen that before for sensors, looking at the Google API, there is no such thing as a thermometer or sensor. I wonder if this thinks its an thermostat.

https://developers.google.com/actions/smarthome/guides/

That would explain it. In that case, lucky me :).

It would be nice if I could control the temperature outside from Hassio though :slight_smile:

Are you on the latest version of Home assistant?

Yes. I think @callifo explained that well. Google API does not have a thermometer device, so Nabu Casa smartly linked that to a thermostat device, that also measures temperature but also turns the heating on and off. So it is saying the heating is off. Never mind, better than nothing.

The google API does allow for a climate device which cannot be controlled, i.e. a climate sensor. See ‘queryOnlyTemperatureSetting’ on this page:

https://developers.google.com/actions/smarthome/traits/temperaturesetting

From what I can see in the source code the google assistant component correctly incorporates this so I think this is either:

  1. Despite google allowing this option they still return an off message.
  2. Nabu casa does something differently?

I haven’t set up a temperature sensor but can do so. Will try it out over the next few days. (I don’t use Nabu Casa)

2 Likes

Anyone figured out a workaround for this? Would like google to tell me both temperature and humidity in one sentence without thinking there’s a thermostat involved.

1 Like

You could create a custom script that causes a TTS to be created which reads outs your temp and humidity reading, and then plays it on a speaker.

Wouldn’t be as nice as using the built in Google Assistant, but would do what you want.

Also wondering the same thing. Have a temp sensor in the house and want to work it in a routine at bedtime so I know if the thermostat is set appropriately.

There is a SENSOR device that includes temperature available in the Google Smart Home device types. There’s a specific note that states:

Note: Sensors that report data covered by another trait should use that trait with the queryOnly* attribute for that trait set to true . For example, temperature sensors should use the TemperatureControl trait with the queryOnlyTemperatureControl attribute set to true .

Perhaps that is the solution for basic sensors?

Would be nice if this will be fixed somehow. I pimatic a dev got it working. As I remember he syncs the target temp with the measured temp when the value changed. It works fine, just the used backend Nora do not work good for be. It is to often unavailable when I ask Google for the temp.

As a workaround I tried to create following entry in the configuration.yaml

climate:
  - platform: generic_thermostat
    name: Außentemperatur
    heater: input_boolean.dummy_thermostatschaler
    target_sensor: sensor.aqara_tempsensor_aussen
    target_temp: "{{ states('sensor.aqara_tempsensor_aussen') }}"

Unfortunately it seems not be possible to use an entity value for target_temp, or? When I put there for example target_temp: 20 then the device gets generated, but GH tells me that “The temperatur is set to 20° and it is 4°”.
Any idea how to use a entity value for target_temp? And further set heater to true without a dummy input_boolean (in my case input_boolean.dummy_thermostatschaler)?

Old thread but it seems google fixed the response when asking for the temperature. No more “the temperature is off” replies when asking for the temperature in a room with a thermometer.

As a side effect it now only reports only one temperature from one sensor when a room has two sensors.
I have several rooms with an airconditioning and a separate thermometer and now google is only reporting the sensor in the airconditioning.
Before it was reporting both, with the dreaded “temperature off” from the separate sensor.

Would be nice to set the preferred thermometer in a room in the GA app.