Install Z-Wave on Home Assistant with ZwaveJS2Mqtt

Z-Wave Installation Tutorial on Home Assistant OS

After seeing seen yesterday how to install Zigbee2MQTT on Home Assistant simply, we will continue to improve our home automation installation by adding the Z-Wave protocol. Indeed, if the ZigBee tends little by little to impose itself in our connected houses, the king home automation protocol always remains the very effective Z-Wave which we will integrate very simply on Home Assistant with ZwaveJS2MQTT.

Use the Z-Wave protocol with Home Assistant

Like the ZigBee, Home Assistant is gradually becoming the benchmark for open source home automation systems. With a dynamic team and a particularly active global community, Home Assistant OS supports almost all protocols on the market and in particular the Z-Wave.

What is Z-Wave?

Created in 1999 by the Danish company Zensys and acquired in 2018 by Silicon Labs, the Z-Wave is a wireless communication protocol allowing devices to be connected to a mesh local network.

This protocol has several advantages:

  • excellent range : the Z-Wave protocol uses the 868 MHz band and operates in a mesh network. As you know, the lower the frequency, the greater the range. It is inversely proportional. This range is also extended thanks to a mesh network capable of supporting a large number of devices. We often read that it is limited to 232 devices, but it can theoretically count 28 i.e. 256.
  • reduced susceptibility to interference : this is the second advantage of the 868 MHz band which is much less busy than the 2.4 GHz of Wi-Fi / ZigBee / Bluetooth…
  • low latency : with messages of only a few bytes, the Z-Wave protocol is particularly fast despite its transmission speed of 100 kbit/s maximum.
  • low consumption : thanks to very light messages and controlled energy management, the Z-Wave consumes almost nothing. Thus, small sensors can last 3 to 5 years with a single battery. Some switches are even wireless and able to rely on the kinetic energy generated during use.
  • increased security : Z-Wave S2 uses an asymmetric key exchange which involves a public key and a private key. Any command can be encrypted using the public key, but only the private key can unlock it. Thanks to this method, deciphering a key is practically impossible, which is also the reason why connected alarms such as Ring Alarm V2 use this protocol.
  • Matter compatibility to come : like ZigBee, Z-Wave will soon be compatible with Matter and therefore with a large number of connected objects. In the meantime, we will also see how it can work with MQTT…


You won't be surprised to learn that you obviously have to have a installing Home Assistant on Raspberry Pi, Odroid, NUC or NAS. As far as we are concerned, we will use a virtual machine Home Assistant on NAS Synology.

From a hardware point of view, you will obviously need a Z-Wave dongle. We used a Aeotec Z-Stick gen5 (ZW090) renowned for its effectiveness, but you can choose another of course.

Here are some Home Assistant compatible models from our partner Domadoo:

Which you will obviously also find at Amazon :

In stock
10 new from € 54,90
May 20, 2022 7:50 a.m.
Amazon. Fr
Not available
May 20, 2022 7:50 a.m.
Amazon. Fr

We will install Z-Wave JS to MQTT because we are already using a Mosquitto MQTT broker et Zigbee2MQTT on Home Assistant. You will need it for what will follow and we invite you to consult the tutorials below if necessary.

Tutorial: Install Mosquitto MQTT on Synology NAS
Tutorial: install Mosquitto MQTT on Raspberry Pi

Note that however, you can choose not to use MQTT and be satisfied with the integration Z-Wave JS which will be offered to you as soon as you have connected your dongle, in which case you can go directly in point 19 of our tutorial.

It's up to you whether or not you want to use a broker, but if you are one of the many readers who follow us faithfully – and whom we thank warmly – know that we will need this integration in future home automation tutorials DIY.

Install Z-Wave JS to MQTT on Home Assistant

The first thing to do is obviously to connect your dongle to a USB port on your home automation box. Home Assistant. As far as we are concerned, we will be using the Aeotc Z-Stick Gen5 controller on a USB hub plugged into our Synology DS920+ NAS.

We will now proceed to theinstalling Z-Wave JS to MQTT in order to send the information to our broker Mosquitto MQTT. The procedure may seem a bit long because we guide you click by click, but rest assured, there is absolutely nothing complicated.

  1. Open Home Assistant (http://homeassistant.local:8123/);
  2. Go to the Supervisor ou Parameters ;
  3. Click on Modules complémentaires  and access the Add-ons store via the button located at the bottom right;
  4. Search for " Z-Wave » And click Z-Wave JS to MQTT ;
  5. Click on Installer and wait 2-3 minutes for the installation to complete;
  6. Done " To start up ", wait a few seconds, then press the " Open web UI »;
  7. Go to Menu > Settings (the toothed wheel) and dexpand the tab Z-Wave ;
  8. Dance Serial Port, select / dev / ttyACM0 ;
  9. Below you find 4 fields with keys, click on the buttonsactualization to generate random security keys for S0 Legacy, S2 Authenticated, S2 Unauthenticated and S2 Access control;
  10. Click on Save at the bottom right ;
  11. Go to the icon"4 squares" located at the very top and check if the driver started correctly.
  12. Go back to Modules complémentaires ;
  13. Click on Z-Wave JS to MQTT ;
  14. Consult the Documentation the second tab;
  15. Look for an address like this: ws://a0d7b954-zwavejs2mqtt:3000 " and copy it. Attention, this address is only valid for the dongle Aeotec Z-Stick Gen5 ;
  16. Go to Settings or Supervisor > Devices and Services ;
  17. Then on the button + Add integration located at the bottom right;
  18. Search Z-Wave JS ou click here (direct access link) and do configurator ;
  19. uncheck  “Use Z-Wave JS Supervisor Add-on” and click Submit ;
  20. Paste the Z-Wave server address copied above: ws://a0d7b954-zwavejs2mqtt:300 and cconfirm by clicking on Submit ;
  21. Assign your Z-Wave dongle to the zone of your choice and click finish.
Your dongle Z-Wave is now configured on Home Assistant ! All that remains is to pair a few devices…

Pairing a Z-Wave device on Home Assistant

To pair a device, nothing could be simpler, just go to:

Supervisor or Settings > Devices and Services > Z-Wave JS > + Add Device

Within seconds, your device is paired and found in Home Assistant. Here we have chosen the new Zooz ZSE40-700 4-in-1 sensor and we find all its entities: movement, luminosity, temperature and humidity.

Returning to the Z-Wave interface on JS, we find all our devices:

And as on Zigbee2MQTT, we find a graph of our network:

Finally, everything is present on our MQTT broker!

In conclusion, this integration may seem complicated at first glance, but ZwaveJS2MQTT is ultimately easy to implement and damn effective. We like the flawless (or almost) stability of the Z-Wave, its low latency and excellent range. Admittedly, connected objects using this protocol are generally more expensive, but it is the price of quality and reliability. We recommend to all fans of home automation!
Fascinated by Alexa since the day I received it in beta test, I gradually became passionate about the subject, before deciding to go further by creating a site with Jean-Christophe. An activity that allows me to quench my thirst for new technologies and share my discoveries about the nicest of communities: Les Alexiens.