Skip to content

Instantly share code, notes, and snippets.

@alekslyse
Created February 20, 2021 20:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save alekslyse/68ad9bea763f7bebc4c779ce2d34b0c3 to your computer and use it in GitHub Desktop.
Save alekslyse/68ad9bea763f7bebc4c779ce2d34b0c3 to your computer and use it in GitHub Desktop.
ZHA Hue dimmer
blueprint:
name: ZHA - Philips Hue Dimmer Switch
description: 'Control lights with a Philips Hue Dimmer Switch.
The top "on" button will turn the lights on to the last set brightness
(unless the force brightness is toggled on in the blueprint).
Dim up/down buttons will change the brightness smoothly and can be pressed
and hold until the brightness is satisfactory.
The bottom "off" button will turn the lights off.
'
domain: automation
input:
remote:
name: Philips Hue Dimmer Switch
description: Pick either RWL020 (US) or RWL021 (EU)
selector:
device:
integration: zha
manufacturer: Philips
entity:
domain: sensor
device_class: battery
light:
name: Light(s)
description: The light(s) to control
selector:
target:
entity:
domain: light
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: "%"
source_url: https://community.home-assistant.io/t/zha-philips-hue-dimmer-switch/255048
mode: restart
max_exceeded: silent
variables:
force_brightness: !input "force_brightness"
trigger:
- platform: event
event_type: zha_event
event_data:
device_id: !input "remote"
action:
- variables:
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:
- conditions:
- "{{ command == 'on_press' }}"
sequence:
- choose:
- conditions: "{{ force_brightness }}"
sequence:
- service: light.turn_on
target: !input "light"
data:
transition: 1
brightness_pct: !input "brightness"
default:
- service: light.turn_on
target: !input "light"
data:
transition: 1
- conditions:
- "{{ command == 'off_press' }}"
sequence:
- service: light.turn_off
target: !input "light"
data:
transition: 1
- conditions:
- "{{ command == 'up_press' }}"
sequence:
- service: light.turn_on
target: !input "light"
data:
brightness_step_pct: 10
transition: 1
- conditions:
- "{{ command == 'up_hold' }}"
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
- conditions:
- "{{ command == 'down_hold' }}"
sequence:
- service: light.turn_on
target: !input "light"
data:
brightness_step_pct: -25
transition: 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment