Skip to content

Instantly share code, notes, and snippets.

@mortenmoulder
Created January 30, 2024 11:39
Show Gist options
  • Save mortenmoulder/ba0acb9d67d39346ca9fd63459e57334 to your computer and use it in GitHub Desktop.
Save mortenmoulder/ba0acb9d67d39346ca9fd63459e57334 to your computer and use it in GitHub Desktop.
QUAD-ZIG-SW.yaml
blueprint:
name: QUAD-ZIG-SW
description: Blueprint for controlling actions based on button presses of the QUAD-ZIG-SW.
domain: automation
input:
controller_entity:
name: QUAD-ZIG-SW Entity
description: The action sensor of the device to use for the automation.
default: ''
selector:
entity:
domain: sensor
multiple: false
button_1_single:
name: Button 1 Single Click Action
description: Action to perform when Button 1 is single-clicked.
default: []
selector:
action: {}
button_1_double:
name: Button 1 Double Click Action
description: Action to perform when Button 1 is double-clicked.
default: []
selector:
action: {}
button_1_triple:
name: Button 1 Triple Click Action
description: Action to perform when Button 1 is triple-clicked.
default: []
selector:
action: {}
button_1_hold:
name: Button 1 Hold Action
description: Action to perform when Button 1 is held down.
default: []
selector:
action: {}
button_1_release:
name: Button 1 release Action
description: Action to perform when Button 1 is released after hold.
default: []
selector:
action: {}
button_2_single:
name: Button 2 Single Click Action
description: Action to perform when Button 2 is single-clicked.
default: []
selector:
action: {}
button_2_double:
name: Button 2 Double Click Action
description: Action to perform when Button 2 is double-clicked.
default: []
selector:
action: {}
button_2_triple:
name: Button 2 Triple Click Action
description: Action to perform when Button 2 is triple-clicked.
default: []
selector:
action: {}
button_2_hold:
name: Button 2 Hold Action
description: Action to perform when Button 2 is held down.
default: []
selector:
action: {}
button_2_release:
name: Button 2 release Action
description: Action to perform when Button 2 is released after hold.
default: []
selector:
action: {}
button_3_single:
name: Button 3 Single Click Action
description: Action to perform when Button 3 is single-clicked.
default: []
selector:
action: {}
button_3_double:
name: Button 3 Double Click Action
description: Action to perform when Button 3 is double-clicked.
default: []
selector:
action: {}
button_3_triple:
name: Button 3 Triple Click Action
description: Action to perform when Button 3 is triple-clicked.
default: []
selector:
action: {}
button_3_hold:
name: Button 3 Hold Action
description: Action to perform when Button 3 is held down.
default: []
selector:
action: {}
button_3_release:
name: Button 3 release Action
description: Action to perform when Button 3 is released after hold.
default: []
selector:
action: {}
button_4_single:
name: Button 4 Single Click Action
description: Action to perform when Button 4 is single-clicked.
default: []
selector:
action: {}
button_4_double:
name: Button 4 Double Click Action
description: Action to perform when Button 4 is double-clicked.
default: []
selector:
action: {}
button_4_triple:
name: Button 4 Triple Click Action
description: Action to perform when Button 4 is triple-clicked.
default: []
selector:
action: {}
button_4_hold:
name: Button 4 Hold Action
description: Action to perform when Button 4 is held down.
default: []
selector:
action: {}
button_4_release:
name: Button 4 release Action
description: Action to perform when Button 4 is released after hold.
default: []
selector:
action: {}
trigger:
platform: event
event_type: state_changed
event_data:
entity_id: !input controller_entity
action:
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_1_single' }}"
sequence: !input button_1_single
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_1_double' }}"
sequence: !input button_1_double
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_1_triple' }}"
sequence: !input button_1_triple
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_1_hold' }}"
sequence: !input button_1_hold
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_1_release' }}"
sequence: !input button_1_release
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_2_single' }}"
sequence: !input button_2_single
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_2_double' }}"
sequence: !input button_2_double
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_2_triple' }}"
sequence: !input button_2_triple
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_2_hold' }}"
sequence: !input button_2_hold
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_2_release' }}"
sequence: !input button_2_release
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_3_single' }}"
sequence: !input button_3_single
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_3_double' }}"
sequence: !input button_3_double
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_3_triple' }}"
sequence: !input button_3_triple
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_3_hold' }}"
sequence: !input button_3_hold
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_3_release' }}"
sequence: !input button_3_release
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_4_single' }}"
sequence: !input button_4_single
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_4_double' }}"
sequence: !input button_4_double
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_4_triple' }}"
sequence: !input button_4_triple
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_4_hold' }}"
sequence: !input button_4_hold
- conditions:
- condition: template
value_template: "{{ trigger.event.data.new_state.state == 'button_4_release' }}"
sequence: !input button_4_release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment