Nest Thermostat CurrentEco Mode suddenly read-only

Dear openhabians,

I am using a Nest thermostat with my openhab 3.3 installation via the Google SDM access.

Everything is working fine and I can control the target temperature from openhab. Until a few weeks ago, I was also able to set the CurrentEcoMode channel to ‘MANUAL_ECO’ and the thermostat would engage the eco mode.
Now, it does not have any effect and after the refresh interval the item changes back to ‘OFF’.

I already deleted the thing and readded it. Also, in my sdm console it shows read write access for the eco mode.
The binding does not show any errors, at least on standard log level.

Can anybody reproduce that behavior? Has google silently changed something (again)?

Thank you so much!

Now that you mention it, I noticed this issue a few weeks ago and thought it was a one off problem. I hadn’t thought about since. But, I just tested and I’m seeing the same behavior on a recent 4.0 snapshot (#3398).

Same here on 3.4.2. Now I understand why my house was cold after I returned from vacation :confused:

Thanks for confirming the issue with the openhab 4 version. So we can be pretty confident that it wasn’t a change from OH side, since I haven’t messed with my system at all.
I want to file a bug report with Google nest, but I’m not sure where? Do you guys have an idea where it would be best to contact them? Is there a developer service or something that helps with API stuff?

A workaround might be setting a fake light in Google home and have a routine in Google home that changes the thermostat mode, but I’m not sure if you can use lights that come from the openhab API as triggers…

I don’t know where to a google report, but it’s probably worth filing an issue on the OH nest binding first, since this is more likely to be an intentionally change of the nest/SDM API than a bug, and the binding may just need to adapt to catch up.

Unfortunately, openHAB items can’t be used as starters for Google Assistant routines. However, there’s a workaround for this workaround.

When you create a routine, you can choose “When a device does something” as a starter, and then you’ll see the list of available devices. If one of these devices can be controlled by openHAB, you can use it as a medium to pass your command.

For example, you can trigger a routine when the volume changes on a Nest display/speaker or Chromecast. So, start the routine when the volume changes to a specific value (let’s say “4”). Then have openHAB change the volume on the device to “4” to trigger the rule, and immediately change the volume back to whatever it was before.

Actually, you might just be able to change an available setting on the Nest Thermostat to start the routine (I don’t have one so I can’t test that). I was able to turn on a light switch and start casting a radio station.

Just keep in mind that this feature could disappear at any time, since it’s Google. I find it strange that they made volume changes available as routine starters in the first place.

1 Like

Thanks rpwong for the workaround! I hope that I won’t need to rely on it for long but I might use it so we can save some energy!

I have opened an issue on github here: [nest] Google SDM - Nest Thermostat EcoMode suddenly read-only · Issue #14760 · openhab/openhab-addons · GitHub

Just as a follow up suggestion, until the issue is fixed I have reverted to using the CurrentMode channel and I just send an OFF command to that. That way all my rules are being kept in place and I just wired the Eco mode item as a trigger for my CurrentMode command (I.e. Manual Eco results in OFF for current mode).
I also observed that my thermostat goes offline after I issue the Eco command but it doesn’t do that consistently…

Having the same issue on OH 3.4. Does anyone have any updates on possible fixes?