Optimizing HVAC (Air Conditioning) Efficiency with Surplus Solar Energy

In this discussion, I’ll delve into the intricate and slightly imprecise concept of synchronizing air conditioning systems with surplus solar energy.

Particularly during prolonged periods of solar generation and potentially lower energy costs, utilizing HVAC systems (specifically air conditioning during summer) to consume excess solar power can be an efficient method to utilize inexpensive energy. This approach not only maintains a comfortable indoor environment, especially beneficial for those working from home and pet owners, but also circumvents the need for intense air conditioning usage during peak pricing hours in the afternoon/ evening.

A notable project employs the DRED interface found in many air conditioning systems to regulate power consumption through a setup of four relays. More details can be found here:
Controlling Air conditioner using Demand Enabled Response Device per AS/NZS 4755

My strategy involved adjusting the air conditioning setpoint in relation to the surplus solar energy available. If the power draw is excessive, I increase the setpoint, leading the air conditioner to consume less power. Conversely, if there is an abundance of excess solar energy, I lower the setpoint, increasing power consumption by the air conditioner.

The setpoint automation is calculated using the formula:

SetPoint = ExternalTemp - (CoolingFactor / ExcessSolarPower)

Initially, I experimented with including InternalTemp as a variable, but it appeared to have a negligible effect on long-term power usage.

The CoolingFactor, expressed in watts per degree Celsius (W/°C), varies for each household based on factors such as air conditioning capacity, insulation quality, and thermal mass. In my case, a CoolingFactor of 1500 W/°C has proven effective. I’ve configured the CoolingFactor as an ‘input_number’ helper in my system.

A template is used to calculate the helper to the actual excess solar power available for HVAC usage.

Furthermore, I’ve implemented an automation that adjusts the air conditioner’s setpoint in response to changes in excess solar power. This automation also considers the state of charge of the battery, ensuring the battery is prioritized for charging. Once the battery is fully charged in the afternoon, the air conditioner then receives the majority of the power, effectively reducing indoor temperatures.

I’m eager to learn about others’ experiences and methods in managing air conditioning with Home Assistant in similar scenarios.

1 Like

This is exactly the kind of thing I’m interested in doing with my new HA setup. Looks like post was quite a while back, so interested @markpurcell if you’re still doing it this way or if you’ve improved on this approach since you wrote this?

Excellent, I only sent this out a week ago, so I have been refining, but the fundamentals are still correct.

1 Like

I want to do something similar with my pool pump. We have a salt water pool and the chlorine cell only runs when the pool pump is at 20% or higher. Right now I have it run daily at noon when my Powerwall is usually full and there is extra sun.

We have frequent power outages and I would also like to turn it off if we lose power.

You have perfectly stated the pros and cons of running HVAC on excess solar using DRED, but I fear you may be hampered by using the ‘bang bang’ logic of fixed setpoints.

I started down this road nearly 4 years back and now have a LoRa wireless solution completed. Just about all the details are on the Paladin FB page here : Redirecting...

You will need to scroll through to find all the DRED posts.

However the key point here is that I found that I had to implement a relatively primitive AI (Ant Intelligence) to make the timing work correctly. In the end I modelled this on the Tourbillon double escapement watch movement - which does the job well. There are a couple of tedious single take real time videos on the DRED system by way of explanation here : https://www.youtube.com/watch?v=oE2VHpwuFLI&t=13s

The harsh reality of the HVAC control is that there are just too many dynamic variables to use an ‘if this then that’, particularly when there are other demands (hot water / battery / house) on an already variable PV output. The only solution I found to work is to allow each compressor controller to have it’s own little AI and do what it c an with what it sees available in real time (or as near real time as you can get). By designating a second controller as secondary and adjusting its’ control wheels accordingly. The video explains this I hope.

1 Like

I have 3 “dump loads.” My Tesla, My variable speed compressor Lennox air conditioner, and my pool pump.

I use the teslemetry service and I am able to send a varying charge current to my battery each day. I have this running now, but some days I still have a lot of excess power.

I am thinking for the air conditioner, I’d like it to have priority over the car battery as the house gets cooled a lot each evening, and I am already keeping the tesla nearly always topped off. The pool pump automation, is as yet out of reach.

So, I am thinking that I will set up an automation that each 20 minutes will poll the charge current of the car and the excess solar production (Its just “spilled”, I get no compensation for it.) If the car has a range above the minimum charge threshold, then if the excess solar + real time charge power is substantial, like above 2,500 watts or so, then I will temporarily drop the a/c setpoint 1°F. Then after 2 minutes, it will recalculate the NEW Tesla charge current, and adjust to the new reality.

Buuuut, if solar production drops a lot, I need to raise the a/c setpoint back up or conversely maybe drop it still more if there is still more wasted power ???

How do I protect myself from getting tricked into tons of control inputs on cloudy days that just aren’t worth it ?

1 Like

In my case I have an automation that pulls a rolling average of excess power generation every 6 minutes. My two loads are both heat pumps, and the automation looks at the state of each heat pump and excess power to change temperature setpoints. So, if a cloud rolls by, at the next 6-min interval the temperature setpoints will go high to turn off cooling.

The automation allows some continuous grid demand (a variable). Currently I have that set to 1100 watts.

For a sunny summer day my power use looks like this:

This automation runs from 14:00 to sundown.

For a day with clouds it looks more like this:

Zooming in for some more detail:

At 16:02 you can see Grid demand (green curve) goes up well beyond the demand limit (as a cloud rolled in and Solar production dropped). A few minutes later the grid demand is back down, as the automation turned off cooling.

So, on sunny days the automation is more effective. On cloudy days, the automation prevents large demand charges from my utility.

As the temperature rises during the summer, I have another automation to pre-cool the home prior to 14:00.

@markpurcell I’m curious if you have any updates.

Taking my household energy management to the next level I am now utilising EMHASS: An Energy Management for Home Assistant

I found optimising for one load (EV or HVAC) and Solar consumption was more straight forward, but once the number of loads started increasing it was becoming very complex, when is the optimal time to charge the EV and heat hot water and run the pool pump and charge the household battery.

EMHASS calculates the optimal plan every minute and controls my devices to achieve this outcome.

Ah, OK. Thank you.

I had trouble configuring EMHASS and gave up. I do love the concept, but it’s just not easy enough for a user like me. Perhaps some day I’ll try again.