133 lines
4.0 KiB
YAML
133 lines
4.0 KiB
YAML
blueprint:
|
|
name: Philips Hue Dimmer Remote
|
|
description: "Control lights with a Philips Hue Dimmer Switch."
|
|
domain: automation
|
|
input:
|
|
remote:
|
|
name: Philips Hue Dimmer Switch
|
|
description: Pick either RWL020 (US) or RWL021 (EU) or RWL022 (EU)
|
|
selector:
|
|
device:
|
|
integration: zha
|
|
manufacturer: Signify Netherlands B.V.
|
|
model: RWL022
|
|
light:
|
|
name: Controlled light
|
|
description: The light(s) to control with single press
|
|
selector:
|
|
target:
|
|
entity: {}
|
|
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.0
|
|
max: 100.0
|
|
mode: slider
|
|
step: 1.0
|
|
unit_of_measurement: "%"
|
|
current_light:
|
|
name: (OPTIONAL) Current Light
|
|
description:
|
|
'Text helper to track the current light to dim. Set for the dimmer controls to change which light they are controlling according to the last one turned on.
|
|
For instance, double press "on" and then the dimmer buttons will control the Double Press Light'
|
|
default:
|
|
selector:
|
|
entity:
|
|
domain: input_text
|
|
source_url: https://github.com/xeppaka/ha-automations/blob/main/philips_zigbee_dimmer_simple.yaml
|
|
mode: restart
|
|
max_exceeded: silent
|
|
trigger:
|
|
- platform: event
|
|
event_type: zha_event
|
|
event_data:
|
|
device_id: !input "remote"
|
|
action:
|
|
- variables:
|
|
light: !input light
|
|
command: "{{ trigger.event.data.command }}"
|
|
cluster_id: "{{ trigger.event.data.cluster_id }}"
|
|
endpoint_id: "{{ trigger.event.data.endpoint_id }}"
|
|
args: "{{ trigger.event.data.args }}"
|
|
- choose:
|
|
- condition:
|
|
- and:
|
|
- "{{ command == 'on_press' }}"
|
|
- "{{ is_state(light, 'off') }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
transition: 1
|
|
brightness_pct: !input "brightness"
|
|
- conditions:
|
|
- "{{ command == 'off_with_effect' }}"
|
|
sequence:
|
|
- service: light.turn_off
|
|
target: !input "light"
|
|
data:
|
|
transition: 1
|
|
- conditions:
|
|
- "{{ command == 'step' }}"
|
|
- "{{ args == [0, 30, 9] }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
brightness_step_pct: 10
|
|
transition: 1
|
|
- conditions:
|
|
- "{{ command == 'step' }}"
|
|
- "{{ args == [0, 63, 9] }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
brightness_step_pct: 25
|
|
transition: 1
|
|
- conditions:
|
|
- "{{ command == 'up_press' }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
brightness_step_pct: 10
|
|
transition: 1
|
|
- conditions:
|
|
- "{{ command == 'step' }}"
|
|
- "{{ args == [1, 30, 9] }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
brightness_step_pct: -10
|
|
transition: 1
|
|
- conditions:
|
|
- "{{ command == 'step' }}"
|
|
- "{{ args == [1, 63, 9] }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
brightness_step_pct: -25
|
|
transition: 1
|
|
- conditions:
|
|
- "{{ command == 'down_press' }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target: !input "light"
|
|
data:
|
|
brightness_step_pct: -10
|
|
transition: 1
|