2023.5: Let's talk!
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 amazing stuff!
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!
../Frenck
- Let’s talk!
- Manage what is exposed to your voice assistants
- Improved entity setting
- Configuring the LEDs of your Home Assistant Yellow
- Webhooks trigger options
- New Assist pipeline and language selectors
- Other noteworthy changes
- New Integrations
- Integrations now available to set up from the UI
- Release 2023.5.1 - May 4
- Release 2023.5.2 - May 5
- Release 2023.5.3 - May 14
- Release 2023.5.4 - May 23
- Need help? Join the community!
- Backward-incompatible changes
- Farewell to the following
- All changes
Don’t forget to join our release party live stream on YouTube
Let’s talk!
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:
- Compose your own voice assistant using the new assist pipelines
- Voice Assistant powered by Home Assistant Cloud
- Fully local text-to-speech using Piper
- Fully local speech-to-text using OpenAI Whisper
- The Wyoming protocol and integration
- Create your own ESPHome-powered voice assistant
- The Voice-over-IP integration, call Home Assistant ☎️
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 journey:
- The world’s most private voice assistant
- Giving your voice assistant a Super Mario personality using OpenAI
- Installing a local Assist pipeline
- The $13 tiny ESPHome-based voice assistant
If you missed last week’s 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 interface.
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
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
addition, @lodesmets
! -
Simplepush now supports attachments, thanks to @tymm
! - Some Z-Wave notification sensors won’t clear to idle automatically. Now you can use the new notification idle buttons to idle them manually!
New Integrations
We welcome the following new integrations in this release:
-
Android TV Remote, added by @tronikos
Launch apps and control your Android TV device. -
RAPT Bluetooth, added by @sairon
Integrates RAPT Pill hydrometers into Home Assistant. -
Voice over IP, added by @synesthesiam
Talk to Assist using an analog phone and a VoIP adapter. -
Wyoming, added by @synesthesiam
Connect to voice services supporting the Wyoming protocol. -
Roborock, added by @Lash-L
Control your RoboRock vacuum maintaining Roborock app support. -
Anova, added by @Lash-L
Control Anova sous vides with Wi-Fi capabilities.
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:
-
Monessen provided by Intellifire, added by @jeeftor
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
Brottsplatskartan, done by @gjohansson-ST
-
qBittorrent, done by @chrisx8
-
Snapcast, done by @luar123
-
Workday, done by @gjohansson-ST
Release 2023.5.1 - May 4
- Fix onvif setup when time set service is not functional (@bdraco
- #92447 ) (onvif docs) - Fix onvif cameras with invalid encodings in device info (@bdraco
- #92450 ) (onvif docs) - Bump
aionotion
to 2023.05.0 (@bachya- #92451 ) (notion docs) - Fix lifx light strips when color zones are not initially populated (@bdraco
- #92487 ) (lifx docs) - Bump bluetooth-auto-recovery 1.1.2 (@bdraco
- #92495 ) (bluetooth docs) - Force migration of cloud settings to exposed_entities (@emontnemery
- #92499 ) (cloud docs) - Update frontend to 20230503.2 (@bramkragten
- #92508 ) (frontend docs)
Release 2023.5.2 - May 5
- Fix transmission error handling (@DDanii
- #91548 ) (transmission docs) - Fix power sensor state_class in Netatmo integration (@hex7c0
- #92468 ) (netatmo docs) - Fix for SIA Code not being handled well (@eavanvalkenburg
- #92469 ) (sia docs) - Fix scene service examples (@karwosts
- #92501 ) (scene docs) - Fix blocking I/O in the event loop when starting ONVIF (@bdraco
- #92518 ) (onvif docs) - Improve cloud migration (@emontnemery
- #92520 ) (cloud docs) - Bump aioesphomeapi to 13.7.3 to fix disconnecting while handshake is in progress (@bdraco
- #92537 ) (esphome docs) - Handle invalid ZHA cluster handlers (@puddly
- #92543 ) (zha docs) - Allow duplicate state updates when force_update is set on an esphome sensor (@bdraco
- #92553 ) (esphome docs) - Bump elkm1-lib to 2.2.2 (@bdraco
- #92560 ) (elkm1 docs) - Re-run expose entities migration if first time failed (@balloob
- #92564 ) (cloud docs) - Fix hassio get_os_info retry (@epenet
- #92569 ) (hassio docs) - Bump hatasmota to 0.6.5 (@emontnemery
- #92585 ) (tasmota docs) - Improve reliability of ONVIF subscription renewals (@bdraco
- #92551 ) (onvif docs) - Lower scan interval for OpenSky (@joostlek
- #92593 ) (opensky docs) - Update frontend to 20230503.3 (@bramkragten
- #92617 ) (frontend docs) - Fix missing ONVIF events when switching from PullPoint to webhooks (@bdraco
- #92627 ) (onvif docs) - Add support for visitor detections to onvif (@bdraco
- #92350 ) (onvif docs) - Fix duplicate ONVIF sensors (@bdraco
- #92629 ) (onvif docs)
Release 2023.5.3 - May 14
- Roborock continue on failed mqtt disconnect (@Lash-L
- #92502 ) (roborock docs) - Bump bimmer_connected to 0.13.3 (@rikroe
- #92648 ) (bmw_connected_drive docs) - Fix parallel_updates being acquired too late for entity executor jobs (@bdraco
- #92681 ) - Always request at least one zone for multi-zone LIFX devices (@bdraco
- #92683 ) (lifx docs) - Fix onvif reauth when device returns a http 401/403 error (@bdraco
- #92690 ) (onvif docs) - Bump
aionotion
to 2023.05.1 (@bachya- #92697 ) (notion docs) - Bump pyoverkiz to 1.7.8 (@iMicknl
- #92702 ) (overkiz docs) - Bump aiowebostv to 0.3.3 to fix Python 3.11 support (@thecode
- #92736 ) (webostv docs) - Update deprecated functions in SIA (@eavanvalkenburg
- #92737 ) (sia docs) - Bump aioesphomeapi to 3.7.4 to fix proxied BLE connections not retrying right away on error (@bdraco
- #92741 ) (esphome docs) - Increase timeout to 30 seconds for Mazda integration (@bdr99
- #92744 ) (mazda docs) - Fix zwave_js services example data (@karwosts
- #92748 ) (zwave_js docs) - Bump asyncsleepiq to 1.3.5 (@kbickar
- #92759 ) (sleepiq docs) - Update aioairzone to v0.5.3 (@Noltari
- #92780 ) (airzone docs) - Fix race in Alexa async_enable_proactive_mode (@emontnemery
- #92785 ) (alexa docs) - Fix Airzone Auto operation mode (@Noltari
- #92796 ) (airzone docs) - Update aioairzone to v0.5.5 (@Noltari
- #92812 ) (airzone docs) - Don’t try to restore unavailable nor unknown states (@dgomes
- #92825 ) (integration docs) - Bump sonos-websocket to 0.1.1 (@jjlawren
- #92834 ) (sonos docs) - Allow “no” to match “nb” in language util (@synesthesiam
- #92862 ) - Bump ZHA dependencies (@puddly
- #92870 ) (zha docs) - Add ONVIF services to diagnostics (@bdraco
- #92878 ) (onvif docs) - Bump UPB integration library to 0.5.4 (@gwww
- #92879 ) (upb docs) - Bump bluetooth-auto-recovery to 1.2.0 (@bdraco
- #92893 ) (bluetooth docs) - Fix already_configured string in workday (@gjohansson-ST
- #92901 ) (workday docs) - Fix uptime sensor deviation detection in Fritz!Tools (@mib1185
- #92907 ) (fritz docs) - Bump volvooncall to 0.10.3 to fix sensor type error (@decompil3d
- #92913 ) (volvooncall docs) - Bump eternalegypt to 0.0.16 (@tkdrob
- #92919 ) (netgear_lte docs) - Bump python-vehicle to 1.0.1 (@joostlek
- #92933 ) (rdw docs) - Fix remove of device when surveillance station is not used in Synology DSM (@mib1185
- #92957 ) (synology_dsm docs) - Bump reolink-aio to 0.5.15 (@starkillerOG
- #92979 ) (reolink docs) - Bump bellows to 0.35.5 to fix Aqara Zigbee connectivity issue (@puddly
- #92999 ) (zha docs) - Disable cleanup_closed for aiohttp.TCPConnector with cpython 3.11.1+ (@bdraco
- #93013 ) - Fix sslv2/sslv3 with unverified connections (@bdraco
- #93037 ) - Fix a series of bugs due to Notion API changes (@bachya
- #93039 ) (notion docs)
Release 2023.5.4 - May 23
- Fix weather handling in zamg (@killer0071234
- #85635 ) (zamg docs) - Fix onvif cameras that cannot parse relative time (@bdraco
- #92711 ) (onvif docs) (dependency) - Update solax state class for sensors with no units (@MichaelMraka
- #92914 ) (solax docs) - Fix NWS error with no observation (@MatthewFlamm
- #92997 ) (nws docs) - Increase timeout to 30 seconds for homeassistant_alerts integration (@N3rdix
- #93089 ) (homeassistant_alerts docs) - Fix ONVIF cameras that change the xaddr for the pull point service (@bdraco
- #93104 ) (onvif docs) - Bump pyunifiprotect to 4.9.0 (@bdraco
- #93106 ) (unifiprotect docs) (dependency) - Fix last imap message is not reset on empty search (@jbouwh
- #93119 ) (imap docs) - Bump
accuweather
to version 0.5.2 (@bieniu- #93130 ) (accuweather docs) (dependency) - Better handling of source sensor unavailability in Riemman Integration (@dgomes
- #93137 ) (integration docs) - Bump
regenmaschine
to 2023.05.1 (@bachya- #93139 ) (rainmachine docs) (dependency) - Bump pyatv to 0.11.0 (@bdraco
- #93172 ) (apple_tv docs) - Fix china login for bmw_connected_drive (@rikroe
- #93180 ) (bmw_connected_drive docs) - Add Fan and Dry HVAC modes to Advantage Air MyTemp preset (@Bre77
- #93189 ) (advantage_air docs) - Disconnect yale access locks at the stop event (@bdraco
- #93192 ) (august docs) (yalexs_ble docs) (dependency) - Add support for Yale Home brand to august (@bdraco
- #93214 ) (august docs) - Bump async-upnp-client to 0.33.2 (@StevenLooman
- #93329 ) (dependency) - Bump
aionotion
to 2023.05.5 (@bachya- #93334 ) (notion docs) - Bump zwave-js-server-python to 0.48.1 (@raman325
- #93342 ) (zwave_js docs) (dependency) - Bump glances_api to 0.4.2 (@freeDom-
- #93352 ) (glances docs) - Fix august configuration url with Yale Home brand (@bdraco
- #93361 ) (august docs) (dependency) - Bump httpx to 0.24.1 (@epenet
- #93396 ) (dependency) - Fix non threadsafe call xiaomi_aqara (@bdraco
- #93405 ) (xiaomi_aqara docs) - Bump Matter server library to 3.4.1 and address changes (@marcelveldt
- #93411 ) (matter docs) (dependency) - Fix race in tracking pending writes in recorder (@bdraco
- #93414 ) (recorder docs)
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
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.
Backward-incompatible changes
Accuweather
The 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
Android TV
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
History
All YAML configuration options for the history integration have been removed as they were no longer used by the frontend.
(@bdraco
HomeKit
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
Default HomeKit to listen on all interfaces to match Home Assistant behavior.
To limit HomeKit to specific network interfaces, specify an address
in configuration.yaml
.
(@bdraco
IMAP
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
Overkiz
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
Reolink
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
Snapcast
- Muted groups with stream playing will have state
idle
instead ofplaying
. - Connected clients will not have state
on
anymore but use the same states as groups:idle
andplaying
. - Disconnected clients have state
standby
instead ofoff
because the Snapcast server still accepts commands.
(@luar123
Synology DSM
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
Templates
The 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,
set ensure_ascii
to True
explicitly to restore the old behavior.
UniFi Network
UniFi integration no longer provides both hostname
and host_name
attributes
for a client tracker entity. Only host_name
will be provided as an attribute.
(@Kane610
UniFi Protect
The previous deprecated set_doorbell_message
service has been removed. Use
the text entity for the UniFi Protect LCD screen instead.
Universal Devices ISY/IoX
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
The built-in percentage unit %
is now used for relative humidity and absolute
humidity instead of the custom units %RH
and %AH
, respectively.
(@shbatm
The following custom ISY994 services have been removed:
reload
cleanup_entities
system_query
set_ramp_rate
set_on_level
run_network_resource
set_variable
These services had been previously deprecated in favor of built-in services
and number
, select
, and button
entities. Please update your automations
and dashboards to use the new entities and/or built-in services if you have
not already.
(@shbatm
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
Webhooks
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 (GET
, HEAD
, POST
, and
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 HEAD
, POST
, and PUT
methods from any device (local or on the internet). With the new options, only
POST
and PUT
are enabled by default.
In Home Assistant Core 2023.7, any webhook trigger that does not set local_only
to false can only be activated by devices on the same network as Home Assistant.
Click the gear/cog icon beside the Webhook ID to update your webhook triggers. Then select an appropriate value for Only accessible from the local network. It is necessary to deselect the option for the Save button to appear. Then reselect the option if it should be enabled. This will make the repair warning go away.
See the webhook trigger documentation for a description of the new options. And please review the new Webhook Security section for best practices when using webhook triggers.
(@esev
Z-Wave
With this release, you will need to update your zwave-js-server
instance.
You must use zwave-js-server
1.28.0 or greater (schema 28).
- If you use the
Z-Wave JS
add-on, you need at least version0.1.79
. - If you use the
Z-Wave JS UI
add-on, you need at least version1.11.2
. - If you use the
Z-Wave JS UI
Docker container, you need at least version8.14.2
. - If you run your own Docker container or some other installation method,
you will need to update your
zwave-js-server
instance to at least1.28.0
.
(@raman325
If you are a custom integration developer and want to learn about breaking changes and new features available for your integration: Be sure to follow our developer blog. The following are the most notable for this release:
Farewell to the following
The following integrations are also no longer available as of this release:
-
Coronavirus (COVID-19) has been removed. The data is no longer provided
by the source provider.
(@emontnemery
- #90934 ) -
Xbox Live was previously deprecated and has now been removed.
The Xbox integration is still available.
(@MartinHjelmare
- #90592 )
All changes
Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2023.5