Nest Learning Thermostat 2nd generation JAILBREAK

If you want to get NEST Learning Thermostat and you are outside of US, Canada and some EU countries, you have a problem, since Nest does not ship their product to your country. You can still get it, but it is a bit challenging.

Here is what I had to do to get it and to connect it to my heating system.

1st of all : there are 2 versions : US and EU one. Since most of EU houses does not employ HVAC system (low voltage control of heating and cooling) for which Nest was originally designed, the EU version has one extra device which connects to your heat source (electric, gas, or whatever it might be) and is controlled by Nest. This device can do only one : Turn the connected heat source ON and OFF. You cannot connect air-conditioning, dehumidifier, fan, you cannot use more than one stage of heating. As I wanted full featured device, it was clear I must buy the US version.


Round 1

Firstly, of course, I tried to buy it on eBay. I found a factory sealed one, it said it will ship to Czech Republic, it even claimed to sort out all import + VAT charges for me. Exactly what I was looking for, so I bought it. The day after the item listing was removed by eBay with no obvious reason. The seller informed me they removed it due to unauthorized destination country. Seems they have some kind of agreement with Nest to block such deals.

Round 2

OK, eBay didn’t like my Czech address, so I thought : What if I get US one… I found exactly such service : Shipito. It is basically a warehouse in US. They receive your package and forward it to your home address (for some small fee of course).

As I was not limited by my address anymore, I bought it directly on nest e-shop. I was quite surprised to see my credit card transaction was not accepted by Nest. The reason : shipping address does not match card address. Those guys are quite clever, they check issuer of the credit card and it also must be from authorized country.

Round 3

So I turned back to eBay, hoping they don’t check credit card location. I was right, US address was enough and my order have been shipped to my new US address (Minden, Nevada)

The package arrived in Shippito warehouse in 2 days. They took a picture of it, measured it and sent me an email. I have selected shipping method, filled customs declaration and that was it. 3 days later I got my DHL Express delivery and I was a proud owner of the Nest Learning Thermostat.

Do it yourself


My heating system is a 3-stage electric boiler. It is controlled by a thermostat which closes a 230V circuit to turn it on. Heating stages are controlled manually on the boiler by 2 micro switches. Of course I could not plug this into Nest, which operates on 24V AC. Instead I had to build Boiler-Nest interface. My choice was simple : Get one 24V AC power source, few relays, wire them properly and enjoy full featured Nest. With this setup Nest controls the relays and relays control the boiler.


Quick view of the wiring :

nest-boiler-iface WIRING

User friendly version :



Since Nest does not allow you to enter your home country (not supported), you will have trouble get the proper weather forecast and time zone. There is a hack to overcome this.

You need a webserver with PHP. On that server you create PHP script that Nest will use to get weather. Also you need to re-route requests from Nest to to that server. That can be done using static DNS entry for pointing to your server. Details can be found here

My script looks like this :

$param = $_GET[„query“];
if ($param == „28912,CZ“ || $param == „28912,US“) {
$jsonData = json_decode(file_get_contents(‚‘), true);
$data = $jsonData[„Sadska“];
$data[„location“][„city“] = „Sadska“;
$data[„location“][„state“] = „Stredocesky kraj“;
$data[„location“][„zip“] = „28912“;
$data[„location“][„country“] = „CZ“;
$data[„location“][„timezone“] = „CET“;
$data[„current“][„timezone“] = „CET“;
$jsonData = array(„28912″=>$data);
} else {
$jsonData = json_decode(file_get_contents(‚‘ . $param));
header(‚Content-Type: application/json‘);
print stripslashes(json_encode($jsonData));

After all this is in place, you just

connect your Nest and enjoy!




I had to hack into my electric boiler to enable external control of heating stages. Originaly it was controled manualy by micro switches on the boiler. Solution : bridge the switches with relays :


Since I have now 2 branches of the heating (Ground and 1st floor), I integrated 2nd (not Nest) thermostat on 1st floor, heatpipe valves and timer relays. Since the boiler runs the water pump for 4 minutes after shutting down the heating, heatpipe valve must close 5 minutes after boiler off command

I also made wiring diagram of the final version of Nest < = > Boiler interface :


 Final version :


Used equipment :

Circuit breaker : ETIMAT 10 B 1p 10kA 6A

Power source : ELKO ZSR-30

Relays : ELKO VS116K

Timer relays : ELKO CRM-91H