Skip to content

Instantly share code, notes, and snippets.

@Didgeridrew
Created June 13, 2023 01:59
Show Gist options
  • Select an option

  • Save Didgeridrew/c7e95ae29ef99a17b9f0dd4e2077b816 to your computer and use it in GitHub Desktop.

Select an option

Save Didgeridrew/c7e95ae29ef99a17b9f0dd4e2077b816 to your computer and use it in GitHub Desktop.
HA - Using Central HVAC blower as circulation when temperature is within desired range
alias: HVAC - Circulation Fan - Set Times
sequence:
- service: input_datetime.set_datetime
data:
datetime: "{{ now() + timedelta(minutes=10) }}"
target:
entity_id: input_datetime.hvac_circ_fan_next_off
- service: input_datetime.set_datetime
data:
datetime: "{{ now() + timedelta(hours=1) }}"
target:
entity_id: input_datetime.hvac_circ_fan_next_on
mode: single
#########################################
alias: HVAC - Mode & Temp - Set & Restart Circ
description: |-
When the setpoint updates based on the schedule, but the indoor temp
is within circulation range, set the mode and temperature to the new setting,
then restart the circulation mode.
sequence:
- variables:
forecast: "{{states('sensor.hvac_mode_forecast')}}"
temp: |-
{% if forecast == 'cool' %}
{{ states('input_number.ac_setpoint')|float(72) }}
{% else %}
{{ states('input_number.heat_setpoint')|float(68)}}
{% endif %}
- condition: state
entity_id: binary_sensor.all_window_sensors
state: "off"
- service: scene.create
data:
scene_id: hvac_current
snapshot_entities: climate.centralite_thermostat
- delay: "00:00:10"
- service: input_boolean.turn_off
target:
entity_id: input_boolean.enable_circ_mode
data: {}
- wait_template: >-
{{ now() >=
states('input_datetime.hvac_circ_fan_next_on')|as_datetime|as_local}}
- delay: "00:00:10"
- service: climate.set_temperature
data:
hvac_mode: "{{ forecast }}"
temperature: "{{ temp }}"
target:
entity_id: climate.centralite_thermostat
- delay: "00:00:30"
- service: input_boolean.turn_on
target:
entity_id: input_boolean.enable_circ_mode
data: {}
mode: single
#########################################3
sequence:
- service: climate.set_hvac_mode
data:
hvac_mode: "off"
target:
entity_id: climate.centralite_thermostat
- delay: "00:05:00"
- service: climate.set_fan_mode
data:
fan_mode: "on"
target:
entity_id: climate.centralite_thermostat
- choose:
- conditions:
- condition: state
entity_id: input_boolean.enable_circ_mode
state: "off"
sequence:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.enable_circ_mode
data: {}
mode: single
alias: HVAC - Mode - Fan Only
####################################
alias: HVAC - Circulation Mode - Stop
sequence:
- if:
- condition: state
entity_id: input_boolean.enable_circ_mode
state: "on"
then:
- service: input_boolean.turn_off
entity_id: input_boolean.enable_circ_mode
- service: climate.set_fan_mode
data:
fan_mode: auto
target:
entity_id: climate.centralite_thermostat
- delay: "00:00:15"
- service: input_datetime.set_datetime
data:
datetime: "{{ now() - timedelta(hours=1)}}"
target:
entity_id: input_datetime.hvac_circ_fan_next_off
- service: input_datetime.set_datetime
data:
datetime: "{{ now() - timedelta(hours=1)}}"
target:
entity_id: input_datetime.hvac_circ_fan_next_on
mode: single
####################################
alias: HVAC - Air Circulation - Cycle
description: ""
trigger:
- platform: time
at: input_datetime.hvac_circ_fan_next_on
id: turn on
- platform: time
at: input_datetime.hvac_circ_fan_next_off
id: pause fan
condition:
- condition: state
entity_id: input_boolean.enable_circ_mode
state: "on"
action:
- choose:
- conditions:
- condition: trigger
id: pause fan
sequence:
- delay: "00:00:02"
- service: climate.set_fan_mode
data:
fan_mode: auto
target:
entity_id: climate.centralite_thermostat
default:
- service: script.hvac_fan_only
data: {}
- delay: 10
- service: script.hvac_circ_fan_set_times
data: {}
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment