blueprint:
name: Zooz ZEN34 Remote scene control
description: |
Use the Zooz ZEN34 remote to trigger Scenes and control devices based on varying scenes.
This Blueprint is currently configured for the legacy Open Zwave integration, but could be adapted in future to use the new zwaveJS platform.
domain: automation
input:
zwave_entity:
name: Zwave Entity
description: The Aeotec WallMote Quad controller to listen for events on.
selector:
entity:
domain: zwave
1x_tap_up:
name: Tap up 1x
selector:
action:
default: []
1x_tap_down:
name: Tap down 1x
selector:
action:
default: []
2x_tap_up:
name: Tap up 2x
selector:
action:
default: []
2x_tap_down:
name: Tap down 2x
selector:
action:
default: []
3x_tap_up:
name: Tap up 3x
selector:
action:
default: []
3x_tap_down:
name: Tap down 3x
selector:
action:
default: []
4x_tap_up:
name: Tap up 4x
selector:
action:
default: []
4x_tap_down:
name: Tap down 4x
selector:
action:
default: []
5x_tap_up:
name: Tap up 5x
selector:
action:
default: []
5x_tap_down:
name: Tap down 5x
selector:
action:
default: []
hold_up:
name: Hold up
selector:
action:
default: []
hold_down:
name: Hold down
selector:
action:
default: []
mode: single
trigger:
- platform: event
event_type: zwave.scene_activated
variables:
logger: blueprint.zwave_scene_activation
zwave_entity: !input zwave_entity
action:
- choose:
# IF triggered node_id is zwave_entity node_id
- conditions:
- condition: template
value_template: "{{ trigger.event.data.node_id == state_attr(zwave_entity, 'node_id') }}"
sequence:
- choose:
# IF 1x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7680 }}"
sequence: !input 1x_tap_up
# IF 1x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7680 }}"
sequence: !input 1x_tap_down
# IF 2x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7860 }}"
sequence: !input 2x_tap_up
# IF 2x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7860 }}"
sequence: !input 2x_tap_down
# IF 3x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7920 }}"
sequence: !input 3x_tap_up
# IF 3x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7920 }}"
sequence: !input 3x_tap_down
# IF 4x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7980 }}"
sequence: !input 4x_tap_up
# IF 4x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7980 }}"
sequence: !input 4x_tap_down
# IF 5x tap up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 8040 }}"
sequence: !input 5x_tap_up
# IF 5x tap down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 8040 }}"
sequence: !input 5x_tap_down
# IF hold up
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7800 }}"
sequence: !input hold_up
# IF hold down
- conditions:
- condition: template
value_template: "{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7800 }}"
sequence: !input hold_down
# ELSE: unhandled scene_id/scene_data
default:
- service: system_log.write
data:
level: debug
logger: "{{ logger }}"
message: "Activated scene '{{ trigger.event.data.scene_label }}' ({{ trigger.event.data.scene_id }}) with value '{{ trigger.event.data.scene_value_label }}' ({{ trigger.event.data.scene_data }}) for node '{{ zwave_entity }}' ({{ trigger.event.data.node_id }})"
# ELSE: unhandled zwave event
default: []
awesome! thanks for this. I hope you don’t mind, I used this as a template to make a similar one for the aeon minimote: