Nest tstat - supportedThermostatFanModes is blank

Newbie here - using a C8-Pro with latest firmware 2.3.9.201.

I added a Nest thermostat successfully, but under the device’s Current States it shows supportedThermostatFanModes as an empty list (just 2 brackets). Why wouldn’t the built-in driver populate it with all the fan modes (e.g. Auto, On etc)? More importantly, can I somehow fill in the supported fan modes?

In addition to the expected On and Auto fan modes, the Nest tstat also allows you to set the fan to run a specified amount of time (e.g. 15 mins, 30 mins, 1 hour…). Perhaps this complicates things for the driver ?

TIA,
Mike

Is this via matter or via the google API?

Matter

@bcopeland Any thoughts?

Matter only provides the very basic controls. You should get Auto, Heat, Cool, and Off for modes along with the ability to adjust the set points.

I’m pretty sure this is not available via Matter. I’ve got the newest 4th Generation Learning Thermostat and it’s not available via Matter when connected to Apple Home. If you want full functionality like the Google Home app, you’ll need to look into [RELEASE] Google SDM API - Nest integration.

Hmmm, why did they bother with the built-in Matter driver if it’s incomplete :thinking:. I was hoping for Plug-n-Play, not Plug-n-PRAY…

I can certainly just use Google Home to control my Nest tstat - but would prefer to control most of my home devices using just one app like Hubitat…

Oh well…

This has nothing to do with Hubitat and is just the current state of matter devices. Matter provides local control, but with limited features. Someone can use Hubitat and easily adjust the temperature based on presence without having to use Google’s cloud. Advanced features of Matter devices tend to be found in the manufacture’s app like this case.

Now specifically to Matter thermostats, Matter spec 1.4 brings some advanced features/commands to thermostats, but you’ll need the device be upgraded and Hubitat’s driver to match before utilizing them.

3 Likes

Thanks for all the good info! The Google SDM API is a bit over this newbie’s head :slight_smile:

If you just need to force the modes attributes I threw together a rough app to populate them a while back:

https://raw.githubusercontent.com/thebearmay/hubitat/refs/heads/main/apps/forceTherm.groovy

Import the code under the Apps Code tab, Save, go to the Apps Tab, Add User App, select the thermostat(s) and then hit the Send Events button.

2 Likes

Many thanks! I’ll try it later today - sounds like exactly what I need…

Hi - I saved your app, then ran it. No error messages, but the tstat's supportedThermostatFanModes still shows as blank when I look at the device details page. The supportedThermostatModes did not change either - still shows ["off","heat","cool","auto","emergency heat"] - I would have expected your app to populate it with ["off","cool","heat","auto"]

Maybe the default Matter app/driver can't be modified - as far as default values?

Here's a screenshot showing your app after I added and ran it:

And here's a screenshot of the device page for this Nest tstat (v1.3 - 10):


What does the device Events tab show?

The most recent activity under device's Events or Logs is back on 12/18 (4 days ago). It's almost as if it's stopped working. On the screenshot of the tstat's device page you'll see Last Activity 12/18/2024 9:04:34 am. I just did a reboot of hub, and still this tstat device shows last activity on 12/18. Almost sounds like the connection between HE, Matter and device is messed up. Then again, I'm a total newbie :slight_smile:

I think I am going to [Remove] this tstat device and add it all over again. I just tried to change the tstat's heating temp on the device page, but it did not change the temp when I look at my Nest tstat. So something's broken...

So I removed device, then reinstalled again using Matter. Now the Events show temperature readings. And I can change the temp by typing in a value in F under setHeatingSetpoint and then click on the [Set Heating Setpoint] button and it does change the tstat temp and shows in Events. BUT, after I run your app, nothing shows under device's Events or Logs (other than temp being reported). Not sure what to try next ?

Found the issue. Re-import the code and try it.

I just saw this log entry - was that what you changed?

That’s a leftover from the app that this one cloned from. False positive. Removed the code from the app though - thanks.

New imported code helped, as the device page now shows values for setThermostatFanModes - matching what's in your app code.

Below is what I see on an EZ dashboard that contains this tstat - you'll see it's a red tile and when I click on it I got the Missing Attributes warning...

I could force those too, but should be able to set them using a command in the driver.