91 lines
2.1 KiB
YAML
91 lines
2.1 KiB
YAML
blueprint:
|
|
name: Multi-Tap Scene Controller (Zooz & HomeSeer)
|
|
description: >
|
|
Control lights or switches based on single, double, or triple tap
|
|
up/down events from a Z-Wave switch (e.g., Zooz or HomeSeer).
|
|
domain: automation
|
|
input:
|
|
master_device:
|
|
name: Master Device(s)
|
|
selector:
|
|
device:
|
|
multiple: true
|
|
|
|
slave_entities:
|
|
name: Slave Lights or Switches
|
|
selector:
|
|
target:
|
|
entity:
|
|
domain:
|
|
- light
|
|
- switch
|
|
|
|
tap_types:
|
|
name: Tap Type(s)
|
|
selector:
|
|
select:
|
|
multiple: true
|
|
options:
|
|
- KeyPressed
|
|
- KeyPressed2x
|
|
- KeyPressed3x
|
|
|
|
tap_up:
|
|
name: Trigger on Tap Up?
|
|
default: true
|
|
selector:
|
|
boolean: {}
|
|
|
|
tap_down:
|
|
name: Trigger on Tap Down?
|
|
default: true
|
|
selector:
|
|
boolean: {}
|
|
|
|
trigger:
|
|
- platform: event
|
|
event_type: zwave_js_value_notification
|
|
|
|
variables:
|
|
tap_types: !input tap_types
|
|
tap_up: !input tap_up
|
|
tap_down: !input tap_down
|
|
master_device_ids: !input master_device
|
|
|
|
condition:
|
|
- condition: template
|
|
value_template: >
|
|
{% set evt = trigger.event.data %}
|
|
{{ evt.command_class_name == 'Central Scene' and
|
|
evt.value in tap_types and
|
|
(
|
|
(tap_up and evt.property_key == 0) or
|
|
(tap_down and evt.property_key == 1)
|
|
) and
|
|
evt.device_id in master_device_ids }}
|
|
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ trigger.event.data.property_key == 0 }}"
|
|
sequence:
|
|
- service: homeassistant.turn_on
|
|
target: !input slave_entities
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{ trigger.event.data.property_key == 1 }}"
|
|
sequence:
|
|
- service: homeassistant.turn_off
|
|
target: !input slave_entities
|
|
|
|
# Optional: Log the event data for troubleshooting
|
|
- service: system_log.write
|
|
data:
|
|
message: >
|
|
Multi-Tap Triggered: {{ trigger.event.data }}
|
|
level: info
|
|
|
|
mode: single
|
|
|