Griddle is a simple python app made for Docker that helps you save money on your energy bill. It watches the live price of electricity in your billing zone and makes clever adjustments to your thermostat. In this version, Griddle uses IFTTT to talk to your thermostat and adjust your home's comfort range just enough to shift your power consumption closer to the low 'average price' of wholesale providers.
Griddle is only beneficial if you use a variable rate wholesale rate energy provider. These providers can average well below the rates of typical plans as long as you can shape your consumption against the volatile live market price. Griddle takes a lot of the hassle away from avoiding the spikes.
It's a little bit wonky to set up in this version. That said, during certain peaks it's saved me several dollars per minute on my energy bill. I have plans to improve it sooner rather than later, but feel free to set it up now if you don't mind the dependencies.
Griddle uses Docker and IFTTT. To get started, let's set up IFTTT.
If you don't already have an account, sign up for IFTTT and connect your thermostat. Create three new triggers, one at a time, each being an If Webhook:
-
If Webhook (Event Name:
g_heat
)Then
your thermostat for **heat** setting
Temp =
{{Value1}}
-
If Webhook (Event Name:
g_cool
)Then
your thermostat for **cool** setting
Temp =
{{Value1}}
-
If Webhook (Event Name:
g_notification
)Then
Notification
Message =
{{Value1}}
Find and copy your key from IFTTT by clicking the Documentation on this page.
-
If you don't already have Docker, install and start it.
-
Clone this repository and
cd
into the project directory. -
Create a
config.env
file and populate it with:LOAD_ZONE=YOUR_LOAD_ZONE_ID IFTTT_KEY=YOUR_IFTTT_KEY_GOES_HERE
-
Create a
settings/fav_heat.txt
andsettings/fav_cool.txt
containing your default heat/cool settings. -
Build the image with
docker build -t griddle .
-
Create a container (replace the all-caps with the full path to the settings directory)
docker run \ --name griddle \ --env-file config.env \ -v PATH/TO/SETTINGS:/griddle/settings \ griddle
Assuming all was set up correctly and you have IFTTT notifications enabled on your phone, you should receive a greeting from Griddle. In the next section, we set up a cron job to instruct Docker to start a Griddle check every minute so you never get caught up in a random price spike.
-
Run
crontab -e
, pressi
to insert, then add the following (replace all-caps with the full path to your docker executable; runwhich docker
to find out):*/1 * * * * PATH/TO/DOCKER start griddle
-
Press the escape key several times, then type
:wq
and press return.
You're ready to go! Assuming all was set up correctly and you have IFTTT notifications enabled on your phone, you should receive a greeting from Griddle.