Release v1.2.1.

den is a home for your home’s data.


den is built on several APIs for home telemetry. The Nest Developer Program API. allows you to store data from your thermostat(s) for greater analysis and visualization than the Nest web application currently provides. It records thermostat data to InfluxDB where it can then be visualized with a dashboard tool like Grafana. The Tank Utility API allows you store propane tank data.



den requires an InfluxDB version 1.0 or greater installation. The database name positional argument to den expects that the database exists in InfluxDB.

CLI Documentation

Den is a home for your home’s data.

usage: den [-h] [--version] [--port PORT] [--ssl]
           database {thermostat,weather,propane} ...
Positional arguments:
database Database name.
optional arguments
--version="==SUPPRESS==", -v="==SUPPRESS=="
 show program’s version number and exit
--port=8086 Database port.
--ssl=False Use HTTPS.
--version="==SUPPRESS==", -v="==SUPPRESS=="

show program’s version number and exit


Database port.



Possible choices: thermostat, weather, propane

Record Nest thermostat data into the database. This function will attempt to recover from various network errors. It will run indefinitely until interrupted from the keyboard or an unexpected exception occurs.

usage: den thermostat [-h] [--access-token ACCESS_TOKEN]
optional arguments
 Nest API access token. Defaults to environment DEN_ACCESS_TOKEN value.

Record weather data into the database. Powered by Dark Sky.

usage: den weather [-h] [--api-key API_KEY] [--lat LAT] [--lon LON]
optional arguments
--api-key= Weather API key. Defaults to environment DEN_WEATHER_API_KEY value.
 Latitude. Defaults to environment DEN_LAT value.
 Longitude. Defaults to environment DEN_LON value.

Record propane data into the database.

usage: den propane [-h] [--username USERNAME] [--password PASSWORD]
optional arguments
--username Propane API username.
--password Propane API password.

API Documentation


The Jupyter (née IPython Notebook) project was used while developing den. The notebooks themselves are checked in to the GitHub repository and can be viewed there.


How to generate the access token required by the Nest API.


How to use Nest’s REST Streaming API.


How to build on the API notebook and persist thermostat data to InfluxDB.