nido

Nido, a Raspberry Pi-based home thermostat


Licenses
GPL-3.0/GPL-3.0+
Install
pip install nido==1.0.3

Documentation

This respository is the primary library that the Nido smart thermostat is built around. If you're looking for instructions on how to run Nido on a Raspberry Pi, see https://github.com/alexmensch/nido for instructions and the full project background.

Running the application locally for development

Requirements and initial configuration

  1. Nido has been tested with Python 3.6.5 and higher. Python 2 is not supported.
  2. You will need both Docker and Docker Compose installed locally.
  3. Rename private-config.py.example to private-config.py with your own private settings.

Starting the Nido backend and API server

> docker-compose up

Run Docker Compose from the base of the project to run the Nido thermostat and API locally. If you are not running on a Raspberry Pi, a test hardware fixture will be loaded instead of the native Raspberry Pi GPIO library.

Docker local volume mappings

  • nido/ Local changes to the package source code are mapped to the Docker containers.
  • instance/ Nido settings and scheduler database entries are stored outside the container.
  • log/ Logs generated by backend RPC service and scheduler are generated here.

Shutting down Nido

> docker-compose down

Scripts and development tools

  • clean.sh Delete all local and cached files generated by running in your local environment.
  • build.sh Build the Nido package for distribution.
  • pip install -r dev_requirements.txt Installs packages useful for local development. Using Python venv is recommended.