OpenZWave Beta Aeotec WallMote Duo Scene Activation

With the new OpneZWave Beta, I’m trying to get my Aeotec Wallmote Duo to work. Nothing fancy, just that if I touch the button, I can make a light switch on.
In the “normal” Zwave integration, I would be able to create an automation based on the following:

trigger:
- event_data:
    entity_id: zwave.aeon_labs_zw129_wallmote_duo
    scene_data: 0
    scene_id: 1
  event_type: zwave.scene_activated
  platform: event

However, the “zwave.” entities are not available in the OpenZWave beta, what’s the correct method to do this? Do I need to act upon something in MQTT? And if so, how would I go about this exactly?

Ok, so sorry if I am hijacking your question but I think mine is the same. Also using the new openzwave integration and have successfully added my wall-c switch. is included successfully and showing button presses. But I do not seem them in home assistant/node-red.

Below the current setting in openzwave. I have tried to also change all 4 “Command to Control Group” to “Send Scenes” but that was not helpful too. I think this is the same question as your because I also do only see 1 entity in home assistant.


EDIT: Yes I see in mqtt explorer the scenes are sent, example:
OpenZWave/1/node/4/instance/1/commandclass/91/value/1688849933058068/ shows:


{
  "Label": "Scene 6",
  "Value": {
    "List": [
      {
        "Value": 0,
        "Label": "Inactive"
      },
      {
        "Value": 1,
        "Label": "Pressed 1 Time"
      },
      {
        "Value": 2,
        "Label": "Key Released"
      },
      {
        "Value": 3,
        "Label": "Key Held down"
      }
    ],
    "Selected": "Pressed 1 Time",
    "Selected_id": 1
    "Selected": "Inactive",
    "Selected_id": 0
  },
  "Units": "",
  "ValueSet": true,
  "ValuePolled": false,
  "ChangeVerified": false,
  "Min": 0,
  "Max": 0,
  "Type": "List",
  "Instance": 1,
  "CommandClass": "COMMAND_CLASS_CENTRAL_SCENE",
  "Index": 6,
  "Node": 4,
  "Genre": "User",
  "Help": "",
  "ValueIDKey": 1688849933058068,
  "ReadOnly": true,
  "WriteOnly": false,
  "Event": "valueChanged",
  "TimeStamp": 1591959075
  "TimeStamp": 1591959076
}

Edit: I can see output via MQTT in node-red:


But that is not desirable.

You’ll have to use the node id. Use Dev Tools -> Events. Listen to event ozw.scene_activated and press a button.

Well I’m now using MQTT in the automation, which works… the only problem I have is that it’s registering me both pushing and releasing. So it turns my lights on and then directly off again…

alias: Lights Mirror Wallmote
description: ''
initial_state: 'on'
trigger:
- platform: mqtt
  topic: OpenZWave/1/node/13/instance/1/commandclass/91/value/281475200499732/
condition: []
action:
- data:
    entity_id: switch.fibaro_wall_plug_e_f_switch_4
  service: switch.toggle

I need to apparently extract the payload and only trigger the on or off automations with the corresponding on or off payload, I’m just not sure how exactly…

Hahaha! I have exactly the same!!! And also it “outputs on reload of node red” (unwanted :-()

Not sure how to use that… (in nodered?) I get “two” outputs on button press:

The event data is used in the automation trigger.

For the button press:

trigger:
- event_data:
    node_id: 4
    scene_value_id: 1
    scene_id: 1
  event_type: ozw.scene_activated
  platform: event

I don’t know how events are sent to Node Red.

Ah yes, that’s working, thanks!

Ok, what I did… in node red and works like a charm.


[{"id":"9453d39d.4ae3f","type":"comment","z":"4c426d0e.6b201c","name":"OpenZwave Wall-C translate scene id to scene in Vera","info":"","x":800,"y":140,"wires":[]},{"id":"237db456.a85b74","type":"server-events","z":"4c426d0e.6b201c","name":"OpenZwave ozw.scene_activated","server":"c6b350c5.b8b3c","event_type":"ozw.scene_activated","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"x":250,"y":220,"wires":[["e03e2558.000c68"]]},{"id":"c556b4a0.54fcf8","type":"switch","z":"4c426d0e.6b201c","name":"What Scene","property":"payload.event.scene_id","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"},{"t":"eq","v":"2","vt":"str"},{"t":"eq","v":"3","vt":"str"},{"t":"eq","v":"4","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":1250,"y":220,"wires":[["297bba76.3c7c9e"],["ddff147f.fe3738"],["7474da5f.bc5d94"],["99d55c63.0d08f8"]],"outputLabels":["Ericas Switch","","",""]},{"id":"e03e2558.000c68","type":"filter","z":"4c426d0e.6b201c","name":"Filter OpenZwave Node ID 4","property":"payload.event.node_id","propertyType":"msg","asArray":false,"itemProperty":"","itemPropertyType":"item","rules":[{"t":"eq","v":"4","vt":"str","output":1}],"checkall":"true","outputs":1,"x":720,"y":220,"wires":[["1b411c53.a1a1c4"]]},{"id":"1b411c53.a1a1c4","type":"filter","z":"4c426d0e.6b201c","name":"Filter \"Pressed 1 time\"","property":"payload.event.scene_value_label","propertyType":"msg","asArray":false,"itemProperty":"","itemPropertyType":"item","rules":[{"t":"eq","v":"Pressed 1 Time","vt":"str","output":1}],"checkall":"true","outputs":1,"x":1000,"y":220,"wires":[["c556b4a0.54fcf8"]]},{"id":"c6b350c5.b8b3c","type":"server","z":"","name":"Home Assistant"}]

You are better off using the integer scene value id, not the label string. The string could change in the future.

Ehm… what?

I used that filter on “payload.event.scene_value_label” because on every press else I get 2 outputs and I only need/want 1

image

image

EDIT: Think I got you, I can differentiate on 1 and 0 there. thank you.

thanks for this - helped me out and got it working!

This is a full working sample

automation:
  - alias: ATM CNTL Wallmote Button 1 tap UP
    trigger:
      platform: event
      event_type: ozw.scene_activated
      event_data:
        node_id: 128
        scene_value_id: 1
        scene_id: 1
    action:
      - service: cover.open_cover
        data_template:
          entity_id: cover.br2_blind_z055_level

  - alias: ATM CNTL Wallmote Button 3 tap DOWN
    trigger:
      platform: event
      event_type: ozw.scene_activated
      event_data:
        node_id: 128
        scene_value_id: 1
        scene_id: 3
    action:
      - service: cover.close_cover
        data_template:
          entity_id: cover.br2_blind_z055_level
      
1 Like