From e3ba77577b0cabed56e1222370b2d265b8e1d3f8 Mon Sep 17 00:00:00 2001
From: Gord <31004434+googanhiem@users.noreply.github.com>
Date: Wed, 8 May 2024 14:42:44 +0100
Subject: [PATCH] Add blogpost about Z-Wave (#32642)
---
.../2024-05-08-zwave-is-not-dead.markdown | 102 ++++++++++++++++++
.../blog/2024-05-zwave-is-not-dead/art.jpg | Bin 0 -> 375620 bytes
.../2024-05-zwave-is-not-dead/drzwave.jpeg | Bin 0 -> 165657 bytes
.../2024-05-zwave-is-not-dead/firmware.png | Bin 0 -> 45861 bytes
.../2024-05-zwave-is-not-dead/keynote.png | Bin 0 -> 46015 bytes
.../paulus-z-wave.jpeg | Bin 0 -> 111468 bytes
.../2024-05-zwave-is-not-dead/unplug.jpeg | Bin 0 -> 213444 bytes
7 files changed, 102 insertions(+)
create mode 100644 source/_posts/2024-05-08-zwave-is-not-dead.markdown
create mode 100644 source/images/blog/2024-05-zwave-is-not-dead/art.jpg
create mode 100644 source/images/blog/2024-05-zwave-is-not-dead/drzwave.jpeg
create mode 100644 source/images/blog/2024-05-zwave-is-not-dead/firmware.png
create mode 100644 source/images/blog/2024-05-zwave-is-not-dead/keynote.png
create mode 100644 source/images/blog/2024-05-zwave-is-not-dead/paulus-z-wave.jpeg
create mode 100644 source/images/blog/2024-05-zwave-is-not-dead/unplug.jpeg
diff --git a/source/_posts/2024-05-08-zwave-is-not-dead.markdown b/source/_posts/2024-05-08-zwave-is-not-dead.markdown
new file mode 100644
index 00000000000..62ddb2ae84f
--- /dev/null
+++ b/source/_posts/2024-05-08-zwave-is-not-dead.markdown
@@ -0,0 +1,102 @@
+---
+layout: post
+title: "Z-Wave is not dead"
+description: "Z-Wave is alive and well, partly due to a strong community that is building new open-source resources."
+date: 2024-05-08 00:00:01
+date_formatted: "May 08, 2024"
+author: Paulus Schoutsen
+comments: true
+categories: Z-Wave
+og_image: /images/blog/2024-05-zwave-is-not-dead/art.jpg
+---
+
+
Art by Clelia Rella
+
+**TL;DR: Z-Wave is alive and well, partly due to a strong community that is building new open-source resources. To thrive well into the future, it must take further steps to open its technology.**
+
+Last week, Dominic, Uwe, and I (Paulus) attended the Z-Wave Alliance member meeting in Austin, Texas. It was the first meeting since we [became a member](/blog/2024/02/15/nabu-casa-joins-z-wave-alliance/) and we came with a mission: tell Alliance members about the work done by the open-source community for Z-Wave and find new avenues for collaboration.
+
+Three of us attended, each representing different facets of Z-Wave within the Open Home Foundation: Dominic is the founder and maintainer of Z-Wave JS, which powers the Z-Wave integration in Home Assistant. Uwe leads the development of the Home Assistant Z-Wave stick that we’re working on, and I was there to enable collaborations with other Z-Wave members. Big thanks to [Home Assistant Cloud subscribers](https://www.nabucasa.com/) – thanks to you we can do this work full-time at Nabu Casa.
+
+### A little background on Z-Wave
+
+To use Z-Wave in Home Assistant, our users buy a Z-Wave certified USB stick and combine it with Z-Wave certified devices. Home Assistant then connects to the stick using Z-Wave JS, developed by Dominic, and we’re off to the races. Z-Wave JS was developed completely outside of the Z-Wave Alliance, and is based on the published version of the Z-Wave specification.
+
+Z-Wave wasn’t always this open - Z-Wave used to be owned by a single company, which was later acquired by Silicon Labs. SiLabs decided it was time for change and turned the Z-Wave Alliance into a Standards Development Organization (SDO) that is controlled by its members and a standard that is open.
+
+As it stands, there are still parts of Z-Wave that are not open yet, including the firmware that is running on Z-Wave sticks. I might have mentioned _a couple of times,_ including in my keynote, that we should open up more. It is a good thing to let everyone help fix bugs, improve code quality, and improve diagnostics.
+
+
+
+## Opening Keynote
+
+One of the conditions that we negotiated when joining the Z-Wave Alliance was that we would be allowed to give an opening keynote to explain the work we have been doing. For the last 8 years, Home Assistant has been doing its own thing with Z-Wave. We have contact with manufacturers of Z-Wave devices via [our partner program](https://partner.home-assistant.io/), but never established an official relationship with the Alliance. We decided that it was time to change that.
+
+We launched the [Open Home Foundation](https://www.openhomefoundation.org/blog/announcing-the-open-home-foundation/) last month, a nonprofit that fights for privacy, choice, and sustainability in the smart home – and anyone who lives in one. Open smart home standards like Z-Wave are an important building block for this. With Z-Wave, your data stays at home as communication is fully local. It’s a standard meant to offer consumers choice, and with no reliance on the cloud, devices can continue to work long after a manufacturer ends support, or frankly doesn’t care anymore.
+
+If you follow tech news, you might be wondering now: What about Matter? With the OHF, we believe in choice, including at the standard level. Each standard is built on top of different technologies, and each has pros and cons. Z-Wave is great because it works without Wi-Fi, and its sub-GHz frequency is less busy, allowing it to travel further.
+
+
Paulus Schoutsen presenting
+
+In my keynote to the Alliance, I introduced the work we’ve been doing with Home Assistant, Z-Wave JS, and the Open Home Foundation. According to [our opt-in analytics](https://analytics.home-assistant.io), 9.7% of our users use Z-Wave. This also means that 90.3% of installations are one Z-Wave stick away from being able to use Z-Wave. Z-Wave JS has opt-in statistics, which show on average there are 17 Z-Wave devices per network. **Math time:**
+
+
+1 million active Home Assistant installations
+x
+9.7% using Z-Wave
+x
+17 Z-Wave devices
+=
+1.7 million Z-Wave devices in use
+
+When it comes to smart home standards, all big smart home platforms are all-in on Matter and have skipped or forgotten about Z-Wave – except for Home Assistant. We have always featured Z-Wave in our list of integrations and are big promoters of the standard.
+
+This is where I introduced our goal for Z-Wave to the Alliance: we want Z-Wave to be a successful consumer-facing brand. Z-Wave is very popular among companies in the US making security products (like Ring). However, the consumer doesn’t know they are using Z-Wave because it is an implementation detail. This holds Z-Wave back from becoming a rich ecosystem.
+
+For us, success means that there are many manufacturers making Z-Wave devices and that users have an abundance of choice in each product category.
+
+
+
+Z-Wave JS is an independent driver created from the ground up based on the published Z-Wave specification. Dominic has put a lot of effort into this, and his work has formed a community of people passionate about developing the best open Z-Wave driver. Our community has many power users who test Z-Wave JS and make sure it scales and works with both old and new devices.
+
+We are working on getting Z-Wave JS certified to get companies to consider adopting it. Good news on that front – there is already one company that has dropped their 20-year-old Z-Wave stack in favor of Z-Wave JS. Let’s get more on board!
+
+Our efforts to make Z-Wave a success go beyond making an open source Z-Wave driver and smart home platform. We also created the Z-Wave JS Firmware Update service to provide updates for Z-Wave devices. For this service we are currently working with 8 different manufacturers to provide firmware for 187 devices. In my keynote I told the audience that we want to help more manufacturers provide updates to their users.
+
+
The companies that contribute their firmware to the Z-Wave JS Firmware Update service.
+
+In the end, I wrapped up my talk pushing the Alliance to open up more: we all want Z-Wave to succeed. If it is more open, it will be easier for users to adopt. This will lead to more tooling, more apps, more everything. That will, in return, lead to a bigger Z-Wave ecosystem where we can all thrive. Some will do it for sales, or in our case, to drive forward products that value privacy, choice, and sustainability.
+
+We are all in this Alliance to have our devices work together. Let’s not compete on who can best control a Z-Wave light bulb.
+
+OPEN SOURCE!
+
+## Range testing our Z-Wave stick prototype
+
+One of our team's first stops at the Z-Wave Summit was attending [DrZWave](https://drzwave.blog/)’s range test down at the Colorado River. This was a perfect opportunity to see how well the prototype of our Z-Wave stick performs. While others tested with huge antennas on both sides to reach the longest range possible, we deliberately chose [end devices with tiny antennas](https://www.silabs.com/development-tools/wireless/efr32xg28-explorer-kit?tab=overview) to recreate a more real-world scenario. After all, many devices out in the wild don’t have room for big external antennas, and we want to have the best possible experience for our users with existing networks. Also, we tested both classic Z-Wave and Z-Wave Long Range because a majority of existing devices still use classic Z-Wave.
+
+Bikes and scooters weren’t allowed on the bridges and near the water, so Uwe got some exercise that day, walking several miles up and down the river with the end devices in his pockets. Dominic performed the range test using [Z-Wave JS UI](https://github.com/zwave-js/zwave-js-ui) and a simple script that sent on/off commands to the end devices to make them blink. Due to encryption, even a single corrupted bit would be noticeable by an interruption of the blinking pattern and missing responses from the end device.
+
+It is barely visible in the photo, but we reached the bridge behind the bridge all the way in the background. We used classic Z-Wave and Z-Wave Long Range, although classic Z-Wave was not as reliable at that distance. That is a 0.7-mile (1.13-km) **line of sight!** With a better antenna on the other side or using EU frequencies (which allow higher transmit power), even further ranges are definitely possible.
+
+
Left: Dominic, slightly jetlagged, with our stick prototype (green). Right: DrZWave with the controller reference design (purple). Background: Uwe, 0.7 miles away.
+
+## Unplug fest
+
+Afterward, everyone headed inside for the unplug fest, where manufacturers of end devices and controllers/gateways could connect and test how well they interact with each other. Here’s an example of a HomeSeer prototype that already has great support in Z-Wave JS:
+
+
+
+Since there was still some time left, we took the chance to perform more range tests with our prototype and the reference design, this time indoors going up through multiple layers of concrete. Depending on the end device, we were able to bridge between 2 and 8 floors.
+
+## Z-Wave JS is EVERYWHERE
+
+Besides powering the Z-Wave integration in Home Assistant, Z-Wave JS is a great tool for development. Built with diagnostics in mind, Z-Wave JS helps understand what the controller and devices are doing and whether they are behaving as expected.
+
+Although we set out to tell people about Z-Wave JS, we learned that a lot of engineers from established companies already use it for development – and in their presentations! They use it to reproduce issues, do load testing, write scripts to automate certain tasks, and run their own test suites. This includes using the CLI tools to update firmware, for example, to investigate changes between different Z-Wave SDK versions. The Javascript API makes it trivial to perform arbitrary actions and automate things that are hard or impossible to do using UI-based applications.
+
+Another valuable development tool is the Zniffer, a special Z-Wave controller that can capture and decode all Z-Wave radio traffic. Like most of the existing tooling, this requires using Windows. Prior to the summit, Dominic had started working on adding support for Zniffer devices to Z-Wave JS. Although this was still a work in progress, people were already using it for development purposes and told us they were looking forward to it being officially released.
+
+## Conclusion
+
+Z-Wave is a powerful technology with a large install base, and in certain use cases, it provides real advantages over other connectivity standards. Meeting Alliance members, I can see they are enthusiastic about the future, but it's the community that will drive the next chapter of Z-Wave. Further opening Z-Wave will empower both the vendors and the community - and help build an open home that serves everyone in it, providing greater privacy, choice, and sustainability.
\ No newline at end of file
diff --git a/source/images/blog/2024-05-zwave-is-not-dead/art.jpg b/source/images/blog/2024-05-zwave-is-not-dead/art.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3eaf392aa5a56a2d63b64f080b9582bac8f1640a
GIT binary patch
literal 375620
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