Z-Wave JS in HA 2022.6.*

Hi all,

We’ve been spoiled ever since the Z-Wave JS integration was first introduced because we have usually been a prominent part of the release notes. The Z-Wave JS integration has come a long way, and it is pretty stable at this point, so there are other more important areas to focus on in the release notes. With that being said, there are regularly new features being added to the zwave_js integration, and this release is no exception. I thought it would be good to highlight some of these changes so that the community is aware of what’s going on - rest assured, there is plenty of active development going on in all things zwave_js and the integration will continue to get better! On to the highlights…

  • Parallelized service calls - Up until this release, we iterated through all nodes when making service calls and awaited the results. If you wanted to target multiple devices (assuming you couldn’t use multicast to do it) to perform an action, the service would issue a command to a node and then wait for its response before issuing the command to the next node. With these changes, we immediately issue the commands to all nodes and let zwave-js handle traffic management.
  • Controller statistics - Controller statistics have now been added to the config entry configuration page. Device statistics are in progress and will hopefully be available in the next release. These statistics can help you troubleshoot problematic nodes and identify problematic physical areas of your network.
  • Events in the logbook - notification and value notification events now show up in the logbook. These events are device specific not entity specific.
  • Device alerts - zwave-js device alerts now show up on the device page instead of on the config parameter page. These alerts are also available in the Z-Wave Device DB but now they are relatively more prominent in HA

There were plenty of bug fixes along the way too. Thanks to everyone that submitted a bug report along with the details needed to fix it. I would encourage the community to open issues in the home-assistant/core repo for any additional bugs so that we can try to make your Z-Wave devices stable and reliable.

I can’t guarantee that we will do this every release but depending on the feedback it’s something we will consider as we move forward! Cheers, and to an open home!

13 Likes

So, no need to use multicast? Pallalelized with S2?

How do we submit new devices to be added? What info is needed?

If you don’t know how to add it yourself, you’d create an issue here.

Otherwise, if you do know how to add the information, you’d create a PR there adding the appropriate files to the correct mfg folder. Keep in mind, that all this information under the hood in these files requires intimate knowledge of the device, the cc structure, and hex masks. If you don’t know this, attach the manual to your issue.

Fantastic work! Looking forward to implementing!

May have oversold this point. Multicast is still a better approach for sending calls to multiple devices. What’s changed is that before, for awake devices, we’d wait for a response before sending a command to the next node. Now we don’t, we send all the commands to the controller and gather the responses. We were also limited to one service call at a time per platform for entity services (like light.turn_on) before but we’ve removed that limit.

3 Likes

So whats the bet approach to have HA turn off all my lights in my house simultaneously through Google home?

If you can use multicast, that’s still your best bet as it will be a single command broadcast to all target nodes. If you can’t use multicast, you can use the light.turn_on service and either target all the lights individually or create a group and target the group entity.

It seems by default when you say “Hey Google, turn on all the lights” It must call them individually because it can take about 30 seconds for all lights to come on sporadically. Maybe I have to have a custom command?

You can create a script and tie it to a custom routine in Google Home, then have that script do a multicast to turn on all the lights.

I’ve submitted an issue but it’s been in triage for over 20 hours.

So less than a day? How fast do you expect things to get done when this is not a commercial product? Have some patience please… In addition, submitting an issue to request device support requires someone who has enough interest in that device to help you out. The fastest way to resolution is to figure out how to create the device file and to create a PR for it. There’s a section in the docs dedicated to helping you do that: zwave-js - Z-Wave driver written entirely in JavaScript/TypeScript

Yeah fair enough. I guess I was thinking that checking or triaging wouldn’t take long as it was a check for spam or whatever before it got posted. I’m not in any rush.