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

Don’t forget to join our release party live stream on YouTube 3 May 2023, at 12:00 PDT / 21:00 CEST!

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:

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:

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!

Screenshot showing the brand new menu item in the 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.

Screenshot showing the new expose entities tab in the voice assistants menu.

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.

Screenshot showing the new expose entities tab in the voice assistants menu.

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.

Screenshot showing the new and improved entity settings dialog.

And, since this is the year of the voice, you may notice the “Voice assistants” option in the above screenshot, which will bring up:

Screenshot showing the new voice assistant expose controls accessible directly from the entity settings dialog.

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.

Screenshot that show the new LED settings for the Home Assistant Yellow.

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.

Screenshot showing the new options available on a Webhook automation trigger.

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.

Screenshot showing the 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:

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:

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!

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.

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 - #91492) (documentation)

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 - #90657) (documentation)

History

All YAML configuration options for the history integration have been removed as they were no longer used by the frontend.

(@bdraco - #90992) (documentation)

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 - #90854) (documentation)


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 - #91520) (documentation)

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 - #92066) (documentation)

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 - #91354) (documentation)

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 - #90469) (documentation)

Snapcast
  • Muted groups with stream playing will have state idle instead of playing.
  • Connected clients will not have state on anymore but use the same states as groups: idle and playing.
  • Disconnected clients have state standby instead of off because the Snapcast server still accepts commands.

(@luar123 - #77449) (documentation)

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 - #90633) (documentation)

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.

(@depoll - #91253)

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 - #91188) (documentation)

UniFi Protect

The previous deprecated set_doorbell_message service has been removed. Use the text entity for the UniFi Protect LCD screen instead.

(@AngellusMortis - #91523) (documentation)

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 - #91575) (documentation)


The built-in percentage unit % is now used for relative humidity and absolute humidity instead of the custom units %RH and %AH, respectively.

(@shbatm - #90863) (documentation)


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 - #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)

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.

Screenshot shoting webhook trigger options

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 - #66494) (documentation)

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 version 0.1.79.
  • If you use the Z-Wave JS UI add-on, you need at least version 1.11.2.
  • If you use the Z-Wave JS UI Docker container, you need at least version 8.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 least 1.28.0.

(@raman325 - #91989) (documentation)

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:

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