2021.10.0: Z-Wave S2 support, Tuya, secure ESPHome and 400 new icons

October! I love this month!

For most of you (just like me), it means winter is coming. We all go back inside. An excellent excuse to spent a bit more time on our smart homes, right? 😃

It is also the month of celebrating open source by joining Hacktoberfest! If you make 4 contributions to any open-source project (Home Assistant, for example 😘), you’ll receive a free t-shirt!

For the Home Assistant project, this means a busy month. However, that doesn’t matter. It is always great to see new people contributing!

Meanwhile, Home Assistant turned 8 years old already! Wild! And the birthday announcement was even wilder (more about that below).

Anyways, about this release: Z-Wave JS is stepping up its game! If you have a Z-Wave network and are not using Z-Wave JS yet… well… it might be time to bite the bullet and go for it. You won’t regret it.

This release also brings the new much-talked-about, Tuya integration supported by Tuya themselves! I’m looking forward to how that evolves!

Oh, and of course, we will be live streaming the 2021.10 release party later today! Join us at https://youtu.be/QWy4jWzKUEw @ 21:00 CEST.

Enjoy the release!


Home Assistant Amber

In case you’ve missed it: Home Assistant turned 8 years old! 🥳 And to celebrate that, we’ve revealed the Home Assistant Amber!

Home Assistant Amber was launched using a crowdfunding campaign, which already reached its funding goal! This is absolutely fantastic!

And… You can still back the campaign to get your own Home Assistant Amber!

Z-Wave JS updates!

We have two awesome Z-Wave JS updates to share with you this release.

S2 is now supported

Security is something we all care about; We don’t want devices to be tempered with, when using things like door locks or motion sensors that trip the alarm system. For our Z-Wave devices, this is no different!

As of this release, Home Assistant’s Z-Wave JS integration supports S2!

S2 is short for Security 2, a new security standard for Z-Wave devices, providing different keys for each device in the network. It is the more secure upgrade of the previous S0 version.

Besides improved security, S2 capable devices (in general) are more reliable, provide greater battery life and have less latency compared to S0.

The Z-Wave JS integration will automatically pick the best and most optimal security method available.

Automatically uses the best possible security method when adding a new Z-Wave device.

If you have existing Z-Wave devices capable of using S2 already paired with Home Assistant before this update, you will need to repair those to let them use the new S2 feature.

Migration wizard from the old Z-Wave integration

Are you still using the old (and deprecated) zwave integration? If so, it might be that you have been holding back on the Z-Wave JS upgrade because of the work involved in migrating. Time to reconsider…

Home Assistant now provides a migration wizard for users of the old Z-Wave integration to migrate more easily to the new Z-Wave JS integration.

To avoid surprises, the wizard will exactly show what it will do, what it can and cannot migrate.

The old and deprecated Z-Wave integration will continue to work as long as technically possible, but will no longer receive updates.

New Tuya integration

Oh yeah! The Tuya integration has been updated to the latest greatest version: developed and maintained by a team of developers at Tuya themselves!

Right now, we have support for lights, switches, scenes, fans and climate devices. Compared to the old integration, support for covers is currently missing, which we hope to add in a future release. Additionally, the new integration now pushes updates to Home Assistant!

If you ran the Tuya integration previously, you need to set it up from scratch, as the integration has been entirely re-written and uses a different API.

For more information, please see the Tuya integration documentation.

Updated Material Design Icons

The Material Design Icons have been updated to v6!

This new version of MDI is packed with nearly 400 new icons (and over 75+ icons have been specifically marked for Home Assistant) ❤️

Some really useful new MDI icons have been added in this release!

Several icons have been removed or renamed in v6, but we have ensured they will keep working for the upcoming two releases. Home Assistant will write warnings in the logs in case you are using one of the affected icons. The breaking changes section has more information about this.

Encrypted communications support for ESPHome

ESPHome and the ESPHome integration now have support for communicating encrypted with each other. @OttoWinter has been working hard to add this layer of encryption to the ESPHome API, which utilizes the noise protocol.

Besides this version of Home Assistant, you’ll need at least ESPHome 2021.9.0, and configure your ESPHome device to enable encrypted communications.

Awesome job @OttoWinter!

For more information on how to do that, check out the ESPHome documentation.

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • The energy dashboard now supports gas sensors that use kWh as the unit of measurement.
  • We have a new dev tool available for long-term statistics. This tool can be helpful when you need to resolve issues or warnings with the statistics. ![](upload://yGWttu3w8fndYGBjRsLBenN9d5t.svg)
  • The Shelly team has been busy and added support for the new, next-generation, Shelly devices. Also known as Gen2 or Plus devices (which are WebSocket RPC based).
  • The TP-Link Kasa Smart integration had a lot of love and improvements: support for new devices, configurable via the UI and device discovery. It fixes the famous and disliked “unavailable” bug! Thanks @rytilahti!
  • @Aohzan adjusted the Logitech Harmony integration to have a select entity to change the activity. Very handy!
  • HomeKit now supports the select and input_select entities, thanks to @ha0y!
  • @Kane610 added support to deCONZ for the Siren entity.
  • The manual alarm control panel now supports vacation mode, thanks @mbo18!
  • @koying added a new template method: regex_findall, that can return a list of all matches of a regular expression.
  • @emontnemery added more template goodness by adding the is_number function and filter that can be used to quickly determine if a value is a number or not.
  • The Lovelace entity card now supports setting the icon to change color when the entity is active (state_color). Thanks, @spacegaier
  • The SwitchBot integration is receiving a lot of love from @RenierM26! A bunch of new platforms, configuration via the UI, nice work!

This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2021/10/06/release-202110/

If you have tuya v2 installed through HACS, does it migrate the settings ?

Tempering can be useful, however, tampering is what we don’t want.


Great release as always :slight_smile:

No, custom integrations are not related to integrations provided by Core.

Thanks! Will adjust!

Is the new Tuya, based on local access?

OK you convinced me to work on my Zwave network migration.

Perhaps the integration documentation need an update. We can still read:

If you are currently running on the zwave or ozw Z-Wave integration and it works fine, there is no need to switch over at this time to Z-Wave JS. It is important to know is that most development focus currently goes to Z-Wave JS.

That text still seems accurate, there is no direct need to switch over.

That said, Z-Wave JS is ahead and in constant development. Both the documentation and these release notes say the same: All development goes to Z-Wave JS, not the old z-wave integration.

There are no plans for a migration wizard for ozw to zwavejs right? Wonder if we should mention that here or if us ozw guys are in the minority :stuck_out_tongue: Need to find some time to make the switch and test everything but its a bit time consuming lol

1 Like

With the new Tuya integration as a Cloud Push type, does that mean I need my HomeAssistant to be reachable from the internet? just to confirm, this requisite is not always clear on the integrations documentations.

“Cloud Push”, as the name implies, it uses the cloud, thus requires an active internet connection.

For more information about these IoT classes (as we call it), see:

Note for Tesla users: @alandtse maintains an awesome Tesla custom component for HA that receives updates (and fixes breaking changes) much quicker than the official integration used to. It it also a drop-in replacement for the official integration, maintaining the same entity IDs. If you’re looking for a replacement, give it a try!

And thanks @alandtse for maintaining such an awesome custom component for us!


I mean, Cloud Polling also needs internet, but doesn’t require your HA instance to be reachable from outside, no reverse proxy, no ddns nor anything.
While I always thought (but not sure) that Cloud push REQUIRES the HA instance to be reachable, using NABU kasa, or reverse proxies or something like that.
The exactly page you send the link doesn’t state that. I even thought about doing a pull request to improve the docs about that. but as I said, I’m not sure if that is always the case ( I don’t know enough about all the forms of communication, like using websocket or things like that)

1 Like

Aah right, no you don’t need a public accessible instance for the push functionality in the Tuya integration


Where is this migration wizard? Or should I update to 2021.10 first to see it?

1 Like

I was partially using OpenZwave and partially using my old vera gateway and now switched completely to Z-wave JS. It works like a charm. Okay, I don’t have that many devices, but it was a breeze. It genuinely works way better compared to the separate Vera HUB and is way user-friendlier than Open Z-wave before it.

1 Like

A few of my network router entities are no longer updating after this update. I see there was a UPnP/IGD integration change but I didn’t have anything specified in my config yaml so I wasn’t expecting to see anything broken. Missing:


Missing a few others entities too, but I’m not sure which ones since I reinstalled the integration to try to resolve the issue (didn’t work).

I use the traffic per second entities to aggregate traffic hourly/daily, so I noticed that right away.

Anyone else affected?


If so, it might be that you have been holding back on the Z-Wave JS upgrade because of the work involved in migrating

I feel seen