2023.6: Network storage, favorite light colors, new integrations dashboard
Home Assistant Core 2023.6! 🎉
Get ready for a classic, old-fashioned, jam-packed release! 🤯
I am excited about so many things being shipped in this release that it is hard to pick a favorite 😅 This release has it all.
Being able to directly use and back up my Home Assistant configuration to my network storage is absolutely incredible! But I also really enjoy the new and clean integrations dashboard and pages.
The feature that greatly improved the Home Approval Factor in my household is definitely the addition of the new favorite colors in the light dialogs 🎨
Enjoy the release!
../Frenck
- Connect and use your existing network storage
- Integrations dashboard & pages
- Light entity dialog improvements: favorite colors
- Added to the entity dialog: last changed
- Related information
- Copy ’n paste support in the automation editor
- Python 3.11 and significant performance upgrades
- Matter 1.1
- Z-Wave updates
- New entities! Date, time, date/time
- Other noteworthy changes
- New Integrations
- Integrations now available to set up from the UI
- Release 2023.6.1 - June 8
- Release 2023.6.2 - June 14
- Release 2023.6.3 - June 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
Connect and use your existing network storage
Do you have a network storage in your home? Like a QNAP or Synology NAS? This release adds the ability to add and use that storage with Home Assistant!
This long and highly requested feature is now available when running the Home Assistant Operating System. In the Settings > System > Storage menu, you can now find a whole new set of controls to connect to your storage and use it to, for example, use your network share as a media source in Home Assistant.
Even better: You can use it as a target for your backups so that when Home Assistant creates a backup for you, it will store it directly on your network storage.
Multiple network storages are also supported; if you like, you can easily add more.
Integrations dashboard & pages
The integrations dashboard has gotten a major overhaul!
There have been quite some usability issues with the previous version of the
integration dashboard. For example, if you use ESPHome
This release brings in a whole new integrations dashboard that addresses many of these issues, aiming to provide a cleaner and more consistent experience.
Device based integrations, like ESPHome, are combined: no more scrolling. A failing integration no longer stretches the layout or makes the layout “jump” during retries. Custom integrations and integrations relying on the cloud are now more visibly marked.
Selecting the cog icon on the integration card will bring you to a brand new integrations page, showing all information about the integration:
In the above example, the ESPHome integration page shows all devices this integration has. All the information and options, previously squashed into the integration dashboard, are now available here.
These brand new integration pages are helpful in other places in Home Assistant. For example, the device pages can now link back directly to the integration that provided it.
Light entity dialog improvements: favorite colors
Recently we introduced new controls in the light entity dialog, and this release iterates on the design by adding the current brightness, new controls, and adding favorite colors! 🎨
Each light (or light group) has its own set of colors. These colors can be added, changed, removed, and reorganized using drag-and-drop. To enter edit mode, select and hold one of the colors:
Added to the entity dialog: last changed
By popular request, the information on when an entity was last changed has been added back to the new entity information dialogs.
Not only that, @piitaya
Related information
Which automation is using that blueprint? Well, Home Assistant can now tell you that! On the Settings > Automations & Scenes > Blueprints page, select the three dotted menu on any blueprint to discover which automations are using that blueprint.
Not only that, if you accidentally try to remove a blueprint that is still in use, Home Assistant will stop you from removing it and tell you which automations still rely on it.
Hold on; there is more related! The related items in the entity information dialog were improved as well. The old list of links is gone, and it now shows a way more modern view of all related items for an entity:
Notice how it nicely links back to the new integration page here too!
Copy ’n paste support in the automation editor
An amazing contribution by @karwosts
You can now copy and paste any trigger, condition, and action into different places of your automation and even paste it into a different automation altogether!
Python 3.11 and significant performance upgrades
This release ships running on Python 3.11! In case you are wondering, what is that? Well, Python is the language the Core of Home Assistant is written in.
Why it matters? It is seriously faster! 🚀
If you run the Home Assistant Operating System or are using the Home Assistant Container installation type: You won’t have to do anything as we handle the upgrade to Python 3.11 for you.
And that is not all in terms of performance. We’ve also upgraded internal parts,
including a newer SQLite version that should be faster. Oh! And, of course,
@bdraco
This release can be expected to be a lot faster (or less consuming) of resources at runtime.
Matter 1.1
The Matter implementation within Home Assistant is now based on the freshly released 1.1 version of the Matter standard. This brings a ton of stability fixes and improvements, but unfortunately, no new features.
Thanks to @Diegorro98
All these stability improvements to both the Matter stack and our implementation did not go unnoticed:
Z-Wave updates
There has been quite a bit of progress on Z-Wave in Home Assistant.
Thanks to @raman325
Have you ever turned on a Z-Wave light from the Home Assistant UI just to see the toggle going off again after a couple of seconds, then after some more seconds seeing it going back to on? This long-standing issue (that even got the nickname flip/flop) for certain devices, that are slow to respond to their state has finally been addressed.
For those of you that like to automate everything, you can now automate not only the Z-Wave device state but also the device configuration. We added device configuration parameter entities so that almost every Z-Wave device setting is now available as an entity.
Not stopping there, we also added entities for device connection statistics, which you can use to, for example, create a notification if a device generates more than a certain amount of dropped messages. If you want to track a misbehaving device, you can enable these sensors to view the history of the connection performance.
In the background, @AlCalzone
New entities! Date, time, date/time
We welcome three new entity types in this release:
date
, time
& datetime
.
These entities allow integrations to provide date, time, or date/time input controls from the UI. They are very similar to the input datetime helper but are available for use by integrations.
How the new time, date, and date/time entities will look like on your dashboards.
They are so new that no integrations are using them yet, but you can expect to see usage in (custom) integrations of these soon!
Thanks for creating those @raman325
Other noteworthy changes
There are much more easter bunnies in this release; here are some of the other noteworthy changes this release:
- When using services in the UI (like in the automation editor), only options
and settings available to the selected target devices & entities will be shown.
This makes the UI much cleaner! Thanks, @emontnemery
and @bramkragten ! - The Roborock integration (introduced in the previous release) received much
love and now provides a wide range of new entities. Thanks @Lash-L
! - The Android TV Remote integration now provides a media player entity too!
Nice, @Drafteed
! -
KNX now provides its own panel, allowing you to upload your KNX
project file, and offers a group monitor for live bus diagnostics.
Information from the project is also used for device triggers.
Amazing @marvin-w
and @farmio ! -
@bdraco
added the option to disable Webhooks for ONVIF in case your camera isn’t fully following specifications. - The variables action is now also available in the automation and script
editors in the UI. Thanks, @piitaya
- The add-on dashboard now has a search bar. Helpful, @bramkragten
! - The Samsung TV now has a remote entity, allowing you to send remote key
presses directly to your TV! Thanks @peitschie
! - The States in the developer tools now
uses the entity ID in the entity ID picker. Thanks, @bramkragten
! -
@gjohansson-ST
added a service to change a running timer helper, @frenck did something similar and added a service to set the value of a counter helper. - The AccuWeather integration now provides sensors for the weather condition
and solar irradiance values. Thanks, @bieniu
- You can now update your QNAP QSW directly from Home Assistant. Nice @Noltari
! - The BMW Connected Drive now allows you to toggle climate on/off and new
entities related to the charging of your car. Thanks, @rikroe
and @cpoulsen !
New Integrations
We welcome the following new integrations in this release:
-
Airzone Cloud, added by @Noltari
Climate control for your Aidoo, Easyzone, or Flexa air conditioners. -
Date, Time, and Date/Time, added by @raman325
New entity types that allow integrations to provide date/time controls. -
Electra Smart, added by @jafar-atili
Control your Electra Air air conditioner from Home Assistant. -
Google Generative AI Conversation, added by @tronikos
A conversation agent powered by Google Generative AI. -
JVC Projector, added by @SteveEasley
You can now automate your network controllable JVC Projector. -
YouTube, added by @joostlek
Add your favorite YouTube channels as sensors.
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:
-
Piper provided by Wyoming, added by @frenck
-
Whisper provided by Wyoming, added by @frenck
-
Yale Home provided by August, added by @bdraco
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
Deutscher Wetterdienst (DWD) Weather Warnings, done by @andarotajo
-
GeoJSON, done by @exxamalte
-
Last.fm, done by @joostlek
-
Philips Dynalite, done by @ziv1234
Release 2023.6.1 - June 8
- Add error handling to input_select integration (@j4n-e4t
- #93940 ) (input_select docs) - Fix OTBR reset (@emontnemery
- #94157 ) (thread docs) (otbr docs) - Bump melnor-bluetooth to fix a timezone issue (@vanstinator
- #94159 ) (melnor docs) - Fix Abode unit of measurement (@joostlek
- #94168 ) (abode docs) - Bump pyoverkiz to 1.8.0 (@iMicknl
- #94176 ) (overkiz docs) - Rename Local Media to My Media (@balloob
- #94201 ) (media_source docs) - Fix ambiclimate for Python 3.11 (@megakid
- #94203 ) (ambiclimate docs) - Require pydantic 1.10.8 or higher (@allenporter
- #94208 ) - Set httpx log level to warning (@jpbede
- #94217 ) - Update aioairzone-cloud to v0.1.8 (@Noltari
- #94223 ) (airzone_cloud docs) - Bump python-opensky (@joostlek
- #93916 ) (opensky docs) - Bump python-opensky to 0.0.9 (@joostlek
- #94224 ) (opensky docs) - Bump pulsectl to 23.5.2 (@chatziko
- #94227 ) (pulseaudio_loopback docs) - Fix imap crash on email without subject (@jbouwh
- #94230 ) (imap docs) - Solve wrong return code from modbus. (@janiversen
- #94234 ) (flexit docs) - Catch exception when user has no lastfm friends (@joostlek
- #94235 ) (lastfm docs) - Bump aiohomekit to 2.6.5 (fixes python 3.11 regression) (@Jc2k
- #94245 ) (homekit_controller docs) - Retrieve friends in an async manner in Lastfm (@joostlek
- #94255 ) (lastfm docs) - Update frontend to 20230608.0 (@piitaya
- #94256 ) (frontend docs) - Bump unifiprotect to 4.10.2 (@AngellusMortis
- #94263 ) (unifiprotect docs) - Fix default value when logger used (@balloob
- #94269 ) (logger docs) - Fix repair issue about no yaml for config entries (@frenck
- #94271 ) - Restructure Insteon start-up (@teharris1
- #92818 ) (insteon docs) - Fix Insteon startup for users with X10 devices (@teharris1
- #94277 ) (insteon docs)
Release 2023.6.2 - June 14
- Change pyoppleio to pyoppleio-legacy (@tinysnake
- #88050 ) (opple docs) - Fix issue with Insteon linked devices maintaining current state (@teharris1
- #94286 ) (insteon docs) - Bump elkm1-lib to 2.2.5 (@gwww
- #94296 ) (elkm1 docs) - Bump pylitterbot to 2023.4.2 (@natekspencer
- #94301 ) (litterrobot docs) - Upgrade sisyphus-control to 3.1.3 (@jkeljo
- #94310 ) (sisyphus docs) - fix: electrasmart - cast temperature to int in set_temperature (@jafar-atili
- #94368 ) (electrasmart docs) - Fix dep noaa-coops for noaa_tides (@jbouwh
- #94370 ) (noaa_tides docs) - Fix deprecated asyncio.wait use with coroutines (@syssi
- #94371 ) (xiaomi_miio docs) - Update xknxproject to 3.1.1 (@farmio
- #94375 ) (knx docs) - Re-add event listeners after Z-Wave server disconnection (@raman325
- #94383 ) (zwave_js docs) - Fix ZHA binding api to actually return responses (@jasonkuster
- #94388 ) (zha docs) - Abort youtube configuration if user has no channel (@joostlek
- #94402 ) (youtube docs) - Update knx-frontend to 2023.6.9.195839 (@farmio
- #94404 ) (knx docs) - Bump unifiprotect to 4.10.3 (@AngellusMortis
- #94416 ) (unifiprotect docs) - Fix: Xiaomi Miio Fan, delay off countdown unit conversion (@golles
- #94428 ) (xiaomi_miio docs) - Add unit inference for Amps and VA in APCUPSD integration (@yuxincs
- #94431 ) (apcupsd docs) - Fix manual update for Command Line (@gjohansson-ST
- #94433 ) (command_line docs) - Fix reload service in Command Line (@gjohansson-ST
- #94436 ) (command_line docs) - Set default value for endpoint in zwave device automations (@raman325
- #94445 ) (zwave_js docs) - Revert “Bump pydaikin 2.9.1 (#93635)” (@mover85
- #94469 ) (daikin docs) - Bump russound_rio to 1.0.0 (@chphilli
- #94500 ) (russound_rio docs) - Fix entity and device selector TypedDict’s (@raman325
- #94510 ) - Bump yalexs-ble to 2.1.18 (@bdraco
- #94547 ) (august docs) (yalexs_ble docs) - Bump
regenmaschine
to 2023.06.0 (@bachya- #94554 ) (rainmachine docs) - Update Home Assistant base image to 2023.06.0 (@frenck
- #94556 ) - Catch InvalidAuthError in
shutdown()
method for Shelly gen2 devices (@bieniu- #94563 ) (shelly docs) - Fix keyboard_remote for python 3.11 (@lanrat
- #94570 ) (keyboard_remote docs) - Fix failed recovery in roku (@ctalkington
- #94572 ) (roku docs) - Fix failed recovery in ipp (@ctalkington
- #94573 ) (ipp docs) - Improve multipan debug logging (@emontnemery
- #94580 ) (homeassistant_hardware docs)
Release 2023.6.3 - June 23
- Register Fully Kiosk services regardless of setup result (@mheath
- #88647 ) (fully_kiosk docs) - Fortios device tracker updates (@kimfrellsen
- #92331 ) (fortios docs) - Handle LastFM unavailable (@joostlek
- #94456 ) (lastfm docs) - Handle Insteon events correctly (@teharris1
- #94549 ) (insteon docs) - Fix unit for Habitica text sensors (@atudor2
- #94550 ) (habitica docs) - Bump minimum typing_extensions to 4.6.3 (@freeDom-
- #94587 ) (dependency) - Fix glances raid plugin data (@freeDom-
- #94597 ) (glances docs) - Make YouTube select lower quality thumbnails (@joostlek
- #94652 ) (youtube docs) - Add strings for YouTube reauthentication (@joostlek
- #94655 ) (youtube docs) - Fix bluetooth tracker asyncio usage (@d03n3rfr1tz3
- #94695 ) (bluetooth_tracker docs) - Fix zwave_js trigger event reattach logic (@raman325
- #94702 ) (zwave_js docs) - Fix warning from rapt_ble caused by payload version 2 (@sairon
- #94718 ) (rapt_ble docs) - Fix Totalconnect BinarySensorDeviceClass logic (@austinmroczek
- #94772 ) (totalconnect docs) - Bump HAP-python to 4.7.0 (@bdraco
- #94812 ) (homekit docs) (dependency) - Bump bthome to 2.12.0 (@Ernst79
- #94822 ) (bthome docs) (dependency) - Update aioairzone to v0.6.4 (@Noltari
- #94873 ) (airzone docs) (dependency) - Bump ical to 4.5.4 (@allenporter
- #94894 ) (local_calendar docs) - Fix Meteo France blocked config entry when weather alert API fails (@Quentame
- #94911 ) (meteo_france docs) - Add error handling to hassio issues (@epenet
- #94951 ) (hassio docs) - Bump Matter Server to 3.5.1: some small fixes and stability improvements (@marcelveldt
- #94985 ) (matter docs) (dependency) - Fix zwave_js device diagnostics dump (@raman325
- #94999 ) (zwave_js docs) - Bump bimmer_connected to 0.13.7 (@rikroe
- #95017 ) (bmw_connected_drive docs) (dependency) - Fix goodwe midnight error (@hmmbob
- #95041 ) (goodwe docs) - Fix removal of orphaned Matter devices (@marcelveldt
- #95044 ) (matter docs) - Fix KNX device trigger passing info data (@farmio
- #95076 ) (knx 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
Python
All Home Assistant versions, of which the Home Assistant project manages the Python version for you, have been upgraded to Python 3.11. This affects the following installation types:
- Home Assistant Operating System
- Home Assistant Container
- Home Assistant Supervised
This might affect you when using custom integrations, as those must be compatible with Python 3.11.
Furthermore, as of this release, Python 3.10 is deprecated, and support will be removed in Home Assistant 2023.8. This only affects you if you are running Home Assistant Core installation type in your own Python virtual environment. Please update your Python version to Python 3.11.
If you run Home Assistant OS, Home Assistant Container, or Home Assistant Supervised, we have taken care of this for you; you will be using Python 3.11 automatically on upgrade.
APC UPS Daemon
sensor.ups_self_test_interval
sensor now properly splits unit “days” from the
raw data. Previously, it would show 7 days
as the sensor state.
Now it shows 7
with a unit “Days”.
(@yuxincs
Counter
The counter
entities no longer restore their previous manually set
configuration (using the - now deprecated - counter.configure
service) on
Home Assistant startup. Instead, it will now use the configuration as set in
the helper configuration in the UI (or as configured YAML, if used).
This behavior is removed, as it caused configuration issues, as the new configuration was never applied again (but forever restored). This behavior was out of the ordinary for Home Assistant and thus now standardized.
The value of the counter is still restored and available across Home Assistant restarts.
(@frenck
Command Line
The Command Line integration changes its YAML configuration format from an old-style platform configuration to a more modern integration-style configuration format.
For example, if you have a binary sensor configured previously as:
# Example configuration.yaml entry
binary_sensor:
- platform: command_line
command: "cat /proc/sys/net/ipv4/ip_forward"
That same binary sensor is now configured under the command_line
integration
configuration as:
# Example configuration.yaml entry
command_line:
- binary_sensor:
command: "cat /proc/sys/net/ipv4/ip_forward"
Note: While this is currently not yet a breaking change, it did raise questions during our beta testing period. Hence we have added this as a breaking change to provide more context.
D-Link Wi-Fi Smart Plugs
The previously deprecated YAML configuration of the D-Link Wi-Fi Smart Plugs integration has been removed.
D-Link Wi-Fi Smart Plugs are 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.
EDL21
The previously deprecated YAML configuration of the EDL21 integration has been removed.
EDL21 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.
EZVIZ
The binary sensor providing “upgrade available” information has been removed
and replaced by a new update
entity. If you use the binary sensor in your
automations, scripts, or dashboards, you will need to adjust them to
this change.
(@RenierM26
Frontier Silicon
The previously deprecated YAML configuration of the Frontier Silicon integration has been removed.
Frontier Silicon 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.
Google Nest
The Google Nest YAML configuration has been fully removed. You should ensure you have imported your configuration and credentials into the UI before upgrading.
Nest Desktop or OOB authentication, which was previously disabled by Google, has now been removed.
(@allenporter
IBM Watson TTS
Home Assistant was still using the legacy Python pip package resolver, which has been removed. Due to upstream package conflicts, the IBM Watson TTS integration has been disabled.
The upstream project providing the libraries used has been notified repeatedly in, at least, the past two years; unfortunately, without response. We had no other choice than to disable this integration.
(@frenck
IHC Controller
The default unit of measurement for manually set up sensors from IHC has been removed. Home Assistant now assumes all sensors with a unit of measurement set are a number. IHC sensors can be text, but because of the default unit of measurement, there is currently no way to get text sensors from IHC working.
This is a breaking fix because if you currently have temperature sensors without a unit of measurement set, you will have to set this for the sensors.
(@dingusdk
LG Netcast
LG Netcast media players no longer have fake (assumed) playing
or paused
states, and those are replaced with the on
state.
If you used the playing
or paused
state in your automations, you will need
to update them to match this change.
(@Drafteed
Meteorologisk institutt (Met.no)
The weather forecast provided by the weather entity has changed. The current day has been added to the forecast. If your automations or scripts rely on the first day to be tomorrow, you need to adjust them.
(@mmalina
MQTT
MQTT sensor configurations that still use last_reset_topic
will fail. The
support was deprecated in Home Assistant 2021.11 and is now removed. Users
should use last_reset_value_template
instead.
(@jbouwh
Nextcloud
The previously deprecated YAML configuration of the Nextcloud integration has been removed.
Nextcloud 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.
Obihai
The previously deprecated YAML configuration of the Obihai integration has been removed.
Obihai 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.
Persistent notifications
Persistent notifications are no longer stored in the state machine. This means that we no longer create an entity for each persistent notification.
If you used these entities in, for example, automations, scripts, or templates, you won’t be able to use these anymore.
(@bdraco
The persistent_notification.mark_read
service has been removed.
(@bdraco
Rain Bird
The previously deprecated YAML configuration of the Rain Bird integration has been removed.
Rain Bird 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.
(@gjohansson-ST
The previously deprecated rainbird.rain_delay
service for Rainbird has been
removed. Please update any automation or script depending on this service.
Salda Smarty
Home Assistant was still using the legacy Python pip package resolver, which has been removed. Due to upstream package conflicts, the Salda Smarty integration has been disabled.
The upstream project providing the libraries used has been notified repeatedly in, at least, the past two years; unfortunately, without response. We had no other choice than to disable this integration.
(@frenck
Samsung Smart TV
The previously deprecated YAML configuration of the Samsung Smart TV integration has been removed.
Samsung Smart TV 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.
(@epenet
Total Connect
The tampered and low battery status zone attributes have been moved into their own dedicated binary sensors. If you use these attributes in your automations, scripts, or dashboards, you will need to update those to reflect this change.
Universal Devices ISY/IoX
The previously deprecated sensor entities for Insteon devices’ On Level and
Ramp Rate, as well as ISY Variable sensors, have been removed. Please use the
dedicated number
and select
entities instead.
(@shbatm
Vallox
The previously deprecated YAML configuration of the Vallox integration has been removed.
Vallox 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.
(@slovdahl
Z-Wave
On/Off properties for the Indicator CC are no longer discovered as entities.
They were previously discovered as sensor entities which were not useful in cases where you wanted to change these values, and you would need to change the value for all three On/Off properties simultaneously in order for them to work, which wasn’t supported with our existing discovery model.
(@raman325
For devices with the Entry control
generic device class, the Door lock mode
config parameter no longer gets created as a sensor
entity and will instead
get created as a select
entity.
(@raman325
The Nice IBT4ZWAVE module was previously discovered as a light, but now it is discovered as a cover. The light entity will be permanently unavailable and can be safely deleted.
(@raman325
If you have zwave_js cover entities already and your device supports Window Covering CC, you may see newly created cover entities. The old cover entities can safely be deleted, but all customizations must be reapplied to the new entities.
(@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:
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.6