Nest API reporting thermostat as OFF on scheduled temperature change

Hi,

I have an home/away automation that stores the state of my Nest thermostats (cool, heat or heat/cool) to a variable in order to set it back to that mode upon return home. This was working flawlessly until recently, when the Nest API started reporting my thermosat as OFF when the preset Nest schedule activates in the morning. For example, my schedule is set to increase the temperature from 18 C to 21 C at 6:15 AM, and I get the following in the Nest debug log:

2023-11-28 06:15:07.560 DEBUG (MainThread) [google_nest_sdm.event] EventMessage raw_data={'eventId': 'e582162e-ef9d-4cda-8e53-50ebb942e6ea', 'timestamp': '2023-11-28T11:15:03.162294Z', 'resourceUpdate': {'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsmHEBbYmACR2C1OKWS7tSNj0RaSame9gNzwxr8bOVQAT-xB8WF4FTjgpbF3epWatdZ_LwgQb7dobOat7gzF_pcyA', 'traits': {'sdm.devices.traits.ThermostatHvac': {'status': 'HEATING'}}}, 'userId': 'AVPHwEv1EGanrIWnfMtBsLDf9-5miWhHeR13ikUHIEn0', 'resourceGroup': ['enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsmHEBbYmACR2C1OKWS7tSNj0RaSame9gNzwxr8bOVQAT-xB8WF4FTjgpbF3epWatdZ_LwgQb7dobOat7gzF_pcyA']}
2023-11-28 06:15:07.561 DEBUG (MainThread) [google_nest_sdm.device] Processing update e582162e-ef9d-4cda-8e53-50ebb942e6ea @ 2023-11-28 11:15:03.162294+00:00
2023-11-28 06:15:07.561 DEBUG (MainThread) [google_nest_sdm.device] Trait update {'sdm.devices.traits.ThermostatHvac': {'status': 'HEATING'}, 'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsmHEBbYmACR2C1OKWS7tSNj0RaSame9gNzwxr8bOVQAT-xB8WF4FTjgpbF3epWatdZ_LwgQb7dobOat7gzF_pcyA'}
2023-11-28 06:15:09.423 DEBUG (MainThread) [google_nest_sdm.event] EventMessage raw_data={'eventId': '5e8b9a0a-dc52-4b2e-85dd-77a7139f32da', 'timestamp': '2023-11-28T11:15:07.360361Z', 'resourceUpdate': {'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsmHEBbYmACR2C1OKWS7tSNj0RaSame9gNzwxr8bOVQAT-xB8WF4FTjgpbF3epWatdZ_LwgQb7dobOat7gzF_pcyA', 'traits': {'sdm.devices.traits.ThermostatMode': {'mode': 'OFF', 'availableModes': ['OFF']}, 'sdm.devices.traits.ThermostatEco': {'availableModes': ['OFF', 'MANUAL_ECO'], 'mode': 'OFF', 'heatCelsius': 0.0, 'coolCelsius': 0.0}, 'sdm.devices.traits.ThermostatTemperatureSetpoint': {}}}, 'userId': 'AVPHwEv1EGanrIWnfMtBsLDf9-5miWhHeR13ikUHIEn0', 'resourceGroup': ['enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsmHEBbYmACR2C1OKWS7tSNj0RaSame9gNzwxr8bOVQAT-xB8WF4FTjgpbF3epWatdZ_LwgQb7dobOat7gzF_pcyA']}
2023-11-28 06:15:09.423 DEBUG (MainThread) [google_nest_sdm.device] Processing update 5e8b9a0a-dc52-4b2e-85dd-77a7139f32da @ 2023-11-28 11:15:07.360361+00:00
2023-11-28 06:15:09.423 DEBUG (MainThread) [google_nest_sdm.device] Trait update {'sdm.devices.traits.ThermostatMode': {'mode': 'OFF', 'availableModes': ['OFF']}, 'sdm.devices.traits.ThermostatEco': {'availableModes': ['OFF', 'MANUAL_ECO'], 'mode': 'OFF', 'heatCelsius': 0.0, 'coolCelsius': 0.0}, 'sdm.devices.traits.ThermostatTemperatureSetpoint': {}, 'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsmHEBbYmACR2C1OKWS7tSNj0RaSame9gNzwxr8bOVQAT-xB8WF4FTjgpbF3epWatdZ_LwgQb7dobOat7gzF_pcyA'}
2023-11-28 06:15:48.924 DEBUG (MainThread) [google_nest_sdm.event] EventMessage raw_data={'eventId': '06b436de-d132-4a28-ac96-5b7f92d77f71', 'timestamp': '2023-11-28T11:15:48.568651Z', 'resourceUpdate': {'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsdJO887hd_b41gZXqSloxVJ3YipH6kpgRA5ElXKhUWcraoVUEmEbFhMnPgWRyqBtKbz-Kv2oL-30zAFNyhUWFq8w', 'traits': {'sdm.devices.traits.ThermostatHvac': {'status': 'OFF'}}}, 'userId': 'AVPHwEv1EGanrIWnfMtBsLDf9-5miWhHeR13ikUHIEn0', 'resourceGroup': ['enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsdJO887hd_b41gZXqSloxVJ3YipH6kpgRA5ElXKhUWcraoVUEmEbFhMnPgWRyqBtKbz-Kv2oL-30zAFNyhUWFq8w']}
2023-11-28 06:15:48.925 DEBUG (MainThread) [google_nest_sdm.device] Processing update 06b436de-d132-4a28-ac96-5b7f92d77f71 @ 2023-11-28 11:15:48.568651+00:00
2023-11-28 06:15:48.925 DEBUG (MainThread) [google_nest_sdm.device] Trait update {'sdm.devices.traits.ThermostatHvac': {'status': 'OFF'}, 'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsdJO887hd_b41gZXqSloxVJ3YipH6kpgRA5ElXKhUWcraoVUEmEbFhMnPgWRyqBtKbz-Kv2oL-30zAFNyhUWFq8w'}
2023-11-28 06:18:20.789 DEBUG (MainThread) [google_nest_sdm.event] EventMessage raw_data={'eventId': '8b647e85-5d4a-48f0-9875-2a8cbf211866', 'timestamp': '2023-11-28T11:18:18.914968Z', 'resourceUpdate': {'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsdJO887hd_b41gZXqSloxVJ3YipH6kpgRA5ElXKhUWcraoVUEmEbFhMnPgWRyqBtKbz-Kv2oL-30zAFNyhUWFq8w', 'traits': {'sdm.devices.traits.ThermostatHvac': {'status': 'OFF'}}}, 'userId': 'AVPHwEv1EGanrIWnfMtBsLDf9-5miWhHeR13ikUHIEn0', 'resourceGroup': ['enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsdJO887hd_b41gZXqSloxVJ3YipH6kpgRA5ElXKhUWcraoVUEmEbFhMnPgWRyqBtKbz-Kv2oL-30zAFNyhUWFq8w']}
2023-11-28 06:18:20.790 DEBUG (MainThread) [google_nest_sdm.device] Processing update 8b647e85-5d4a-48f0-9875-2a8cbf211866 @ 2023-11-28 11:18:18.914968+00:00
2023-11-28 06:18:20.790 DEBUG (MainThread) [google_nest_sdm.device] Trait update {'sdm.devices.traits.ThermostatHvac': {'status': 'OFF'}, 'name': 'enterprises/3f8d0b84-9299-444c-9f61-af8cca665a54/devices/AVPHwEsdJO887hd_b41gZXqSloxVJ3YipH6kpgRA5ElXKhUWcraoVUEmEbFhMnPgWRyqBtKbz-Kv2oL-30zAFNyhUWFq8w'}

Anyone have any idea what the issue is?

Itā€™s worth noting that I have a second Nest thermostat that isnā€™t affected by this.

Mine has also randomly changed to off every now and then recently (sometimes for seconds, sometimes hours). I havenā€™t dug into it (other than confirming itā€™s definitely not turned off). In my case itā€™s been fairly rare (maybe once a week?).

1 Like

Just had this happen this morning WHILE it was heating, it randomly switched to off (HA correctly showed it actively heating but that the current mode was off). A manual restart of the integration fixed it.

2 Likes

I am seeing the same here. I hadnā€™t realized that it was happening on a scheduled temperature change but hat is indeed the case for me too.

In the mean time I have created an automation that looks for the ā€œoffā€ state and reloads the integration.

1 Like

In my case, itā€™s not happening with a scheduled change but it MIGHT be happening when it starts heating/cooling early before a change (I have it setup in the Nest app to try and hit the new setpoint at the time of the scheduled change).

Regardless, itā€™s definitely not consistent. I have several scheduled changes every day but itā€™s only showing ā€˜offā€™ maybe once a week or so. Iā€™m guessing itā€™s just the API sucks.

Also, I donā€™t have a good idea when this started as Iā€™m mostly apt to notice it in the winter, not the summer (northern hemisphere). I donā€™t have a memory of it doing anything like this last winter.

1 Like

Iā€™ve noticed this behavior and more as well. I always have my thermostat in Heat-Cool mode. Iā€™ve seen Home Assistant report OFF while the thermostat is idle (temperature between the low and high points), and Iā€™ve had it report that the current mode is Heat while the thermostat was actively heating, but the thermostat was actually still in Heat-Cool mode.

Iā€™ve experienced a similar issue as reported here:

It seems to me that the thermostat cycles through OFF when the mode option is used in the service call. So Iā€™m now experimenting with a service call that doesnā€™t use the MODE option. Iā€™m likely down a rabbit hole, but weā€™ll see.

Iā€™ll mention, that at least in my case, Iā€™m not interacting with the thermostat with HA; Iā€™m simply pulling in data FROM the thermostat into HA. I have schedules setup in the Nest app and itā€™s on these setpoint changes that it periodically shows an ā€˜offā€™ state in HA. I notice it every few weeks, so itā€™s very random.