ZWaveJS - AEON Labs/Aeotec ZW130 WallMote Quad (all scenes supported)

If you look in the blueprint, you’ll notice this chunk:

    zwavejs_device:
      name: ZWaveJS Device
      description: The Aeotec WallMote Quad controller to listen for events on.
      selector:
        device:
          integration: zwave_js
          manufacturer: AEON Labs
          model: ZW130

You need to have a device that is using the zwave_js integration, from AEON Labs with the model number ZW130. If that doesn’t match, then you will not get anything in the input device selector. Are you absolutely sure that you have a ZW130 device, and not a clone or device from another vendor? There are three Z-Wave implementations for Home Assistant, and this blueprint is only compatible with ZWave-JS. If all of this matches, then I think you might have an issue in your Home Assistant to ZWave-JS integration and you’ll need to debug that.

If you go into the event listener and listen for the event zwave_js_value_notification and then try to tap the buttons on the wallmote, do you get any output? If you don’t, then you have a HA/ZWaveJS communication issue. If you get events, then you might have some other device, or some weird firmware issue.

Thanks Robin, turns out the issue was with my zwave js config. I fixed that and it showed :blush:

Can you use this blueprint on multiple wallmotes?

Seems everytime I try to setup another automation using the blueprint, it errors until I remove all the actions.

I actually use it with two in my home, so my immediate answer would be yes. You’ll need to share more details from your setup to be able to debug it properly. Maybe a copy of the YAML automation using the blueprint would help, or possibly an automation trace file (although I don’t know how to use those yet).

1 Like

I did finally get it to work, and onto a third so that’s good.
Not sure what HA was moaning about with it, but after I did the 2nd automation in the visual editor saved and copied into my yaml automation file it worked.
Some reason just didn’t like me typing it out, even tho I copied and pasted over the autogenerated one.
Must have been a weird line ending character somewhere.

Strong Work, Robin! I am trying to adapt for Wallmote Duo ZW129. Has anyone done this yet? What needs to change? I am scanning the ZWave log files for clues.

To my knowledge, they are exactly the same, except the Duo has two switches instead of four. I think you should only need to change the device selector to make it work. I’m guessing that two of the four switches will work, so it should be a matter of just renaming those to left/right or top/bottom (depending on the orientation) and just removing the two others.

I seem to recall that I have seen someone post here on the forum a blueprint for the Duo based on my blueprint already.

I recently installed Z-Wave integration, a handful of sensors, and most recently a WallMote Quad. The sensors are working perfectly, and I can see the WallMote communicate via Event Listener. However the blueprint does not recognize the AeoTec WallMote Quad (ZW130). I’m running core-2021.11.1, and see a number of power management sensors when looking at the Device WallMote. But that is about it. Any help would be appreciated. I’d like to get the switch operational.

If you don’t get the WallMote Quad in the dropdown list I’m guessing you’re not using ZWaveJS integration for Z-Wave support in Home Assistant. If you’re using either the zwave or the ozw integration (both deprecated), this blueprint won’t work for you. You’ll need to migrate to the zwavejs integration.

I’m using the latest build of ZWaveJS (Current version: 0.1.46) with an AeoTec ZWave stick (Firmware: 1.1) with Home Assistant 11.01 HASS. I’ve never used the deprecated ZWave integrations.

I just put the ZW130 in single quotes, so I now get two devices, the stick and the switch. Let me put an automation together and see if this is now working. Thanks

I got it working … thanks

I was having issues getting this to work. What I finally figured out was that there was an issue with the interview process and I had to re-interview the wallmote. Be sure that under the device overview it shows Device Ready: Yes (Goto Configuration>Devices & Services, Click the Devices tab, search for WallMote and click the entry to find this). If it’s not ready then click Re-Interview Device.

Before I reinterviewed i was seeing log entries when I would tap the buttons so I didn’t even think to look if the device was ready, but evidently the logging can still occur even if it’s not in a ready state.

Hi @robinsmidsrod
thanks for your blueprint, it works like a charm. I found out that your blueprint with some minor modifications also works for the Fibaro Keyfob FGKF601. Below your code. I am not very handy with the publication of code on Github or on the community. Maybe you would be so kind to publish it in your environment, afterall 90% of the work is yours.
I changed the source ULR to this specific post.
Cheers
Robert

blueprint:
  name: ZWaveJS - Fibaro Keyfob scene controller
  description: 'Perform actions when Fibaro Keyfob FGKF601 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 Fibaro Keyfob controller to listen for events on.
      selector:
        device:
          integration: zwave_js
#          manufacturer: AEON Labs
#          model: ZW130
          manufacturer: Fibargroup
          model: FGKF601
    tap_top_left_actions:
      name: Press Square \# button Actions
      selector:
        action:
      default: []
    tap_top_right_actions:
      name: Press Circle O button Actions
      selector:
        action:
      default: []
    tap_middle_left_actions:
      name: Press Cross X button Actions
      selector:
        action:
      default: []
    tap_middle_right_actions:
      name: Press Triangle ^ button  Actions
      selector:
        action:
      default: []
    tap_bottom_left_actions:
      name: Press Minus - button Actions
      selector:
        action:
      default: []
    tap_bottom_right_actions:
      name: Press Plus + button  Actions
      selector:
        action:
      default: []
    release_top_left_actions:
      name: Release Square \# button Actions
      selector:
        action:
      default: []
    release_top_right_actions:
      name: Release Circle O button Actions
      selector:
        action:
      default: []
    release_middle_left_actions:
      name: Release Cross X button Actions
      selector:
        action:
      default: []
    release_middle_right_actions:
      name: Release Triangle ^ button  Actions
      selector:
        action:
      default: []
    release_bottom_left_actions:
      name: Release Minus - button Actions
      selector:
        action:
      default: []
    release_bottom_right_actions:
      name: Release Plus + button  Actions
      selector:
        action:
      default: []
    hold_top_left_actions:
      name: Hold Square \# button Actions
      selector:
        action:
      default: []
    hold_top_right_actions:
      name: Hold Circle O button Actions
      selector:
        action:
      default: []
    hold_middle_left_actions:
      name: Hold Cross X button Actions
      selector:
        action:
      default: []
    hold_middle_right_actions:
      name: Hold Triangle ^ button  Actions
      selector:
        action:
      default: []
    hold_bottom_left_actions:
      name: Hold Minus - button Actions
      selector:
        action:
      default: []
    hold_bottom_right_actions:
      name: Hold Plus + button  Actions
      selector:
        action:
      default: []
  source_url: https://community.home-assistant.io/t/zwavejs-aeon-labs-aeotec-zw130-wallmote-quad-all-scenes-supported/290685/33
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_top_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
            == ''KeyPressed'' }}'
        sequence: !input 'tap_top_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 003'' and trigger.event.data.value
            == ''KeyPressed'' }}'
        sequence: !input 'tap_middle_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 004'' and trigger.event.data.value
            == ''KeyPressed'' }}'
        sequence: !input 'tap_middle_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
            == ''KeyPressed'' }}'
        sequence: !input 'tap_bottom_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 006'' and trigger.event.data.value
            == ''KeyPressed'' }}'
        sequence: !input 'tap_bottom_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
            == ''KeyReleased'' }}'
        sequence: !input 'release_top_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
            == ''KeyReleased'' }}'
        sequence: !input 'release_top_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 003'' and trigger.event.data.value
            == ''KeyReleased'' }}'
        sequence: !input 'release_middle_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 004'' and trigger.event.data.value
            == ''KeyReleased'' }}'
        sequence: !input 'release_middle_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
            == ''KeyReleased'' }}'
        sequence: !input 'release_bottom_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
            == ''KeyReleased'' }}'
        sequence: !input 'release_bottom_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
            == ''KeyHeldDown'' }}'
        sequence: !input 'hold_top_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
            == ''KeyHeldDown'' }}'
        sequence: !input 'hold_top_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 003'' and trigger.event.data.value
            == ''KeyHeldDown'' }}'
        sequence: !input 'hold_middle_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 004'' and trigger.event.data.value
            == ''KeyHeldDown'' }}'
        sequence: !input 'hold_middle_right_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
            == ''KeyHeldDown'' }}'
        sequence: !input 'hold_bottom_left_actions'
      - conditions:
        - condition: template
          value_template: '{{ trigger.event.data.label == ''Scene 006'' and trigger.event.data.value
            == ''KeyHeldDown'' }}'
        sequence: !input 'hold_bottom_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: []

Nice to see that it could be reused for the Fibaro device. I would remove all of the WallMote-related comments/workarounds in your new version so it doesn’t confuse users of your blueprint.

Big thanks for this blueprint, just setting up Z-Wave for the first time and this Blueprint helped considerably :+1:t2:

thank you for the good working ZW130 wallmote Blue print.

@robinsmidsrod
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

I don’t see a question, but I’m assuming you want to get rid of the warnings? Since you’re getting “already running” warnings, that probably means you’re using “single” for the “mode” setting. You probably want to change it to “restart” or one of the other alternatives that makes more sense for your actions.

@robinsmidsrod
Thanks I do not have an option on doing that since this I guess is in the blueprint.

This is coming from the duo blueprint how come the quad blueprint is affected.?

I edited all three automations I have added the mode: restart.
The problems that I causing them to work randomly have disappeared.
However, I cannot understand why when one automation was running the other were affected.