Home Assistant — Smart Blind Setup & Automation
Hardware
| Device | Details |
|---|---|
| Home Assistant Green | Built-in Silicon Labs MGM210P Zigbee/Thread radio |
| Smartwings blind | Zigbee motorized roller blind |
| Integration | ZHA (Zigbee Home Automation) — built into HA, no extra software needed |
Step 1: Enable ZHA and Pair the Blind
- In Home Assistant, go to Settings → Devices & Services
- Click + Add Integration and search for Zigbee Home Automation (ZHA)
- HA will detect the built-in radio automatically — select it and confirm
- Once ZHA is running, click Add Device to open a 60-second pairing window
- Put the Smartwings blind into pairing mode:
- Press and hold the reset/pair button on the blind motor until the LED flashes (refer to Smartwings manual for exact button location — typically 5 seconds)
- HA will discover the blind and add it as a Cover device
- Give it a friendly name (e.g.,
Bedroom BlindorLiving Room Blind)
Step 2: Find Your Entity ID
After pairing, HA assigns an entity ID to the blind. You need this for the automation.
- Go to Settings → Devices & Services → ZHA → your blind device
- Look for the entity listed under Controls — it will be something like:
cover.smartwings_blindcover.bedroom_blindcover.living_room_blind
- Note this ID exactly — replace
cover.smartwings_blindin the automation below with your actual entity ID
You can also find it at Settings → Entities and search for your blind name.
Step 3: Test Manual Control
Before setting up automation, confirm the blind responds:
- Go to Developer Tools → Actions (formerly Services)
- Search for
cover.set_cover_position - Set target entity to your blind’s entity ID
- Set
positionto50and click Perform Action - The blind should move to 50% open — if it does, you’re ready
Position scale in HA:
100= fully open,0= fully closed. So “30% down” = position70.
Step 4: Create the Automation
Option A — Via the UI
- Go to Settings → Automations & Scenes → + Create Automation → Create new automation
- Add 4 triggers (all type: Time):
22:00— label itten_pm23:00— label iteleven_pm00:00— label itmidnight07:00— label itmorning
- Skip conditions
- Add a Choose action with 4 branches, one per trigger:
| Trigger | Condition | Action |
|---|---|---|
ten_pm | Trigger ID = ten_pm | Set cover position → 70 |
eleven_pm | Trigger ID = eleven_pm | Set cover position → 50 |
midnight | Trigger ID = midnight | Set cover position → 5 |
morning | Trigger ID = morning | Set cover position → 100 |
- Save and name it something like
Blinds Evening Schedule
Option B — YAML (paste directly into automations.yaml)
alias: Blinds Evening Schedule
description: Gradually close blinds through the evening, open fully in the morning
triggers:
- trigger: time
at: "22:00:00"
id: ten_pm
- trigger: time
at: "23:00:00"
id: eleven_pm
- trigger: time
at: "00:00:00"
id: midnight
- trigger: time
at: "07:00:00"
id: morning
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: ten_pm
sequence:
- action: cover.set_cover_position
target:
entity_id: cover.smartwings_blind
data:
position: 70
- conditions:
- condition: trigger
id: eleven_pm
sequence:
- action: cover.set_cover_position
target:
entity_id: cover.smartwings_blind
data:
position: 50
- conditions:
- condition: trigger
id: midnight
sequence:
- action: cover.set_cover_position
target:
entity_id: cover.smartwings_blind
data:
position: 5
- conditions:
- condition: trigger
id: morning
sequence:
- action: cover.set_cover_position
target:
entity_id: cover.smartwings_blind
data:
position: 100
mode: singleReplace
cover.smartwings_blindwith your actual entity ID from Step 2.
To paste YAML:
- Go to Settings → Automations & Scenes
- Click + Create Automation → Create new automation
- Click the three-dot menu (top right) → Edit in YAML
- Paste the block above, update the entity ID, and save
Position Reference
| Goal | Position Value |
|---|---|
| Fully open | 100 |
| 30% down (10 PM) | 70 |
| 50% down (11 PM) | 50 |
| 95% down (midnight) | 5 |
| Fully closed | 0 |
Checklist
- ZHA integration enabled
- Blind paired and showing in HA
- Entity ID confirmed (replace placeholder in automation)
- Manual control tested via Developer Tools
- Automation created and enabled
- Tested by temporarily changing a trigger time to 1 minute from now