How I Saved $100 a Month During the Summer With Home Assistant and Smart Thermostats

A while ago, I wrote about installing a smart thermostat followed by a post about pairing them with Home Assistant with a Z-Wave Stick. I didn’t get a chance to mess with it much that summer and I only used it as a dumb thermostat. However, last summer, 2019, I decided to see if I could save a little money by optimizing my cooling schedule. This post talks about the steps I took to do that.

You can do this using most smart thermostats, and possibly even a programmable thermostat, if it allows you to make multiple changes per day. Personally, I use the Zwave enabled CT101 by Radio Thermostat Company. I don’t think they are sold any more, but I’ve been happy with them. I am currently staying away from the Nest Thermostats since they killed their API which allowed for Home Assistant integration. If I were to purchase now, I would probably go with EcoBee since it integrates with Home Assistant. For the purposes of this article, even a regular programmable thermostat, like this one, might work. If you do replace your thermostat, check out my previous article on that for some tips on things to look out for.

Time of Use Billing

The main thing you need in order for this to work, is time of use billing, which is what my power company calls it. I believe most power companies offer something like this. Time of use with my power company works like this(it’s likely different for various electric companies, but the basic premise should be the same):

  • Most of the time, they charge me 4.5 cents per kWh, versus the 8 cents the charge for regular billing.
  • On weekdays between the hours of 2pm and 8pm during the summer months (June through August), they charge 28 cents per kWh.

So obviously, most of the year, I pay almost half price for electricity. However, I pay more than triple during the peak hours for a total of about 65 days. So the trick is to try and use as little power as possible during those peak times. Of course, a huge chunk of electricity usage is going to be from cooling the house.

Programming the Thermostats

To make sure I use less electricity during the peak times, I try to cool the house down below what I normally keep it at, which is 77°F. So around 11:30am, I have all my AC units drop down to 71°F. It usually gets close to that by the time 2pm rolls around. When it is 2pm, I set it the back up to 77°F. At that point, I have cooled my house for cheap, and during the peak time, it will take around 4 to 6 hours before the AC needs to run again. Then during the night, I set the AC to around 74°F since the AC units will be a little more efficient at cooling during the cooler night hours. 

Each thermostat would have different instructions for programming, but here’s how I did it in Home Assistant. It’s all done through the Automation UI, so it’s fairly easy. You just need to create an automation for each time of day you will be changing the temperature. I have 4, one early in the morning to set the temperature a few degrees cooler, one at noon to make it even colder, one at peak time to to raise the temperature a little above what is comfortable, and one at the end of peak time to go to my comfortable temperature. In the instructions below, I’m using my noon automation:

  1. Go to Configuration -> Automations
  2. Give the automation a name
  3. Set the trigger type to ‘Time’ and enter the time you want it to change. It’s based on a 24 clock, noon would be 12:00:00, and 2PM would be 14:00:00.
  4. For the conditions, I put in a condition to only do this on weekdays. If you don’t want to do that, just leave the conditions blank. For this, I used the Workday Sensor, and in the condition, I selected ‘State’ for the type, ‘binary_sensor.workday’ for the entity, and ‘on’ for the state. For the state, make sure you use lower case letters, and no quotes.
  5. For the action, select ‘Call Service’, and climate.set_temperature for the ‘service’. Select your AC unit for the entity. And put in the following for the ‘Service data’. Of course, you need to change the high temperature to what you want. And if you just use the ‘cool’ mode, instead of ‘heat_cool’, then you don’t need the 2 target_temp_ settings. You can replace those 2 lines with ‘target_temperature’:
    hvac_mode: heat_cool
    target_temp_high: 72
    target_temp_low: 62


Electricity Usage

When I was first setting this up, I thought that it would use more electricity. However I only used about 1% to 3% more electricity than the same months the year before, and one of the months I used a little bit less. I’m fairly sure that most of that increase was due to the fact that the summer was hotter in 2019 versus 2018, and the fact that I got my 3D printer that I wrote about last year. I had time of use billing both years, but despite the fact that I used a little more electricity, each month cost me about $100, or 30%, less than the same month the year prior. Even when I switched to Time of Use over a decade ago, it saved me a lot of money without changing my habits too much.


There are many factors that will change how much you save.

  • One of the big things that will affect how much you save is how efficient your house insulation is. If you have a leaky house, then your AC units will likely run quite a bit during that peak time, which is the hottest part of the day.
  • A house that has a lot of shade during the peak hours will also benefit more than me. I have no shade at all. Unfortunately, it’s not very common in the US, but a white roof would probably have a similar effect.
  • People that like to keep their house cold may not see as big of a saving, although they will still see a difference.
  • You can save more money, if you have multiple thermostats/zones, and you will be spending most of your peak time in a single zone. With this, you can cool all of your zones before your peak period starts, and during your peak period, you only cool the one zone you will be. The empty zone will continue cooling your house.
  • Keep in mind that any other electricity usage pretty much gets doubled. For example, if you run an appliance that uses 1000w for an hour, it will actually burn a little more than 2000w. This is because that appliance uses 1000w, and then your AC will use more than another 1000w to cool that heat generated by the appliance. So it is best to keep your other electricity usage to a minimum during the peak times, namely appliances like toaster ovens, electric stoves, and vacuum cleaners.

It’s not life changing money or anything, but even after paying for the thermostats, I made my saving back in a couple months. Hopefully someone else can make use of this. Feel free to let me know if you have any questions.

Leave a Reply