core: Nest Thermostat No Longer Responds to preset_mode: none or preset_mode: eco

The problem

To begin with, my apologies if this is already documented as an issue, a similar issue is already created, etc. This is my first time using GitHub and although I tried searching for similar issues, I’m not used to the interface. I just created my account within the last few hours.

Have an automation that sets my Nest Thermostats to either none or eco based on presence, etc. I have an automation the controls two Nest Thermostats. As of yesterday, the 1st Floor Nest Thermostat no longer responds to eco or none presets. The 2nd Floor Nest Thermostat works fine via the automation. The automation has been working flawlessly for a few months till yesterday.

Through exhaustive testing and troubleshooting the 1st Floor Nest Thermostat via Developer Tools: Services and directly interacting with the device via Settings: Devices & Services: Integrations, I cannot change the preset_mode. I am able to change everything else; ie: the temperature, the mode (cool, heat, heat / cool, turn on / off the fan) but when I try to set the preset, it doesn’t change to the mode I want. Again, just for 1 of 2 Thermostat. The 1st Floor Thermostat reponds to all requests except for the preset_mode.

The 1st Floor Thermostat is a 1st Generation Nest Thermostat. The 2nd Floor is either a 2nd or 3rd Generation. Both worked fine till yesterday. I did however, upgrade HA Operating System and HA Core and I believe that’s when it no longer worked. I tried restoring from a previous backup using my prior version of HA Core but without luck. Looks as though I can’t restore the Operating System. I don’t know if updating my HA caused this issue or if it was coincidence.

Here’s an example of where I try to toggle the Preset via the interface. When changed, it flips back in about 2 seconds. Again, I can change the Operation, Fan Mode, Temp (up / down) and those all work fine.

image

Here’s example YAML via Developer Tools. When I click “Call Service”, I get a green check mark and nothing happens.

image

If I use the native Nest web app or the app on Android, I can set the preset mode.

I did set the following lines in configuration.yaml but not sure where the output is being logged. I did look in home-assistant.log but don’t see much there but it may be due to my lack of understanding of what I’m trying to read. And under the Integrations Tab for Google Nest, I did turn on Enable debug logging and after a few attempts, I’m not really understanding the log output but nothing really sticks out.

logger: default: info logs: homeassistant.components.nest: debug google_nest_sdm.event: debug

This WYSIWYG isn’t indenting the above correctly, screenshot: image

What version of Home Assistant Core has the issue?

core-2023.3.6

What was the last working version of Home Assistant Core?

core-2022.12.8

What type of installation are you running?

Home Assistant OS

Integration causing the issue

nest

Link to integration documentation on our website

https://www.home-assistant.io/integrations/nest

Diagnostics information

config_entry-nest-20ee2783cd1f0b0c97fdf79072210691.json.txt

Example YAML snippet

service: climate.set_preset_mode
data:
  preset_mode: none
target:
  entity_id:
    - climate.1st_floor

Also -

service: climate.set_preset_mode
data:
  preset_mode: none
target:
  entity_id:
    - climate.1st_floor
    - climate.2nd_floor

In above example, 2nd floor works. 1st floor doesn't in either example. I've toggle the value from none to eco, back and forth, etc. 2nd floor always responded, 1st floor not.

Partial example of a longer automation:

        then:
          - device_id: [redacted]
            domain: climate
            entity_id: climate.1st_floor
            type: set_preset_mode
            preset_mode: eco
          - service: notify.mobile_app_pixel_6_pro
            data:
              title: Home Presence
              message: [redacted] & [redacted] not home. Turned on Eco Mode for 1st Floor.

The above snippet for 2nd floor Nest Thermostat works as expected.

Anything in the logs that might be useful for us?

No. I think I got everything noted above.

Actually, yes: if I set the mode (or any other options), via the web app, the android app or the physical device itself, Home Assistant shows the correct state of anything I change, including preset_mode. However, I can't set preset_mode via Home Assistant.

Additional information

Appreciate the assistance. Again, apologies if this is duplicative. New to GitHub and hope to master it soon.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 36 (6 by maintainers)

Most upvoted comments

I think we have enough information on this issue. Thanks folks.

Display-3.4 backplate-6.5 Software version 5.9.5-2

Thanks all. If folks see additional issues we can open in a new issue.

Hello everyone!

It appears the issue has been resolved.

I originally opened this issue back in March. Issue was that one of Nest Thermostats was no longer responding / respecting the commands to set it in eco mode or not.

As of today, it appears to be respecting the eco mode via Home Assistant. I noticed the change as I left and entered my zone and the thermostat responded as appropriate versus doing nothing.

So, please check your automations to determine if the issue no longer exists.

As per the thread, this had nothing to do with the Home Assistant Nest integration created and provided by Allen Porter. But, he did provide assistance in raising it internally to his Google counterparts.

As well, thanks to tjleigh on Stack Overflow for posting this issue which caught the attention of Siddhant Priyadarshi (Software Engineer at Google) who led him to open a ticket on Google Issue Tracker.

Related links: https://stackoverflow.com/questions/75956536/why-has-thermostateco-setmode-stopped-working?newreg=810c76bd2b0c4b9da59b47bcbdc4645e

https://issuetracker.google.com/issues/288913306

So, my thanks and thanks to everyone that contributed and helped solve this problem. 👍🏻 But as noted, I’d like to hear if others on this thread the same positive outcome so that we / I can close this issue.

More or less fixed the problem, at least for my thermostat. Installed the google assistant sdk integration. With the text command ‘set thermostat to eco’, the thermostat goes to eco and HA detects that. Return to normal operation with HVAC command ‘heat’, or send text command ‘set thermostat to on’

From the web app:

<html> <body>

Model | Display-2.8 Backplate model | Backplate-2.21 Software | 5.9.4-5 Updated | Sep 25, 2019 2:18 AM

<html> <body>

Last contact | Just now Battery | 3.96 volts

</body> </html> </body> </html>

Let me know if this isn’t the correct information you are looking for or if other details needed:

Model: Backplate-2.21 Software version: 4.2.8 / 3.1