deCONZ - Philips Hue Dimmer Switch - Custom Actions

Tags: #<Tag:0x00007f326d301528> #<Tag:0x00007f326d3013c0> #<Tag:0x00007f326d301140>

GitHub Gist: https://gist.github.com/sbyx/67f72210c5f95564adc592fb021d259e

This is a simple blueprint for deCONZ that allows to easily define custom actions for a Philips Hue Dimmer Switch. All 4 buttons can be freely programmed with one press and one hold action sequency each.

This is essentially a deCONZ port based on @mannerisms ZHA - Philips Hue Dimmer Switch (individual buttons with long presses)

Prerequisites

deCONZ and a Philips Hue Dimmer Switch (RWL020 or RWL021)

Blueprint Code

blueprint:
  name: "deCONZ - Philips Hue Dimmer Switch - Custom Actions"
  description: Freely customizable actions for Philips Hue Dimmer Switch buttons.
  domain: automation
  input:
    remote:
      name: Dimmer Switch
      selector:
        device:
          integration: deconz
          manufacturer: Philips
          entity:
            domain: sensor
            device_class: battery
    on_press:
      name: Button 1 (ON) press actions
      default: []
      selector:
        action: {}
    on_hold:
      name: Button 1 (ON) hold actions
      default: []
      selector:
        action: {}
    up_press:
      name: Button 2 (UP) press actions
      default: []
      selector:
        action: {}
    up_hold:
      name: Button 2 (UP) hold actions
      default: []
      selector:
        action: {}
    down_press:
      name: Button 3 (DOWN) press actions
      default: []
      selector:
        action: {}
    down_hold:
      name: Button 3 (DOWN) hold actions
      default: []
      selector:
        action: {}
    off_press:
      name: Button 4 (OFF) press actions
      default: []
      selector:
        action: {}
    off_hold:
      name: Button 4 (OFF) hold actions
      default: []
      selector:
        action: {}

mode: restart
max_exceeded: silent

trigger:
  - platform: event
    event_type: deconz_event
    event_data:
      device_id: !input remote

action:
  - variables:
      event: "{{ trigger.event.data.event }}"
  - choose:
      - conditions:
          - "{{ event == 1002 }}"
        sequence: !input on_press
      - conditions:
          - "{{ event == 1001 }}"
        sequence: !input on_hold
      - conditions:
          - "{{ event == 2002 }}"
        sequence: !input up_press
      - conditions:
          - "{{ event == 2001 }}"
        sequence: !input up_hold
      - conditions:
          - "{{ event == 3002 }}"
        sequence: !input down_press
      - conditions:
          - "{{ event == 3001 }}"
        sequence: !input down_hold
      - conditions:
          - "{{ event == 4002 }}"
        sequence: !input off_press
      - conditions:
          - "{{ event == 4001 }}"
        sequence: !input off_hold

Changelog

  • 2020-01-10: Initial version

My blueprints

3 Likes