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
,
as you enable us to do these things! 🥰
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
1 November 2023, at 13:00 PDT / 21:00 CET!
There is a lot to-do!
There are many things to do in our lives, which is what
@allenporter
realized, too! We now have a new entity type
in Home Assistant:
To-do list entities
!
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
, and everyone involved, for this amazing addition to
Home Assistant! We can now check this one off from our wishlist! ✔
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
,
together with a new version of the Official Matter SDK, which is not only
prepared for new device types but also contains all kinds of smaller
stability- and bug fixes.
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
to the rescue!
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
added a whole bunch of new conditions
to this card for you to use! Let’s dive in…
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
over Bluetooth, and you are using Bluetooth in Home Assistant, you can now
set up your device directly from Home Assistant itself!
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
is a fully open standard that can
be freely adopted and implemented by any hardware creator, no matter how big
or small. Improv Wi-Fi is also supported by
ESPHome
.
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 now also configure your
script fields in the UI!
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
,
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
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
(@gjohansson-ST - #100867) (documentation)
The OpenUV “UV Level” sensor has updated its possible state values so that
translations can occur. The new values are:
extreme
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 - #101978) (documentation)
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 - #101485) (documentation)
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 - #98858) (documentation)
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,
then create a new application
and subscribe to the Planera Resa v4 API.
Next replace your old client identifier and secret in your Home Assistant
configuration.
For more information, see this official post from Västtrafik.
(@Miicroo - #102570) (documentation)
The VOC device class has been removed from the air density sensor, and
its unit of measurement has been changed to kg/m³.
(@natekspencer - #101777) (documentation)
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 - #101993) (documentation)
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 - #101217) (documentation)
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 - #101859) (documentation)
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 - #102790) (documentation)
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 - #101438) (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:
Country selector
Removal of deprecated unit conversion utilities
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
Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
Get started with Home Assistant
Try the online demo
Join our newsletter
Follow Home Assistant on X
Share this post
Tweet
Share on Facebook