Skip to main content

A Python CLI Nest Thermostat controller and dashborading tool

Project description

Version: v0.0.8

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.8.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

py_nest_thermostat-0.0.8-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file py-nest-thermostat-0.0.8.tar.gz.

File metadata

  • Download URL: py-nest-thermostat-0.0.8.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.2 Darwin/23.3.0

File hashes

Hashes for py-nest-thermostat-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f796e0fc9ad1beb23a4a979c76d658946db6844af250968fd678394ed33c4fca
MD5 2d51c4909170738a922cee3cb8be6caa
BLAKE2b-256 fa51c42fdb4c79b49e70ed1540985e2ef41fd52cea10904752b91ccc8c94b306

See more details on using hashes here.

File details

Details for the file py_nest_thermostat-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for py_nest_thermostat-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1b6078d23c7030a28165151d0b1696e653b0ac66788fae351145634c5655ccf7
MD5 12acbba342e9ce9c1b34a1aee5d37f1f
BLAKE2b-256 259b5314b37298be96cd74447c071f384c2d57aaa767df8afca51cd32ce914db

See more details on using hashes here.

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