Event support for Scene Controllers

Got the Zwcfg to stay updated. I’m still not seeing entries in the zwave log when I press a button. I can see HA sending the group information in the zwavelog (Scene Controller is Node 58) but nothing when I press a button:

2019-02-06 22:24:44.335 Detail, Node057, Removing current message
2019-02-06 22:24:44.335 Detail, Node057, Notification: Notification - NoOperation
2019-02-06 22:24:44.349 Detail, Node058, Query Stage Complete (CacheLoad)
2019-02-06 22:24:44.349 Detail, Node058, AdvanceQueries queryPending=0 queryRetries=0 queryStage=Associations live=1
2019-02-06 22:24:44.349 Detail, Node058, QueryStage_Associations
2019-02-06 22:24:44.349 Info, Node058, Number of association groups reported for node 58 is 255, which requires special case handling.
2019-02-06 22:24:44.349 Info, Node058, Get Associations for group 255 of node 58
2019-02-06 22:24:44.349 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0xff, 0x25, 0xa4, 0x26
2019-02-06 22:24:44.350 Detail, Node058, Queuing (Query) Query Stage Complete (Associations)
2019-02-06 22:24:44.350 Detail,
2019-02-06 22:24:44.350 Info, Node058, Sending (Send) message (Callback ID=0xa4, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0xff, 0x25, 0xa4, 0x26
2019-02-06 22:24:44.357 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.357 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.374 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xa4, 0x00, 0x00, 0x02, 0x4d
2019-02-06 22:24:44.374 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xa4 received (expected 0xa4)
2019-02-06 22:24:44.374 Info, Node058, Request RTT 24 Average Request RTT 23
2019-02-06 22:24:44.374 Detail,   Expected callbackId was received
2019-02-06 22:24:44.385 Detail, Node058,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x3a, 0x06, 0x85, 0x03, 0xff, 0x01, 0x00, 0x01, 0xb2
2019-02-06 22:24:44.386 Detail,
2019-02-06 22:24:44.386 Info, Node058, Response RTT 35 Average Response RTT 35
2019-02-06 22:24:44.386 Info, Node058, Received Association report from node 58, group 255, containing 1 associations
2019-02-06 22:24:44.386 Info, Node058,   The group contains:
2019-02-06 22:24:44.386 Info, Node058,     Node 1
2019-02-06 22:24:44.386 Info, Node058, Get Associations for group 1 of node 58
2019-02-06 22:24:44.386 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x01, 0x25, 0xa5, 0xd9
2019-02-06 22:24:44.387 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.387 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.387 Detail,
2019-02-06 22:24:44.387 Detail, Node058, Removing current message
2019-02-06 22:24:44.387 Detail,
2019-02-06 22:24:44.387 Info, Node058, Sending (Send) message (Callback ID=0xa5, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x01, 0x25, 0xa5, 0xd9
2019-02-06 22:24:44.395 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.395 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.413 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xa5, 0x00, 0x00, 0x02, 0x4c
2019-02-06 22:24:44.413 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xa5 received (expected 0xa5)
2019-02-06 22:24:44.413 Info, Node058, Request RTT 26 Average Request RTT 24
2019-02-06 22:24:44.414 Detail,   Expected callbackId was received
2019-02-06 22:24:44.426 Detail, Node058,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x3a, 0x06, 0x85, 0x03, 0x01, 0xe8, 0x00, 0x01, 0xa5
2019-02-06 22:24:44.426 Detail,
2019-02-06 22:24:44.426 Info, Node058, Response RTT 38 Average Response RTT 36
2019-02-06 22:24:44.426 Info, Node058, Received Association report from node 58, group 1, containing 1 associations
2019-02-06 22:24:44.426 Info, Node058,   The group contains:
2019-02-06 22:24:44.426 Info, Node058,     Node 1
2019-02-06 22:24:44.426 Info, Node058, Get Associations for group 2 of node 58
2019-02-06 22:24:44.426 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x02, 0x25, 0xa6, 0xd9
2019-02-06 22:24:44.426 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.426 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.426 Detail,
2019-02-06 22:24:44.427 Detail, Node058, Removing current message
2019-02-06 22:24:44.427 Detail,
2019-02-06 22:24:44.427 Info, Node058, Sending (Send) message (Callback ID=0xa6, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x02, 0x25, 0xa6, 0xd9
2019-02-06 22:24:44.434 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.434 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.452 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xa6, 0x00, 0x00, 0x02, 0x4f
2019-02-06 22:24:44.453 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xa6 received (expected 0xa6)
2019-02-06 22:24:44.453 Info, Node058, Request RTT 25 Average Request RTT 24
2019-02-06 22:24:44.453 Detail,   Expected callbackId was received
2019-02-06 22:24:44.465 Detail, Node058,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x3a, 0x06, 0x85, 0x03, 0x02, 0xe8, 0x00, 0x01, 0xa6
2019-02-06 22:24:44.465 Detail,
2019-02-06 22:24:44.465 Info, Node058, Response RTT 38 Average Response RTT 37
2019-02-06 22:24:44.465 Info, Node058, Received Association report from node 58, group 2, containing 1 associations
2019-02-06 22:24:44.465 Info, Node058,   The group contains:
2019-02-06 22:24:44.465 Info, Node058,     Node 1
2019-02-06 22:24:44.465 Info, Node058, Get Associations for group 3 of node 58
2019-02-06 22:24:44.465 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x03, 0x25, 0xa7, 0xd9
2019-02-06 22:24:44.465 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.465 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.465 Detail,
2019-02-06 22:24:44.465 Detail, Node058, Removing current message
2019-02-06 22:24:44.465 Detail,
2019-02-06 22:24:44.465 Info, Node058, Sending (Send) message (Callback ID=0xa7, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x03, 0x25, 0xa7, 0xd9
2019-02-06 22:24:44.473 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.473 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.492 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xa7, 0x00, 0x00, 0x02, 0x4e
2019-02-06 22:24:44.492 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xa7 received (expected 0xa7)
2019-02-06 22:24:44.492 Info, Node058, Request RTT 26 Average Request RTT 25
2019-02-06 22:24:44.492 Detail,   Expected callbackId was received
2019-02-06 22:24:44.502 Detail, Node058,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x3a, 0x05, 0x85, 0x03, 0x03, 0xe8, 0x00, 0xa2
2019-02-06 22:24:44.502 Detail,
2019-02-06 22:24:44.502 Info, Node058, Response RTT 36 Average Response RTT 36
2019-02-06 22:24:44.502 Info, Node058, Received Association report from node 58, group 3, containing 0 associations
2019-02-06 22:24:44.503 Info, Node058, Get Associations for group 4 of node 58
2019-02-06 22:24:44.503 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x04, 0x25, 0xa8, 0xd1
2019-02-06 22:24:44.503 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.503 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.503 Detail,
2019-02-06 22:24:44.503 Detail, Node058, Removing current message
2019-02-06 22:24:44.503 Detail, Node058, Notification: Group
2019-02-06 22:24:44.509 Detail,
2019-02-06 22:24:44.510 Info, Node058, Sending (Send) message (Callback ID=0xa8, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x04, 0x25, 0xa8, 0xd1
2019-02-06 22:24:44.517 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.517 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.534 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xa8, 0x00, 0x00, 0x02, 0x41
2019-02-06 22:24:44.534 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xa8 received (expected 0xa8)
2019-02-06 22:24:44.534 Info, Node058, Request RTT 24 Average Request RTT 24
2019-02-06 22:24:44.534 Detail,   Expected callbackId was received
2019-02-06 22:24:44.545 Detail, Node058,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x3a, 0x05, 0x85, 0x03, 0x04, 0xe8, 0x00, 0xa5
2019-02-06 22:24:44.545 Detail,
2019-02-06 22:24:44.545 Info, Node058, Response RTT 35 Average Response RTT 35
2019-02-06 22:24:44.545 Info, Node058, Received Association report from node 58, group 4, containing 0 associations
2019-02-06 22:24:44.545 Info, Node058, Get Associations for group 5 of node 58
2019-02-06 22:24:44.545 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x05, 0x25, 0xa9, 0xd1
2019-02-06 22:24:44.545 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.545 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.545 Detail,
2019-02-06 22:24:44.545 Detail, Node058, Removing current message
2019-02-06 22:24:44.545 Detail, Node058, Notification: Group
2019-02-06 22:24:44.549 Detail,
2019-02-06 22:24:44.549 Info, Node058, Sending (Send) message (Callback ID=0xa9, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x05, 0x25, 0xa9, 0xd1
2019-02-06 22:24:44.556 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.556 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.573 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xa9, 0x00, 0x00, 0x02, 0x40
2019-02-06 22:24:44.573 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xa9 received (expected 0xa9)
2019-02-06 22:24:44.573 Info, Node058, Request RTT 24 Average Request RTT 24
2019-02-06 22:24:44.573 Detail,   Expected callbackId was received
2019-02-06 22:24:44.584 Detail, Node058,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x3a, 0x05, 0x85, 0x03, 0x05, 0xe8, 0x00, 0xa4
2019-02-06 22:24:44.584 Detail,
2019-02-06 22:24:44.584 Info, Node058, Response RTT 35 Average Response RTT 35
2019-02-06 22:24:44.584 Info, Node058, Received Association report from node 58, group 5, containing 0 associations
2019-02-06 22:24:44.584 Info, Node058, Get Associations for group 6 of node 58
2019-02-06 22:24:44.584 Detail, Node058, Queuing (Send) AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x06, 0x25, 0xaa, 0xd1
2019-02-06 22:24:44.584 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.584 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.585 Detail,
2019-02-06 22:24:44.585 Detail, Node058, Removing current message
2019-02-06 22:24:44.585 Detail, Node058, Notification: Group
2019-02-06 22:24:44.588 Detail,
2019-02-06 22:24:44.588 Info, Node058, Sending (Send) message (Callback ID=0xaa, Expected Reply=0x04) - AssociationCmd_Get (Node=58): 0x01, 0x0a, 0x00, 0x13, 0x3a, 0x03, 0x85, 0x02, 0x06, 0x25, 0xaa, 0xd1
2019-02-06 22:24:44.596 Detail, Node058,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-06 22:24:44.596 Detail, Node058,   ZW_SEND_DATA delivered to Z-Wave stack
2019-02-06 22:24:44.613 Detail, Node058,   Received: 0x01, 0x07, 0x00, 0x13, 0xaa, 0x00, 0x00, 0x02, 0x43
2019-02-06 22:24:44.613 Detail, Node058,   ZW_SEND_DATA Request with callback ID 0xaa received (expected 0xaa)
2019-02-06 22:24:44.613 Info, Node058, Request RTT 24 Average Request RTT 24
2019-02-06 22:24:44.613 Detail,   Expected callbackId was received
2019-02-06 22:24:44.624 Detail, Node058,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x3a, 0x05, 0x85, 0x03, 0x06, 0x00, 0x00, 0x4f
2019-02-06 22:24:44.624 Detail,
2019-02-06 22:24:44.624 Info, Node058, Response RTT 35 Average Response RTT 35
2019-02-06 22:24:44.624 Info, Node058, Max associations for node 58, group 6 is zero.  Querying associations for this node is complete.
2019-02-06 22:24:44.624 Detail, Node058,   Expected reply and command class was received
2019-02-06 22:24:44.624 Detail, Node058,   Message transaction complete
2019-02-06 22:24:44.624 Detail,
2019-02-06 22:24:44.624 Detail, Node058, Removing current message

I’m stumped. Another question, should the lights on the scene controller stay lite once pressed? Or do they just come on for a second and turn back off?

The messages that I see look like this (My scene controller is node 17):

2019-02-07 08:12:57.263 Detail, Node017,   Received: 0x01, 0x0a, 0x00, 0x04, 0x00, 0x11, 0x04, 0x20, 0x01, 0x01, 0x00, 0xc4
2019-02-07 08:12:57.263 Detail,
2019-02-07 08:12:57.263 Info, Node017, Received Basic set from node 17: level=1.  Sending event notification.
2019-02-07 08:12:57.263 Detail, Node017, Notification: NodeEvent

and

2019-02-07 08:12:58.073 Detail, Node017,   Received: 0x01, 0x09, 0x00, 0x04, 0x08, 0x11, 0x03, 0x20, 0x01, 0x00, 0xc9
2019-02-07 08:12:58.073 Detail,
2019-02-07 08:12:58.073 Info, Node017, Received Basic set from node 17: level=0.  Sending event notification.
2019-02-07 08:12:58.073 Detail, Node017, Notification: NodeEvent

The “Notification: NodeEvent” being the indication that it is sending events to the Z-Wave controller.

Your final comment about the lights staying lighted after pressing them did remind me though, because the “level=1” that you see in the first message is dependent on one more piece of configuration, and if I’m remembering right, once set, will keep the lights lit until you press the button again.

In the configuration>Z-Wave, page, select your scene controller in the Node Management section, then under “Node Config Options”, go to each of the group levels and set the config parameter with a value (I used 1 for group 1, 2 for group 2, etc…). I THINK that should be the last missing piece of the puzzle?

I also remembered this morning why you don’t want to create an association for each group - From what I remember, when I had the groups associated to my Z-Wave stick, any time I turned off a button, it would turn off every light in the house! No good! There may actually be a negative consequence to having group 255 associated, maybe when you use the “all off” button? I don’t use it, and I’d rather not try :stuck_out_tongue:

“In the configuration>Z-Wave, page, select your scene controller in the Node Management section, then under “Node Config Options”, go to each of the group levels and set the config parameter with a value (I used 1 for group 1, 2 for group 2, etc…). I THINK that should be the last missing piece of the puzzle?”

Okay this now makes the lights stay on and the indicator value is changing in Home Assistant! Now the strange thing that is happening is some of the buttons are not giving the right value. Example, button one returns a 1, button 2 returns a 2, button 3 returns a 0, button 4, returns a 0.

Also, looking at the Boolean we created in the configuration.yaml they are not updating when buttons are pressed.

Lastly, when pressing the off button, what releases the lights that are on?

Okay, had to update the ValueID now your scripts are working:
-Line 74 as mentioned, make sure it references the z-wave node id. The value_id may be fine as is?

Now just need to figure our why buttons 1 and 2 are working when pressed, and the others are not, probably because the indicator is not returning a 3, 4, or 5 for those buttons.

Check the AppDaemon logs: Each time you press a button on the Scene Controller, you should see a log message from the ZwaveEventListener script that says:

Scene Controller Button Activated, refreshing indicator info

You should see that for every button press, but if the indicator value isn’t changing for each button, then you probably won’t. Try turning each button on and then off. If you aren’t seeing that message each time you press the button, I suspect the Group Level config parameter for that button may not have stuck. Try configuring it again, and see if it works afterwards.

If you do see that message for each button, then that means the events are all coming through and something is failing in the second script. But since you said the indicator sensor doesn’t seem to be updating, I doubt that’s the issue. There are some log messages in there too that we can look at if you’re seeing everything above.

Success!!! I had to set the level value in IE, for some reason it would not stick when setting it in Chrome. Lights are working! Thank you soooooo much! Does the “All Off” button just not work?

Excellent!

I don’t use the All Off button, but I do remember trying it early on. It should be functional, but you have to press and hold it for a second I think. Unfortunately you can’t really determine when the All Off button is pressed on it’s own, since it effectively just presses each of the buttons to make them turn off, so you can’t use it as a 6th button (or at least, I haven’t figured out a way to do so!)

the 255 is a broadcast group. It causes every device on your network to listen to the command. I somehow got a few of my sensors set with group 1 not only having my z-stick, but also having node 255 in them. Anytime someone would go into a room, every light in the house turned on. Then when people ran around to figure out what was happening and one of the sensors decided no one was in the room, it would signal no movement and every light in the house would turn off. Drove me crazy for literally hours. it was not fun when everyone was sleeping. Someone would get up to go to the bathroom, flag a sensor in a hallway or in the den and all the lights in the house came on. Not fun at all. But that’s what helped me figure it out. I would avoid node 255 at ALL costs.

1 Like

Where do I find the OZW config device database you mentioned?

For what it’s worth, this worked with the Aeotec nanomote quad as well. Of course I took out index 5, since there are only 4 buttons.

Thanks for the help. now I have garage door openers that are associated to each person. This will aid in presence detection.

1 Like

@turboc The OZW file is in the Home Assistant or Hassio config directory. The same location as the configuration.yaml file. But I think you are wanting the file that starts with: zwcfg?

in @Devanl 's post, he mentioned a OZW database file that would apply the same information for each new scene controller of that type that you add. Based on his post, it’s a different file that the zwcfg file where I made the change to get it working.

FYI - Pushing and holding the off switch does exactly what I need it to do :slight_smile: Now if I could just figure our a way to make all lights go to 100% without defining them one at a time.

Well things were working, I upgraded, now I see this

2019-02-07 20:56:29.900698 INFO zwaveEventListener: Listening for Z-Wave Events
2019-02-07 20:56:29.901131 INFO AppDaemon: Initializing app sceneControllerHandler using class SceneControllerHandler from module SceneControllerHandler
2019-02-07 20:56:29.903179 INFO sceneControllerHandler: Handling scene controller stuff
2019-02-07 20:56:29.903517 WARNING AppDaemon: ------------------------------------------------------------
2019-02-07 20:56:29.904047 WARNING AppDaemon: Unexpected error running initialize() for sceneControllerHandler
2019-02-07 20:56:29.904288 WARNING AppDaemon: ------------------------------------------------------------
2019-02-07 20:56:29.906308 WARNING AppDaemon: Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 1581, in init_object
    init()
  File "/config/appdaemon/apps/SceneControllerHandler.py", line 11, in initialize
    b1=bool((int(state) & 0b00001))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

2019-02-07 20:56:29.907954 WARNING AppDaemon: ------------------------------------------------------------
2019-02-07 20:56:29.912304 INFO AppDaemon: App initialization complete

I restarted the services, and it seems to be okay now.

I updated the device specific config doc for zwave with info on the nanomote quad for anyone else that comes across this post, like I did. https://www.home-assistant.io/docs/z-wave/device-specific/#aeotec-nanomote-quad

I really appreciate all the info in this thread, but I’m stuck. I just got one of these Aspire controllers today and have spent hours trying to get it working, but I’m stuck here – when I press the buttons, I don’t see anything happen in my z-wave log. I have:

  1. Added the COMMAND_CLASS_CENTRAL_SCENE info to the right node in the XML config
  2. Successfully been able to set a couple of the buttons’ “Group X Level” config properties in the HA Z-Wave control panel so the lights stay on when the buttons are pressed (Group 1 Level = 1, Group 2 Level = 2, etc).
  3. I have the sensor object:

But absolutely nothing happens in the z-wave log when I press one of the scene buttons. Any suggestions?

Was Z-Wave shutdown when you made the changes to the XML file?

You probably tried restarting Home Assistant after seeing nothing in the logs, but I’ll mention it anyway.

Make sure the changes are still there after Z-Wave is up and running again.

Yep, shut it down, made the changes, have restarted multiple times and verified the new XML is still where it is supposed to be.

FYI I gave up. I could never get button presses from the RFWC5 to show up in the Z-Wave log or HA. So I paired it to my old SmartThings hub, and it worked instantly – 5 switches showed up and I was able to use an MQTT bridge to read and set the switch states in HA. So there’s like 5 or 6 hops between Node-RED and the device itself now, but at least it works.

Why would this work perfectly in SmartThings but not Home Assistant? I don’t know enough about Z-Wave to be very useful here, but I’d love to figure out how to contribute device information so that when people buy these things, they’ll just work with HA. Z-Wave setup and configuration is still, after several years of using it, one of the clunkiest and hardest parts of Home Assistant.

The buttons don’t do anything until you configure scene associations for each button. Likely SmartThings does this automatically?