Ecobee fan min on time

I want to control fan_min_on_time in home assistant for an Ecobee thermostat. I can control the fan min on time in Ecobee app, but not through HomeKit integration. I am playing with the template:

{{ state_attr('climate.my_ecobee', 'fan_mode') }}  // auto / on correctly
{{ state_attr('climate.my_ecobee', 'fan_min_on_time') }} // always None
{{ state_attr('climate.my_ecobee', 'hvac_action') }} // idle / heat correctly

Is fan_min_on_time not implemented in the HomeKit integration?

Hi and welcome!

Yes the HomeKit Device integration for Ecobee is good, but also leaves me wanting.
The ability to control the fan is in the HomeKit Device Integration, but it’s buried and not exposed as an entity. I created a script to access it. You need to get the actual device ID to get it to work. I’ve changed mine to <32 character device ID> for this example

hvac_exhaust_boost:
  alias: "HVAC – Exhaust Boost (20 min)"
  mode: restart
  sequence:
    # Turn HVAC fan ON for exhaust ventilation
    - service: climate.set_fan_mode
      target:
        device_id: <32 character device ID>
      data:
        fan_mode: "on"

    # Run for 20 minutes
    - delay: "00:20:00"

    # Check if PM2.5 filtration is currently active
    # Only return to AUTO if air quality filtration is NOT running
    # This prevents interference with PM2.5 air cleaning cycles
    - condition: state
      entity_id: input_boolean.pm25_filtration_active
      state: "off"

    # Return fan to AUTO mode (only if PM2.5 filtration is inactive)
    - service: climate.set_fan_mode
      target:
        device_id: <32 character device ID>
      data:
        fan_mode: "auto"

An easy way to get the device ID is to open the ecobee under HomeKit devices and services on the web. The 32 character string at the end of the URL will be your device ID for this script.

1 Like

This is really good info!

FYI you can use the entity ID as well, like:

action: climate.set_fan_mode
data:
  fan_mode: auto
target:
  entity_id: climate.your_hvac

This will also control the fan mode.

Edit: to answer the OP’s question, fan_on_min_time is not implemented in the Homekit integration.

1 Like

I didn’t have luck with using the entity id and getting the fan to respond, but also I didn’t spend more time on it once I got the above example working. That would be simple if the ecobee will respond to it.

I tried it before posting and it controlled the fan mode for me.

1 Like

Thanks for this!

Using the entity id from Node Red works for me.

Has anyone had any luck getting more detailed information from the Ecobee (via HomeKit) such as whether the primary or aux heating is active?