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!

../Frenck

Home Assistant Yellow

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

Home Assistant Yellow 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 Yellow!

Go to campaign on CrowdSupply »

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 tampered 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.

Screenshot of Z-Wave JS pairing a new device with S2 security 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) ❤️

Sample image showing some of the new Material Design Icons available 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 backward-incompatible 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.
  • 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!

New Integrations

We welcome the following new integrations this release:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2021.10.1 - October 7

Release 2021.10.2 - October 8

Release 2021.10.3 - October 10

Release 2021.10.4 - October 11

Release 2021.10.5 - October 15

Release 2021.10.6 - October 18

Release 2021.10.7 - November 1

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Backward-incompatible changes

Below is a listing of the breaking change for this release, per subject or integration. Click on one of those to read more about the breaking change for that specific item.

Templates

The following template filters and functions will now log a warning instead of silently returning the input if the input is invalid and no default value is specified:

  • acos
  • as_timestamp
  • asin
  • atan
  • atan2
  • cos
  • float
  • log
  • multiply
  • round
  • sin
  • sqrt
  • strptime
  • tan
  • timestamp_custom
  • timestamp_local
  • timestamp_utc

The float filter will now log a warning instead of silently returning 0 if the input is invalid and no default value is specified.

In Home Assistant Core 2021.12 the template will fail to render if no default value is specified. You can specify a default value by passing to the filter like this: {{ "abc" | float(default=0) }}.

(@emontnemery - #56453)

Material Design Icons (MDI)

The Material Design Icons have been upgraded to v6, which brings in around 400 new icons and removes and renames some others.

The removed and renamed icons will keep working for this and the next release, Home Assistant will write a warning to the logs in case you are using one of the removed or renamed icons.

The following icons have been removed:

  • adobe-acrobat
  • adobe
  • amazon-alexa
  • amazon
  • android-auto
  • android-debug-bridge
  • bandcamp
  • battlenet
  • blogger
  • buffer
  • cash-usd-outline
  • cash-usd
  • cellphone-android (alternative: cellphone)
  • cellphone-iphone (alternative: cellphone)
  • concourse-ci
  • currency-usd-circle
  • currency-usd-circle-outline
  • do-not-disturb-off (alternative: minus-circle-off)
  • do-not-disturb (alternative: minus-circle)
  • douban
  • file-pdf (alternative: file-pdf-box)
  • file-pdf-outline (alternative: file-pdf-box)
  • file-pdf-box-outline (alternative: file-pdf-box)
  • google-photos
  • home-currency-usd
  • laptop-chromebook (alternative: laptop)
  • laptop-mac (alternative: laptop)
  • laptop-windows (alternative: laptop)
  • microsoft-edge-legacy
  • microsoft-yammer
  • pdf-box (alternative: file-pdf-box)
  • plus-one (alternative: numeric-positive-1)
  • poll-box (alternative: chart-box)
  • poll-box-outline (alternative: chart-box-outline)
  • tablet-ipad (alternative: tablet)
  • telegram
  • untappd
  • vk
  • xamarian-outline
  • xing
  • y-combinator

The following icons have been renamed:

  • apple-airplay to cast-variant
  • application to application-outline
  • application-cog to application-cog-outline
  • application-settings to application-settings-outline
  • bolnisi-cross to cross-bolnisi
  • boom-gate-up to boom-gate-arrow-up
  • boom-gate-up-outline to boom-gate-arrow-up-outline
  • boom-gate-down to boom-gate-arrow-down
  • boom-gate-down-outline to boom-gate-arrow-down-outline
  • buddhism to dharmachakra
  • cellphone-erase to cellphone-remove
  • celtic-cross to cross-celtic
  • christianity to cross
  • christianity-outline to cross-outline
  • face to face-man
  • face-outline to face-man-outline
  • face-profile-woman to face-woman-profile
  • face-shimmer to face-man-shimmer
  • face-shimmer-outline to face-man-shimmer-outline
  • flash-circle to lightning-bolt-circle
  • floor-lamp-variant to floor-lamp-torchiere-variant
  • gif to file-gif-box
  • gradient to gradient-vertical
  • hand to hand-front-right
  • hand-left to hand-back-left
  • hand-right to hand-back-right
  • hinduism to om
  • human-greeting to human-greeting-variant
  • iframe to application-brackets
  • iframe-outline to application-brackets-outline
  • iframe-array to application-array
  • iframe-array-outline to application-array-outline
  • iframe-braces to application-braces
  • iframe-braces-outline to application-braces-outline
  • iframe-parentheses to application-parentheses
  • iframe-parentheses-outline to application-parentheses-outline
  • iframe-variable to application-variable
  • iframe-variable-outline to application-variable-outline
  • islam to star-crescent
  • judaism to star-david
  • monitor-clean to monitor-shimmer
  • pharmacy to mortar-pestle-plus
  • sparkles to shimmer
  • teach to human-male-board
  • television-clean to television-shimmer
  • text-subject to text-long
  • twitter-retweet to repeat-variant
  • voice-off to account-voice-off
Alexa

Removes the support for legacy fan speeds.

Using speeds (‘off’, ‘low’, ‘medium’ or ‘high’) for the fan platform became deprecated with Home Assistant Core 2021.07, while preset modes and percentage support was added.

(@jbouwh - #55174) (alexa docs)

AVM FRITZ!Box Tools

In order to introduce the new link status binary sensor, the previous connectivity sensor has been renamed to connection.

Please check both your Lovelace configuration and your automations to reflect this change.

(@chemelli74 - #55446) (fritz docs)

Discovery API

The API endpoint /api/discovery_info now only return blank values. This endpoint is scheduled to be removed in Home Assistant Core 2022.1.

As a regular user of Home Assistant, this change should not affect you.

(@ludeeus - #56097) (api docs)

DLNA Digital Media Renderer

The DLNA Digital Media Renderer integration migrated to configuration via the UI. Configuring DLNA Digital Media Renderer via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@chishm - #55267) (dlna_dmr docs)

HomeKit

When an iOS device wakes up it has to refresh all the A records for each paired accessory. When there are many paired accessories this can result in HomeKit timing out before it can refresh all the records and declaring some accessories unavailable.

We now use the same server name for all HomeKit bridges and accessories on a single Home Assistant instance. This allows the system to avoid doing multiple lookups since it only needs to find one A record when waking from sleep.

iOS devices and Home Hubs (Apple TVs / HomePods / iPads) may cache the server name even if it expires and may require a reboot to see the new name. If this is the case, accessories may show unavailable when outside the home until ALL home hubs are rebooted.

(@bdraco - #55860)

Honeywell Lyric

The polling interval of the Honeywell Lyric integration has been decreased to 300 seconds to reduce chances of hitting API limit.

(@timmo001 - #56393) (lyric docs)

Minut Point

The (non-working) pressure sensor has been removed.

(@fredrike - #56934) (point docs)

Modem Caller ID

The Modem Caller ID integration migrated to configuration via the UI. Configuring Modem Caller ID via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@tkdrob - #46677) (modem_callerid docs)

Moon

The Moon entity would never have a primary moon phase state. So the state of the moon would go from Waxing gibbous directly to Waning gibbous, without being Full Moon in between.

Now the Moon entity will correctly have the primary moon phases: New Moon, First Quarter, Full Moon and Third Quarter.

If you have automations relying on the state of the moon, please review them to check if they still behave as intended.

(@stefanroelofs - #55518) (moon docs)

NETGEAR

The NETGEAR integration migrated to configuration via the UI. Configuring NETGEAR via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@starkillerOG - #54479) (netgear docs)

Network UPS Tools (NUT)

The extra attribute state is removed from all sensors, since it is already exposed as an own sensor.

If you relied on this attribute for your automations or script, you might need to adjust to this change.

(@mib1185 - #56078) (nut docs)

OpenGarage

The OpenGarage integration has previously been migrated to configuration via the UI. Configuring OpenGarage via YAML configuration has now been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@Danielhiversen - #56829) (opengarage docs)

Pi-hole

The extra attribute domains_blocked is removed from all sensors, since it is already exposed as an own sensor.

If you relied on this attribute in your automations or script, you need to adjust those to match this change.

(@mib1185 - #56076) (pi_hole docs)

ReCollect Waste

The previously deprecated YAML configuration of the ReCollect Waste integration has been removed.

ReCollect Waste is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@bachya - #55426) (recollect_waste docs)

Renault

The extra state attribute last_update has been normalized to the UTC timezone.

If you have any automation or scripts that relied on this, you might need to adjust those to take this into account.

(@epenet - #54745) (renault docs)


sensor.charge_mode has been moved to select.charge_mode (note: unique_id is unchanged).

(@epenet - #55494) (renault docs)

RFXCOM RFXtrx

The previously deprecated YAML configuration of the RFXCOM RFXtrx integration has been removed.

RFXCOM RFXtrx is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@elupus - #54173) (rfxtrx docs)

Speedtest.net

The previously deprecated YAML configuration of the Speedtest.net integration has been removed.

Speedtest.net is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@engrbm87 - #55642) (speedtestdotnet docs)

Sure Petcare

The Sure Petcare integration has previously been migrated to configuration via the UI. Configuring Sure Petcare via YAML configuration has now been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@Danielhiversen - #56209) (surepetcare docs)

System Bridge

The following additional state attributes have been removed from the existing sensors:

  • available
  • filesystem
  • load_average
  • load_idle
  • load_system
  • load_user
  • mount
  • size
  • type
  • used

You should update any automations and scripts that depend on these state attribute to use the separate sensors available for these states.

(@timmo001 - #53892) (system_bridge docs)

TP-Link Kasa Smart

The TP-Link Kasa Smart integration migrated to configuration via the UI. Configuring TP-Link Kasa Smart via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

(@rytilahti - #56701) (tplink docs)

Tuya

The previous Tuya API is no longer maintained by Tuya officially and the new integration will be officially maintained by the Tuya Developer Team.

If you used the integration before this release, you’d need to set it up again from scratch. To do that, remove any existing instances from the integration dashboard. After that, use our documentation for guidance on setting up the new integration.

The cover platform is not ready for this release but will be included later. If you have cover devices, they will not available for control at the moment.

(@zlinoliver - #56820) (tuya docs)

UPnP/IGD

UPnP/IGD integration no longer supports the local_ip configuration option. If you still have this configured in your YAML configuration, please remove it.

(@StevenLooman - #55540) (upnp docs)

Velbus

The Velbus integration migrated to configuration via the UI. Configuring Velbus via YAML configuration has been deprecated and will be removed in a future Home Assistant release.

The Velbus services calls will now need an interface parameter, this is to allow support for multiple Velbus connections. If you are using Velbus services in your automations or scripts, you may been to adjust those to this change.

(@Cereal2nd - #54032) (velbus docs)

Xiaomi Miio

The model and mode attributes have been removed. The preset_mode attribute is available in place of the mode attribute.

The device model is available in the Device info window.

(@bieniu - #55846) (xiaomi_miio docs)

Custom integrations: ruamel.yaml

The unused ruamel.yaml utility functions have been removed. They were never in use nor documented. If your custom integration relied on ruamel.yaml being installed, make sure it’s part of your manifest.

(@balloob - #55672)

Farewell to the following

The following integrations are no longer available as of this release:

  • Trackr has been removed. The API is no longer available and has therefore been removed. (@FuzzyMistborn - #55917)
  • Tesla has been removed due to increased Tesla login security preventing third-parties to log in. (@alandtse - #55988)

All changes

Click to see all changes!