ZWaveJS - AEON Labs/Aeotec ZW129 WallMote Due (all scenes supported)

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: []
3 Likes

The hold actions will repeat the action in quick succession. I worked around this by adding a wait. Here’s an example of my setup.

automation master_bedroom_bed_west_switch:
  use_blueprint:
    path: vangorra/zwavejs-aeon-labs-aeotec-zw129-wallmote-due-all-scenes-supported.yaml
    input:
      zwavejs_device: 9ddb285e28181c7a7fadbae228a3ee29
      tap_left_actions:
        - service: homeassistant.toggle
          data: {}
          target:
            entity_id: light.master_bedroom_bed_west
      tap_right_actions:
        - service: homeassistant.toggle
          data: {}
          target:
            entity_id: light.master_bedroom_bed_east
      hold_left_actions:
        - service: homeassistant.toggle
          data: {}
          target:
            entity_id: fan.master_bedroom
        - delay: "00:00:02" # Wait to avoid multiple toggle commands being send quickly.
      hold_right_actions:
        - service: homeassistant.toggle
          data: {}
          target:
            entity_id: switch.master_bedroom_tv
        - delay: "00:00:02" # Wait to avoid multiple toggle commands being send quickly.
1 Like

@difeta
Thanks for the blueprint and the work you are putting on this.
I have used the blueprint on two different devices and and I am getting three warnings when I am running the left/right release button on the Master Bedroom Wal Switch for all thee wallmote devices I have two duo and one quad. The quad is using the anoher blueprint

2022-04-26 09:02:26 WARNING (MainThread) [homeassistant.components.automation.master_bedroom_wall_switch_wallmote_duo] Master Bedroom Wall Switch WallMote Duo
: Already running
2022-04-26 09:02:26 WARNING (MainThread) [homeassistant.components.automation.kitchen_wall_switch_wallmote_quad] Kitchen Wall Switch WallMote Quad: Already ru
nning
2022-04-26 09:02:26 WARNING (MainThread) [homeassistant.components.automation.master_bedroom_bed_switch_wallmote_duo] Master Bedroom Bed Switch WallMote Duo:
Already running

Copying the automation for both Duo and Quad

alias: Master Bedroom Bed Switch WallMote Duo
description: ''
use_blueprint:
  path: difeta/zwavejs-aeon-labs-aeotec-zw129-wallmote-due-all-scenes-supported.yaml
  input:
    zwavejs_device: acdf7eeccef0c2d91442bcf29ce22984
    tap_left_actions:
      - service: light.toggle
        data: {}
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level_3
    tap_right_actions:
      - service: light.toggle
        data: {}
        target:
          entity_id: light.master_bedroom_shower_light
    release_left_actions:
      - service: script.switch_off_devices_night
        data: {}
alias: Master Bedroom Wall Switch WallMote Duo
description: ''
use_blueprint:
  path: difeta/zwavejs-aeon-labs-aeotec-zw129-wallmote-due-all-scenes-supported.yaml
  input:
    zwavejs_device: 134215faefb0e05e5165d91c94e50e47
    tap_left_actions:
      - service: light.toggle
        data: {}
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level_3
    tap_right_actions:
      - service: light.toggle
        data: {}
        target:
          entity_id: light.master_bedroom_closet_light
    release_left_actions:
      - service: alarm_control_panel.alarm_arm_home
        data: {}
        target:
          entity_id: alarm_control_panel.myhome_alarm
    release_right_actions:
      - service: alarm_control_panel.alarm_disarm
        data: {}
        target:
          entity_id: alarm_control_panel.myhome_alarm
alias: Kitchen Wall Switch WallMote Quad
description: ''
use_blueprint:
  path: >-
    robinsmidsrod/zwavejs-aeon-labs-aeotec-zw130-wallmote-quad-all-scenes-supported.yaml
  input:
    zwavejs_device: 760b967b0616ac14c0920ecce1cefd27
    tap_top_left_actions:
      - service: light.toggle
        data: {}
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level
    tap_top_right_actions:
      - service: light.toggle
        data: {}
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level_2
    tap_bottom_left_actions: []
    tap_bottom_right_actions: []
    release_bottom_left_actions:
      - service: light.turn_on
        data:
          color_temp: 153
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level
    release_top_left_actions:
      - service: light.turn_on
        data:
          color_temp: 500
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level
    release_bottom_right_actions:
      - service: light.turn_on
        data:
          color_temp: 153
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level_2
    release_top_right_actions:
      - service: light.turn_on
        data:
          color_temp: 500
        target:
          entity_id: light.aeotec_zwa001_led_bulb_6_multiwhite_level_2