❄ Temperature Control Exhaust Fan - Inverted

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

GitHub Link Click Here

Version: 1.0

The most common automation used for a Temperature Control Exhaust Fan. It really can turn anything ON and OFF on a rising & falling numeric value.

The Automation Process:

  • When the sensor falls below the set value it turns the fan ON.
  • When the sensor rises above the set value it turns the fan OFF.
  • If you would like the opposite values then try this blueprint. 🌡 Temperature Control Exhaust Fan
  • You have the option to use the “Fan Speed - Off Switch Option”. This is useful for turning OFF fans with different speeds.
  • You have the option to use the “Trigger Sensor By-pass”. This allows you to add a switch to manually By-pass the trigger sensor so you can use the fan as normal by turning it ON and OFF manually.
  • You have the option to set a start time, an end time and select weekdays. This will only allow the automation to run between the time periods.

Note: If you turn the fan on manually and the automation runs it will turn the fan OFF automatically. It is recommended to use the “Trigger Sensor By-pass” option if you would like to keep the fan ON or OFF for extended time periods.

blueprint:
  name: Temperature Control Exhaust Fan - Inverted
  description: >
    # Temperature Control Exhaust Fan - Inverted
    
    **Version: 1.0**
    
    
    The most common automation used for a Temperature Control Exhaust Fan. It really can turn anything ON and OFF on a rising & falling numeric value. 
    
    
    Let us know what you think of this blueprint and for community support including updates: [Click Here](https://community.home-assistant.io/t/temperature-control-exhaust-fan-inverted/526274/1)
    
    
    **The Automation Process:**
     - When the sensor falls below the set value it turns the fan ON.
     - When the sensor rises above the set value it turns the fan OFF.
     - You have the option to use the "Fan Speed - Off Switch Option". This is useful for turning OFF fans with different speeds.
     - You have the option to use the "Trigger Sensor By-pass". This allows you to add a switch to manually By-pass the trigger sensor so you can use the fan as normal by turning it ON and OFF manually.
     - You have the option to set a start time, an end time and select weekdays. This will only allow the automation to run between the time periods.

     Note: If you turn the fan on manually and the automation runs it will turn the fan OFF automatically. It is recommended to use the "Trigger Sensor By-pass" option if you would like to keep the fan ON or OFF for extended time periods.
     
     Required = *
     
     **Need help?** See our FAQ: [Click Here](https://community.home-assistant.io/t/temperature-control-exhaust-fan-inverted/526274/2?u=blacky)
  domain: automation
  input:
    trigger_sensor:
      name: Trigger Sensor *
      description: The trigger can be any sensor you like that has a numeric value.
      selector:
        entity:
          domain: 
            - sensor
    entity_turn_on:
      name: Fan Switch *
      description: Enter the fan you would like to turn ON. Can be any switch you like.
      selector:
        target:
          entity:
            domain: 
              - switch
    entity_turn_off:
      name: Fan Speed - Off Switch Option (Optional)
      description: Sometimes you need to select a different entity to turn the fan OFF. 
        This is normally used when having a fan that has different speeds.
        Please DO NOT select the same entities that are selected above in "Fan Switch" here, as the automation will not work.
      default: []
      selector:
        entity:
          multiple: true
          domain:
            - switch
    falling_value:
      name: Falling Value
      description: The falling value to turn the fan ON.
      default: 20
      selector:
        number:
          min: 0
          max: 100
          step: 0.5
          unit_of_measurement: value
    rising_value:
      name: Rising Value
      description: The rising value to turn the fan OFF.
      default: 20
      selector:
        number:
          min: 0
          max: 100
          step: 0.5
          unit_of_measurement: value
    include_bypass:
      name: Use The Trigger Sensor By-pass Option (Optional)
      description: Select enable or disable. 
      default: bypass_disabled
      selector:
        select:
          options:
            - label: Enable the By-pass option
              value: "bypass_enabled"
            - label: Disable the By-pass option
              value: "bypass_disabled"
    trigger_bypass:
      name: Trigger Sensor By-pass
      description: Select a switch that will By-pass the trigger sensor and make your fan function as normal.
        The entity cannot be included in the "Fan Switch" selection.
      default: []
      selector:
        entity:
    include_time:
      name: Use The Time Options (Optional)
      description: Use the "Start Time", "End Time" and the "Weekdays" values to only run the automation between the time periods. 
      default: time_disabled
      selector:
        select:
          options:
            - label: Enable the time options
              value: "time_enabled"
            - label: Disable the time options
              value: "time_disabled"
    after_time:
      name: Start Time
      description: Set the start time.
      default: 00:00:00
      selector:
        time:
    before_time:
      name: End Time
      description: Set the end time.
      default: 00:00:00
      selector:
        time:
    weekday_options:
      name: Weekdays
      description: Select the days of the week you would like the automation to run. You must select "Enable the time options" above for the weekdays selections to work.
      default:
        - mon
        - tue
        - wed
        - thu
        - fri
        - sat
        - sun
      selector:
        select:
          multiple: true
          mode: list
          options:
            - label: Monday
              value: "mon"
            - label: Tuesday
              value: "tue"
            - label: Wednesday
              value: "wed"
            - label: Thursday
              value: "thu"
            - label: Friday
              value: "fri"
            - label: Saturday
              value: "sat"
            - label: Sunday
              value: "sun"

# If the temp rises above the set point again it will restart the automation.
mode: restart
max_exceeded: silent

variables:
  trigger_sensor: !input trigger_sensor
  entity_turn_on: !input entity_turn_on
  entity_turn_off: !input entity_turn_off
  falling_value: !input falling_value
  rising_value: !input rising_value
  include_bypass: !input include_bypass
  trigger_bypass: !input trigger_bypass
  include_time: !input include_time
  after_time: !input after_time
  before_time: !input before_time
  weekday_options: !input weekday_options

trigger:
  - platform: numeric_state
    id: "t1"
    entity_id: !input trigger_sensor
    below: !input falling_value
  - platform: time
    id: "t2"
    at: !input after_time
  - platform: state
    id: "t3"
    entity_id: !input trigger_bypass
    from: "on"
    to: "off"

# All Conditions
condition:

#Trigger conditions
  - condition: or
    conditions:
      - condition: and # trigger on falling value is below set point
        conditions:
          - condition: numeric_state
            entity_id: !input trigger_sensor
            below: !input falling_value
      - condition: and # trigger by time & check falling value is below set point
        conditions:
          - condition: numeric_state
            entity_id: !input trigger_sensor
            below: !input falling_value
          - condition: trigger
            id: 't2'
      - condition: and # trigger by by-pass & check falling value is below set point
        conditions:
          - condition: numeric_state
            entity_id: !input trigger_sensor
            below: !input falling_value
          - condition: trigger
            id: 't3'

# Check the By-pass
  - condition: or
    conditions:
      - "{{ include_bypass == 'bypass_disabled' }}"
      - "{{ trigger_bypass == [] }}"
      - "{{ (include_bypass == 'bypass_enabled') and (states[trigger_bypass].state == 'off') }}"

# Check the time options
  - condition: or
    conditions:
      - "{{ include_time == 'time_disabled' }}"
      - condition: and
        conditions:      
        - condition: time
          after: !input after_time
          before: !input before_time
          weekday: !input weekday_options
        -  "{{ include_time == 'time_enabled' }}"

action:
  - alias: "Turn on the entity"
    service: homeassistant.turn_on
    target: !input entity_turn_on
  - alias: "Wait until sensor is below set value"
    wait_for_trigger:
      platform: numeric_state
      entity_id: !input trigger_sensor
      above: !input rising_value
  - alias: "Turn off the entity"
    service: homeassistant.turn_off
    target: !input entity_turn_on
  - alias: "Fan speed off option"
    service: homeassistant.turn_on
    entity_id: !input entity_turn_off

CHANGELOG

  • Version: 1.0: - 29 Jan-23 - Initial release

MY OTHER BLUEPRINTS
Sensor Light - Motion Sensor - Door Sensor - Sun Elevation - LUX Value - Scenes - Time
Smart Relay - Contactor
Push Button Relay - Contactor
Toilet Exhaust Fan with time delay
Timer Relay - Run ON Timer
Entity - Run ON Timer
Bathroom Humidity Exhaust Fan
Temperature Control Exhaust Fan
Turn Light, Switch or Scene On & Off with Trigger Conditions

1 Like

FAQ

Q: I don’t fully understand the “Fan Speed - Off Switch Option”, could you explain it to me?

A Sometimes you need to select a different entity to turn the fan OFF. This is normally used when having a fan that has different speeds and one of the speeds is OFF. You normally have to turn ON the switch to turn the fan OFF. If you have this scenario then select your OFF speed entity here. If you do not have this, then please leave it blank.

Q: How to use the “Trigger Sensor By-pass” without having a physical switch?

A: Go to Settings / Devices & Services / click on the “Helpers” tab / click “+ CREATE HELPER” and select “Toggle”. In the name put “Temp Exhaust Fan Sensor By-pass” and click save. Then go back into the automation and in the “Trigger Sensor By-pass” search for the name you created in this case “Temp Exhaust Fan Sensor By-pass” and click save. Now in a “Dashboard” click “Edit dashboard” then click “+ ADD CARD” click on “Button” or “Entities” in the entity field again search for the name you created in this case “Temp Exhaust Fan Sensor By-pass” and click save. Then click “DONE”. You now have a “Temp Exhaust Fan Sensor By-pass” switch to disable the Exhaust Fan.

Q: I would like to set a different value but the slider is not letting me?

A Just simply type the number value you would like in the field and click save. A red line will appear under the number you have entered but once you click save, exit the automation and go back into it the red line will not be there.

Hello, I want pretty same, but not exact this :). Can you help with blueprints for my needs (I think there are other people who want to :slight_smile: ).
I have 4 chanel switch (sonoff 4chpror3) and want control it by temp sensor (sonoff SNZB-02) my room (floor) temperature. If temp is under 22C its turn in 1 channel, and if above 22C then turn same channel off.
How it multiple for different rooms.

Switch is just switching on and of my accurator on underfloor heating conture.

Toomas

@TomATom Hi Toomas,

This blueprint will do that but if you have 4 channels then you will need to create 4 automations, one for each room using the blueprint.

So go into blueprints and select this blueprint fill out everything for channel 1 and when saving it name it what you would like, example: “Underfloor Heating - Bedroom 1”. Then just do it again and select channel 2 and save it as “Underfloor Heating - Bedroom 2” and so on. Then when you click on the automations tab you will see 4 automations, one for each bedroom.

Work perfectly :slight_smile:) Thanks a lot
Can you advise is it possible to juse your bluprint :Temperature Control Exhaust Fan and Temperature Control Exhaust Fan - Inverted together (summer / winter time), to set some time (day and month) to sart one bluprint and stop at same time another? I want use my heatpump for cooling in summertimes to.

Nice, no problem :+1:

You could but I would manually turn off my boiler and manually turn on my heat pump in summer time (and visa versa for winter). Last thing you need is your boiler turning on in the summer heating your floor up and finding out later (when you come home) it came on $$$$, and now your floor is hot… that takes a while to cool down. It would also be hard to pick a date to change over from heating to cooling.

EDIT: You could also create a summer and a winter by-pass to stop all your automations. Example if you created one by-pass for all your Underfloor Heating then put the same by-pass in every automation you just created. Now when you turn that ON it will stop all the Underfloor Heating automations.

Blacky :slightly_smiling_face:

Thanks for advice

1 Like