Ecobee "vent:" and "ventilatorMinOnTime:" not supported natively. How do I integrate those?

Hey, everybody! I’m new to Home Assistant, but loving it already. I mainly wanted it so I can control my fresh air damper in more “smart” way. I have integrated Ecobee and everything works well, but it’s limited to basic mode changes, temp changes, fan on/off, and stuff like that.

According to the Ecobee API Setting documentation, there’s way more settings/attributes to play with: https://www.ecobee.com/home/developer/api/documentation/v1/objects/Settings.shtml

How do I get the “vent” setting and/or “ventilatorMinOnTime” settings to be changable via Home Assistant? I can do that from the start for “fan” and “fanMinOnTime” because those are already loaded into the basic integration as a fan mode toggle and the “ecobee.set_fan_min_on_time”.

Edit: I found this in the ecobee.py. I want to do this just for the vent instead of fan. Is it possible to add definitions for the attribute and create a service similar to this, but using the vent instead?

SET_FAN_MIN_ON_TIME_SCHEMA = vol.Schema({
    vol.Optional(ATTR_ENTITY_ID): cv.entity_ids,
    vol.Required(ATTR_FAN_MIN_ON_TIME): vol.Coerce(int),

-and-


'def fan_min_on_time_set_service(service):
        """Set the minimum fan on time on the target thermostats."""
        entity_id = service.data.get(ATTR_ENTITY_ID)
        fan_min_on_time = service.data[ATTR_FAN_MIN_ON_TIME]

        if entity_id:
            target_thermostats = [device for device in devices
                                  if device.entity_id in entity_id]
        else:
            target_thermostats = devices

        for thermostat in target_thermostats:
            thermostat.set_fan_min_on_time(str(fan_min_on_time))

            thermostat.schedule_update_ha_state(True)

-and-

hass.services.register(
        DOMAIN, SERVICE_SET_FAN_MIN_ON_TIME, fan_min_on_time_set_service,
        descriptions.get(SERVICE_SET_FAN_MIN_ON_TIME),
        schema=SET_FAN_MIN_ON_TIME_SCHEMA)

Have you found a way to control the ventilator? I haven’t even in the app! The minimum run time allowed is 20 mins while home and 0 when away.

I’m currently working on a PR to add all ventilator related features into Ecobee integration. Stay tuned.

2 Likes

Any updated on this by chance?

I had created the PR for adding ventilator support.

But there are concerns from the community on what entity class it should belong to, and I didn’t have enough time to clarify it with the community therefore closed the PR.

I might be able to fork the ecobee integration and create a custom integration and put it on HACS so that at least it’s available to whoever just needs it to work.

2 Likes

This would be a super useful feature!

Dang. I read through that thread and I don’t even understand the nomenclature. I’m sorry they didn’t get it, it’s frustrating as I was really looking forward to making a button to turn on the ventilator whenever I have the stove on. If you ever need someone who knows next to nothing about coding to test anything, let me know and I’d be happy to help where I can.

Yea, I am looking for a way to programmatically run my fresh air vent based on values from my AirGradient air quality sensor.

I have gone thru that GitHub PR and not sure whats the issue. Why can’t a simple service be created that toggles the ventilator?

From what I have noticed, if I want to manually run the ventilator, I need to turn the timer off and then on again in the app or on the thermostat itself, and then it runs.

@shaneqi any chance you’ve messed around with this more? I don’t get why frenck doesn’t want to incorporate ventilation control. It’s a bummer you did all that work but can’t implement it - how hard is it to put something in HACS?

Do any of the other big thermostats support it? I was looking up Nest and it doesn’t appear to. I think the Honeywell T6 and T10 do, but I can’t find any documentation in Home Assistant about them being able to control the fresh air ventilation system.

Anyone know if Home Assistant can control a fresh air system for any connected thermostat? Or is this functionality just missing completely from Home Assistant?

With new houses with force air system this is a standard thing, and if you have spray foam insulation, you really need it…

@UngluedChalice Thanks for the support!

I haven’t had much motivation to put it up in HACS.
I will writing it on my to-do list and hopefully can take a crack at it soon.

I’ve added this as a post in the “Month of What the Heck” forum.

1 Like

@shaneqi Thanks for you work on this! I think it’s too bad it wasn’t integrated in the native component, but having read the PR history, I completely understand that you lacked motivation to continue!
In my case, I wanted to be able to change the minimum ventilator time on a schedule (30min/h during day, 0min/h during night). I could make it work with your changes.

For reference for people that would want to make it work, here’s what I did:

  • downloaded a copy of the most recent home assistant core code base
  • made a copy of the homeassistant/components/ecobee folder in a temp place
  • integrated the changes from your PR (climate.py, services.yaml and added a version number in manifest.json)
  • copied my new ecobee folder in the custom_components folder of my home assistant installation
  • restarted home assistant

From now on, the ecobee component used will be the one in your custom_component. The drawback is that you won’t automatically get updates from home assistant core. You’ll be forced to redo those steps if you want to get updates from the native ecobee component. But at least you can control your ventilator!

2 Likes

Based on the fantastic work of @shaneqi I took the time to take back his work and turn it into a fan Entity (as requested by the PR reviewer)

I have a PR up for review. Hopefully it goes through and we can control Ventilators .

2 Likes

Fantastic! How did you do all this and you’re a first time poster here??? Can’t wait! The ecobee itself is buggy with the ventilator, so this will be great.

At some point once things get more developed, will this allow us to control the minimum run time per hour as well as manually turn it on for 20 min with Home Assistant, right? Will there ever be a way to say “hey, turn this on for an hour” or something like that? I had something burning in the bottom of my oven and it would have been great not to have to go to each ecobee every 20 min and turn the ventilator back on.

1 Like

Hey,
Great question.

So turns out, I am quite new with Home Assistant even as a User. I used to build things fully manually. Example: GitHub - marcolivierarsenault/tefnut: Central humidifier controller where I build my own device (on top of a rapsberry pi) to control my humidifer. (This is because stupid Ecobee does not support 2 accessories)

Anyway, back to your question:
Can’t wait! The ecobee itself is buggy with the ventilator, so this will be great.. Well, yes and no.
Yes it allows to control the ventilator 20 min option but it will still feel buggy.

One of the MAJOR drawback of Ecobee API/device. They only report back the settings every 5 ish minutes.

In other words, if you tell the ventilator to start, it does start immediately, but it takes up to 5 min back for the ecobee to report it back to the cloud (and to the API) This is why even the native Ecobee app, does not always feel in sync. Ecobee integration in HA suffers from the same symptoms.

Will it be possible to turn for 1 hour, I am sure there are workaround for this.
You could start a script that set min time to 60 min, then wait the time you want (1 hour as an example) and then bring it back to original value.

1 Like

Did you know there is a HomeKit integration you can use and is local and super fast? Unfortunately it doesn’t support everything - off the top of my head I think it is custom comfort settings that still have to go through the ecobee integration.

I found this doing a search and it’s exactly what I need. I spent a lot of money for a controller board that manages the air circ and it died about a year in. Before that I had a honeywell timer.

I’m following the thread, but what you using to actually control the vent (eg. open the damper) from the Ecobee? What wire is signaling that?

In the 2023.3 release @marcolivierarsenault added support for ecobee ventilator!!!

Edit: Doesn’t allow manual control. You can only change the minimum on time.

It FINALLY merged… took 3 months…

Anyway, yes for now it is only the min home/away timer.

I am planning to eventually add the manual 20 min timer too.

1 Like

Well thanks for all the work! Just was able to adjust it - super easy.