The introduction of Z-wave
A proprietary wireless communication protocol using mesh networking is called Z-Wave. Low-power devices can connect over long distances and around radio interference by sending messages from one node to another in a mesh network. It’s crucial to remember that not all Z-Wave equipment is always active, especially battery-powered equipment. These nodes are unable to participate in message forwarding over the mesh.
In a network, a Z-Wave device is referred to as a “Node.” Up to 232 nodes can be found in a Z-Wave network. If more devices are needed, multiple networks must be set up using different Z-Wave controllers. OpenZWave supports multiple controllers, but it does not bridge the networks such that a device on one network can directly control a device on another. The program would have to provide this feature.
Nodes that use Z-Wave can be categorized as Controllers or Slaves. Typically, the controllers are PC interfaces or handheld remote devices. The dimmers, switches, motion sensors, and other devices are all slaves. Devices and Controls Values for Replication Command Classes
Z-Wave origin and Compared with other protocols
Zensys, a Danish corporation, developed Z-Wave in 1999; it arrived in the US in 2002. Z-Wave is a wireless technology, much like Zigbee, primarily focusing on connectivity inside smart homes.
As the smart home’s popularity soars, more linked devices are being added to people’s homes. Many of these items, including sensors, lightbulbs, heating controls, locks, plugs, and the like, include Z-Wave so they may communicate with one another.
There are over 4,000 Z-Wave-enabled devices available, and there are over 100 million Z-Wave devices in smart homes globally.
Z-Wave uses low-energy radio waves to communicate between devices and is a significantly lower power alternative to Wi-Fi with a far wider range than Bluetooth.
Take the DSGW-210 as an example. The gateway is with multiple protocols and edge computing functions. It provides reliable connectivity for a wide range of wireless IoT devices. The gateway’s modular architecture allows customization of many gateway features, providing an off-the-shelf solution that meets your exact needs. Options include Cellular, Bluetooth, Wi-Fi, Ethernet, USB, ZigBee, Z-wave, Lora, and Li battery backup.
OpenZWave is an open-source, cross-platform library designed to enable anyone to add support for Z-Wave home-automation devices to their applications without requiring any in-depth knowledge of the Z-Wave protocol.
Here listed simple steps for the basic installation for the Zwave2Mqtt library from OpenZWave,
1) Install and run the project in gateway with the following command,
docker run –rm -it -p 8091:8091 –device=/dev/ttyS1 –mount source=zwave2mqtt,target=/usr/src/app/store robertslando/zwave2mqtt:latest
2) Basic setting UI for the gateway, and it can be configured with the .xml configuration file as well,
Z-Wave JS (a.k.a. node-zwave-js) is a standards-compliant, community-driven, and Open Source Z-Wave device driver. It is based on Node.js but can be used from any other language with WebSocket support.
Z-Wave JS is the most advanced open source Z-Wave library available, with support for modern Z-Wave features like Security S2, Smart Start, and soon-to-be-certified.
Here listed simple steps for the basic installation for the Zwavejs2Mqtt library for ZWaveJS,
1) Install the project in the gateway container
docker run –rm -it -p 8091:8091 -p 3000:3000 –device=/dev/ttyS1:/dev/zwave -v $(pwd)/store:/usr/src/app/store zwavejs/zwavejs2mqtt:latest
2) Configure the Zwave adapter setting by generating the keys, serial port, and other options
3) Connect the gateway to an MQTT broker for further data collection
4) Check the Z-Wave adapter status after configuration and pare with one sample Z-Wave device for testing data uploading
5) Check and confirm the data received in the MQTT broker
In conclusion, compared with OpenZWave, the ZWaveJS is more like the future of the ZWave driver as it functions with more detailed configuration settings and more features supported, like S2 encryption. Furthermore, the Zwavejs repository updates timely with bug fixes and new features, and it now delivers more support for Z-Wave certified devices regarding the OpenZWave library. Therefore, we’d suggest using the ZWaveJS in our gateway as it’s a more promising solution for Z-Wave communication.