2023.3: Dialogs!

Home Assistant Core 2023.3! 🎉

February was a short month, resulting in a short release cycle, but… That didn’t stop anybody from stuffing this release with many great improvements!

As the release title most fittingly puts it, most features of this release show up in dialogs. New dialogs, restyled dialogs, new features that appear in dialogs, and all sorts of new dialogues you can have with Assist. Something with “dialogs” all over these release notes!

Besides dialogs, this release brings in three new integrations, updates to Thread and Matter, and quite an impressive list of other noteworthy changes.

My personal favorite in this release is, undoubtedly, the all-new restart dialog. It brings in proper choice, less navigation, and it looks slick! I am genuinely really loving and enjoying the result. 🤩

Enjoy the release!

../Frenck

Don’t forget to join our release party live stream on YouTube 1 March 2023, at 12:00 PST / 21:00 CET!

Restarting Home Assistant

Since we started redesigning our menu structure (a little over a year ago), “Restarting” Home Assistant has been a source of discussion in our community. Home Assistant can be restarted, reloaded, rebooted, and powered off; it quickly became unclear what to use and when.

We’ve come up with a solution inspired by the good old Windows XP computer turn-off screen. @matthiasdebaat made a UX that has been implemented by @piitaya that will hopefully make this all better, more clear.

Screenshot showing the new restart dialog of Home Assistant that provides a guidance on what action to take.

Nice, right? 🤩 What is entirely new is the first item shown: “Quick reload”. Quick reload calls all active integrations in your system that support reloading YAML configuration on the fly 🚀.

This means all integrations individually listed as reloadable under the YAML tab in the developer tools are reloaded simultaneously! Also, @frenck made quick reload available as a service, so you can automate with it.

Lastly, another place for finding it more easily; the option to restart has also been added to the three-dotted overflow menu in the top right of the settings screen.

Asking Assist for the current state of things

This release updates Assist with the capability to ask for the state of things around your home. For example:

Screenshot showing the assist conversation dialog demonstrating new intents to get the state of things in your home.

Intents for three types of questions have been added:

  • Ask for the state of a single entity:
    • “What is the outside temperature?”
    • “Is the front door locked?”
    • “What is the power consumption in the office?”
  • Any or all questions:
    • “Are any lights on in the bedroom?”
    • “Are all windows closed in the kitchen?”
  • How many or which questions:
    • “How many lights are on in the office?”
    • “Which doors are open?”

Thanks, @synesthesiam for implementing this, and thanks to language leaders and contributors for helping out providing translations for all these intents! ❤️

Want to help with adding support for these intents in your language? Please do! Read more about contributing sentences in our documentation.

Cleaner entity information dialogs

The entity information dialog (also known as the more-info dialog) got some nice improvements in this release.

Screenshot showing the new entity information dialogs, highlighting the top bar changes.

The “Info”, “History”, “Settings”, and “Related” tabs have been removed, which gives the dialog a much cleaner look. Icons for settings and history have been added in the top right to replace these tabs. The new three-dotted overflow menu can bring up related entity information and provides a direct link to the device dashboard of the device that provided this entity.

Nice job @matthiasdebaat and @piitaya!

New dialogs for lights, switches and siren entities

There is more to tell about this release’s more-info dialogs. @matthiasdebaat and @piitaya have been working on the designs shared during the State of the Open Home 2022. This release brings in the first overhauls to the entity dialogs of light, switch, and siren entities.

Screenshots showing the new entity more-info dialogs for a light, a switch and a switch with an assumed state.

The new dialogs are nice and clean. The new sliders and buttons work absolutely magnificent on both desk and mobile. For the brightness slider, you can drag it all down without turning the light off, making it possible to dim your light to even the lowest point.

In case of a light, additional controls for turning on/off, color (temperature), and effects appear right below the slider. In the top right, you’ll find the new controls that come with the cleaner look we discussed in the previous paragraph.

Sensor display precision

Got a sensor that has too many decimals in its numeric value? Would you like to display it rounded to a single or maybe even no decimals?

Just create a template sensor change it directly from the UI!

Screenshot showing you can now set the numerical
precision of a sensor entity value shown in the UI from the entity settings dialog.

Thanks @emontnemery for building out this feature!

This has also been extended into integrations, which now can provide a more precise value while suggesting to, show it with less precision by default. This allows you to change it if you don’t like the defaults.

You can also take advantage of the configured precision when writing templates, as the states() function has been extended to help with that. You can find more information on formatting sensor states in the templating documentation.

New create automation dialog

Let’s continue the dialogs theme this release! As @piitaya also gave the dialog you see when you create a new automation, a facelift!

You can now quickly find and pick a Blueprint to use for your automation or create one from scratch. The overall look and feel is much more modern, and fits our current design better.

Screenshot showing the improved createnew automation dialogs, which allows easily starting a new automation from a blueprint or from scratch.

You may notice it now shows author information in this dialog. If you create Blueprints, you can now add author information to your Blueprint, which will be shown in this dialog.

Thread & Matter

Behind the scenes, a lot is happening; adding, extending and improving Thread & Matter support for Home Assistant.

A couple of weeks ago, we published an extensive blog article on where we’re at. Some of the features mentioned in that blog post will become available today.

The most visual change is that the Thread integration will now show up on your devices & services dashboard. The “Configure” button on the Thread card will reveal the all-new Thread panel.

Screenshot of the all new Thread panel, giving insight into your Thread network(s).

The Thread panel lets you view your Thread network(s) and provides controls to add an OpenThread border router. More importantly, an option to download diagnostics has been added in the three-dotted menu in the top right. This will help with finding, triaging, and fixing issues as the development on Thread continues.

As for Matter, it now supports connecting to Matter bridges! So, you can now connect, for example, your Hue hub over Matter!

Screenshot showing the Home Assistant Matter integration card, with lots of devices and entities; brought in by Hue bridges. Two Philips Hue bridges connected using Matter, and it is fast!

Although, if you want to connect your Hue hub, we of course recommend using the dedicated Hue integration, which will provide a much more stable and feature rich solution. Nevertheless, having bridge support is a huge milestone!

Adding a Matter device is now also more logical. Just add a new device from the Devices & Services page, just like how you would add any other device or integration to Home Assistant. Oh! Let’s not forget about @ArturoGuerra, who added support for color lights to Matter! Thanks!

Python 3.11 support

Support for Python 3.11 is here! 🐍

This change is only interesting if you manually run Home Assistant directly in Python (the Home Assistant Core installation method). If that is the case, you can now start using Home Assistant with Python 3.11, which should dramatically improve performance over previous Python versions.

We are also working on upgrading to Python 3.11 for our Home Assistant OS, Supervised, and Container installation methods so we can provide the same performance improvements. We’ll keep you posted.

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • You can now change the unit of measurement for a sensor that provides power readings. So, if you like your kW sensor to be displayed as W, that is now possible. Thanks, @emontnemery!
  • All contributed translations are now automatically updated with each release! This includes patch releases. Thanks, @frenck.
  • Faster it is! @bdraco keeps improving the performance, and this release is no exception! The statistics should be almost instant now, which is notable on the energy dashboard. Lots of MQTT-related performance improvements too!
  • The statistic graph card can now hide the legend, nice and clean @piitaya!
  • You can now use templates in the for parameter of state conditions. Thanks, @emontnemery!
  • Our (opt-in only) Analytics will now include the database engine and version you use with your recorder. This helps us making database-related decisions and improvements. Thanks, @ludeeus!
  • @marcelveldt added support for Smart Scenes (Natural Light) to the Philips Hue integrations. Nice!
  • If your ONVIF camera supports it, it will now provide switch entities for auto-focus, wiper, and IR lights. Thanks, @partofthething!
  • The input select helper first, last, previous, and next services are now also available on select entities, thanks @frenck.
  • It looks like @jesserockz took a small break from ESPHome to implement support for the SwitchBot Blind Tilt to the SwitchBot integration. Thank you!
  • The OpenAI Conversation integration now has options to customize it to your liking, thanks @bendews!
  • @marcolivierarsenault added support for ecobee ventilator, awesome!
  • The Reolink integration now provides entities to update the firmware of your camera, control zoom, and control auto-focus. Thanks @starkillerOG!
  • KNX Data Secure support is added, and importing your Keyfile to use it is now super easy. Just upload it from your browser when configuring it in Home Assistant. Awesome @farmio!
  • @thecode added support for Shelly Pro 3EM energy sensors, nice!
  • ScreenLogic now supports local push updates for almost all entities. Thanks @dieselrabbit!

New Integrations

We welcome the following new integrations in this release:

Release 2023.3.1 - March 2

Release 2023.3.2 - March 8

Release 2023.3.3 - March 9

Release 2023.3.4 - March 13

Release 2023.3.5 - March 16

Release 2023.3.6 - March 22

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

Assist / Conversation

Previously, all entities and areas were exposed to Assist’s default agent. This is now restricted to entities of the following domains:

  • climate
  • cover
  • fan
  • humidifier
  • light
  • lock
  • scene
  • script
  • sensor
  • switch
  • vacuum
  • water_heater

Only areas with exposed entities will be exposed themselves. In the future, this will be customizable through the frontend.

(@synesthesiam - #88274) (documentation)

Atmospheric pressure device triggers

A bug with the atmospheric pressure sensor device triggers has been corrected. Automations using such device triggers will need to be adjusted/reconfigured.

(@epenet - [#88320]) (documentation)

ecobee

The aux heat toggle will now show as enabled when the device is in “aux heat only” mode instead of only when it is running.

(@Lash-L - #86100) (documentation)

Fibaro

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

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

(@rappenze - #87939) (documentation)

GoodWe Inverter

Inverter “Operation Mode” select values were changed to snake_case and localized.

  • “General mode” -> general
  • “Off grid mode” -> off_grid
  • “Backup mode” -> backup
  • “Eco mode” -> eco
  • “Peak shaving” -> peak_shaving
  • “Eco charge mode” -> eco_charge
  • “Eco discharge mode” -> eco_discharge

If you used these select values in your automations or scripts, you will need to adjust those to match this change.

(@mletenay - #86901) (documentation)

HomeKit

VOC mappings in the HomeKit integration have been improved to use the IAQ guidelines for Europe released by the WHO (World Health Organization).

HomeKit Previous VOC µg/m3 New VOC µg/m3
Excellent <= 24 <= 250
Good <= 48 <= 500
Fair <= 64 <= 1000
Inferior <= 96 <= 3000
Poor > 96 > 3000

Reference: Sensirion_Gas_Sensors_SGP3x_TVOC_Concept.pdf

(@emanuelst - #87663) (documentation)

Matter

With this release, you will need to update your Matter Server instance. You must use python-matter-server 3.0.0 or greater (schema 2).

  • If you use the Matter Server add-on, you need to have at least version 4.0.0.
  • If you run your own Docker container, or some other installation method, you will need to update your python-matter-server instance to at least 3.0.0.

(@marcelveldt - #88607) (documentation)

MQTT

The behavior for receiving values on sensors that expect numeric* values has changed.

  • A 'None' value or a value rendered to 'None' will set such a sensor to an unknown state.
  • Empty values on such sensors ('') are ignored and will not affect the state of the sensor.

Integrations need to be corrected to send the correct values if an update is published and no valid update value is available for the sensor.

  • Other sensors that do not expect a numeric value will still accept an empty string as a value.

* Sensors expect numeric values if at least one of the following applies:

  • A device_class is set but is not a date, timestamp, enum, or any custom device class.
  • A state_class is set.
  • A unit_of_measurement is set.
  • A suggested_display_precision is set.

(@jbouwh - #87004) (documentation)

Plugwise

The unit of measurement for the P1 gas consumed interval sensor is changed from to m³/h. Go to Developer Option –> Statistics for the options on how to handle this change in your existing installation.

(@bouwew - #87449) (documentation)

Profiler

The profiler.memory service is unavailable when using Python 3.11, due to an incompatibility with a needed dependency for this service. It will return when the used guppy3 package becomes available with Python 3.11 compatibility.

(@bdraco - #88136) (documentation)

Template: Covers

Template covers using optimistic: false without value_template nor position_template still updated state optimistically. The integration now respects the optimistic setting of false. If you want to keep the previous behavior, you must set the optimistic value to true, or remove the optimistic declaration.

(@ylemoigne - #87925) (documentation)

Trafikverket Weather

The unit of measurement was incorrectly set to mm while the API is returning mm/h. The unit of measurement and device class have now been corrected.

(@gjohansson-ST - #87308) (documentation)

Todoist

Labels used by custom projects for filtering are now case-sensitive.

Previously the labels were automatically lower-cased by the integration, but in Todoist a label like Test and test are considered unique. Because of that labels will now be case sensitive in your configuration.

(@boralyl - #87904) (documentation)

UniFi Protect

The event_id and event_score state attributes are now excluded from being recorded in the database. They remain available for use in automations and scripts.

(@bdraco - #88387) (documentation)


The previously deprecated “Detected Object” sensor has been removed.

The sensor was removed because if multiple objects are detected at once (very common for package detection), Home Assistant could not be automated using the second detected object. The sensor has been split out from the single Detected Object sensor into multiple binary issues for each detection type.

(@bdraco - #85656) (documentation)

Wiffi

The Wiffi unit of illuminance lux has been adjusted to the standard unit Home Assistant uses lx.

(@mampfes - #87377) (documentation)

Z-Wave

With this release, you will need to update your zwave-js-server instance. You must use zwave-js-server 1.26.0 or greater (schema 26).

  • If you use the Z-Wave JS add-on, you need at least version 0.1.76.
  • If you use the Z-Wave JS UI add-on, you need at least version 1.6.3.
  • If you use the Z-Wave JS UI Docker container, you need at least version 8.8.6.
  • 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.26.0.

(@raman325 - #88520) (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:

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