On a fresh Raspbian Jessie image (full or lite)
cd ~
git clone https://github.com/mholgatem/ThermOS
cd ~/ThermOS
sudo bash install.sh
On a computer or smartphone, navigate to the ip address of your raspberry pi to finish setup.
There is an included update script that can pull updates directly from this repository.
The updater will first make a backup of your current ThermOS install to /home/pi/thermos_backup/date
To use:
cd ~/ThermOS
bash update.sh
All of your settings will be preserved between updates. If you really messed something up, you can do a hard reset to get back to a 'factory install' state simply by running the script like this:
cd ~/ThermOS
bash update.sh --hard
This thermostat requires the use of a DS18B20 temperature sensor. An alternative sensor can be used, but the getIndoorTemp.py file will need to be modified to gather and return the correct data. I may at some point add the option to use a DHT-22 (combo temp/humidity sensor); but this is adequate for now.
Your DATA line needs to be connected to your VDD/POWER line with a 4.7K ohm resistor
Then do the following:
DATA on gpio 4 (physical pin 7)
VDD/POWER on 5v rail (physical pin 2)
GROUND on any ground pin (physical pin 6)
Next, enable the 1-wire interface.
This can be done by adding the line
dtoverlay=w1-gpio
to /boot/config.txt
-or-
by using an up-to-date raspi-config (Advanced Options -> 1-Wire)
Reboot and your temperature sensor is good to go.
ThermOS started life as Rubustat by Wyatt Winters and quickly took on a life of it's own; but there are still a few bits of code left over from those early days.
The forecast api is powered by Dark Sky
The following icons came from thenounproject.com
"Folder" (logs icon) by Oliviu Stoian
"Air Conditioner" (system icon) by Aaron K. Kim
"Computer Fan" (fan icon) by Creative Stall
"Thermometer" (hold icon) by icon 54
"Wrench" (settings icon) by useiconic.com
"Calendar" (schedule icon) by To Uyen
"Flame" (heat icon) by Nadav Barkan
"Snowflake" (ac icon) by Dilon Choudry
This application is free, without restriction, or warranty.
Don't sue me bro!