Ecobee custom comfort setting?

Hi All,

I have a custom comfort setting (just called "Fan Only") (I've just set the heat and cool extremely low and high). Can I get Rule Machine to somehow set this Comfort setting? Or is there some better way to basically turn off heat/cool, but leave fan running?


I have always used storageanarchy Universal Ecobee Suite. I too have customized modes on the Ecobee for Wake and Evening. His suite works greak and exposes almost every attribute of the thermostat and remote sensors.

1 Like

Just swapped over to sandood's integration, and I still don't see a way to set the comfort setting via RM. The "Control Thermostat" looks identical.

Probably missing something...

Here is what I have done in the past this this is the action after doing the parameter:

Here is how to configure the schedule parameter, value passed needs to match the schedule.


Perfect! Will see if that works. =)

No luck.

warn setThermostatProgram( Fan Only ): Missing or Invalid argument - must be one of (Away, Home, Sleep, Resume)
dev:8672019-08-25 08:28:45.708 pm warn Supported programs list not initialized, possible installation error

Must be missing something. @storageanarchy around?

I'm here.

Do this for me, please: open the thermostat device, and tell me what the value of the state/attribute programsList is...

Hey @storageanarchy,

"programsList : ["Away", "Fan Only", "Home", "Sleep"]"

Maybe it doesn't like the space in the name? shrugs

The space should not matter, but it couldn't hurt to try renaming it "FanOnly" and see if it works...

I just added a "Fan Only" to my own Ecobee. After waiting a few cycles, the new Schedule shows up in programsList as it should.

I then tried changing the program 3 ways, and all of them worked:

  • New Mode/Switch/Program Helper, set to change to Fan Only when I toggle a test switch;
  • (After cancelling the Fan Only hold), in the thermostat device page, I entered the text Fan Only (no quotes) in the field under the setSchedule command, then clicked the setSchedule button;
  • (After cancelling the Hold again), entered the text Fan Only in the first field of the 3 listed under setThermostatProgram, then I clicked that button.

In all 3 cases, there were no errors. If you could try the same tests (ideally the one that matches how you are calling into the device to change its Program/Schedule) and let me know what you see in the logs for the thermostat device...maybe we'll get a hint about why the code thinks that p[rogramsList wasn't properly initialized...

okay, tested all three of those, works fine.

Here's my RM statement... maybe I'm just blind?

Does the setSchedule() request appear in Live Logging, and does it look the same as the setSchedule() you did from the device page?

You could also try sending the request as JSON - change Fan Only in your rule to ["Fan Only"] - without any surrounding quotes...

Figures. I did nothing to the rule, and now it works. Maybe I just didn't wait long enough for it to populate the program list or something yesterday.

Anyway, thanks, and sorry for the noise! =)

1 Like

No does take a few minutes before the code actually captures all the valid program names...especially the first time you install it...

1 Like

so, clearly my rule isn't working as expected. It keeps putting my hvac into fan only...

Need to troubleshoot further... not sure if I've got a dodgy sensor, or if somethings just not quite right with the rule.

The only thing in my logs is the Garage Door opening. Could opening and closing a door (specifically the "Contact - Garage House Door") be starting the countdown timer even though the door is closing? the delayed 10mins (cancel) should mean it cancels if any sensor doesn't stay open for 10+ minutes, right?

Any idea what might be causing this? I've got the rule turned back off since it kept flipping back to Fan Only.

I think you need to insert a 'Cancel delayed actions' above your resumeProgram. You have the setSchedule with delay flagged for cancelation but you need to tell it to cancel when the contacts are all closed.

1 Like