Got some dumb motorized blinds at a great price. I wanted to be able to set them at various positions, like 25%,50%,75% closed. As well as fully open and fully closed.
Youll need a door sensor for each blind.
Youll need a counter helper. Set to a step size of 25. Min is 0, max is 100
Youll need a input number helper. Step size of 25. Min 0, Max of 100. I set mine to slider mode.
Once set up, youll control the blind with the Input Number slider. You can put a card on a dashboard for this. In automations, you can use The Call Service-Input number: Set and set the number of the input number entity to the position you want. Example sun angle automation below.
Automation
alias: Stairway Blind Controller
description: ""
trigger:
- platform: state
entity_id:
- input_number.stairway_blind_desired_position
to: "50.0"
id: Open Blind
- platform: state
entity_id:
- input_number.stairway_blind_desired_position
to: "25.0"
id: Open Blind
- platform: state
entity_id:
- input_number.stairway_blind_desired_position
to: "75.0"
id: Open Blind
- platform: state
entity_id:
- input_number.stairway_blind_desired_position
to: "0.0"
id: Send Home
- platform: state
entity_id:
- input_number.stairway_blind_desired_position
to: "100.0"
id: Open Blind
- platform: template
value_template: >-
{{ states('counter.stairway_blind_counter') | int(0) ==
states('input_number.stairway_blind_desired_position') | int(0) }}
for:
hours: 0
minutes: 0
seconds: 0
milliseconds: 100
id: Stop Blind
- type: not_opened
platform: device
device_id: 502e07e66c1dba7b2733952d42f546be
entity_id: binary_sensor.lumi_lumi_sensor_magnet_aq2_opening
domain: binary_sensor
id: Set Counter
for:
hours: 0
minutes: 0
seconds: 0
milliseconds: 50
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: Open Blind
sequence:
- choose:
- conditions:
- condition: numeric_state
entity_id: counter.stairway_blind_counter
above: input_number.stairway_blind_desired_position
sequence:
- service: cover.open_cover
data: {}
target:
entity_id: cover.allen_roth
- wait_for_trigger:
- type: opened
platform: device
device_id: 502e07e66c1dba7b2733952d42f546be
entity_id: binary_sensor.lumi_lumi_sensor_magnet_aq2_opening
domain: binary_sensor
timeout:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- conditions:
- condition: numeric_state
entity_id: counter.stairway_blind_counter
below: input_number.stairway_blind_desired_position
sequence:
- service: cover.close_cover
data: {}
target:
entity_id: cover.allen_roth
- wait_for_trigger:
- type: opened
platform: device
device_id: 502e07e66c1dba7b2733952d42f546be
entity_id: binary_sensor.lumi_lumi_sensor_magnet_aq2_opening
domain: binary_sensor
timeout:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- conditions:
- condition: trigger
id: Stop Blind
sequence:
- device_id: 0c44cd75a79279b72981f4958b083b0a
domain: cover
entity_id: cover.allen_roth
type: stop
- conditions:
- condition: trigger
id: Set Counter
- condition: state
entity_id: cover.allen_roth
state: closed
sequence:
- service: counter.increment
data: {}
target:
entity_id: counter.stairway_blind_counter
- conditions:
- condition: trigger
id: Set Counter
- condition: state
entity_id: cover.allen_roth
state: open
sequence:
- service: counter.decrement
data: {}
target:
entity_id: counter.stairway_blind_counter
- conditions:
- condition: trigger
id: Send Home
sequence:
- device_id: 0c44cd75a79279b72981f4958b083b0a
domain: cover
entity_id: cover.allen_roth
type: open
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
- service: counter.configure
data:
value: 0
target:
entity_id: counter.stairway_blind_counter
mode: single
Example sun angle automation:
alias: Close stairway blind near sunset
description: ""
trigger:
- platform: numeric_state
entity_id: sun.sun
attribute: elevation
below: 13
id: Close Blind 75%
- platform: sun
event: sunset
offset: 0
id: Open Blind
- platform: numeric_state
entity_id: sun.sun
attribute: elevation
below: 24
id: Close Blind 50%
condition:
- condition: state
entity_id: sun.sun
attribute: rising
state: false
action:
- choose:
- conditions:
- condition: trigger
id: Close Blind 75%
sequence:
- service: input_number.set_value
data:
value: 75
target:
entity_id: input_number.stairway_blind_desired_position
- conditions:
- condition: trigger
id: Open Blind
sequence:
- service: input_number.set_value
data:
value: 0
target:
entity_id: input_number.stairway_blind_desired_position
- conditions:
- condition: trigger
id: Close Blind 50%
sequence:
- service: input_number.set_value
data:
value: 50
target:
entity_id: input_number.stairway_blind_desired_position
mode: single