Skip to main content

A Python CLI Nest Thermostat controller and dashborading tool

Project description

Version: v0.0.5

py-nest-thermostat

Python CLI Nest Controller and Reporting Tool.

Build it with me on Twitch: https://www.twitch.tv/datafrittata

Disclaimer: This project is very much work in progress while in version 0 anything can change, anything can break and some parts of the code are probably very ugly. Feel free to test it, contribute (see CONTRIBUTING.md), report bugs

Get device stats:

py nest stats

Set Device Temperature:

py nest set temp

Features:

  • print device stats
  • set target temperature

Future Features:

  • capture device statistics into a database
  • plot device statistics over time
  • some ML?

Installation

The tool is intallable from PyPI via pip or pipx. But you must first set up access via Google's Developer console (which currently costs a one time $5 fee and is a bit of a pain).

Set Up Google and Authorization

This part of the process is a real pain, especially if you've never set up Authorization via Google. Luckily Wouter Nieuwerth made a really nice guide with pictures that I encourage you to check out

Google Documentation Links

Google has some pretty extensive documentation:

Once setup, you will be able to access your nest devicesc, and manage your authorizations in the following places:

If you have issues, and neither the step by step guide from Wouter nor the links above help you feel free to open an issue and if I have time I'll try and help out.

Install py-nest-thermostat

If you want to be able to access the tool from anywhere I recomment setting it up via pipx. Pipx will give you access to py-nest globally while keeping it in an isolated python virtual environment. The best of both worlds really!

You can install with pipx like so:

pipx install py-nest-thermostat

Create your credentials file

nest expects your credentials and other handy authentication parameters to be in an file named config.yaml and it should be placed at this location ~/.py-nest-thermostat/. We might implement the possibility to pass a custom location later. If you're too impatient feel free to help out! :)

You can find an example of this file here

If you prefer to use regular pip, follow those steps:

  1. create a python3 virtual environment (with venv or virtualenv --up to you)
  2. activate the virtual environment (source /path/to/virtual/environment)
  3. pip install py-nest-thermostat

Usage

Until I write some more extensive docs, once you have installed the tool use use the CLI --help command

nest --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-nest-thermostat-0.0.5.tar.gz (13.0 kB view hashes)

Uploaded Source

Built Distribution

py_nest_thermostat-0.0.5-py3-none-any.whl (14.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page