šŸ’Ø Adaptive fan speed control based on temperature and speed range

Just to make sure I understand what you mean: are you saying you would like it so that once the room has fallen below the off_temp, the fan should switch off, and remain off until you manually turn it back on again regardless if the room temperature climbs above that off_temp?

EDIT: @Trial_Master
I went ahead and implemented a boolean to enabled/disable this feature. See if it works and let me know.

Regarding upgrading the blueprint to the latest changes: just re-import the blueprint above and all settings should be copied across to your existing automations already using this blueprint.

1 Like

I was just about to reply when I saw your edit. Thank you for implementing a change, I didnā€™t mean to create additional work for you. Much appreciated, I will update and test it out. Thank you, thank you.

1 Like

haha thatā€™s ok! it turned out it was an easy fix :slight_smile: (I hope :crossed_fingers:)

1 Like

@cappadanna still figuring this one out. Iā€™ll get back to you :wink:

1 Like

Hi @lennon101

Iā€™ve been testing the Enable auto fan on feature and can report the fan is till turning on above off_temp with ā€˜auto_turn_on_enabled: falseā€™ set in Blueprint.

Apologies mate! I had a bug! It should be fixed now. Let me know if you have any other dramas. Iā€™m keen to make sure this is right :slight_smile:

Please update the blueprint by re-importing

1 Like

Hi @lennon101

No need to apologise I really appreciate you taking the time to add a feature.

I will update the Blueprint and test out tomorrow morning.

Hi. Just wanted to chime after testing the automation a couple of weeks. So far it seems to work perfectly including automatic stop, start and adjusting fan speed. Thank you @lennon101

2 Likes

Thanks very much @egiljae! Great to hear :slight_smile:

Because I love to hear about the use cases for the things Iā€™ve built, do you mind me asking what youā€™ve implemented it on/for?

Are these determined by Celceius because i wanted to use 90 farenheight for the highest and 60 for the lowest

Yeah look I knew this was going to be a question soon enough :joy: at the moment the max/min values in those sliders is in the celius range. It doesnā€™t actually matter what unit you use just as long as you are conistant: i.e if the sliders are in F then the temp sensor must also be in F.

But I can see your problem, you want to use values that outside of the range of those sliders. What I might do is increase the max/min range of those sliders so they are within the useable limits of both C and F.

Could you provide some possible values you think you might want for each of the sliders?

On values Iā€™m actually a beginner so probably wouldnā€™t be much help with knowledge. Just want to be able to have the fan turn on when the temp was over 90 degrees Faren height and Minium speed be at like 60 degrees Faren height? Sorry for being not much help

@Robert_Shed Iā€™ve increased the range of the slider inputs to values that suit both C and F temperature sensors. Min and Max values are now between 10 and 120 (unitless) for each slider input. This allows C and F temp sensors to be used and slider inputs to set a value well within any reasonable range (I hope :joy:)

Please note:
Make sure the temperature sensor you use is in the units (Ā°C or Ā°F) you want to use for the input sliders. If your temp sensor is in Ā°C but you want to use the Ā°F settings, you will need to create a template sensor to convert the sensor into the correct units.

Please update the blueprint by re-importing and let me know how you go. :+1:

It would be great if you could use an input number helper to set the desired temperature like I suggested earlier. That way I suppose it wouldnā€™t matter if itā€™s in c or f? And you donā€™t have to edit the blueprint automation each time youā€™d want to change the desired temperature, but instead change it from your Lovelace dashboard.

I tried adding that but my skills are that good :blush:

Otherwise the bp works great!

1 Like

Thank you, I have updated the blueprint and will test it out

alias: Master Auto fan speed
description: ""
use_blueprint:
  path: >-
    lennon101/adaptive-fan-speed-control-based-on-temperature-and-speed-range.yaml
  input:
    temp_sensor: sensor.accuwather_realfeel_temperature
    max_temp: 90
    min_temp: 75
    fan_switch: fan.air_circulator
    off_temp: 65
    blocker_entity: input_boolean.master_auto_fan

Sure thing. I have a utility/tech room with a heat pump, solar inverter, water boiler and a computer rack. As you can imagine the room gets quite hot, especially during the day since the solar inverter produces a lot of heat. I have installed a ventilation fan, controlled by 0-10V signal. The fan is now able to reduce the temperature to keep the room cold enough. Without it, it would be a sauna :smiley:
See how the fan speed adjusts during the day.

1 Like

This is such a fantastic blueprint. Iā€™m curious if thereā€™s a way to implement a manual override? Iā€™m thinking of the Adaptive Lighting integration in HACS, where if you manually adjust the brightness of a light, Adaptive Lighting wonā€™t mess with it until it turns off and back on again.

1 Like

Awesome to hear youā€™ve found it useful! Yeah Iā€™ve been wondering myself about the manual override. Iā€™m just not sure how best to trigger it (or identify that the fan has been manually controlled).

Methods I can think of so far (that would be a hack at best) are:

  1. Add an Input Boolean: Create an input boolean to act as a flag indicating whether a manual override is in effect.
  2. Detect manual changes: detect manual overrides automatically without needing to toggle an input boolean manually.

The option is easy. The second option is harder.
Happy to have any suggestions from the community as to how this should be done?

I used scripts for manually overriding my cooling fan. I can turn the blueprint off for one hour or set it to manual speed 1-5 for one hour and then activating the BP automation. Auto reactivates the BP automation

Works great, just as the blueprint itself. Now Iā€™m just trying to work out how to set the desired temperature in the blueprint from my dashboard using an input number helper instead of having to edit the blueprint each time.

Still trying to figure out the best way to implement this. Just so I have it right in my head: your desire would be to have an input_helper that allows you to select a preferred temperature and then have min and max temps set using offsets in the blueprint?

Iā€™m thinking that this might be best implemented in a seperate spin-off of the current blueprint for those wanting this feature. Iā€™ll have a play with it and get back to you :slight_smile: