@xbmcnut you asked for it in gist, but I couldn’t paste the code there properly. So try here. Here are my little additions to the already excellent Blueprint:
blueprint:
name: Z2M - Tradfri E1743 Switch On Off Dimming Light
description:
"Controls a light with a switch given by ENTITY. \n\n Short Button press
will toggle light for both Buttons (helpfull in darkness) \n\n Mode set to restart
is mandatory for stop after long press to work."
domain: automation
input:
source_switch_action:
name: Tradfri E1743 Switch
description: The switch-action which triggers this automation.
selector:
entity:
filter:
- integration: mqtt
domain:
- sensor
multiple: false
target_light:
name: Target Light
description: the light you want to control.
selector:
target: {}
force_brightness:
name: Force turn on brightness
description: >
Force the brightness to the set level below, when the "on" button on
the remote is pushed and lights turn on.
default: false
selector:
boolean:
brightness:
name: Brightness
description: Brightness of the light(s) when turning on
default: 100
selector:
number:
min: 0
max: 100
mode: slider
step: 1
unit_of_measurement: "%"
helper_transition_dim:
name: Helper - Transition time for dimming up / down
description: Transition time in seconds for dimming up / down. 0 makes visible steps. Greater than 0.1 makes it smoother. (0.0-10.0)
default: 0.5
selector:
number:
min: 0.0
max: 10.0
mode: box
step: 0.5
helper_delay:
name: Helper - Delay between each dimming step
description: How long should be delayed between each step of dimming in milliseconds. 0 makes no delay. (10-2000)
default: 200
selector:
number:
min: 10
max: 2000
mode: box
step: 10
#source_url: https://gist.github.com/FloppyGit/efaa93c1d63676e30c4b61adb4a861ac
alias: Z2M - Tradfri E1743 Switch On Off Dimming Light
description: ""
variables:
force_brightness: !input force_brightness
trigger:
- platform: state
entity_id: !input source_switch_action
id: "on"
to: "on"
- platform: state
entity_id: !input source_switch_action
id: "off"
to: "off"
- platform: state
entity_id: !input source_switch_action
id: brightness_move_up
to: brightness_move_up
- platform: state
entity_id: !input source_switch_action
id: brightness_move_down
to: brightness_move_down
- platform: state
entity_id: !input source_switch_action
id: brightness_stop
to: brightness_stop
condition: []
action:
- variables:
command: "{{ trigger.to_state.state }}"
- choose:
- conditions:
- condition: trigger
id:
- "on"
sequence:
- choose:
- conditions: "{{ force_brightness }}"
sequence:
- service: light.toggle
target: !input target_light
data:
brightness_pct: !input brightness
default:
- service: light.toggle
data: {}
target: !input target_light
- conditions:
- condition: trigger
id:
- "off"
sequence:
- service: light.toggle
data: {}
target: !input target_light
- conditions:
- condition: trigger
id:
- brightness_move_up
sequence:
- repeat:
sequence:
- service: light.turn_on
data:
brightness_step_pct: 5
transition: !input helper_transition_dim
target: !input target_light
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: !input helper_delay
count: 50
- conditions:
- condition: trigger
id:
- brightness_move_down
sequence:
- repeat:
sequence:
- service: light.turn_on
data:
transition: !input helper_transition_dim
brightness_step_pct: -5
target: !input target_light
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: !input helper_delay
count: 50
mode: restart
EDIT: Syntax Changes with Core 2024.08 - 2024.10
blueprint:
name: Z2M - Tradfri E1743 Switch On Off Dimming Light
description:
"Controls a light with a switch given by ENTITY. \n\n Short Button press
will toggle light for both Buttons (helpfull in darkness) \n\n Mode set to restart
is mandatory for stop after long press to work. Angepasste Blaupause! Original, siehe source_url"
domain: automation
input:
source_switch_action:
name: Tradfri E1743 Switch
description: The switch-action which triggers this automation.
selector:
entity:
filter:
- integration: mqtt
domain:
- sensor
multiple: false
target_light:
name: Target Light
description: the light you want to control.
selector:
target: {}
force_brightness:
name: Force turn on brightness
description: >
Force the brightness to the set level below, when the "on" button on
the remote is pushed and lights turn on.
default: false
selector:
boolean:
brightness:
name: Brightness
description: Brightness of the light(s) when turning on
default: 100
selector:
number:
min: 0
max: 100
mode: slider
step: 1
unit_of_measurement: "%"
helper_transition_dim:
name: Helper - Transition time for dimming up / down
description: Transition time in seconds for dimming up / down. 0 makes visible steps. Greater than 0.1 makes it smoother. (0.0-10.0)
default: 0.5
selector:
number:
min: 0.0
max: 10.0
mode: box
step: 0.5
helper_delay:
name: Helper - Delay between each dimming step
description: How long should be delayed between each step of dimming in milliseconds. 0 makes no delay. (10-2000)
default: 200
selector:
number:
min: 10
max: 2000
mode: box
step: 10
#source_url: https://gist.github.com/FloppyGit/efaa93c1d63676e30c4b61adb4a861ac
alias: Z2M - Tradfri E1743 Switch On Off Dimming Light
description: ""
variables:
force_brightness: !input force_brightness
triggers:
- trigger: state
entity_id: !input source_switch_action
id: "on"
to: "on"
- trigger: state
entity_id: !input source_switch_action
id: "off"
to: "off"
- trigger: state
entity_id: !input source_switch_action
id: brightness_move_up
to: brightness_move_up
- trigger: state
entity_id: !input source_switch_action
id: brightness_move_down
to: brightness_move_down
- trigger: state
entity_id: !input source_switch_action
id: brightness_stop
to: brightness_stop
conditions: []
actions:
- variables:
command: "{{ trigger.to_state.state }}"
- choose:
- conditions:
- condition: trigger
id:
- "on"
sequence:
- choose:
- conditions: "{{ force_brightness }}"
sequence:
- action: light.toggle
target: !input target_light
data:
brightness_pct: !input brightness
default:
- action: light.toggle
data: {}
target: !input target_light
- conditions:
- condition: trigger
id:
- "off"
sequence:
- action: light.toggle
data: {}
target: !input target_light
- conditions:
- condition: trigger
id:
- brightness_move_up
sequence:
- repeat:
sequence:
- action: light.turn_on
data:
brightness_step_pct: 5
transition: !input helper_transition_dim
target: !input target_light
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: !input helper_delay
count: 50
- conditions:
- condition: trigger
id:
- brightness_move_down
sequence:
- repeat:
sequence:
- action: light.turn_on
data:
transition: !input helper_transition_dim
brightness_step_pct: -5
target: !input target_light
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: !input helper_delay
count: 50
mode: restart