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!
../Frenck
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 just a 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 for running the Z-Wave JS server,
via Docker or manually, and there is also a 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 stale 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.
New Integrations
We welcome the following new integrations this release:
- AirNow, added by @asymworks
- DHCP Discovery, added by @bdraco
- Huisbaasje, added by @denniss17
- Ondilo ICO, added by @JeromeHXP
- Z-Wave JS, added by @cgarwood, @MartinHjelmare, @marcelveldt, @raman325, @firstof9, @balloob
New Platforms
The following integration got support for a new platform:
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
Release 2021.2.1 – February 5
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.
Breaking 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.
Python 3.7
Support for Python 3.7 has been dropped, after being deprecated since
Home Assistant 0.116.
This is only a concern if you are running Home Assistant Core directly on
Python. You can check the Python version Home Assistant uses by going to the
information screen in Configuration -> Info.
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.
As a matter of fact, if you use one of those methods, you are already
running Python 3.8.
Z-Wave
The old zwave
integration is now considered legacy and deprecated. This
integration is still based on OpenZwave 1.4, which has been out of active
maintenance for quite some time now.
Alternatively, you can move to one of the other Z-Wave solutions Home Assistant
offers:
-
OpenZWave (currently not maintained)
-
Z-Wave JS (introduced in this release, recommended)
PTVSD
The PTVSD extension has deprecated a couple of releases back and is now removed.
The debugpy integration is a full replacement for this integration.
Tado
Tado’s primary functionality has fully transitioned to configuration via UI.
YAML configuration has been removed except for device_tracker
. Existing YAML
configuration has already been imported automatically in the previous releases
and can now safely be removed from your configuration files.
The device_tracker
platform continues to use YAML, and will be updated at a
later date when the device tracker platform is modernized.
Tado zone sensors have been replaced by their corresponding binary_sensors
.
Therefore, you’ll have to update Lovelace panels, scripts and automations
referring to the following sensors by their corresponding binary sensor
(replace sensor
with binary_sensor
):
-
sensor.ZONE_early_start
is replaced bybinary_sensor.ZONE_early_start
-
sensor.ZONE_link
is replaced bybinary_sensor.ZONE_link
-
sensor.ZONE_open_window
is replaced bybinary_sensor.ZONE_open_window
-
sensor.ZONE_overlay
is replaced bybinary_sensor.ZONE_overlay
-
sensor.ZONE_power
is replaced bybinary_sensor.ZONE_power
The following state attributes have been removed:
-
sensor.ZONE_overlay
: termination -
sensor.ZONE_open_window
: open_window_attr
KNX
Some knx_event
s changed the name of event_data
fields:
-
address
renamed todestination
- Added
source
- Added
direction
- Added
telegramtype
Additionally:
-
fire_event
in the knx configuration is deprecated. -
fire_event_filter
in the knx configuration is renamed toevent_filter
.
RainMachine
RainMachine services now require an entity_id
, an area_id
, or
a device_id
parameter to be provided. You need to check your automations
to make sure all RainMachine service calls have those.
ecobee
The current state of the ecobee integration always behaves as if the
selected hold duration is Until next scheduled activity.
With this change the following settings are now respected:
- 2 hours
- 4 hours
- Until I change it
If you rely on the previous behavior may need to update your automations
to account for the support for the new settings.
(@jamincollins – #40520) (ecobee docs)
August
August has fully transitioned to configuration via UI. YAML configuration
will be removed in an upcoming version. Existing YAML configuration has
already been imported automatically in the previous releases and can now
safely be removed from your configuration files.
Roomba
Roomba has fully transitioned to configuration via UI. YAML configuration is
no longer supported. Existing YAML configuration has already been imported
automatically in the previous releases and can now safely be removed from
your configuration files.
Plex
The plex.play_on_sonos
service has been removed and functionality moved
to the built-in media_player.play_media
service.
Existing service payloads can be used as-is after prepending the
media_content_id
with plex://
.
Lutron
The Lutron Integration ID
attribute changed to lutron_integration_id
,
so any automations, template sensors, etc. using that attribute will need to
be updated accordingly.
(@TimothyLeeAdams – #45114) (lutron docs)
DoorBird
DoorBird has fully transitioned to configuration via UI. YAML configuration
will be removed in an upcoming version. Existing YAML configuration has already
been imported automatically in the previous releases and can now safely be
removed from your configuration files.
Logitech Harmony Hub
Harmony has fully transitioned to configuration via UI. YAML configuration
has been removed. Existing YAML configuration has already been imported
automatically in the previous releases and can now safely be removed from
your configuration files.
Mikrotik
Mikrotik now uses the device_tracker
standard attributes for ip
and mac
.
The mac_address
and ip_address
attributes have been removed.
RoonLabs music player
This PR changes how the play_media
call works for roon players.
The previous implementation was very limited – but anyone using it in
automations will need to change their calls to the new structure.
Please refer to the integration documentation for more information.
Network UPS Tools (NUT)
Network UPS Tools (NUT) has fully transitioned to configuration via UI.
YAML configuration has been removed. Existing YAML configuration has already
been imported automatically in the previous releases and can now safely be
removed from your configuration files.
Dyson
The speed of the Dyson Pure Cool Link fan is now one of low
, medium
,
and high
instead of the original auto
and integer 1
to 10
.
In order to set the fan speed more precisely and switch auto mode, you
should use the services dyson.set_speed
and dyson.set_auto_mode
.
Viessmann ViCare
The current power sensor has been removed since it was not provided by the
Viessmann API anymore.
(@oischinger – #45301) (vicare docs)
MyQ
MyQ has fully transitioned to configuration via UI. YAML configuration has
been removed. Existing YAML configuration has already been imported
automatically in the previous releases and can now safely be removed from
your configuration files.
Nexia
Nexia has fully transitioned to configuration via UI. YAML configuration has
been removed. Existing YAML configuration has already been imported
automatically in the previous releases and can now safely be removed from
your configuration files.
Hunter Douglas PowerView
Hunter Douglas PowerView has fully transitioned to configuration via UI.
YAML configuration has been removed. Existing YAML configuration has already
been imported automatically in the previous releases and can now safely be
removed from your configuration files.
Rachio
Rachio has fully transitioned to configuration via UI. YAML configuration has
been removed. Existing YAML configuration has already been imported
automatically in the previous releases and can now safely be removed
from your configuration files.
Tesla Powerwall
Tesla Powerwall has fully transitioned to configuration via UI. YAML
configuration has been removed. Existing YAML configuration has already been
imported automatically in the previous releases and can now safely be removed
from your configuration files.
Light Profiles
Nominally a breaking change. A default profile for the light, now is always
applied, so controlling a light from UI would set all the parameters defined
in the profile.
For example, if the default profile for a particular light is set to:
- Color: Green
- Brightness: 255
- Transition: 5
And the current light status is: Color – red, brightness – 20 and in UI you
change the brightness to 100 with the intention to only change the brightness,
then the default profile would also apply the color and transition.
(@Adminiuga – #45450) (light docs)
MQTT
MQTT allowed passing an arbitrary speed that was not in the speed_list
.
With the conversion to percentages in upcoming releases, this aberration from
the spec could not be converted to a percentage. Since it does not
conform to the entity model, it is not possible to preserve this exception.
NuHeat
NuHeat has fully transitioned to configuration via UI. YAML configuration has
been removed. Existing YAML configuration has already been imported
automatically in the previous releases and can now safely be removed from your
configuration files.
Rheem EcoNET Water Products
EcoNET has swirtched over to EcoNET’s new API.
Water Heaters will no longer report current tank
temperature. The add/remove vacation services are also removed,
alternatively, you can use away mode now.
(@w1ll1am23 – #44427) (econet docs)
Intents
The method for matching entities in intents has changed slightly to prefer
shorter matches before ordering.
This means some intents and/or entity names may need to be adjusted to maintain
consistency in some edge cases. For most uses, this should only improve
the quality of matches.
Farewell to the following
The following integrations have been removed:
All changes
Click to see all changes!