Nest Data Logger
Switch branches/tags
Nothing to show
Clone or download
Zachary Priddy
Zachary Priddy Fixed Away Temp Indent
Latest commit adbc8c8 May 13, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
logs Added Logs Folder May 12, 2015
sample_logs Added sample graph image May 12, 2015
.gitignore Added Logs Folder May 12, 2015 Update May 12, 2015 Pushed from working server May 7, 2015
daily.svg Added Sample Graph May 12, 2015 Pushed from working server May 7, 2015 Fixed Away Temp Indent May 13, 2015 Pushed from working server May 7, 2015

A Nest Data Logger


Credit given to: Filippo Valsorda – for nest_thermostat and Scott M Baker for pynest


Dateutil '[sudo] pip install dateutil' Pygal '[sudo] pip install pygal'


Syntax: [-h] -u USERNAME -p PASSWORD [-d]

optional arguments:
  -h, --help            show this help message and exit
  -u USERNAME, --username USERNAME
                        Nest Account Username
  -p PASSWORD, --password PASSWORD
                        Nest Account Password
  -d, --debug           Debug Mode - One Time Run and Debug Info


Data Logged and Graphed:

  • 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..)

Data Logged But Not Graphed:

  • AC Fan State
  • Away Status
  • Nest Leaf Temparature

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

Sample Graph

alt text


When used without the debug option, the code will poll the nest every two minutes. It uses threading to keep looping the code until you hit ctrl+c. I would suggest running this using screen. The debug option will only run once.