Home Assistant Core 2023.10! 🎉
October! 🎃 It means we’ve just celebrated our birthday; we are now 10 years old! 🎂 In case you’ve missed our birthday YouTube stream with all the cool announcements, we’ve summed it all up in our 10 year Home Assistant blog post.
Even more exciting news, as this is Home Assistant’s year of the voice: Chapter 4 of this endeavor has been announced and will be streamed live on YouTube on 12 October 2023, at 12:00 PDT / 21:00 CEST! Be sure to tune in! I’ve seen some early demos… All I’m going to say is: It is mind-blowing! 🤯
As for this release, because of all of the above, it is a bit smaller than usual in terms of features. I promise that chapter 4 is going to make it all worth it. Yet, it contains tons of updates, bug fixes, and a couple of beautiful new features for the tile card! 🤩
Enjoy the release!
- A beautiful updated logo!
- Brand new My Home Assistant buttons
- New tile card features for climate entities
- Tile card feature select entities
- Password managers and Home Assistant
- Map entity marker options
- Other noteworthy changes
- New integrations
- Integrations now available to set up from the UI
- Release 2023.10.1 - October 6
- Release 2023.10.2 - October 12
- Release 2023.10.3 - October 13
- Release 2023.10.4 - October 21
- Release 2023.10.5 - October 22
- Need help? Join the community!
- Backward-incompatible changes
- All changes
Don’t forget to join our release party live stream on YouTube 4 October 2023, at 12:00 PDT / 21:00 CEST!
In case you’ve missed it, we have refreshed the Home Assistant logo! 🤩
This was done for the 10th anniversary of Home Assistant, and you can read all about this iteration in this blog post. You will start seeing this logo in many more places in the upcoming weeks, but, it is already included this release!
It is not just the logo that got a facelift; we have beautiful new buttons for My Home Assistant as well 🤩.
If you’re unfamiliar with My Home Assistant, it’s a free online tool that enables websites, documentation, chat platforms, and blogs to link to places on your Home Assistant server without knowing its address or being exposed to the internet. This ensures your privacy while still allowing a seamless experience.
In our documentation, you’ll find those buttons to, for example, add a new integration to your Home Assistant with a single click! Try it yourself! This button below will open up your Home Assistant’s interface and show the integrations you have installed:
So, if you see these buttons showing up somewhere, you now know what they do! You can easily create your own buttons and links to share on the create link page.
In the last release, we added lots of new features for the tile card, including features specifically for controlling your climate devices. This release, we are adding even more!
@Weissnix4711 contributed a feature that allows you to add buttons for the presets of your climate device to the tile card. Next, @piitaya took it a step further: You can now select which presets you want to show and if you want them in a dropdown list instead of a series of buttons.
The screenshot above shows the same tile card, but one with the buttons and one with the dropdown.
In the options for this tile card feature, you’ll be given the choice if you prefer to show icons or if you rather have a dropdown. You can also pick which presets you want to show/hide.
But there is more goodness for the tile card. @piitaya also added the dropdown from above as a feature for the select entities, allowing you to select an option from a list of options.
This feature can be used for any select entity but also your custom dropdown helpers! (also known as
Using a password manager is arguably one of the best things you can do to improve your online security. But using them with Home Assistant, depending on which one you have been using, has been a bit of a pain.
If you’ve been using one of these password managers that had issues with Home Assistant, you’ll be happy to know that this release fixes that! For example, 1Password now works!
You can now choose if you want the entity name to be rendered on the map or the entity state, but you could also override the name altogether. You could, for example, show state values, instead of the name, for the entities providing gas prices, so you can see where the cheapest gas is.
When centering the map, all entities on the map are taken into account. However, you can also exclude certain entities (for example, known outliers) that should not be considered when doing that.
This is currently only available in the YAML configuration of the map card. See our documentation for the map card for more information.
There are many more improvements in this release; here are some of the other noteworthy changes this release:
- If you are using ESPHome, you will notice much smaller Home Assistant backups when you have the latest version installed!
- The HomeKit Bridge integration now supports media receivers! Thanks, @bdraco!
- @Lash-L keeps extending the Roborock integration. In this release, water and last cleaned sensors have been added. Sweet!
- Withings received lots of love this release, thanks @joostlek! It is now easier to set up and now also works with the Home Assistant Cloud webhooks for push updates!
- @allenporter added calendar support to the Rain Bird integration, allowing you to see your irrigation schedule in Home Assistant! Nice!
- The System Bridge integration now supports notifications! Thanks, @timmo001!
- @alexyao2015 added a button to Life360 to trigger a poll to update the location information. Cool!
- The picture entity card now has a fit mode option to control how the image fits into the card. This lets you decide if the image is clipped, fitted, or stretched into the displayed card. Thanks @karwosts!
- It’s now easier than ever to collect Z-Wave logs for troubleshooting. Just enable debug logging!
We welcome the following new integrations in this release:
Apple WeatherKit, added by @tjhorner
Track the weather using Apple’s WeatherKit API.
Ecoforest, added by @pjanuario
Monitor and control your Ecoforest fireplace.
IKEA IDÅSEN Desk, added by @abmantis
Connect and control the height of your IKEA IDÅSEN motorized desk.
Medcom Bluetooth, added by @elafargue
Integrates your Medcom radiation monitors.
Private BLE Device, added by @Jc2k
Track your BLE devices that change their MAC address frequently.
SwitchBot Cloud, added by @SeraphicRav
Control your SwitchBot devices using the SwitchBot Cloud API.
WeatherFlow, added by @jeeftor
Integrate your WeatherFlow Tempest Weather System.
This release also has a new virtual integration. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. The following virtual integration has been added:
The following integrations are now available via the Home Assistant UI:
- AfterShip, done by @joostlek
- Color extractor, done by @joostlek
- Hunter Hydrawise, done by @dknowles2
- NextBus, done by @ViViDboarder
- Todoist, done by @allenporter
- Twitch, done by @joostlek
- World Air Quality Index (WAQI), done by @joostlek
- 2023.10.0 (@frenck - #101386)
- Fix ZHA device diagnostics error for unknown unsupported attributes (@TheJulianJES - #101239)
- Bump pyyardian to 1.1.1 (@h3l1o5 - #101363)
- Fix Withings translations (@joostlek - #101397)
- Raise vol.Invalid for invalid mqtt device_tracker config (@jbouwh - #101399)
- Bump dbus-fast to 2.11.1 (@bdraco - #101406)
- Add translation for Tamper binary sensor (@joostlek - #101416)
- Add wake word cooldown to avoid duplicate wake-ups (@synesthesiam - #101417)
- Adjust WeatherFlow wind sensors to appropriately match native unit and library field (@natekspencer - #101418)
- Bump env_canada to v0.5.37 (@michaeldavie - #101435)
- Fix device_class.capitalize() in Point (@fredrike - #101440)
- SMA add missing entity descriptions (@rklomp - #101462)
- Fix Trafikverket Camera if no location data (@gjohansson-ST - #101463)
- Update frontend to 20231005.0 (@piitaya - #101480)
- Bump zeroconf to 0.115.2 (@bdraco - #101482)
- bump pywaze to 0.5.1 sets timeout to 60s (@eifinger - #101487)
- Fix caching of latest short term stats after insertion of external stats (@bdraco - #101490)
- Fix key error in config flow when duplicate stop names exist (@ViViDboarder - #101491)
- Fix bug in calendar state where alarms due to alarms not scheduled (@allenporter - #101510)
- Fix for rainbird unique id (@allenporter - #101512)
- Limit waze_travel_time to 0.5call/s over all entries (@eifinger - #101514)
- Use config flow in color extractor tests (@joostlek - #101524)
- Delete existing Withings cloudhook (@joostlek - #101527)
- Modbus, wrong length when reading strings (@janiversen - #101529)
- Update LoqedAPI to handle invalid transitions better (@mikewoudenberg - #101534)
- Cancel callbacks on Withings entry unload (@joostlek - #101536)
- Bump HAP-python to 4.8.0 (@bdraco - #101538)
- Add Withings webhooks after a slight delay (@joostlek - #101542)
- Only import color extractor when domain is in config (@joostlek - #101522)
The Mazda integration has been removed from Home Assistant. The library that Home Assistant uses to connect with their services has been taken offline by Mazda.
- Improve handling of roon media players with fixed and incremental volume (@pavoni - #99819)
- Auto-fix common key entry issues during WeatherKit config flow (@tjhorner - #101504)
- Improve Ikea Idasen config flow error messages (@abmantis - #101567)
- Update pyfronius to 0.7.2 (@farmio - #101571)
- Update ha-philipsjs to 3.1.1 (@elupus - #101574)
- Update aiohttp to 3.8.6 (@cdce8p - #101590)
- Additional fix for rainbird unique id (@allenporter - #101599)
- Fix compiling missing statistics losing rows (@bdraco - #101616)
- Bump systembridgeconnector to 3.8.4 (@timmo001 - #101621)
- Update pylutron-caseta to 0.18.3 (@mdonoughe - #101630)
- Add additional calendar state alarm debugging (@allenporter - #101631)
- Abort config flow when invalid token is received (@joostlek - #101642)
- Fix mqtt sensor or binary_sensor state not saved after expiry (@jbouwh - #101670)
- Fix Slack type error for file upload (@tkdrob - #101720)
- Update eufylife-ble-client to 0.1.8 (@bdr99 - #101727)
- Add google calendar required feature for create event service (@allenporter - #101741)
- Fix Airzone climate double setpoint (@Noltari - #101744)
- Bump screenlogicpy to 0.9.2 (@dieselrabbit - #101746)
- Fix typo in Ombi translation strings (@Betacart - #101747)
- Bump pyDuotecno to 2023.10.0 (@Cereal2nd - #101754)
- Subscribe to Withings webhooks outside of coordinator (@joostlek - #101759)
- Change BiDirectional Prefix (@hesselonline - #101764)
- Bump pyweatherflowudp to 1.4.5 (@natekspencer - #101770)
- Bump bimmer_connected to 0.14.1 (@rikroe - #101789)
- Bump env_canada to 0.6.0 (@michaeldavie - #101798)
- Await set value function in ScreenLogic number entities (@dieselrabbit - #101802)
- Update aioqsw to v0.3.5 (@Noltari - #101809)
- Dynamic wake word loading for Wyoming (@synesthesiam - #101827)
- Close existing UDP server for ESPHome voice assistant (@synesthesiam - #101845)
- Remove Mazda integration (@bdr99 - #101849)
- Bump Python-MyQ to v3.1.13 (@justinlindh - #101852)
- Fix translation key in Plugwise (@joostlek - #101862)
- Fix SMA incorrect device class (@rklomp - #101866)
- Fix mysensors battery level attribute (@MartinHjelmare - #101868)
- Fix typo in remember the milk strings (@Betacart - #101869)
- Only reload Withings config entry on reauth (@joostlek - #101638)
- Downgrade aiohttp to 3.8.5 (@frenck - #101913)
- Add missing fan mode in Sensibo (@gjohansson-ST - #101883)
- Uncancel task when swallowing CancelledError (@starkillerOG - #101884)
- Bump reolink-aio to 0.7.11 (@starkillerOG - #101886)
- Fix implicit device name in wiz switch (@bdraco - #101914)
- Fix Spotify media position update value (@Archomeda - #100044)
- Fix error handling on subscribe when mqtt is not initialized (@jbouwh - #101832)
- Bump aioesphomeapi to 17.1.4 (@bdraco - #101897)
- Bump aioesphomeapi to 17.1.5 (@bdraco - #101916)
- Fix Setpoint in Matter climate platform (@goloveychuk - #101929)
- Update zwave issue repair strings (@raman325 - #101940)
- Bump screenlogicpy to v0.9.3 (@dieselrabbit - #101957)
- Bump pynina to 0.3.3 (@DeerMaximum - #101960)
- Fix google_maps same last_seen bug (@pnbruckner - #101971)
- Bump aioesphomeapi to 17.2.0 (@bdraco - #101981)
- Bump aioesphomeapi to 18.0.1 (@bdraco - #102028)
- Fix bug in calendar state transitions (@allenporter - #102083)
- Call disconnected callbacks from BT ESPHome client (@abmantis - #102084)
- Bump aioesphomeapi to 18.0.3 (@bdraco - #102085)
- Correct sensor state attribute and device class in Velbus sensors (@Cereal2nd - #102099)
- Bump velbusaio to 2023.10.0 (@Cereal2nd - #102100)
- Bump zha-quirks to 0.0.105 (@TheJulianJES - #102113)
- Fix UniFi client tracker entities being unavailable when away on restart (@Kane610 - #102125)
- Send events for tts stream start/end (@jesserockz - #102139)
- Bump opower to 0.0.36 (@tronikos - #102150)
- Explicitly set entity name for VenstarSensor (@dseven - #102158)
- Don’t warn about unknown pipeline events in ESPHome (@synesthesiam - #102174)
- Bump velbusaio to 2023.10.1 (@Cereal2nd - #102178)
- Bump aiowaqi to 2.1.0 (@joostlek - #102209)
- Handle timeouts on AEMET init (@Noltari - #102289)
- Bump pyduotecno to 2023.10.1 (@Cereal2nd - #102344)
- Bump ZHA dependencies (@puddly - #102358)
- Bump vehicle to 2.0.0 (@joostlek - #102379)
- Update aioairzone to v0.6.9 (@Noltari - #102383)
- Bump aioesphomeapi to 18.0.6 (@bdraco - #102195)
- Bump dbus-fast to 2.12.0 (@bdraco - #102206)
- Bump bluetooth-data-tools to 1.13.0 (@bdraco - #102208)
- Fix temperature setting for multi-setpoint z-wave device (@kpine - #102395)
- Bump aioesphomeapi to 18.0.7 (@bdraco - #102399)
- Downgrade ZHA dependency bellows (@puddly - #102471)
- Bump async-upnp-client to 0.36.2 (@StevenLooman - #102472)
Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!
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.
An MQTT lock with a configured state topic will initialize with state
unknown instead of state
unlocked unless the lock is set to optimistic mode.
MQTT locks set to optimistic mode will still be initialized with
unlocked state. You should check if your automations are affected.
Some entity names have changed. The integration will migrate old entities to new names/IDs. You may have to manually update old entities used in, for example, your dashboards.
Invalid entities such as “Saturation Index” are removed if the required equipment is not configured.
Any existing app you have created in the Twitch Developer Portal to work with this integration must be updated to work with Home Assistant’s UI authentication flow. Update the app’s configuration to include
https://my.home-assistant.io/redirect/oauth in its list of “OAuth Redirect URLs”
Multiple WebSocket commands have been renamed based on this change in Z-Wave JS.
With this release, you will need to update your zwave-js-server instance.
You must use zwave-js-server
1.32.0 or greater (schema
- If you use the Z-Wave JS add-on, you need at least version
- If you use the Z-Wave JS UI add-on, you need at least version
- If you use the Z-Wave JS UI Docker container, you need at least version
- 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
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:
- Home Assistant is participating in Hacktoberfest 2023!
- New way of excluding state attributes from recording
- The websocket command entity/source has been modified
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.10