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
- Restarting Home Assistant
- Asking Assist for the current state of things
- Cleaner entity information dialogs
- New dialogs for lights, switches and siren entities
- Sensor display precision
- New create automation dialog
- Thread & Matter
- Python 3.11 support
- Other noteworthy changes
- New Integrations
- 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!
- Backward-incompatible changes
- All changes
Don’t forget to join our release party live stream on YouTube
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
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
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:
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
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.
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
New dialogs for lights, switches and siren entities
There is more to tell about this release’s more-info dialogs. @matthiasdebaat
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!
Thanks @emontnemery
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
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.
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.
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!
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
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:
-
Dormakaba dKey, added by @emontnemery
Connect and control your Dormakaba dKey Bluetooth Low Energy locks. -
easyEnergy, added by @klaasnicolaas
Retrieves dynamic (hourly) energy & gas prices from the Dutch utility company easyEnergy. -
TP-Link Omada SDN Controller, added by @MarkGodwin
Control your TP-Link Omada SDN Devices, such as network switches, access points, and internet gateways.
Release 2023.3.1 - March 2
- Update pyTibber to 0.27.0 (@toini
- #86940 ) (tibber docs) (breaking-change) - Bump requests to 2.28.2 (@mitch-dc
- #88956 ) - Bump py-dormakaba-dkey to 1.0.4 (@emontnemery
- #88992 ) (dormakaba_dkey docs) - Fix KNX Keyfile upload (@farmio
- #89029 ) (knx docs) - Update orjson to 3.8.7 (@frenck
- #89037 ) - Update frontend to 20230302.0 (@piitaya
- #89042 ) (frontend docs) - Fix check on non numeric custom sensor device classes (@jbouwh
- #89052 ) (sensor docs) - Bump nuheat to 1.0.1 (@mitch-dc
- #88958 ) (nuheat docs)
Release 2023.3.2 - March 8
- Check type key of zone exists in geniushub (@warksit
- #86798 ) (geniushub docs) - Cache transient templates compiles provided via api (@bdraco
- #89065 ) (websocket_api docs) (api docs) (mobile_app docs) - Handle InnoDB deadlocks during migration (@bdraco
- #89073 ) (recorder docs) - Bump pyfibaro version to 0.6.9 (@rappenze
- #89120 ) (fibaro docs) (dependency) - Fix host IP and scheme entry issues in TP-Link Omada (@MarkGodwin
- #89130 ) (tplink_omada docs) - Fix Tuya Python 3.11 compatibility issue (@frenck
- #89189 ) (tuya docs) - Bump aioesphomeapi to 13.4.2 (@bdraco
- #89210 ) (esphome docs) (dependency) - Update frontend to 20230306.0 (@bramkragten
- #89227 ) (frontend docs) - Fix conditional check (@cdce8p
- #89231 ) (konnected docs) - Bump sqlalchemy to 2.0.5post1 (@bdraco
- #89253 ) (recorder docs) (sql docs) (dependency) - Make sql subqueries threadsafe (@bdraco
- #89254 ) (recorder docs) - Bump python-snapcast to 2.3.2 (@luar123
- #89259 ) (snapcast docs) (dependency) - Ignore DSL entities if SFR box is not adsl (@epenet
- #89291 ) (sfr_box docs) - Clean ZHA radio path with trailing whitespace (@puddly
- #89299 ) (zha docs) - Fix Insteon open issues with adding devices by address and missing events (@teharris1
- #89305 ) (insteon docs) - Fix thread diagnostics loading blocking the event loop (@bdraco
- #89307 ) (thread docs) - Remove invalid device class in air-Q integration (@Sibgatulin
- #89329 ) (airq docs) - Recreate iaqualink httpx client upon service exception (@flz
- #89341 ) (iaqualink docs) - Fix bluetooth history and device expire running in the executor (@bdraco
- #89342 ) (bluetooth docs) - Fix setting Reolink focus (@starkillerOG
- #89374 ) (reolink docs) - Improve Supervisor API handling (@frenck
- #89379 ) (hassio docs) - Fix invalid state class in litterrobot (@epenet
- #89380 ) (litterrobot docs)
Release 2023.3.3 - March 9
- Fix MQTT rgb light brightness scaling (@jbouwh
- #89264 ) (mqtt docs) - Bump roombapy to 1.6.6 (@Dilski
- #89366 ) (roomba docs) - Bump pymazda to 0.3.8 (@bdr99
- #89387 ) (mazda docs) - Allow enum as MQTT sensor device_class (@jbouwh
- #89391 ) (mqtt docs) - Add paths for add-on changelog and documentation (@ludeeus
- #89411 ) (hassio docs) - Update frontend to 20230309.0 (@piitaya
- #89446 ) (frontend docs) - Fix Dormakaba dKey deadbolt binary sensor (@emontnemery
- #89447 ) (dormakaba_dkey docs)
Release 2023.3.4 - March 13
- Recode Home Assistant instance name to ascii for Jellyfin (@j-stienstra
- #87368 ) (jellyfin docs) - Fix gtfs with 2023.3 (sqlachemy update) (@vingerha
- #89175 ) (gtfs docs) - Reconnect on any ScreenLogic exception (@dieselrabbit
- #89269 ) (screenlogic docs) - Fix data migration never finishing when database has invalid datetimes (@bdraco
- #89474 ) (recorder docs) - Fix bug in fibaro cover (@rappenze
- #89502 ) (fibaro docs) - Bump pydeconz to v110 (@Kane610
- #89527 ) (deconz docs) - Fix get_significant_states_with_session query looking at legacy columns (@bdraco
- #89558 ) (recorder docs) - Bump aiopvpc to 4.1.0 (@azogue
- #89593 ) (pvpc_hourly_pricing docs) - Increase maximum aiohttp connections to 4096 (@bdraco
- #89611 ) - Rename modules named repairs.py which are not repairs platforms (@emontnemery
- #89618 ) (hassio docs) (bayesian docs) - Improved “ON” state check for
Use room sensor for cooling
(@tomrennen- #89634 ) (nibe_heatpump docs) - Bump SQLAlchemy to 2.0.6 (@balloob
- #89650 ) (recorder docs) (sql docs) - Bump ZHA dependencies (@puddly
- #89667 ) (zha docs)
Release 2023.3.5 - March 16
- ArestData does not have available (@zhangsheng377
- #88631 ) (arest docs) - Bump aioesphomeapi to 13.5.0 (@bdraco
- #89262 ) (esphome docs) (dependency) - Handle int or mapping for off case in nibe cooling (@elupus
- #89680 ) (nibe_heatpump docs) - Secure modbus hub_collect remains valid (@janiversen
- #89684 ) (modbus docs) - Update to nibe 2.1.4 (@elupus
- #89686 ) (nibe_heatpump docs) (dependency) - Bump bond-async to 0.1.23 (@marciogranzotto
- #89697 ) (bond docs) (dependency) - Correct modbus serial method parameter (@janiversen
- #89738 ) (modbus docs) - Fix imap server push holding HA startup (@jbouwh
- #89750 ) (imap docs) - Bump aioesphomeapi to 13.5.1 (@bdraco
- #89777 ) (esphome docs) (dependency) - Update frontend to 20230309.1 (@bramkragten
- #89802 ) (frontend docs)
Release 2023.3.6 - March 22
- Fix imap_email_content unknown status and replaying stale states (@jbouwh
- #89563 ) (imap_email_content docs) - Bump aioharmony to 0.2.10 (@bdraco
- #89831 ) (harmony docs) - Correct missing wordswap for S series nibe (@elupus
- #89866 ) (nibe_heatpump docs) - Fix blocking MQTT entry unload (@jbouwh
- #89922 ) (mqtt docs) - Remove async_block_till_done in freebox (@bdraco
- #89928 ) (freebox docs) - Bump aiomusiccast to 0.14.8 (@micha91
- #89978 ) (yamaha_musiccast docs) - Handle cancelation of wait_for_ble_connections_free in esphome bluetooth (@bdraco
- #90014 ) (esphome docs) - Bump yalexs_ble to 2.1.0 (@bdraco
- #89772 ) (august docs) (yalexs_ble docs) - Bump yalexs-ble to 2.1.1 (@bdraco
- #90015 ) (yalexs_ble docs) - Bump easyEnergy to v0.2.1 (@klaasnicolaas
- #89630 ) (easyenergy docs) - Bump easyEnergy to v0.2.2 (@klaasnicolaas
- #90080 ) (easyenergy docs) - Bump to oralb-ble 0.17.6 (@Lash-L
- #90081 ) (oralb docs) - Bump PySwitchbot to 0.37.4 (@bdraco
- #90146 ) (switchbot docs) - Always enforce URL param ordering for signed URLs (@balloob
- #90148 ) (http 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
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
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
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
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
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
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
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 version4.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 least3.0.0
.
(@marcelveldt
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 anunknown
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 adate
,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
Plugwise
The unit of measurement for the P1 gas consumed interval sensor is changed
from m³
to m³/h
. Go to Developer Option –> Statistics for the options
on how to handle this change in your existing installation.
(@bouwew
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
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
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.
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
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
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
Wiffi
The Wiffi unit of illuminance lux
has been adjusted to the standard unit
Home Assistant uses lx
.
(@mampfes
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 version0.1.76
. - If you use the
Z-Wave JS UI
add-on, you need at least version1.6.3
. - If you use the
Z-Wave JS UI
Docker container, you need at least version8.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 least1.26.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:
- Added support for snapshot testing
- Custom tile features
- Deprecated callback signatures for MQTT subscribe removed
- Intent Responses and Whitespace
- Introducing drafting of PRs in our review process
- The HassGetState intent
- The number of decimals used when displaying a sensor state is now configurable
- Translation files removed from Core repository
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