Can't Store Value for ZWave Switch/Controller

I’ve set up an Aeotec Wallmote, which has 4 buttons. I’ve created an automation, but I can’t save the actual action in the automation. Here’s the visual editor view:


Note that under Triggers, I’ve selected, as a trigger Central Scene action on Endpoint 0 Scene 002 and, under that, the value, “KeyPressed.” I save this and try it. Nothing happens. So I go back to editing it and I see this:

Note the difference: KeyPressed is no longer selected.

If I change the scene number, from, say, “Scene 002” to “Scene 001” the save button appears. If I click one of the values to select, or change from one value to another, the Save button does not appear. I switched to YAML editing:


I see no reference to a value, such as KeyPressed, or KeyHeldDown. When I change the value in the visual editor, it is not passed on to the YAML file. It’s ignored.

It’s as if whatever I select there (or even if I don’t select anything under Value), it’s a dummy field on the web page and nothing uses it and nothing happens when I select or change it.

I have seen a few posts here and recommendations for using the quad Wallmote with HA, so I know people are using it - but I don’t see how I can make it work with the 4 buttons on it if I can’t save the value.

EDIT/ADDITION: Some of the posts and web pages I’ve seen about that reference ZWaveJS. Due to Issue #78988 in the HA core, I can’t get ZWaveJS to work on my HA systems (each a Pi4 with an Aeotec Z-Stick 7). I’m using ZWaveJS2MQTT instead.

I think this is because of a bug in the HA UI.

After more experimentation, I’ve found that for the 3 possible values, there are numeric values:

KeyPressed = 0
KeyReleased = 1
KeyHeldDown = 2

I did find that it would save if I selected KeyReleased or KeyHeldDown, but NOT KeyPressed. (I still have had problems with Save coming up when I change this value.) In YAML, this is represented by:

value: 1

Where the value is 0, 1, or 2. Apparently when you set the value to 0, it doesn’t see it. It does for a 1 or 2, but not 0. Looks like a bug. I’m guessing it’s in JavaScript, but I don’t know. I do know, for example, in Perl, you can use an IF statement that will treat no value given and 0 as the same (since Perl can see 0 as false). It behaves like that: Use a 0 and you get nothing. Use a 1 or 2 and it shows up in the YAML editor.