Home Assistant Core 2023.5! 🎉
What an exciting release we have for you this month! This release is all about
voice (well, almost fully), and I’m super excited we can ship you all this truly
I’ve been following the progress of this all being built this month, and really,
I’ve been mindblown multiple times a week. So what is in here? Well, you can
now actually talk to Home Assistant! 🤯
I really appreciate that all these voice elements have been built the
Home Assistant way: to be fully configurable and extendable. Giving you choices,
including entirely local options for your own voice assistant.
This release is packed! And we are not even halfway through Home Assistant’s
Year of the voice yet…
Enjoy the release!
Don’t forget to join our release party live stream on YouTube
3 May 2023, at 12:00 PDT / 21:00 CEST!
Our goal for 2023 is to let you control Home Assistant in your own language:
It is Home Assistant’s Year of the Voice! After chapter 1 in
January, we announced chapter 2 in this exciting journey last week!
This release ships everything (plus more) that was announced! This means, as
of this release, you can actually start talking to Home Assistant! 🎙️
Here is a quick summary of all that has been announced, linked to
the place you can read more about each of them:
To help you get started, we made sure the documentation is perfect, including
some cool project tutorials to jump-start your own private voice assistant
If you missed last week’s live stream,
be sure to check it out. It is full of live demos and detailed explanations
of everything packed into this release. The recording of the live stream:
Manage what is exposed to your voice assistants
A brand new and exciting menu item can be found in your Settings
menu: Voice assistants!
This new settings item gives you access to many fantastic new voice features;
it also provides a new Expose tab where you can manage which entities are
exposed to your Assist, Alexa, and Google Assistant.
It gives an overview of what entities you have exposed to your voice assistants
and easily remove or add new ones. Clicking on an entity in this screen will
bring up the voice assistant setting for that entity, allowing you to turn
on/off the entity’s exposure to a specific voice assistant and
manage the entity’s aliases.
This currently supports our Assist, and Amazon Alexa and
Google Assistant via Home Assistant Cloud.
Improved entity setting
Some nice tweaks have been made to the entity settings dialog, making it
easier to use and look cleaner.
The entity settings dialog used to have an expandable advanced section,
which you could expand to access features like showing/hiding/disabling
entities, changing the area, etc.
The advanced section has been removed, and all its features have been
reorganized. So, no features were lost while providing a much nicer
And, since this is the year of the voice, you may notice the
“Voice assistants” option in the above screenshot, which will bring up:
This allows you to quickly change the voice assistants the entity is exposed
to, including its aliases, without having to navigate back to the voice
assistants panel in the main settings screen.
Configuring the LEDs of your Home Assistant Yellow
The enclosure of our amazing Home Assistant Yellow allows you to
look at the beautiful board and parts inside of it.
However, the LEDs on the board might light up your environment when
it is dark in an unwanted way. For example, when you sleep in the same room
as your Home Assistant Yellow is in.
As of this release, you can configure (turn on/off) the disk, heartbeat,
and power LEDs of your Home Assistant Yellow by using the Configure button
on the Settings > Hardware page.
Webhooks trigger options
Webhooks have been extended this release. We now have support for webhooks
that use the
GET HTTP method!
But that is not all. Thanks to @esev, we also got some new security features
for our webhook triggers. You can now set which HTTP methods your
webhook trigger work with and the ability to limit webhooks to only work on
your local network.
New Assist pipeline and language selectors
If you are building automation or scripts Blueprints, you can now leverage
two new UI selectors for use with your Blueprints: an Assist pipeline selector
and a language selector.
The language selector let’s a user choose from a list of languages.
You could, for example, leverage this in a notification Blueprint to allow
setting a different language on a text-to-speech notification.
More information can be found in our selectors documentation.
Other noteworthy changes
There is much more juice in this release; here are some of the other noteworthy
changes this release:
- Home Assistant Operating System v10 has been released! The ODROID M-1 is now supported, improved data disk support and memory management. Bug fixes and reliability improvements for Bluetooth and Thread.
- Matter now has support for covers, thanks @hidaris!
- The process of making backups is now faster 🚀, thanks @bdraco!
@bdraco also gave the ONVIF integration some love, which should improve
the stability of the integration. Nice!
- You can now set up multiple instances of the OpenAI Conversation integration
with, for example, different prompts. Thanks, @balloob!
- @rubenbe added direction support to MQTT fans! Nice!
BTHome added support for button and dimmer events. This means it supports
the brand new Shelly BLU Button1! Thanks, @Ernst79!
- The Supervisor can now create repair issues for some of the issues
it detected on your system. Awesome @mdegat01!
- @mib1185 added a service to allow sorting of the Shopping list. Thanks!
@depoll added an attribute to the Person entities that list the device
trackers for this person. Very useful for templates! Thanks!
- The NextDNS integration added a whole bunch of new parental control
switches, thanks @bieniu!
Synology DSM can now browse your Synology Photos in the media browser. Cool
- Simplepush now supports attachments, thanks to @tymm!
We welcome the following new integrations in this release:
This release also has a new virtual integration. Virtual integrations
are stubs that are handled by other (existing) integrations to help with
findability. This one is new:
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
to help each other out. So, join us!
Our very active Discord chat server is an excellent place to be
at, and don’t forget to join our amazing forums.
Found a bug or issue? Please report it in our issue tracker,
to get it fixed! Or, check our help page for guidance for more
places you can go.
Are you more into email? Sign-up for our Building the Open Home Newsletter
to get the latest news about features, things happening in our community and
other news about building an Open Home; straight into your inbox.
ozone sensors and the
ozone state attribute of the weather entity showed
incorrect values and are being removed. If you use these values in your
automations or scripts, you need to update them.
(@bieniu – #91492) (documentation)
The “Android TV” integration has been renamed to “Android Debug Bridge”.
This rename is because that is what it actually controlled/provided. With
the addition of the Android TV Remote integration in this release, we wanted
to reduce possible confusion in the future.
(@tronikos – #90657) (documentation)
All YAML configuration options for the history integration have been removed
as they were no longer used by the frontend.
(@bdraco – #90992) (documentation)
The min/max target humidities for (de)humidifier device exposed over HomeKit
has changed. The HomeKit UI will now show the real relative humidity. When
the slider in HomeKit goes above or below the max/min set humidity, it will
be set back to the max/min allowed humidity.
(@stackia – #90854) (documentation)
Default HomeKit to listen on all interfaces to match Home Assistant behavior.
To limit HomeKit to specific network interfaces, specify an
(@bdraco – #91520) (documentation)
The use of
imap_content event could break for users that want to parse data
from larger email messages from the truncated part. Only the first 2048
bytes of the message body (2 KiB) will be available.
(@jbouwh – #92066) (documentation)
The silence option for DynamicShutter has been removed because it caused the
cover entity to be non-functional if it did not support silence. This
functionality will be reintroduced in a future release.
(@iMicknl – #91354) (documentation)
For Reolink doorbells, the “Status LED” light entity is replaced by a
“Status LED” select entity. The switch
off state corresponds to the select
Auto, and the switch
on state corresponds to the select
Auto & always on at night. An additional
Stay off state is now available.
(@starkillerOG – #90469) (documentation)
- Muted groups with stream playing will have state
- Connected clients will not have state
onanymore but use the same states as
- Disconnected clients have state
Snapcast server still accepts commands.
(@luar123 – #77449) (documentation)
The unit conversion for all memory, storage, and network utilization-related
sensors was corrected from binary (1024) to decimal (1000) base to be in
line with the used measurement units (eq. MB = 1.000.000 bytes).
You may need to update the historically recorded units for these sensors via
the statistics page under developer tools.
(@mib1185 – #90633) (documentation)
ensure_ascii argument for
to_json in Jinja templates now defaults to
False, allowing us to use a faster JSON encoder by default.
This should not be an issue for most, as JSON parsers broadly accept Unicode
input. If you still need to encode Unicode characters inside JSON strings,
True explicitly to restore the old behavior.
(@depoll – #91253)
UniFi integration no longer provides both
for a client tracker entity. Only
host_name will be provided as an attribute.
(@Kane610 – #91188) (documentation)
The previous deprecated
set_doorbell_message service has been removed. Use
the text entity for the UniFi Protect LCD screen instead.
(@AngellusMortis – #91523) (documentation)
The previously deprecated YAML configuration of the Universal Devices ISY/IoX
integration has been removed.
Universal Devices ISY/IoX 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.
(@shbatm – #91575) (documentation)
The built-in percentage unit
% is now used for relative humidity and absolute
humidity instead of the custom units
(@shbatm – #90863) (documentation)
The following custom ISY994 services have been removed:
These services had been previously deprecated in favor of built-in services
button entities. Please update your automations
and dashboards to use the new entities and/or built-in services if you have
(@shbatm – #91569) (documentation)
Dusk/Dawn nodes on Insteon Motion Sensors now have their states inverted to
correctly show “Light detected” during daylight and “No light” when the dusk
sensor is active.
This is reversed from previous behavior. If you rely on this sensor in your
automations, they must be updated.
(@shbatm – #92035) (documentation)
Two new Webhook trigger options have been added that limit how a webhook can
trigger an automation. A new allowed_methods option can be used to control
which HTTP request methods can activate the trigger (
PUT). And the
local_only option is used to allow devices outside your local
network to activate the trigger.
Previously all webhook triggers could be activated by
methods from any device (local or on the internet). With the new options, only
PUT are enabled by default.
In Home Assistant Core 2023.7, any webhook trigger that does not set
to false can only be activated by…