Skip to content

linux4sam/egt-thermostat

Repository files navigation

EGT Thermostat Demo Application

Thermostat demonstration using the Ensemble Graphics Toolkit (EGT).

Features

  • Basic Automatic/Cooling/Heating/Off modes.
  • Fan setting.
  • Live camera feed on the main screen.
  • Minimal weekly scheduling.
  • Support for temp sensors through libsensors, like the Thermo 5 Click Board.
  • Settings, HVAC status, and sensors saved to an sqlite3 database.
  • Idle/sleep screen and state, with screen brightness settings.
  • Get outside temp/weather icon based on zip code.
  • Configurable background on main screen.

Screenshot

Screenshot

Screenshot

Screenshot

Compiling

Install necessary egt dependencies by referring to the egt project README.md.

Also, install some thermostat dependencies.

sudo apt install sqlite3

Compile and install libegt to a directory. We'll assume it's installed to /opt/egt. Then, configure and build this project.

git clone --recursive https://github.com/linux4sam/egt-thermostat.git
cd egt-thermostat
./autogen.sh
CXXFLAGS="-I/opt/egt/include/" \
LDFLAGS="-L/opt/egt/lib/" \
PKG_CONFIG_PATH=/opt/egt/lib/pkgconfig \
./configure
make

Create a default database.

sqlite3 thermostat.db < thermostat.sql

Then, run.

./thermostat

License

Released under the terms of the Apache 2 license. See the COPYING file for more information.