Let the Sunshine In: Automating IKEA Blinds with Home Assistant
Save money, nap better, boost privacy, and make your home smarter by automating your blinds like a pro.

Why Automate Your Blinds?
Smart blinds might seem like a luxury, but they can have a real impact on daily life. Here's why automating your IKEA blinds (or any other motorized blinds) is a smart move:
- Cost Savings: Keep your house cooler in summer and warmer in winter by managing sunlight automatically. This reduces the strain on your HVAC system and can lower your utility bills.
- Nap Optimization: Block out midday light perfectly when you need rest or relaxation.
- Privacy: Automatically close blinds at night or when you’re away to prevent outsiders from peeking in.
- It's Just Darn Cool: There's a certain wow factor when your blinds silently adjust themselves based on the weather or time of day.
This automation approach works with more than just IKEA's Fyrtur and Kadrilj blinds. Whether you're using high-end Lutron Serena blinds, retrofit solutions like SwitchBot Curtain, or any brand that integrates with Home Assistant, the principles are the same.
My Dining Room Setup
In my home, I have IKEA Fyrtur blinds integrated with Home Assistant. I use two custom scripts: one for opening and one for closing. These give me flexibility and allow me to trigger blind control based on automations, sensors, time, or weather.
Let's break them down.
📜 Opening Script – How It Works
alias: Open Blinds
sequence:
- condition: template
value_template: "{{ state_attr(blind, 'current_position') != 100 }}"
- target:
entity_id: "{{ blind }}"
action: cover.open_cover
mode: parallel
icon: mdi:blinds-open
fields:
blind:
name: Blind
description: Entity name of blind to be opened
required: true
selector:
entity:
domain: cover
Explanation:
-
alias
: The name of the script. -
sequence
: This is the list of steps the script runs. - The first step uses a template condition to check if the blind is already open (position 100). If it is, the script does nothing.
- If not, it proceeds to send an
open_cover command to the blind specified via the
blind
field. -
mode: parallel
allows multiple instances to run without blocking each other. - The
fields
section makes the script reusable—you can pass in any cover entity when calling this script.
📜 Closing Script – Adaptive and Smart
alias: Close Blinds
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(sensor, 'off') }}"
- condition: template
value_template: "{{ state_attr(blind, 'current_position') | int != 0 }}"
sequence:
- target:
entity_id: "{{ blind }}"
data:
position: 0
action: cover.set_cover_position
- conditions:
- condition: template
value_template: "{{ is_state(sensor, 'on') }}"
- condition: template
value_template: "{{ state_attr(blind, 'current_position') | int != 35 }}"
sequence:
- target:
entity_id: "{{ blind }}"
data:
position: 35
action: cover.set_cover_position
mode: parallel
fields:
blind:
selector:
entity:
domain: cover
multiple: false
name: Blind
required: true
description: Blind that will be closed
sensor:
selector:
entity:
domain: binary_sensor
name: Sensor
required: true
description: Sensor to tell if the window is open.
Explanation:
- This script is more complex. It makes decisions based on the state of a window sensor.
- If the window is
closed (
sensor == 'off'
), the blinds close completely (position: 0
). - If the window is
open (
sensor == 'on'
), the blinds close partially to position 35 to avoid hitting the open window while still blocking some light. - Like the open script, this script is modular—you can pass in which blind and sensor to use.
🧠 Automation Logic: Dining Room Blind Control
alias: "Daily Actions: Dinning Room Blinds"
description: ""
mode: single
triggers:
- at: "14:00:01"
trigger: time
- at: "04:00:01"
trigger: time
- event: sunset
offset: 0
trigger: sun
- event: sunrise
offset: 0
trigger: sun
- entity_id:
- weather.home
attribute: forecast
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: time
after: "04:00:00"
before: "14:00:00"
sequence:
- if:
- condition: not
conditions:
- condition: state
entity_id: cover.dinning_room_blinds
attribute: current_position
state: "100"
then:
- data:
position: 100
target:
entity_id: cover.dinning_room_blinds
action: cover.set_cover_position
- conditions:
- condition: time
after: "14:00:00"
before: input_datetime.dusktoday
weekday:
- sun
- mon
- tue
- wed
- thu
- fri
- sat
sequence:
- if:
- condition: or
conditions:
- condition: state
entity_id: weather.home
state: partlycloudy
- condition: state
entity_id: weather.home
state: sunny
then:
- if:
- condition: not
conditions:
- condition: state
entity_id: cover.dinning_room_blinds
attribute: current_position
state: "0"
then:
- data:
position: 0
target:
entity_id: cover.dinning_room_blinds
action: cover.set_cover_position
else:
- if:
- condition: not
conditions:
- condition: state
entity_id: cover.dinning_room_blinds
attribute: current_position
state: "100"
then:
- data:
position: 100
target:
entity_id: cover.dinning_room_blinds
action: cover.set_cover_position
- conditions:
- condition: time
after: input_datetime.dusktoday
before: "04:00:00"
sequence:
- if:
- condition: not
conditions:
- condition: state
entity_id: cover.dinning_room_blinds
attribute: current_position
state: "0"
then:
- data:
position: 0
target:
entity_id: cover.dinning_room_blinds
action: cover.set_cover_position
Explanation:
- This automation uses multiple triggers: time-based (4 AM, 2 PM), solar events (sunrise, sunset), and weather forecast changes.
- Actions are broken down into
choose
blocks based on the time of day: - Morning (4 AM – 2 PM): Opens the blinds if they’re not already open.
- Afternoon (2 PM – dusk): If it's sunny or partly cloudy, close the blinds to block heat. If not sunny, open them.
- Evening (after dusk – 4 AM): Close the blinds for privacy and temperature control.
- The automation uses
input_datetime.dusktoday
to dynamically set dusk time. - Conditional logic avoids sending redundant commands if the blinds are already in the correct position.
🌟 Additional Smart Blind Ideas & Scenes
Once you have automated blinds working in Home Assistant, the possibilities really open up. Here are some advanced and fun ideas to take your setup to the next level:
1. 🕹️ Remote Control with Automation Override
Use a Zigbee or Bluetooth remote (like the IKEA five-button remote) to manually open or close blinds. You can create automations that detect remote input and set an input_boolean like
input_boolean.blinds_override
. When this override is
on
, your regular automations will skip executing until it’s turned off—allowing for true manual control.
2. 😴 Nap Scene
Set up a Nap Scene that closes the blinds, silences notifications, and maybe even turns on a sound machine. Like the remote control override, this scene could also trigger a
blinds_override
switch to pause scheduled automations for a set period of time (like 90 minutes).
3. 🛏️ Respect Sleep in the Bedroom
Use bed presence sensors (like a pressure mat or
binary_sensor.bed_occupancy
) or Home Assistant’s person tracking. If someone is detected in bed during a scheduled “open blinds” time, delay or cancel the action. This is perfect for weekends or shift workers who need to sleep in!
4. 🌤️ Adjust Based on Outdoor Conditions
Use a lux sensor outside your home to only close blinds if actual sunlight is hitting the window (not just if it’s “sunny” in the forecast). This keeps the blinds open on bright but cloudy days or during winter months when the sun angle is low.
5. 🧳 Vacation Mode
Set your blinds to follow a randomized schedule when you're away from home. Combined with presence detection, this can add a layer of security by making your house appear lived-in.
6. 🎬 Movie Time Scene
Have your blinds close automatically when a media player starts playing content. Combine this with dimming the lights and launching your favorite streaming app for the full home theater experience.
Final Thoughts
This setup gives you complete control and automation over your blinds—whether IKEA, Lutron, SwitchBot, or another brand. From cost savings and comfort to privacy and style, smart blinds can seriously level up your home.
Let Heritage Home Technologies help you install, configure, and fine-tune your smart shades—we’ll make sure your setup is just as cool as it is practical.