Skip to content

Automatically control a room fan's speed based on a temperature sensor. Please ⭐ if you like this app :)

License

Notifications You must be signed in to change notification settings

UbhiTS/ad-autofanspeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Auto 'Fan Speed' Controller 🐔

hacs_badge

Automatically control your room/ceiling fan speed using a temperature sensor (like a room thermostat, or a multi sensor)

Where we live, there is a huge difference between day:sunny: and night:first_quarter_moon_with_face: temperatures, sometimes more than 25F. At 10 in the night, the temperature could be 75F:fire:, but at 3 in the morning it could be as low as 50F:snowflake:. So when you sleep it's kinda hot and you need the fan on high, but then early morning you are cold. So you have to wake up, get up from your bed, walk to the switch and lower the fan speed thereby losing valuable sleep.

Another big problem this app solves is the "feels like" syndrome. In the morning when the sun shines through your room window:sunrise:, 75F actually feels more like 85F. This app includes a temperature offset setting that adjusts the temp range based on whether the sun is above the horizon or below.

Finally, to save energy:moneybag:, you could ask the app to only control the fan speed during a particular time and also turn off the fan at the end time :)

Ever since we've set this up in our home:house_with_garden:, we've never had to worry about the fan speed. More comfort, and more sleep ... Awesome!

Please ⭐ this repo if you like my work and also check out my other repos like

Also, if you want to see a walkthrough of my Home Assistant configuration, I have my video walkthrough on youtube below

Prerequisites

You need the 💥sun💥 component configured in your configuration.yaml

Installation

Use HACS or download the auto_fan_speed.py from inside the apps directory to your local apps directory, and add the following configuration to enable the app.

Configuration (with Optional Speech Notifications)

auto_fan_speed_master_bedroom:
  module: auto_fan_speed
  class: AutoFanSpeed
  temp_sensor: sensor.thermostat_master_bedroom_temperature
  fan: fan.master_bedroom_fan
  sun: sun.sun
  speeds:
    low: 67
    medium: 69
    high: 73
    sun_offset: -2
  time:
    start: "21:00:00"
    end: "09:30:00"
    turn_off_at_end_time: True
  debug: false
key optional type description
module False string The module name of the app
class False string The name of the Class
temp_sensor False sensor the local room temperature sensor
fan False fan fan switch
sun False sun home assistant sun sun sensor
speeds|low False number The fan will be switched "off" below this temperature and "low speed" between low and medium temperatures
speeds|medium False number The fan will be at "medium speed" between medium and high temperatures
speeds|high False number The fan will be at "high speed" at or above this temperature
speeds|sun_offset False number normally "-ve". how much of the temperature to adjust by when the sun rises and is above horizon
time|start False time Only control between start and end times. if you only want to auto control the fan speed at night for example. This is in 24h format
time|end False time Every start has an end. This one too 😏
time|turn_off_at_end_time False bool Turn off the fan at the end time, to save energy and ensure that the fan doesnt run all day.
debug True bool if True, outputs messages to the AppDaemon Log

Thank you! 🙌

This app wouldn't be possible without the amazing work done by the developers and community at Home Assistant.

If you like my work and feel gracious, you can buy me a beer below ;)

Buy Me A Beer

License

Apache-2.0. By providing a contribution, you agree the contribution is licensed under Apache-2.0. This is required for Home Assistant contributions.