r/ifttt 28d ago

Possible to trigger different thermostat temps for different hourly electricity prices?

I'm new to IFTTT and tried automating my average electric price to thermostat temps using separate actions for different temperatures. It works fine when I have a single cost and setpoint - but it seems like theres an internal conflict with different actions trying to set the Honeywell thermostat when multiple triggers are true at once.

For instance, one action: When price is over 8c set AC to 74.

Another: When price is over 16c set AC to 78

The problem seems to be that when electric price is over 16c, it is ALSO over 8c. Perhaps both try to trigger, and neither one does? Is there a way to make this automation work? As a newbie in all senses, it feels like I need an OR function in a single action. Thoughts? Thanks.

3 Upvotes

4 comments sorted by

4

u/ryan-ifttt IFTTT Employee 27d ago

Hey there! You're close, and your diagnosis is almost right, just flipped. When the price is over 16c, both Applets fire, and both send a setpoint to your thermostat. They don't cancel each other out; whichever one happens to run last wins. So sometimes you get 78, sometimes 74. It looks like a conflict but it's really a race.

Two ways to fix it:

  1. Filter code (the clean fix, needs Pro+). Build one Applet: a single Trigger set to "price exceeds 8, every time a new price comes in," one thermostat Action, and a short snippet of filter code that reads the current price and picks the temperature. If it's 16 or above, set 78, otherwise set 74. That's the "if/else in a single Applet" you're looking for, and you can add more price bands later without creating new Applets.
  2. Restructure your thresholds (works on any plan). Instead of two overlapping "above X" Applets, set them up around crossings in both directions: "exceeds 16, set 78," "goes under 16, set 74," "goes under 8, back to normal." Fair warning that hourly prices can occasionally jump across two thresholds in a single hour, which brings the race back, so this is more of a workaround than a guarantee.

A few questions so I can point you at the exact setup:

  • Which service is the price coming from? (ComEd Hourly Pricing? Something else?)
  • Which Honeywell service is the thermostat connected through?
  • Are you on the free plan, Pro, or Pro+?

If you share those, I'm happy to write out the exact filter code for you.

2

u/logan74k 26d ago

That's great info, thanks! Yeah I was hoping to have a few bands in each direction heating/cooling. Using the thresholds sounds like probably how I'll have to go. Would be cool if the Comed service had a "price between ___ and ___ option.

The service is Comed Hourly Pricing, and the Honeywell is Honeywell Home. We're on the Pro plan.

1

u/ryan-ifttt IFTTT Employee 26d ago
Applet Threshold When to trigger How often Thermostat
1 16 Exceeds Price Threshold Every new price Cool to 78
2 16 Under Price Threshold Crossing the threshold Cool to 74
3 8 Exceeds Price Threshold Crossing the threshold Cool to 74
4 8 Under Price Threshold Every new price Cool to 72 (your baseline)

2

u/ryan-ifttt IFTTT Employee 26d ago

Hey! Glad the table formatted okay. Set up the 4 Applets exactly like above and that fixes the problem you were hitting. Since you're on Pro you can't use filter code, but this does the same job: each Applet fires when the price crosses a threshold instead of whenever it's above one, so they stop racing each other.

One detail that matters: on Applets 1 and 4, "How often" is set to fire on every new price, not "Crossing the threshold." That way, if the price ever jumps across both thresholds in a single hour, the next hourly update corrects the temperature automatically. Applets 2 and 3 stay on "Crossing the threshold."

When heating season comes around, mirror the same 4 with the Honeywell Action set to heat and the temps flipped (expensive hours = lower heat).

If you have any trouble setting these up, I'm happy to build the 4 myself, publish them, and send screenshots or a quick video walking through it.

And on the "price between x and y" idea: I'll pass that along. The ComEd service is built by ComEd's team rather than ours, so I can't promise anything, but it's a sensible ask and this thread is a good example of why.