Ecobee homekit automation, one AC at a time

Current electric company has a “demand” charge that can make up a significant portion of the monthly bill. The demands charge is the highest use that month times a certain dollar amount. It’s actually a pretty significant portion of the total bill.

The air conditioner is by far the biggest energy hog and there are three of them at this home.

What I was hoping to find was a way to only have one of the AC’s running at a time. I have ecobees on all three of them and I was looking for ways to see if I could read the state of the ecobee.

IE
if ecobee 1 wants to run it checks if ecobee 2 and ecobee 3 are both idle. If they are ecobee 1 runs. If ecobee 2 or ecobee 3 are cooling then retry in 5 minutes.

The problem is I can’t seem to find where homekit has the ecobee state, and when looking for the fan mode (thinking that it would be related to the ecobee state) it comes back as “not provided.”

I’m searching through the forum, but anyone have an automation for something similar, or point in me roughly the right direction?

Thank you.

I have not got anything like it, but here’s what I’d probably do:

The only way to know which AC would want to cool, is to check the temperatures yourself and take control of the thermostat.

I would create a generic thermostat for each AC, using my favorite temperature sensor in the room (does not need to be the one from the AC)

I would let those control an input boolean to see if they want to cool or not.

Then, in order to make sure the AC runs when you want it to, I would manipulate the setpoint if the original AC’s to be either very high or very low, making them think they only need to cool when you want them to.

I’d most likely allow the AC with the biggest temperature difference between setpoint and target to run for a while, then check again. Or use some kind of round robin algotithn to give each one that wants to cool some time in succession.

I did find another post that mentioned the developer tab with states. It looks like ecobee does indeed have a hvac_action that has the values cooling, idle or heating. Though this value wouldn’t change until the ecobee is already actively cooling.

So I’ll need to figure out a way to check the temperature against the set point just like you said. Once I know the ecobee is about to start then I can have it check against the hvac_action to see if the one or two of the others area already cooling. At that point I can manipulate the setpoint or play with the mode. Then have the check repeat itself in 5-10 minutes. The repeat check I’ll have to think about as it needs to repeat the check, but I can’t think of a way to check the temperature against the set point if I’m manipulating that, then again if it’s set to off it wouldn’t either…

Checking what the hvac does is not the problem, or the solution. Because if you turn the off to give another AC a go then you won’t know if it wanted to cool or not, because the hvac action will show idle, not cool. So unless you do a round robin on all AC regardless of if they need to cool, you will not know to give that AC time to do its work. And giving an AC time it does not need is not very smart.

That is one reason to introduce a generic thermostat. The other is: you want to decouple what you want to set the AC to from what the AC actually does to prevent high cost.

This is decidedly less elegant than utilizing home assistant. But I’m going to try to utilize the ecobee’s programmability to see if I can smooth out the demand. The demand charge is only factored in during a period of 3 hours during the day. So for now during this three hour period I have the ecobees scheduled to offset each other only having one unit on at a time.

The largest unit will run for the first hour into the demand period because we are still producing energy via solar at that time. After that first hour I have the two smaller units sharing an hour at 30 minutes each. Then the larger unit utilizing 30 minutes, then finally back to another one of the smaller units. I also having the units dropping the temperature a few degrees below normal in the hour immediately before the peak and demand charge 3 hours.

Looking at the solar and usage monitoring it has smoothed out the curve quite a bit, as well as lowering the overall demand during the three hour period. We’ll have to see if we can tolerate the switching back and forth and if it actually does anything to the overall bill.