I’m a new user to Home Assistant (and Z-Wave) but have recently setup both alongside a Honeywell T6 Pro thermostat after Google killed my old Nest thermostat. Everything is generally working and the thermostat is accessible in Home Assistant.
My goal is to enter or select a time period in minutes to run the HVAC fan, before setting it back to the “Circulate” setting.
I’ve stumbled through and created an automation which will run the fan, then delay for a time, and then switch back to circulate. This works, but isn’t ideal:
alias: HVAC - Fan 1 Hour
description: ""
triggers:
- event_type: ""
trigger: event
conditions: []
actions:
- target:
entity_id: climate.honeywell_t6_pro_thermostat
data:
fan_mode: Low
action: climate.set_fan_mode
- delay:
hours: 1
minutes: 0
seconds: 0
milliseconds: 0
- target:
entity_id: climate.honeywell_t6_pro_thermostat
data:
fan_mode: Circulation
action: climate.set_fan_mode
mode: single
I’ve tried modifying examples from the docs and forums, and using AI to “help”, but cannot seem to get better solutions to work.
As an example, the following automation, helpers, and cards are based on a solution from the forums to use a time trigger, which I’ve tried to modify for my purpose but when triggering via the dashboard button or manually the fan does not run:
automation
alias: Furnace Fan Timer
description: >-
Run fan on Low for user-defined hours, then return to Circulate
triggers:
- event_type: script_started
event_data:
entity_id: script.fan_timer_start
trigger: event
- at: input_datetime.fan_run_end_time
trigger: time
actions:
- choose:
- conditions: "{{ trigger.platform == 'event' and not is_fan_on_low }}"
sequence:
- target:
entity_id: "{{ climate_entity }}"
data:
fan_mode: low
action: climate.set_fan_mode
- target:
entity_id: input_datetime.fan_run_end_time
data:
timestamp: >-
{{ (now() + timedelta(hours=duration_hours)).timestamp() | int
}}
action: input_datetime.set_datetime
- conditions:
- condition: template
value_template: "{{ trigger.platform == 'time' and is_fan_on_low }}"
sequence:
- target:
entity_id: "{{ climate_entity }}"
data:
fan_mode: circulate
action: climate.set_fan_mode
default: []
variables:
climate_entity: climate.honeywell_t6_pro_thermostat
duration_hours: "{{ states('input_number.fan_duration_hours') | float(default=1) }}"
is_fan_on_low: "{{ state_attr(climate_entity, 'fan_mode') == 'low' }}"
mode: single
script
alias: Fan Timer Start
sequence:
- target:
entity_id: automation.furnace_fan_timer
action: automation.trigger
mode: single
description: ""
dashboard card
type: entities
entities:
- type: call-service
name: Run Furnace Fan
icon: mdi:fan
service: script.turn_on
target:
entity_id: script.fan_timer_start
- entity: input_number.fan_duration_hours
name: Fan Duration (hours)
helpers
input_number.fan_duration_hours
input_datetime.fan_run_end_time

