Blog Archives

Nest Thermostat

Nest Thermostat

My wife got me a Nest thermostat (www.nest.com) for Christmas. I had it installed later that day.

For those of you who don’t know, the Nest is a learning thermostat with wireless capabilities. It has the capability to learn a schedule for you, lower the temp when you are away, and allow access remotely.

First Impression

It is slick! Setup was a breeze. Once on the wireless network, I created my Nest account and I was good to go. I loaded up the client on my iPad and I can now control my Nest from anywhere in the world.

Reports

The Nest has a daily energy use report so you can see what is happening in your house. It keeps track of the local weather too, so it knows if it was a warm or cold day.

20130128-154621.jpg

At a Glance

This is my favorite screen. It shows you all the data in one screen: inside temperature, outdoor temperature and humidity.

20130128-154832.jpg

Nest Installed

Here are a pair of pictures of the Nest installed. You can see my Dallas 1-Wire sensor hanging out underneath it.

20130128-155344.jpg

20130128-155353.jpg

Second Impression

I liked the Nest so much, I had to buy a second one for downstairs to run the hydronic floor. With my Arduino monitor, I could see that the difference in air temp would cause the floor to turn on. With 2 Nest’s, I am able to run the same schedule on both, so when the air temp drops overnight, the floor doesn’t run unnecessarily.

Monitoring the Nest

With the use of Scott Baker’s Nest.py program (Python API for Nest) and a little bit of Perl code, I can monitor the Nest’s in MRTG. The Nest does not have a published API, and it does not repsond to SNMP queries, so you have to query the web to get data, rather than query the device sitting on your local network. I hope Nest will open this up to developers at some point.

Here is the data flow.

Nest Thermostat — internet — Nest Web Portal
Raspberry Pi MRTG Server — python code — perl parse code — Nest Web Portal

Sample SecureCRT logon script in Python

Here is a very simple login script written in Python for SecureCRT.

# $language = “Python”
# $interface = “1.0”

### Basic Login Script
###############################################################################

def main():
crt.Screen.Synchronous = True

###    Send login and wait for Password prompt
crt.Screen.Send(“ADMIN\r”)
crt.Screen.WaitForString(“word:”)

###    Send the password
crt.Screen.Send(“PASSWORD\r”)

main()