Original credit to @robinsmidsrod for writing the quad mote blueprint (ZWaveJS - AEON Labs/Aeotec ZW130 WallMote Quad (all scenes supported)).
A fully-featured blueprint for the Aeotec/AEON Labs WallMote Duo (ZW129) scene controller.
Only compatible with 2021.4.0 and newer.
Supports tap, hold, release (long tap) scene events for all four buttons. Just select the ZWaveJS device for the WallMote Quad and the rest is done.
blueprint:
name: ZWaveJS - Aeotec WallMote Duo scene controller
description: 'Perform actions when Aeotec WallMote Duo buttons are interacted with.
The release action is equivalent to a long tap.
A release action is always triggered after a hold action, which makes
them a bit tricky to use. The hold action is repeated as long as the
button is held down.
'
domain: automation
input:
zwavejs_device:
name: ZWaveJS Device
description: The Aeotec WallMote Duo controller to listen for events on.
selector:
device:
integration: zwave_js
manufacturer: AEON Labs
model: ZW129
tap_left_actions:
name: Tap Left Actions
selector:
action: {}
default: []
tap_right_actions:
name: Tap Right Actions
selector:
action: {}
default: []
release_left_actions:
name: Release Left Actions
selector:
action: {}
default: []
release_right_actions:
name: Release Right Actions
selector:
action: {}
default: []
hold_left_actions:
name: Hold Left Actions
selector:
action: {}
default: []
hold_right_actions:
name: Hold Right Actions
selector:
action: {}
default: []
source_url: https://community.home-assistant.io/t/zwavejs-aeon-labs-aeotec-zw129-wallmote-due-all-scenes-supported/313610
mode: single
trigger:
- platform: event
event_type: zwave_js_value_notification
variables:
logger: blueprint.zwavejs_scene_activation
zwavejs_device: !input 'zwavejs_device'
action:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.device_id == zwavejs_device }}'
- condition: template
value_template: '{{ trigger.event.data.command_class_name == ''Central Scene''
}}'
sequence:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_right_actions'
default:
- service: system_log.write
data:
level: debug
logger: '{{ logger }}'
message: Activated scene '{{ trigger.event.data.label }}' with value '{{
trigger.event.data.value }}' for node '{{ zwavejs_device }}' ({{ trigger.event.data.node_id
}})
default: []