A blueprint to quickly assign the Scene buttons on the Vesternet Z-Wave Wall Controller (4 Button version)
This device has 4 keys and supports the following inputs:
- Pressed
- Held Down
- Released
blueprint:
name: Z-Wave JS - Vesternet Wall Controller 4-Button
description:
"Create automations for Vesternet 4-Button Scene Controller [VES-ZW-WAL-008](https://www.vesternet.com/en-global/collections/z-wave-keyfobs-remotes-wall-controllers/products/vesternet-z-wave-wall-controller-4-button) using the Z-Wave JS integration.
The buttons are labelled assuming the LED is positioned at the top of the device.
The automations supports the following triggers for each button:
* Pressed
* Held Down
* Released
"
domain: automation
input:
vesternet_device:
name: Vesternet 4-Button Controller
description: List of available Vesternet 4-Button devices.
selector:
device:
integration: zwave_js
manufacturer: Vesternet
model: VES-ZW-WAL-008
I1_key_pressed:
name: Top ON (I) Key Pressed
description: Action to run when Top ON (I) button is pressed
default: []
selector:
action: {}
O1_key_pressed:
name: Top OFF (O) Key Pressed
description: Action to run when top OFF (O) button is pressed
default: []
selector:
action: {}
I2_key_pressed:
name: Bottom ON (I) Key Pressed
description: Action to run when bottom ON (I) button is pressed
default: []
selector:
action: {}
O2_key_pressed:
name: Bottom OFF (O) Key Pressed
description: Action to run when Bottom OFF (O) button is pressed
default: []
selector:
action: {}
I1_key_held_down:
name: Top ON (I) Held Down
description: Action to run when top ON (I) button is held down
default: []
selector:
action: {}
I1_key_released:
name: ON (I) Released
description: Action to run when top ON (I) button is released after being held down.
default: []
selector:
action: {}
O1_key_held_down:
name: Top OFF (O) Held Down
description: Action to run when top OFF (O) button is held down
default: []
selector:
action: {}
O1_key_released:
name: Top OFF (O) Released
description: Action to run when top OFF (O) button is released after being held down.
default: []
selector:
action: {}
I2_key_held_down:
name: Bottom ON (I) Held Down
description: Action to run when bottom ON (I) button is held down
default: []
selector:
action: {}
I2_key_released:
name: Bottom ON (I) Released
description: Action to run when bottom ON (I) button is released after being held down.
default: []
selector:
action: {}
O2_key_held_down:
name: Bottom OFF (O) Held Down
description: Action to run when bottom OFF (O) button is held down
default: []
selector:
action: {}
O2_key_released:
name: Bottom OFF (O) Released
description: Action to run when bottom OFF (O) button is released after being held down.
default: []
selector:
action: {}
source_url: https://github.com/beerygaz/ha-bp-VES-ZW-WAL-008/blob/ad1c175a601fd8928de103f5144ee8a4d40a3c48/VES-ZW-WAL-008.yaml
mode: single
max_exceeded: silent
variables:
device_id: !input "vesternet_device"
trigger:
- platform: event
event_type: zwave_js_value_notification
condition: "{{ trigger.event.data.device_id == device_id }}"
action:
- variables:
property_key_name: "{{ trigger.event.data.property_key_name }}"
property_name: "{{ trigger.event.data.property_name }}"
label: "{{ trigger.event.data.label }}"
command_class_name: "{{ trigger.event.data.command_class_name }}"
value: "{{ trigger.event.data.value }}"
node_id: "{{ trigger.event.data.node_id }}"
- service: logbook.log
data:
name: Z-Wave JS
message:
"received event from node {{node_id}}: {{ command_class_name }} - {{
value }} - {{ label }}"
- choose:
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '001'\n\
\ and value == 'KeyPressed' }}\n"
sequence: !input "I1_key_pressed"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '002'\n\
\ and value == 'KeyPressed' }}\n"
sequence: !input "O1_key_pressed"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '003'\n\
\ and value == 'KeyPressed' }}\n"
sequence: !input "I2_key_pressed"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '004'\n\
\ and value == 'KeyPressed' }}\n"
sequence: !input "O2_key_pressed"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '001'\n\
\ and value == 'KeyHeldDown' \n}}\n"
sequence: !input "I1_key_held_down"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '001'\n\
\ and value == 'KeyReleased' \n}}\n"
sequence: !input "I1_key_released"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '002'\n\
\ and value == 'KeyHeldDown' \n}}\n"
sequence: !input "O1_key_held_down"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '002'\n\
\ and value == 'KeyReleased' \n}}\n"
sequence: !input "O1_key_released"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '003'\n\
\ and value == 'KeyHeldDown' \n}}\n"
sequence: !input "I2_key_held_down"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '003'\n\
\ and value == 'KeyReleased' \n}}\n"
sequence: !input "I2_key_released"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '004'\n\
\ and value == 'KeyHeldDown' \n}}\n"
sequence: !input "O2_key_held_down"
- conditions:
"{{ property_name == 'scene' \n and property_key_name == '004'\n\
\ and value == 'KeyReleased' \n}}\n"
sequence: !input "O2_key_released"