Nest integration: climate.set_hvac_mode set to 'off' not working?

Hi! Wondering if anyone has experienced the same issue, or has any insight.

I have a nest thermostat (I believe 3rd gen), integrated via yaml. I have an automation that turns it off/on if windows are opened/closed; over the last week or so, I noticed that the automation stopped working. I’ve been trying to do some debugging, and I noticed that the service: climate.set_hvac_mode call works fine for any hvac_mode, except 'off'. I turned debug mode on in the logging and I can’t see any difference between the call and any other… tried different capitalizations, with and without quotes, no luck.

Any ideas? Appreciate any help. Thank you!

I’ve tried in both these ways:

service: climate.set_hvac_mode
target:
  entity_id: climate.ktn_nest_thermostat
data:
  hvac_mode: 'off'
device_id: ***
domain: climate
entity_id: climate.ktn_nest_thermostat
type: set_hvac_mode
hvac_mode: 'off'

Sorry if I add my question here which won‘t help the originator. My problem is that (I want to have an alarm if a door sensor shows the door is open + the air condition is ‚not off‘).
I just can‘t create a condition in automation that checks the a/c condition - have queried for off, ‚off‘ and HVAC_MODE_OFF. None of them works,

This is my current (not working) automation trial - it‘s really only the a/c status I need to query, the rest works (the group.door_status is a summary of the infos of 2 door contacts)

alias: Announcement door open when a/c is on
description: ''
trigger:
  - platform: state
    entity_id: group.door_status
    from: 'off'
condition:
  - condition: state
    entity_id: sensor.ac_hvac_modes
    for:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
    state: HVAC_MODE_OFF
action:
  - type: toggle
    device_id: f0f676fed5df5de27d5bf9a7b7afa17e
    entity_id: switch.floodlight
    domain: switch
mode: single

Any ideas???

Same here, cannot turn off Nest thermostat anymore with Home Assistant integration, via climate.turn_off service call (was working fine last winter). In fact, this is weird because Nest app or web application report the thermstats as off, but the physical device does not indicate off mode and might even send heat commands!

Debug below:

2022-01-10 16:26:36 DEBUG (Thread-ConsumeBidirectionalStream) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Processing 1 received message(s), currently on hold 0 (bytes 0).
2022-01-10 16:26:36 DEBUG (Thread-ConsumeBidirectionalStream) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Sent request(s) over unary RPC.
2022-01-10 16:26:36 DEBUG (Thread-ConsumeBidirectionalStream) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Released held message, scheduling callback for it, still on hold 0 (bytes 0).
2022-01-10 16:26:36 DEBUG (MainThread) [google_nest_sdm.event] EventMessage raw_data={'eventId': 'XXX', 'timestamp': '2022-01-10T21:26:35.986951Z', 'resourceUpdate': {'name': 'enterprises/XXX/devices/XXX', 'traits': {'sdm.devices.traits.Humidity': {'ambientHumidityPercent': 38.0}}}, 'userId': 'XXX', 'resourceGroup': ['enterprises/XXX/devices/XXX']}
2022-01-10 16:26:36 DEBUG (MainThread) [google_nest_sdm.device] Processing update XXX @ 2022-01-10 21:26:35.986951+00:00
2022-01-10 16:26:36 DEBUG (MainThread) [google_nest_sdm.device] Trait update dict_keys(['sdm.devices.traits.Humidity'])
2022-01-10 16:26:36 DEBUG (Thread-CallbackRequestDispatcher) [google.cloud.pubsub_v1.subscriber._protocol.dispatcher] Handling 1 batched requests
2022-01-10 16:26:36 DEBUG (Thread-ConsumeBidirectionalStream) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Processing 1 received message(s), currently on hold 0 (bytes 0).
2022-01-10 16:26:36 DEBUG (Thread-CallbackRequestDispatcher) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Sent request(s) over unary RPC.
2022-01-10 16:26:36 DEBUG (Thread-ConsumeBidirectionalStream) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Sent request(s) over unary RPC.
2022-01-10 16:26:36 DEBUG (Thread-ConsumeBidirectionalStream) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Released held message, scheduling callback for it, still on hold 0 (bytes 0).
2022-01-10 16:26:36 DEBUG (MainThread) [google_nest_sdm.event] EventMessage raw_data={'eventId': 'XXX', 'timestamp': '2022-01-10T21:26:35.986951Z', 'resourceUpdate': {'name': 'enterprises/XXX/devices/XXX', 'traits': {'sdm.devices.traits.Temperature': {'ambientTemperatureCelsius': 17.419998}}}, 'userId': 'XXX', 'resourceGroup': ['enterprises/XXX/devices/XXX']}
2022-01-10 16:26:36 DEBUG (MainThread) [google_nest_sdm.device] Processing update XXX @ 2022-01-10 21:26:35.986951+00:00
2022-01-10 16:26:36 DEBUG (MainThread) [google_nest_sdm.device] Trait update dict_keys(['sdm.devices.traits.Temperature'])
2022-01-10 16:26:36 DEBUG (Thread-CallbackRequestDispatcher) [google.cloud.pubsub_v1.subscriber._protocol.dispatcher] Handling 1 batched requests
2022-01-10 16:26:36 DEBUG (Thread-CallbackRequestDispatcher) [google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager] Sent request(s) over unary RPC.

The nest API team is aware of this issue and working on a fix.

1 Like

Tracking this here Nest Integration - Service set_hvac_mode to 'off' Does Not Work · Issue #60941 · home-assistant/core · GitHub

1 Like

The Nest API team landed a fix and this appears to be resolved from my end. Thanks.

1 Like

Awesome, I had reported this to them a while back (Nest Learning thermostat API "OFF" mode - Stack Overflow), nice to see that they finally made a fix available for this. It’s been driving me nuts lol.

Yes thank you, I referenced that post when chatting with the team as additional data about the problem, very helpful to have multiple instances to confirm it’s widespread.

heads up in case anyone following this runs into the same issue, the attribute value for when the system is not running silently changed from “off” to “idle” for my thermostat, which made my automations stop again! Much easier to solve this time though :slight_smile:

Good call out, i considered this a bug fix and didn’t consider that it might be a surprise. The context for this change is in https://github.com/home-assistant/core/issues/62797 where it was reported the old behavior was incorrect. I’m really glad you figured it out and flagged here, thanks for the post.

1 Like