Python Nest Data Logger

A while ago I got a Nest Thermostat and it was fantastic! However living in Arizona the heat of the summer was just about to come around… And what it did. The heat of my servers in the office kept tripping the nest to run more. Something I wasn’t very happy about.

I wanted to see how often the nest was running and for how long each time. This would give me a better idea of what was causing it to run so often and ways to fix it. However I found out that Nest doesn’t offer a data export from their website. So I decided to come up with a solution to get the data myself.

I have been very focused in python lately so I decided to take that approach to logging the data.

The data I was interested in logging:
  • Inside Temperature
  • Target Temperature
  • Outside Temperature
  • Total Run Time of the AC
    • Total Run Time in Home Mode
    • Total Run Time in Away Mode
    • Total Run Time to Transition from Away To Home ( in the hopes of seeing how adjusting the away temperature would effect the total run time of the day.)


Nest Data Logger Screen Shot


As always my code is available on my GitHub

At the time of writing this I am still working on this project and expanding this to my Smart Nest project (Hoping to make the nest more efficient for people in AZ. )

Current Features:

  • Graphing of Current Day Usage
  • Polls Nest for new data every 2 minutes
  • Uses pickle to store log files of daily data. (one file per day – Not deleted)

Features in Progress:

  • Simple python web framework (cherryPy?)
  • Ability to render graphs for any day that data was collected
  • Maybe Using mongodb to store data


Go Top
comments powered by Disqus