Using wall controller with zwave js ui

Hi everyone. New user here.

For some years, I have used the Zwave.Me Wall controller (also known as ZME_WCD2 or ZME_WALLC-S) to flip some lights. After upgrading to the latest Home Assistant and the latest Zwave JS UI (replacing the old OZW) I ran into some problems getting these wall controllers to work again.

My setup:

Separate docker-compose containers for HASS and Zwavejsui
No MQTT enabled, no mosquitto installed

The wall controllers are configured to send scenes. This is done by going into the zwavejsui control panel, select the controller and go to “Configuration v1”. In that section set all “pair modes” to “[0] Separately”, and set all “Action on group n” to “[4] Send Scenes”.

To be on the safe side, I also sent 4 custom configuration values. According the the datasheet of the wall controller, parameters 11-14 should be value 4 for sending scenes, so I set them using the Custom Configuration “Set”-button, also found in “Configuration v1”.

Then it’s a matter of waiting until these settings have propagated to the wall controller. Since it’s a battery powered device, it doesn’t stay awake for long, so I made a couple of “Node Info” sendings, to make sure the configuration was transferred. Do this by going into Management mode (Press all four buttons for 5 seconds), and then press button 2. It is perhaps possible to use some other action for this.

After the configuration of the wall controller, I went into HASS and sniffed the event when the controller is pressed. Go to Developer Tools and listen to “zwave_js_value_notification”. When you press a button on the controller you should see the event properties. The buttons are numbered 11, 21, 31 and 41, so in my below example I had pressed button 3.

event_type: zwave_js_value_notification
data:
  domain: zwave_js
  node_id: 19
  home_id: 4237110063
  endpoint: 0
  device_id: 440ff7c18dea557bc1900d16e1ac2766
  command_class: 43
  command_class_name: Scene Activation
  label: null
  property: sceneId
  property_name: sceneId
  property_key: null
  property_key_name: null
  value: 31
  value_raw: 31
origin: LOCAL
time_fired: "2022-10-12T08:39:34.279477+00:00"
context:
  id: 01GF5NJPM7SP99JXT7D23QWRYP
  parent_id: null
  user_id: null

From this I created my event triggers in the Automation section:

Event type:
zwave_js_value_notification

Event data:
node_id: 19
value: 31

And added an action on a device to (in this case) turn off a lamp in my cellar. You need to create four automations, one for each of the four buttons.

Hope this helps someone.