Nest UK - custom device type?


I was wondering if anyone knows if it’s possible to create a custom device type to integrate a UK Nest Thermostat into ST?

Any advice welcomed.

Is it destined for official compatibility at any point?



I’m sure SmartThings would be very pleased to have an official integration with nest, they have requested one multiple times.

Nest has declined because nest requires partners to limit what they can do with the device, and that just doesn’t fit the SmartThings architecture.

There are, obviously, people who have it working in the US, however be aware that using SmartThings in an integration with nest is a violation of your terms of service with your nest account.

This information is posted on the official support pages on the SmartThings site.

Notwithstanding JD’s comments, the community device type on here by @Dianoga does work on the UK hub - both v1 and v2. There is a small revision available in the UK forum which explains how to remove the cooling function which is not present on UK Nests


Thanks. I’ve found the forum thread about removing the us only features and have done so. Its working well now.

One slight niggle is that Thermostat is listen under family in the app. Slightly odd. Any thoughts on that one!?

1 Like

It acts as a presence sensor, so maybe that takes priority

1 Like

Yes it is.

I have done it. I found some code somewhere linked from the forums.

Nest Direct

But where it says replace that with


Has anyone figured out how to allow .5 degree C changes? i can only seem to adjust temp in full degree increments via this device type.

@Dianoga - is this your device type that we are all now adapting for the UK market?



Adjust the temperature change may not be too difficult. In the poll method, you’ll want to remove references to Math.round in the celsius section.

You’ll also want to adjust the coolingSetpointUp, coolingSetpointDown, heatingSetpointUp, and heatingSetpointDown methods and change

int newSetpoint = device.currentValue("coolingSetpoint") + 1
double newSetpoint = device.currentValue("coolingSetpoint") + 0.5
(adjust to +/- as appropriate)

There may be other changes needed, but that should at least get you started. I don’t use Nest anymore so I’m not regularly looking at this code.


Appreciate you’re not looking at this anymore, however since we don’t have cooling in the UK, do you have any pointers as to what each method relates to, so that I can try and remove the bit which don’t apply to the UK?

I seemed have to unlocked some bizzare functionality on my Nest with heating and cooling which obviously don’t apply!

Does anyone know how to change the code so the next reports c and not f for heating

Do you not just click the thermometer icon in the device itself? If we are using the same device type that should work for you @Steven_Wood

1 Like