2023.11 To-do: Add release title
Home Assistant 2023.11! 🎃
It seems like I forgot to come up with a release title for this release and left a placeholder in the title. If I only could have it on a to-do list somewhere… 🤔
Before we dive into this pretty massive release, I want to quickly look back at two amazing things that happened in the past month.
First, we presented chapter 4 of the Year of the Voice,
which introduced the new wake word feature in Home Assistant. This really
brings the voice assistant experience to the next level, and we are super
excited about it! Like have you seen the R5-based voice assistant droid
Second, we had a security audit performed on Home Assistant by one of the top
security auditors in the world! You can read all about it in the blog post.
A big shout out to everybody subscribed to Home Assistant Cloud
Alright, about this release! It is huge! I love the tile card, and the ability to easily customize the information it shows now is just. 🤩 But mostly, I’m super stoked about the new to-do lists, which will probably become a very central part of my household.
Enjoy the release!
../Frenck
- There is a lot to-do!
- Shopping lists are now to-do’s too!
- Integrations providing your to-dos
- Matter 1.2 is here!
- Customize the information shown in your Tile cards
- Select any date range in the energy dashboard
- New conditions for the conditional card
- Restarting into safe mode
- Set up Improv devices directly from Home Assistant!
- Configuring script fields for your script in the UI
- Other noteworthy changes
- New integrations
- Integrations now available to set up from the UI
- Release 2023.11.1 - November 4
- Release 2023.11.2 - November 10
- Release 2023.11.3 - November 22
- 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
There is a lot to-do!
There are many things to do in our lives, which is what
@allenporter
A to-do list entity represents a list of tasks, and its state is the amount of uncompleted tasks that are still open. You can create one or more to-do lists and view and manage them by selecting the new To-do lists item in the sidebar.
Besides the entities, there are also new services available allowing you to automate on your to-do lists as well. Use automations to create, complete, or clean up tasks on your to-do lists.
So, what can you do with all of this? A lot! For example, you can create a to-do list for your groceries, automate a list of house chores for your kids or other household members, or automatically put a task on a list to replace the batteries of a sensor when it is low. You could even send a push notification to your phone when you are near the home improvement store and have items on a to-do list that you need to buy there.
Thanks @allenporter
Shopping lists are now to-do’s too!
These to-do lists look a lot like the shopping list, right? Correct!
They are very much alike, and that is why we have moved the shopping list to a to-do list as well! Once you upgrade to this release, your existing shopping list will be automatically converted to a to-do list.
But that is not all; we also updated the Shopping list card for your dashboards, now fittingly named To-do list card, to support multiple to-do lists. You can now select which to-do list you want to show on the card you’ve put in your dashboard.
Integrations providing your to-dos
But wait! There is more besides local to-do lists and shopping lists. Now that we have a to-do list entity, we can also start using it with other integrations that, for example, can get your to-do lists from an external service.
As of this release, you can bring in your Todoist and Google Tasks to-do lists to Home Assistant as well!
This is awesome, as it brings all these to-do lists together in one place, and above all, provides you with the power of Home Assistant to automate on them.
Matter 1.2 is here!
The Connectivity Standards Alliance has launched
version 1.2 of the Matter specification
Although you can only benefit from the new device types once actual devices are released, we have upgraded our Matter implementation to version 1.2 to benefit from the stability improvements and to be prepared for the new device types.
Interesting fact: Did you know that Home Assistant is used as a test platform by many device manufacturers? This potentially means that devices will be implemented and tested on the Home Assistant Matter controller before others; cool!
Customize the information shown in your Tile cards
Tile card now displays the entity’s state information on the card.
But what if you want to display something else? @piitaya
You can now customize it to your liking. Show the entity’s state, any of its attributes, or a combination of both!
You can add any attribute of the entity to the state content of the tile card.
This not only works for the climate entities but for all entities! You could, for example, add the brightness % of a light or the battery level of a sensor. Simply add the attribute to the state content and drag and drop them in the order you want them to appear.
Select any date range in the energy dashboard
The energy dashboard now allows you to select a custom date range. This allows you to see the energy usage of your home over a specific period.
A great addition to the energy dashboard. Thanks, @TillFleisch
New conditions for the conditional card
The conditional card is a great way to show or hide cards conditionally. For example, you can show a card only when the sun is setting or when you are home.
When using such a state, you also match it against multiple values. For example, you can show a card when the sun is setting or when the sun is below the horizon in a single condition.
But even more interesting, @piitaya
User condition
The user condition allows you to show or hide cards based on the user who is currently logged in. Useful if you have multiple users in your Home Assistant instance and want to show or hide cards based on who is looking at the dashboard.
The screenshot above shows how the card is only shown when the user who is logged in is Frenck. It is hidden for all other users.
Numeric state condition
Similar to the state condition, the numeric state condition allows you to show or hide cards based on the state of an entity, only this time, based on its numeric value. Useful if you want to show or hide cards based on temperature, humidity, or any other numeric entity.
In the screenshot above, this thermostat card will only be shown on the dashboard when the temperature outside has dropped below 18 degrees Celsius.
Screen condition
Last but not least, the screen condition allows you to show or hide cards based on the screen size of the device you are viewing Home Assistant on.
For example, you could show some cards only when viewing Home Assistant on a desktop or tablet and hide them when viewing Home Assistant on a mobile device.
The screenshot shows how the control of the garage door is only shown on mobile, as it is most often used from mobile when arriving at home.
Restarting into safe mode
You can now restart Home Assistant in safe mode. This mode will disable all custom integrations and custom frontend resources (for example, custom cards and themes).
It is useful if you are experiencing issues with your Home Assistant and want to quickly rule out custom integrations or custom dashboard resources as the cause of these issues.
Want to get out of safe mode again? Just restart Home Assistant one more time, and everything will be back to normal.
This is helpful! Thanks, @emontnemery
Set up Improv devices directly from Home Assistant!
If you bought a device that supports Improv Wi-Fi
Plug in the power of your brand-new device, and Home Assistant will discover it and help you set it up by connecting it to your Wi-Fi network and adding it to Home Assistant.
Improv Wi-Fi
Nice job on this one @emontnemery
Configuring script fields for your script in the UI
Scripts have a really neat feature: fields. Fields allow you to define variables in your script that you can pass in when calling your script as a service.
For example, you could create a script that sends a notification to a specific person and use a field to define the message you want to send.
These fields support our UI selectors, so you can provide a UI for your script fields. However, this was only available when you created your scripts in YAML format.
But not anymore! Thanks to @karwosts
You can find the fields in the script editor when selecting the three dots in the top right corner of the editor and selecting Add fields from the drop-down menu.
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes this release:
- The HomeKit Bridge now handles changes in the capabilities of devices
and the removal/addition of devices automatically! Thanks, @bdraco
! - The lovely new two-pane view you see in the to-do lists has also been
added to the calendar dashboard. Nice @bramkragten
! -
ZHA will now raise a repair issue if it finds out the network settings
have changed externally. This helps you get up and running again in
no time. Thanks, @puddly
! -
@gjohansson-ST
added a brand new country selector that can be used in your Blueprints and script fields. Nice! - The Withings integration has reached the platinum quality mark. Thanks,
@joostlek
! Job well done! - We now have better connection management for the IKEA IDÅSEN desk.
Nice @abmantis
! - The Fitbit integration got a complete overhaul, can be set up via the UI,
and now supports Fitbit nutrition sensors. Thanks, @allenporter
! - The SwitchBot Cloud integration now supports climate devices.
Thanks, @SeraphicRav
! -
@rappenze
added event entities support to the Fibaro integration. Cool! - The System Bridge integration now supports media players. Thanks, @timmo001
! -
@raman325
extended our template engine with the ability to check the type of a variable. Super helpful for complex templates! Thanks!
New integrations
We welcome the following new integrations in this release:
-
Google Tasks, added by @allenporter
Access your Google Tasks to-do list from the new to-do dashboard. -
Improv BLE, added by @emontnemery
Get your Improv Wi-Fi enabled devices onboarding onto your Wi-Fi network with ease. -
Local to-do list, added by @allenporter
Create and manage your own, Home Assistant, local to-do list. -
Tami4 Edge / Edge+, added by @Guy293
Integrate your Tami water bar, boil water and get filter sensors. -
To-do list, added by @allenporter
New entity type that provides to-do list capabilties for other integrations to use.
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 integrations have been added:
- Cribl, provided by Splunk
- Eastron, provided by HomeWizard Energy
- Portland General Electric provided by Opower
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
Fitbit, done by @allenporter
-
Random, done by @joostlek
Release 2023.11.1 - November 4
- Bump python-holidays to 0.35 (@gjohansson-ST
- #103092 ) - Bump aiowaqi to 3.0.0 (@joostlek
- #103166 ) - Catch unexpected response in Honeywell (@mkmer
- #103169 ) - Fix roomba translation key mismatch (@Xitee1
- #103191 ) - Fix roomba error if battery stats are not available (@Xitee1
- #103196 ) - Fix mqtt config validation error handling (@jbouwh
- #103210 ) - Fix Fronius entity initialisation (@farmio
- #103211 ) - Bump pyenphase to 1.14.1 (@cgarwood
- #103239 ) - Remove measurement flag from timestamp in gardena bluetooth (@elupus
- #103245 ) - Fix Plugwise Schedule selection (@CoMPaTech
- #103262 ) - Bump yalexs-ble to 2.3.2 (@bdraco
- #103267 ) - add library logger info on ecoforest integration manifest (@pjanuario
- #103274 ) - Fix Matter 1.2 locks with specific unlatch/unbolt support (@marcelveldt
- #103275 ) - Fix firmware update failure (@raman325
- #103277 ) - Bump opower to 0.0.39 (@tronikos
- #103292 ) - Bump reolink-aio to 0.7.14 and improve typing of Reolink (@starkillerOG
- #103129 ) - Bump py_nextbusnext to v1.0.2 to fix TypeError (@ViViDboarder
- #103214 ) - Add script to convert zwave_js device diagnostics to fixture (@raman325
- #102799 ) - Fix typo in Todoist config flow (@jpbede
- #103317 ) - Remove extra from traccar webhook (@ludeeus
- #103319 ) - Report correct weather condition at night for Met (@jrieger
- #103334 ) - Handle UniFi traffic rules not supported on older versions (@Kane610
- #103346 ) - Fix sensor unique id in Islamic prayer times (@engrbm87
- #103356 ) - Fix zwave_js cover bug for Window Covering CC values (@raman325
- #103289 )
Release 2023.11.2 - November 10
- Don’t assume that the
sleep
value is a dictionary in Tractive integration (@bieniu- #103138 ) - Update aioairzone-cloud to v0.3.2 (@Noltari
- #103258 ) - Update aioairzone-cloud to v0.3.5 (@Noltari
- #103315 ) - Handle null data in WeatherFlow sensors (@natekspencer
- #103349 ) - Handle smarttub sensor values being None (@mdz
- #103385 ) - Pin jaraco.functools to fix builds and CI (@bdraco
- #103406 ) - Update tailscale to 0.6.0 (@frenck
- #103409 ) - Bump pyatmo to v7.6.0 (@cgtobi
- #103410 ) - Fix serial in Flo device information (@mib1185
- #103427 ) - modbus Allow swap: byte for datatype: string. (@janiversen
- #103441 ) - Modbus set device_class in slaves (@janiversen
- #103442 ) - Fix KNX expose default value when attribute is
None
(@farmio- #103446 ) - Sort Withings sleep data on end date (@joostlek
- #103454 ) - Use right equipment identifier in DSMR setup (@dupondje
- #103494 ) - Fix litterrobot test failure due to time zone dependence (@mdz
- #103444 ) - Revert binary_sensor part of #103210 (@edenhaus
- #103499 ) - ESPHome: Add suggested_area from device info (@jesserockz
- #102834 ) - Bump aioesphomeapi to 18.2.1 (@bdraco
- #103156 ) - Bump bluetooth-data-tools to 0.14.0 (@bdraco
- #103413 ) - Bump blinkpy to 0.22.3 (@mkmer
- #103438 ) - Fix 5B Gas meter in dsmr (@dupondje
- #103506 ) - Fix invalid MAC in samsungtv (@epenet
- #103512 ) - Bump aioesphomeapi to 18.2.4 (@bdraco
- #103552 ) - Bump pyenphase to 1.14.2 (@cgarwood
- #103553 ) - Update dsmr-parser to 1.3.1 to fix parsing issues (@dupondje
- #103572 ) - fix: get_devices only checks for the first type (@suaveolent
- #103583 ) - Raise exception when data can’t be fetched in Opensky (@joostlek
- #103596 ) - Bump yt-dlp to 2023.10.13 (@joostlek
- #103616 ) - Fix Reolink DHCP IP update (@starkillerOG
- #103654 ) - Incease tplink setup timeout (@bdraco
- #103671 ) - Add name to Withings coordinator (@joostlek
- #103692 ) - Update frontend to 20231030.2 (@bramkragten
- #103706 )
Release 2023.11.3 - November 22
- Bump accuweather to version 2.0.1 (@bieniu
- #103532 ) - Remove rainbird yaml config test fixtures (@allenporter
- #103607 ) - Lock Withings token refresh (@joostlek
- #103688 ) - Bump accuweather to version 2.1.0 (@bieniu
- #103744 ) - Bump python-matter-server to 4.0.2 (@bdraco
- #103760 ) - Bump subarulink to 0.7.9 (@G-Two
- #103761 ) - Fix discovery schema for Matter switches (@marcelveldt
- #103762 ) - Fix raising vol.Invalid during mqtt config validation instead of ValueError (@jbouwh
- #103764 ) - Fix race condition in Matter unsubscribe method (@marcelveldt
- #103770 ) - Fix typo in calendar translation (@jrieger
- #103789 ) - Fix Rainbird unique to use a more reliable source (mac address) (@allenporter
- #101603 ) - Bump pyOverkiz to 1.13.0 (@iMicknl
- #103582 ) - Bump pyOverkiz to 1.13.2 (@iMicknl
- #103790 ) - Bump aiocomelit to 0.5.2 (@chemelli74
- #103791 ) - Bump velbusaio to 2023.11.0 (@Cereal2nd
- #103798 ) - Bump pyunifiprotect to 4.21.0 (@bdraco
- #103832 ) - Bump lupupy to 0.3.1 (@suaveolent
- #103835 ) - Bump gcal_sync to 6.0.1 (@allenporter
- #103861 ) - Fix bug in Fitbit config flow, and switch to prefer display name (@allenporter
- #103869 ) - Fix for Google Calendar API returning invalid RRULE:DATE rules (@allenporter
- #103870 ) - Update Fitbit to avoid a KeyError when
restingHeartRate
is not present (@allenporter- #103872 ) - fix Comelit cover stop (@chemelli74
- #103911 ) - Fix Coinbase for new API Structure (@TomBrien
- #103930 ) - Bump zwave-js-server-python to 0.54.0 (@raman325
- #103943 ) - Update smarttub to 0.0.36 (@mdz
- #103948 ) - Fix duplicate Ban file entries (@fosterchuck
- #103953 ) - Fix openexchangerates form data description (@MartinHjelmare
- #103974 ) - Fix emulated_hue with None values (@bdraco
- #104020 ) - Fix netatmo authentication when using cloud authentication credentials (@deosrc
- #104021 ) - Fix device tracker see gps accuracy selector (@MartinHjelmare
- #104022 ) - Bump pyenphase to 1.14.3 (@catsmanac
- #104101 ) - Fix ESPHome BLE client raising confusing error when not connected (@bdraco
- #104146 ) - Fix memory leak in ESPHome disconnect callbacks (@bdraco
- #104149 ) - Add debug logging for which adapter is used to connect bluetooth devices (@bdraco
- #103264 ) - Prevent Bluetooth reconnects from blocking shutdown (@bdraco
- #104150 ) - Bump boschshcpy to 0.2.75 (@tschamm
- #104159 ) - Fix Local To-do list bug renaming items (@allenporter
- #104182 ) - Bump aiosomecomfort to 0.0.22 (@mkmer
- #104202 ) - Increase Tomato request timeout (@ertechdesign
- #104203 ) - Fix imap does not decode text body correctly (@jbouwh
- #104217 ) - Fix mqtt json light allows to set brightness value >255 (@jbouwh
- #104220 ) - Handle attributes set to None in prometheus (@knyar
- #104247 ) - Catch ClientOSError in renault integration (@epenet
- #104248 ) - Restore removed guard for non-string inputs in Alexa (@jbouwh
- #104263 ) - Bump bimmer_connected to 0.14.3 (@rikroe
- #104282 ) - Bump pyrainbird to 4.0.1 (@allenporter
- #104293 ) - Bump pychromecast to 13.0.8 (@emontnemery
- #104320 ) - Bump ical to 6.0.0 (@allenporter
- #103482 ) - Bump ical to 6.1.0 (@allenporter
- #103759 )
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
Demo
In the unlikely event that you are using the demo integration, you will need to ensure that your YAML configuration for demo integration is only enabled via the integration domain key and not via the entity platform configuration. The latter has been removed.
# Example configuration.yaml
# This is correct
demo:
# This no longer works and should be removed
light:
- platform: demo
OpenUV
The OpenUV “UV Level” sensor has updated its possible state values so that translations can occur. The new values are:
extreme
high
low
moderate
very_high
If you previously used the state values of this sensor in your automations, you will need to update them to use the new values.
(@bachya
OpenWeatherMap
The OpenWeatherMap rain and snow sensors now have a different unit
of measurement (mm/h
instead of mm
) and a different device
class (precipitation_itensity
instead of precipitation
).
(@MatteoGheza
Transmission
The option to set a custom polling interval has been removed. If are using
custom interval and really need it, you can use the homeassistant.update_entity
in an automation to poll at your custom pace. See our documentation on
defining a custom polling interval
for more information.
(@engrbm87
Västtrafik
Västtrafik has upgraded all infrastructure for handling external access, including handling user accounts for 3rd party applications.
This means that users of the older infrastructure now need to migrate to use
the new environment. Create a new account at
https://developer.vasttrafik.se
Next replace your old client identifier and secret in your Home Assistant configuration.
For more information, see this official post
(@Miicroo
WeatherFlow
The VOC device class has been removed from the air density sensor, and its unit of measurement has been changed to kg/m³.
Withings
The Withings sleep sensors will now show only the data from last night instead of an aggregation of the data since the day before noon.
(@joostlek
World Air Quality Index (WAQI)
The state attributes of the WAQI air quality sensor have been moved to their own sensors. The previous state attributes are now deprecated and will be removed in 2024.5.
If you are using the state attributes of the WAQI air quality sensor, you will need to update your automations to use the new sensors.
(@joostlek
ZHA (King of Fans)
Improved support for King of Fans (Hampton Bay) breaks previous workarounds such as template fans (example) or automations/scripts that set fan speed percentage or preset.
If you have an automation that sets speed, it will now be at one speed higher. If you set the speed at 100% before, it would actually set the speed at 75%, but now it will be 100%. If you have an automation that sets the preset to ‘on’ to get 100% speed, now the request will fail, and you will have to change the speed to 100% instead.
(@tronikos
Z-Wave
With this release, you will need to update your zwave-js-server instance.
You must use zwave-js-server 1.33.0
or greater (schema 33
).
- If you use the Z-Wave JS add-on, you need at least version
0.2.1
. - If you use the Z-Wave JS UI add-on, you need at least version
2.2.3
. - If you use the Z-Wave JS UI Docker container, you need at least version
9.2.3
. - 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.33.0
.
(@raman325
Basic Command Class values were previously exposed as number
entities and
were disabled by default. They are now exposed as light
entities
and are enabled by default.
If you have scripts or automations that use any of these number
entities,
they should be updated to use the new light
entities instead. Any previously
created number
entities for this Command Class can safely be deleted once
you have validated that your scripts and automations are up to date.
(@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:
-
Eight Sleep has been removed. The API has changed and is no longer
accessible, making the integration unusable.
(@raman325
- #102669 ) -
IMAP email content has been removed. This functionality is now available
in the IMAP integration. Users have been assisted to migrate to the new
integration in the past months.
(@jbouwh
- #101233 ) -
Shiftr has been removed. Shiftr.io closed its platform and is no longer
available.
(@stefanroelofs
- #102224 )
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.11