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:**

**Set Device Temperature:**

## 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](https://pypi.org) via `pip` or [`pipx`](https://pypa.github.io/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](https://www.wouternieuwerth.nl/about/) made a really nice [guide](https://www.wouternieuwerth.nl/controlling-a-google-nest-thermostat-with-python/) with pictures that I encourage you to check out
### Google Documentation Links
Google has some pretty extensive documentation:
- [Nest Getting Started](https://developers.google.com/nest/device-access/get-started)
- [Device Registration](https://developers.google.com/nest/device-access/registration)
Once setup, you will be able to access your nest devicesc, and manage your authorizations in the following places:
- [Nest Device Access](https://console.nest.google.com/device-access/)
- [Google Developers Console](https://console.developers.google.com/)
If you have issues, and neither the [step by step guide from Wouter](https://www.wouternieuwerth.nl/controlling-a-google-nest-thermostat-with-python/) 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](https://pypa.github.io/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:
```bash
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](./config.yaml.sample)
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
```bash
nest --help
```
Raw data
{
"_id": null,
"home_page": "https://github.com/bastienboutonnet/py-nest-thermostat",
"name": "py-nest-thermostat",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "cli-app, nest, google, iot",
"author": "Bastien Boutonnet",
"author_email": "bastien.b1@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/fa/51/c42fdb4c79b49e70ed1540985e2ef41fd52cea10904752b91ccc8c94b306/py-nest-thermostat-0.0.8.tar.gz",
"platform": null,
"description": "Version: `v0.0.8`\n\n# py-nest-thermostat\n\nPython CLI Nest Controller and Reporting Tool.\n\n**Build it with me on Twitch: https://www.twitch.tv/datafrittata**\n\n**Disclaimer:**\nThis 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\n\n**Get device stats:**\n\n\n\n**Set Device Temperature:**\n\n\n\n## Features:\n\n- print device stats\n- set target temperature\n\n## Future Features:\n\n- capture device statistics into a database\n- plot device statistics over time\n- some ML?\n\n# Installation\n\nThe tool is intallable from [PyPI](https://pypi.org) via `pip` or [`pipx`](https://pypa.github.io/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).\n\n## Set Up Google and Authorization\n\nThis part of the process is a real pain, especially if you've never set up Authorization via Google. Luckily [Wouter Nieuwerth](https://www.wouternieuwerth.nl/about/) made a really nice [guide](https://www.wouternieuwerth.nl/controlling-a-google-nest-thermostat-with-python/) with pictures that I encourage you to check out\n\n### Google Documentation Links\n\nGoogle has some pretty extensive documentation:\n\n- [Nest Getting Started](https://developers.google.com/nest/device-access/get-started)\n- [Device Registration](https://developers.google.com/nest/device-access/registration)\n\nOnce setup, you will be able to access your nest devicesc, and manage your authorizations in the following places:\n\n- [Nest Device Access](https://console.nest.google.com/device-access/)\n- [Google Developers Console](https://console.developers.google.com/)\n\nIf you have issues, and neither the [step by step guide from Wouter](https://www.wouternieuwerth.nl/controlling-a-google-nest-thermostat-with-python/) nor the links above help you feel free to open an issue and if I have time I'll try and help out.\n\n## Install `py-nest-thermostat`\n\nIf you want to be able to access the tool from anywhere I recomment setting it up via [pipx](https://pypa.github.io/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!\n\nYou can install with pipx like so:\n\n```bash\npipx install py-nest-thermostat\n```\n\n## Create your credentials file\n\n`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! :)\n\nYou can find an example of this file [here](./config.yaml.sample)\n\nIf you prefer to use regular `pip`, follow those steps:\n\n1. create a python3 virtual environment (with `venv` or `virtualenv` --up to you)\n2. activate the virtual environment (`source /path/to/virtual/environment`)\n3. `pip install py-nest-thermostat`\n\n# Usage\n\nUntil I write some more extensive docs, once you have installed the tool use use the CLI `--help` command\n\n```bash\nnest --help\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python CLI Nest Thermostat controller and dashborading tool",
"version": "0.0.8",
"project_urls": {
"Homepage": "https://github.com/bastienboutonnet/py-nest-thermostat",
"Repository": "https://github.com/bastienboutonnet/py-nest-thermostat"
},
"split_keywords": [
"cli-app",
" nest",
" google",
" iot"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "259b5314b37298be96cd74447c071f384c2d57aaa767df8afca51cd32ce914db",
"md5": "12acbba342e9ce9c1b34a1aee5d37f1f",
"sha256": "1b6078d23c7030a28165151d0b1696e653b0ac66788fae351145634c5655ccf7"
},
"downloads": -1,
"filename": "py_nest_thermostat-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "12acbba342e9ce9c1b34a1aee5d37f1f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 14343,
"upload_time": "2024-08-01T09:17:22",
"upload_time_iso_8601": "2024-08-01T09:17:22.431153Z",
"url": "https://files.pythonhosted.org/packages/25/9b/5314b37298be96cd74447c071f384c2d57aaa767df8afca51cd32ce914db/py_nest_thermostat-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa51c42fdb4c79b49e70ed1540985e2ef41fd52cea10904752b91ccc8c94b306",
"md5": "2d51c4909170738a922cee3cb8be6caa",
"sha256": "f796e0fc9ad1beb23a4a979c76d658946db6844af250968fd678394ed33c4fca"
},
"downloads": -1,
"filename": "py-nest-thermostat-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "2d51c4909170738a922cee3cb8be6caa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 13036,
"upload_time": "2024-08-01T09:17:20",
"upload_time_iso_8601": "2024-08-01T09:17:20.276731Z",
"url": "https://files.pythonhosted.org/packages/fa/51/c42fdb4c79b49e70ed1540985e2ef41fd52cea10904752b91ccc8c94b306/py-nest-thermostat-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-01 09:17:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bastienboutonnet",
"github_project": "py-nest-thermostat",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "py-nest-thermostat"
}