
A couple of years ago, I was looking around for a wireless thermostat for my house that I could access and set
via the internet.
I was looking for the ability to save energy and remotely set the temperature to cool down the house while I am at the office just a couple of hours before I know I will be home.
Back then this stuff was not so easily available. Some required running an ethernet cable. Others required interfacing via some home control box. And they were expensive.
Now the technology has truly arrived at the mass market level. You can get wifi thermostats at Home Depot - which is where I picked up this one re-branded by 3M. Cost is $99.88 plus tax. Not a big premium over non-wifi enabled touch screen thermostats.

This one has a touch-sensitive screen plus the crucial ability to accept a separate wifi radio module.
(
Actually it can accept up to two modules. Other than wifi, I guess there is at least a ZigBee home control module available separately.)

There's nothing wrong with my boring, old thermostat. It works reliably but there is no remote control capability.
You actually have to get up and go to the panel to set it or look at the temperature. On the new one, I'll be able to set things using my laptop or iPhone from anywhere in the house or the world for that matter.

In order to replace it, we have to figure out the existing wiring.
Let's pop the cover and take a look shall we? There are many possible wiring configurations depending on factors such as gas/electric heat, heat pump, single or dual stage or other options.
We need to figure out what wires are connected to the old one and what wires we need for the new thermostat.
A close up of the old thermostat with the wires coming in from the wall into the terminal block in the center reveals that I have a fairly standard heat/cool 4-wire single transformer HVAC setup.

In other words, RH/RC are jumpered together and there is a red wire into RC. A white wire into W, yellow into Y and green into G. Perfectly color-coded.

Unfortunately, my old thermostat is AA battery-powered only. The new thermostat requires 24V power via a C wire, which doesn't exist in my configuration.
According to the installation guide, you can separately buy and install a transformer to give you power but my friend Yuxiang Lin gave me an excellent piece of advice. He said that 24V is probably available at the furnace end of the wiring. And that I could connect this up using one of the spare wires. Wouldn't have to buy and install that pesky separate transformer mentioned in the installation guide.
Removing the old thermostat, I decide to prepare the (unused) orange wire shown here for the C wire.

My furnace sits in the garage. I decided it was a good time to change the HEPA filter too.
Removing the front panel, I see there is a large circuit board.
(
Note, of course, needless to say we must switch off power to the A/C and furnace first before we remove the cover.)

Looking more closely, the white cable contains the other end of the wires that started at the thermostat inside the house.
Connected up in a row at the top left of the board are the white (W), green (G), red (R) and yellow (Y) wires.
Crucially, there is a terminal labeled C. Mercifully, a red wire connects there from another cable. So we have 24V power from somewhere!
We can also spot an orange wire peeking out. That is the same unused orange wire that I prepared at the other end. All we have to do is share this orange wire at the C terminal.
(
I confess I screwed this part up initially. I connected yet another unused orange wire, which was the wrong one. Yuxiang Lin pointed out my mistake.)

So we've solved the missing but necessary C wire problem.
Back to the inside of the house, we can connect up the C (orange), W (white), Y (yellow), RH (red) and G (green) wires to the new thermostat as shown.
There are also two switches at the top left. Normal (NORM) or heat pump (HP). And gas (GAS) or electric (ELEC) heat. For my house, the settings are NORM and GAS.

The thermostat also requires 3 AA batteries (
as backup perhaps?).
Anyway, we slot in the wifi module, reconnect the power to the furnace and A/C, and the thermostat boots up and works normally, even displaying a radio beacon.
However, it is not yet the all-singing and all-dancing remote wifi-accessible thermostat that it will be shortly.
To do that, we have to set it up on our home wireless network.
This involves two parts. Part one, we connect directly to the device via wifi (using a browser). Initially, it's its own ad-hoc network found at 192.168.10.1. We just tell it the WPA2 password to join the home wireless network. Once done, it get a regular DHCP address on the home network just like a laptop would.
(
To discover that assigned address, I had to connect to my router. This was before I had downloaded the iPhone app. The information is also available there.)
I guess one day this step could be done using the control panel itself. But currently, you need to aim your browser at the device first.

Part two involves registering for a Filtrete Remote Access Thermostat account. It's free.
(
Initially I screwed up slightly here. I inadvertantly selected Eastern Standard Time and found the thermostat was 3 hours ahead of me. Easy to fix.)
It also asks for a PIN number which is displayed in lieu of the time when the thermostat boots up.

Using a browser on my laptop pointing to
www.radiothermostat.com, once I'm logged in, I can view and set the thermostat by clicking on the picture of the thermostat. I can do this at home if I'm too lazy to get up and walk to the actual thermostat - like when I'm lying in bed.
Better yet, I can do this from work. Better still, I can check the thermostat and current temperature of the house when I am away traveling as long as I have an internet connection. No more uncomfortable nagging feeling as I board my flight wondering whether I've forgotten to switch off the A/C.

And best of all, I don't even need a laptop. I can see and control my thermostat from the iPhone.
So I also downloaded the free
Wi-Fi enabled Radio Thermostat iPhone app (see
here).
When I signed in, the app automatically downloaded the latest firmware for the thermostat and rebooted it remotely.
(
I'm not sure if the web browser interface can do this. Have to check.)
Some other screens from the iPhone app:
As you can see, you can control everything from Modes (Off, Heat, Cool, Auto) to Fan (Off/Auto) to overriding temperatures for the current time period (Morning/Day/Evening/Night). (The exact duration of each time period can be defined via the browser or control panel directly.)
You can set a temperature and override for all time periods (Hold) until the hold is canceled. There is also a Home/Away button. (
See first iPhone screenshot above.)
Moreover, I understand Radio Thermostat of America released an API that's well documented. I guess I should download that. However, since the iPhone app is so good, I haven't tinkered with writing code to control it without having to go through their server.
You can set up the 7 day + holiday programs via a web browser or from the control panel directly. However, this seems to be the only function not available from the iPhone app.

When I login using a browser and select Manage Devices, it shows my thermostat as model CT50 version 1.09. (
See bottom picture below.) However, that's not the firmware version. The iPhone app shows that as 1.04.71. (
See 2nd last picture from the bottom.) And there is an Update Firmware button that one can push if necessary.
In this brave new world of internet-enabled thermostats, I believe I can save energy without having to plan and stick to a preprogrammed 7 day timer (which I never program). This suits my lifestyle.
For example, I can pre-cool the house to an appropriate level if someone calls and wants to come to practice table tennis at my house. Or I can leave the thermostat at a higher temperature if I decide to hang out and work until closing time at that cool coffee shop near the campus. Awesome.