2021.2: Z-Wave... JS!

Dear reader,

Usually, I try to write a small introduction that recaps the release, while putting a bit of my view in it as well. This release, however, I’m struggling to find the right words…

So there is DHCP discovery added, which is super nice! And some really helpful new Blueprint selectors, tons of UI tweaks! But honestly…

Have you heard about Z-Wave JS?!

Well, out of nowhere, a huge bunch of developers came together this month and spat out a completely new, full-blown, fast, slick, sexy, complete, Z-Wave integration! 🤯

So, thanks guys! An achievement beyond words, really; You all rock ❤️

Enjoy the release!


Erik Montnemery joins Nabu Casa

Today, we are proud to announce that Erik Montnemery has joined Nabu Casa to work full-time on the Home Assistant project.

Some of you might know Erik better by his GitHub handle: @emontnemery, or by one of the integrations he works on: Cast, Tasmota and MQTT!

We are excited to have you aboard Erik! Welcome!

Python 3.7 dropped, Python 3.9 supported

Support for Python 3.7 has been removed, raising the minimum Python version you need to run Home Assistant Core to Python 3.8. Python 3.7 was already deprecated since Home Assistant Core 0.116.0.

This is only a concern if you are running Home Assistant Core directly on Python. If you run Home Assistant OS, Supervised or Container, you don’t have to worry about this, as the Home Assistant project takes care of this for you.

However, say hello to: Python 3.9. As of this release, Python 3.9 is fully supported and tested.

Z-Wave JS

This release brings you the Z-Wave JS integration!

A brand new integration for Z-Wave in Home Assistant, full-blown, created in a just month by a bunch of awesome people!

More and more people were concerned about the future of Z-Wave with Home Assistant; meanwhile the Z-Wave JS project was rapidly growing and gathering a large community around it. Long story short: Home Assistant and Z-Wave JS teamed up! And a lot of contributors jumped on the train!

This new integration is based on the same base principles as the OpenZWave integration: It is decoupled from Home Assistant. Instead of MQTT, the Z-Wave JS integration uses a WebSocket connection to a Z-Wave JS server.

This means, in order to use this new integration, you’ll need to run the Z-Wave JS server that sits in between your Z-Wave USB stick and Home Assistant. There are multiple options available on running the Z-Wave JS server, via Docker, manually, but there is also an Home Assistant add-on available.

If you run an installation with a Supervisor, the add-on will even be set up automatically for you.

Current state of Z-Wave JS

The new Z-Wave JS integration is amazingly complete. It supports the following platforms from the start: Binary Sensors, Climate, Covers, Fans, Lights, Locks, Sensors and Switches. Scenes are also supported!

Besides that, it is just blazing fast! ⚡️

While fast-growing, it is a new integration and there is still a lot in progress. Of course, no doubt, there will be bugs. Bugs that will be squashed and handled. Please, be sure to report issues in our issue tracker.

What is left? See our Z-Wave JS integration roadmap for those details.

Thanks to all

Thanks to all of the following people, the Z-Wave JS integration was able to see the light in just a month!

Yes, that is an awful lot of people! Amazing how this all came together and incredible work!

What about the old Z-Wave integration?

The old zwave integration has been based on OpenZWave 1.4, which is really old and does not get any upstream updates anymore. This also means that it is hard for us to keep it in a working state for the upcoming future.

Therefore, as of today, the old Z-Wave is marked as being deprecated.

If one is starting with Home Assistant and Z-Wave, the zwave integration is no longer recommended. For existing users, we recommend migrating to the Z-Wave JS integration. However, don’t panic, zwave is deprecated but not removed yet. We currently have no plans for removing it, unless it can no longer be made to be build for the latest Python

What about the OpenZWave beta integration?

Over a year ago, Home Assistant started working on the OpenZWave integration. Based on OpenZWave 1.6 and the OZW daemon, using MQTT as a transport. This project was promising and something we put a lot of time and effort in.

Unfortunately, the OpenZWave project itself became a bit staler as most of the upstream development is done by a single person: Justin Hammond (Fishwaldo).

Quite a few people were worried about the lesser activity on OpenZWave. Justin has responded on our forum on what is happening in his life and it is sad to read how many people have personally impacted him negatively.

Is OZW Dead - No. I’ll tinker with it, I’ll make changes as time allows, but it will be at my own pace, to scratch my own itches now.

Let us be straight here: OpenZWave is an 11 year-old project, which is used by an incredible amount of systems (besides Home Assistant) in this world, with an even greater track record. So:

Thank you Justin for all you have done in all those years!

The team that was working on the OZW integration have shifted their focus to the new Z-Wave JS integration. We don’t think the OpenZWave integration will make it out of beta. We recommend Home Assistant users migrate to the Z-Wave JS integration.

No more badges in auto generated dashboards

If you are using an auto generated Lovelace dashboard, you probably always had a ton of badges on the top of your dashboard. If there are just a few it works, but as more start to appear, it soon becomes cluttered.

Screenshot of the old badges clutter that is now gone!

We decided to no longer use badges in the auto generated Lovelace dashboards. Instead, every entity is neatly grouped by area or domain in an entities card.

If you liked the badges, you can always take control of your dashboard and add them.

DHCP Discovery

Home Assistant now listens on your network for devices that request a IP address. Based on those intercepted messages, Home Assistant can now discover integrations for you to use with the discovered devices.

This really powerful addition has been made by @bdraco, and many integrations have quickly enriched their integrations to use this new discovery method.

So as of this release, your Home Assistant might actually find some new devices it can use! Thanks @bdraco!

New Blueprint selectors

For our Blueprint fanatics, some new goodies to the Blueprint has been added this release. Thanks to @thomasloven, we now have two new selectors:

Screenshot of the text selectors.

  • An object selector: Shows an YAML editor in the UI.
  • An text selector: Show a single line text input or text area for longer messages in the UI.
  • Blueprint descriptions now support Markdown.

Screenshot of the object selector, giving a YAML input field.

Cloud Text to Speech settings

Nabu Casa has been offering an amazing text to speech service for a while now, yet it was hard to find, and even harder to setup and use.

To fix this, a new settings UI has been added where you can select the default language and gender to use for the text to speech service, so you no longer have to attach that to every service call. You can find it in the Home Assistant Cloud panel.

Screenshot of Cloud TTS options.

We also added the ability to try the chosen settings right in your browser. Click the try button, enter some text and click play to hear the text being spoken.

Other noteworthy changes

This release has no big new features, but we do have quite a bit of tweaks that are definitely noteworthy to mention.

  • We now give you a clearer reason why your Lovelace card configuration is not supported in the UI editor thanks to @spacegaier.
  • Shelly RGB devices are now fully supported!! Nice @chemelli74!
  • @dmulcahey Added filtering and zoom to node to the ZHA network visualization. Very useful to find you Zigbee network issues.
  • The deCONZ integration added support for logging basic event in the logbook. Nicely done @Kane610.
  • The Tasmota integration is out of beta! Awesome @emontnemery!
  • @spacegaier Added support for themes on the media card.
  • The items in the shopping list card can be ordered using drag & drop! Thanks @ShaneQi!
  • Newly ignored discovered integrations now show a name of the item ignored. This makes it easier to undo that later.
  • @balloob made a new framework that can detect significant changes in entities, allowing to reduce the amount of update we need to send to both Google Assistant and Alexa!
  • Setting up Lutron Caseta was quite a pain, but not anymore! @bdraco added one-touch pairing to the integration set up!
  • If you use light profiles, @Adminiuga is your man. All parameters of a light profile can now be optional and default profiles are always applied.
  • Dropdown helpers (input_select) got some new service capabilities added by @l-mb. They can now cycle through the options, and service calls to jump to the first or last item have been added as well.
  • If you have a Foscam camera, @joe248 added a service to move to PTZ presets.

This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2021/02/03/release-20212/

How many times was zwave written? :wink:

Great job as always! Looking forward to the upgrade

Sooo we are deprecating the fully working build in Zwave, openZwave remains complete and the NEW as of this release Z-Wave JS will be supported?

Those of use with lots of devices in our home hardwired would sure like some sort of roadmap of SUPPORT for major platforms like Z-wave.

Are any migration options planned?

1 Like

Not as often as MyQ… :grimacing: hahaha


I wish there was one more setting in the TTS, the volume

That is written in the blog post. There are no plans to remove the old integration. Additionally, there is a roadmap for Z-Wave JS linked as well.


This post was flagged by the community and is temporarily hidden.


Just install the server

Also, you can ask questions politely. Thanks.


This post was flagged by the community and is temporarily hidden.

1 Like


Small update, we have issues with our builds. There might be a delay in the availability of this release.

We are actively looking into it and I will update this post when we are able to move forward.

Edit: All good now…


@frenck I have also problems with docker hub at the moment. I get an authenticated error, which is probably the same error you have in the CI. Maybe there is a problem at docker hub.

Yes it is a known incident upstream. Awaiting resolution.

Please excuse my ignorance, but what is the difference between an mqtt sensor and the new mqtt number?

This post was flagged by the community and is temporarily hidden.

From what I’m gathering, mqtt sensor, which could be used to pull in a “number” via MQTT, will pull in a string representation of that number. MQTT Number would bring in the number as an actual number, so the object type in Home Assistant would be a number rather than a string.

1 Like

I’m eager to try the new Z-Wave JS integration. The update says polling is currently not supported and I have quite a few GE Z-wave dimmers that require ‘polling_intensity: 0’ to be set in zwave_device_config.yaml.

Is it safe to assume the GE Dimmers won’t work correctly with this new integration? If so, is there any word when polling may be supported?

1 Like

They do not update without the polling. They work perfectly fine though.

So if you turn on/off via the switch, nothing updates in HA. If you turn on/off via an automation, everything is A-OK and it updates properly.

1 Like

A number can provide controls (like a switch). Its the brother of input_number but for integrations. Its new, and will slowly make a bigger appearance :wink:

A sensor doesn’t provide controls.


Yes, they will turn on/off from the Z-wave commands but HomeAssistant won’t recognize them as being turned off, leaving them in a perpetual on state. I should have been more clear. Without polling enabled, when I turn the GE dimmers off in HomeAssistant, they dim down to single digit brightness in HA but don’t ever go into an off state.

That bug doesn’t make these dimmers very useful in a home automation solution when the on/off state can’t be recognized.

Great work with Zwave. :slight_smile:

I hope ZHA also gets more attention and developer men power.
Use it rather than Deconz or zigbee2mqtt. But I still see room for improvement with ZHA :muscle:

1 Like