[UK] Nest Thermostat Device Type

As I own a Nest Thermostat, I was looking for a way to connect this to SmartThings and I stumbled across this thread:

@Dianoga has compiled something for the Nest Thermostat in the UK, and I know people have managed to chop and change the code to get it working.

I have since modified the code, and stripped out any code that isn’t relevant to the UK Thermostat. I know using the original code, I managed to force my Nest into Cooling mode, something that isn’t available in the UK!

Now, I’m not coding guru, but I get the general principles so I’ve uploaded the code to Github here:

Nest UK Thermostat Device Type
https://github.com/greghesp/device-type.nest
https://github.com/greghesp/device-type.nest/blob/master/nestuk.devicetype.groovy


Note: If you’re device is showing “–” as the target temperature, you need to hit the refresh tile first to load the information


As with Dianoga’s device type, this is still techncially against the Nest TOS, so use at your own risk

This should work for the UK, giving you only the features available to the UK, as well as the 0.5c increments for heat.

I’m currently working on a multiuse tile, which will tidy this up and look a lot better, however for now, this works

Let me know of any issues, or if you’re more of a coder than me, feel free to give me some pointers!

2 Likes

I have been using this code over the weekend, and it has been working great. For some reason this morning it stopped responding entirely (i.e. I can’t alter any of the Nest’s parameters from ST). Is anybody else experiencing this?

Interesting. I’ve just gone to check this myself, and I am also experiencing the same thing.

I wonder if Nest have changed their API…

Seems feasible. The device type already available through ST isn’t working for me either.

Yep, I’ve just tested that myself. Somewhat annoying!

I’ll try and take a look, however my coding skills to that level aren’t the best!

1 Like

Turns out they released the third generation device in the UK today (thankfully my 2nd gen is still within the return period). I wonder if they made backend changes at the same time.

Argh ffs! It’s got hot water control. I need to upgrade xD

Also, I imagine this will have stopped working for the US too if this is the case

java.lang.NullPointerException: Cannot get property ‘uri’ on null object @ line 569

1 Like

Remove the Nest Thermostat device, and then re-add it. Looks like an access token issue, so re-adding it will fix the problem :smile:

Just remember to hit refresh before trying to change the temperature, otherwise you’re trying to increase null by 0.5 degrees which doesn’t work :wink:

Hello,

I actually did this yesterday and this morning it wasn’t working again.

Thanks
Sam

Try doing it now. It just fixed my problem

just confirmed, as well it worked!

Hello,

I will try this again too but like I say I tried this yesterday and then this morning it was broken again. Hopefully it will stick this time.

Sam

Hello,

Strange I have used the script here and I still can’t turn up/down my nest.

https://github.com/greghesp/device-type.nest

1 Like

Are you using the UK device type?
https://github.com/greghesp/device-type.nest/blob/master/nestuk.devicetype.groovy

Try loading the logging: https://graph-eu01-euwest1.api.smartthings.com/ide/logs
and then change the temperature.

If your target temperature is showing – at the moment though, hit refresh first to get all the latest information

Hello,

This is the error I am seeing:

96d5e8d1-e3bc-449d-984a-8e589958f219 20:51:20 GMT: error java.lang.NullPointerException: Cannot get property ‘stringValue’ on null object @ line 202
96d5e8d1-e3bc-449d-984a-8e589958f219 20:51:20 GMT: debug Setting heat set point up to: 23.0

Are you seeing the current stats of the Nest, or does it show ‘–’ in a red circle where the target temperature should be? If so, hit the refresh tile first

Hello,

Yes I am seeing the current status on the nest it just won’t let me lower or raise the temperature.

Thanks
Sam

Can you screenshot the tiles on your phone please?

I’m a bit confused at the moment!