Using Z-Wave Associations for Efficient Device Control in Home Assistant

Hi everyone,

I’m trying to efficiently control a large number of Z-Wave devices (80+ lights) using Home Assistant with an Aeotec Z-Stick Gen5 and Z-Wave JS integration. My setup is mostly Fibaro Dimmer 2 (FGD-212) controlling different light sources.

When I try to control all devices at once, I experience severe performance issues, which sometimes results in some lights remaining on due to the network being overwhelmed.

I have tried to reduce the Z-Wave network load by using Z-Wave associations so that I can configure master devices that can turn off associated devices directly.

What works:

  • Physical activation of the master Fibaro Dimmer (e.g., pressing the switch) turns off all associated devices, which proves that the associations are correctly set up and working for device-to-device communication.

The issue:

  • When I send a light.turn_off command or use zwave_js.set_value from Home Assistant to turn off the master device, only the master turns off. The associated devices don’t follow, and it seems that Z-Wave associations are not triggered when commands are sent from the controller (Home Assistant).

What I’ve tried:

  • I’ve set up associations in Group 2 (for Basic Set commands) in the Fibaro Dimmer 2 via Z-Wave JS UI.
  • I’ve used Multilevel Switch (command class 38) in automations, but while the master device responds, the associated devices don’t.

My question:

Will the use of Association even relieve the Z-wave network trafic?

If so, Is there a way to make the Z-Wave associations trigger from controller-initiated commands like light.turn_off or zwave_js.set_value in Home Assistant?

If associations won’t work, does anyone have suggestions for reducing the load when sending commands to a large number of Z-Wave devices?

Thanks in advance for any insights or suggestions!

I don’t have any Fibaro devices, but for Inovelli switches, there’s an ‘association behavior’ setting in the node configuration (in zwavejs UI) that can be changed to control if local commands (actuating the switch) or radio (zwave commands) or both trigger the association.
The Fibaro and other devices hopefully have a similar setting to adjust.

I believe a lot of devices do not trigger associations when controlles via Z-Wave commands. I have a brand new Jasco Pro ZW4109 and associations only work when I control the smart plug from the button on the plug.

Try using the Z-Wave multicast command. It sends a single command to multiple devices.

1 Like

Yes, put an empirically determined delay between them like 50ms, this gives space for the commands to be processed.

1 Like

I keep trying to use Z-wave direct/group associations and every time (every time) I am disappointed they don’t work like I’d expect.

Z-wave JS does have a multicast_set_value service/action to send the same command to multiple devices all at once. However it has some limitations on what commands can be sent, so your mileage may vary, but may be worth a try.