2023.8: Translated services, events, and wildcards!
Home Assistant Core 2023.8! 🎉
Another month, another fine release of Home Assistant! This release is a bit more conservative after two absolutely packed releases in June and July. Many of us are enjoying summer holidays 🏖️.
Pretty much all features in this release are absolutely amazing, and it is hard to pick a favorite. Great translation improvements that help with the user experience, a new entity to capture events from things like remotes, and the new Assist features are, again, mind-blowing!
Talking about Assist, have you seen the blog on Year of the Voice - Chapter 3?
Or, check the live stream recording on YouTube
Some new integrations have been added too. Most notably Opower! This integration can pull in energy usage data from many utility companies in the United States. For example, it supports PG&E, ComEd, BGE, and many more! ⚡️ Very good news for all our American friends!
Enjoy the release!
../Frenck
- Translated services
- Introducing the event entity
- Improving the first experience with Home Assistant
- Add items to your shopping list using Assist
- Generate an image with OpenAI’s DALL-E
- Wildcard support for sentence triggers
- Condition selector
- Other noteworthy changes
- New integrations
- Integrations now available to set up from the UI
- Release 2023.8.1 - August 4
- Release 2023.8.2 - August 11
- Release 2023.8.3 - August 18
- Release 2023.8.4 - August 24
- 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
Translated services
All services in Home Assistant are now translatable! 🌎
Services are the actions you can call, like turning on a light. This was one of the bigger parts of Home Assistant that still was only available in English. Odd, as the Home Assistant interface can be used in 60+ languages!
In this release, translations for these services have been added to drastically improve the experience when English is not your primary language. For example, when you use the Dutch language (as used in the screenshot below), the service to turn on a light is now also translated into Dutch.
A big step forward! Implementing this change has resulted in a substantial increase in the number of translations. They have doubled! 😅
Because of that, translating all services might take some time; however… You can help! You don’t have to be a developer to help with this; you can do this from the comfort of your browser. Check out our documentation on how to contribute translations.
Introducing the event entity
Events are signals that are emitted when something happens, for example, when someone presses a physical button like a doorbell or when a button on a remote control is pressed.
If you have ever tried to work with events in Home Assistant, you probably noticed that it was not the easiest thing to do. You need to know the event name, and then you need to know the data that is being sent with it. Before you know it, you’ll start fiddling with the developer tools to figure out what is going on.
To make this all easier, we are introducing a new entity type in this release: The event entity.
The event entity can capture these events in the physical world and makes them available in Home Assistant as an entity. Take for example, this Hue remote:
The beauty of the event entity is that they can be used like any other entity in Home Assistant: They will show up in the UI, can be used directly in the automations editor, and provide historical information in the logbook.
Besides Matter, the event entity is also supported by HomeKit Devices, MQTT, and Philips Hue. We expect to see more integrations supporting this new entity type soon.
Improving the first experience with Home Assistant
Onboarding is a user’s first experience with Home Assistant. The onboarding screens are the first you see, and steps you take when you access Home Assistant for the first time, setting up things like your account and language preferences. The goal is to ensure this process is seamless, which is why we’ve made improvements to the onboarding experience.
To achieve this, we have implemented a search field on the map during onboarding. Instead of endlessly dragging the pin on the map around, you can now easily search for your location.
This is powered by OpenStreetMap
Add items to your shopping list using Assist
What if you could ask Assist to add items to your Home Assistant shopping list? Well, now you can!
Add milk to my shopping list!
In case you are wondering, the shopping list integration adds a handy page to your Home Assistant interface to which everyone in your household can add items. It is a great way to keep track of what you need to buy, and now you can add items to it with your voice using Assist!
To be able to use this feature, you need to have the shopping list integration set up, which is as easy as clicking the My Home Assistant button below:
Generate an image with OpenAI’s DALL-E
In the last release, we added the ability for services to respond with data,
and now we added a service that allows you to generate an image using
OpenAI’s DALL-E
All you need is to set up the OpenAI conversation agent
integration on your instance, and you will get a new service:
openai_conversation.generate_image
.
Call this service describing the image you’d like the AI to generate, and it will respond with an image URL you can use in your automations.
You could, for example, use this to generate an image of a city that matches the weather conditions outside of your home, let the AI generate an image about the latest news headline to show on your dashboard, or maybe generate a fun image of someone putting out garbage on garbage day.
You could even combine it with the wildcard support for sentence triggers so you could ask Home Assistant to generate an image using your voice…
Wildcard support for sentence triggers
Sentence triggers now support wildcards! This means you can now partially match a sentence, and use the matched part in your actions. This is what powers the above shopping list feature too, and it can be used for many other things as well.
You could, for example, create a sentence trigger that matches when you say:
Play the white album by the Beatles
Using the wildcard support, you can get the album and artist name from the spoken sentence and use those in your actions. To trigger on the above example sentence, you would use the following command in your sentence trigger:
This will make the album
and artist
available as trigger variables that you
can use in your actions; for example, to start playing the music requested.
These wildcards are interesting and open up a lot of possibilities! Read more about sentence triggers in our documentation.
JLo
Show me a picture of an astronaut riding a unicorn!
He put this together in an automation blueprint, which you can use to do the same thing in your own Home Assistant instance:
Provide the sentence you like to trigger on and the media player you want to show the image at, and you’re good to go! You can import his blueprint using the My Home Assistant button below:
Condition selector
A new selector is available for use in, for example, blueprints: The condition selector.
This selector takes and shows the condition part of the automation editor, and allows blueprint creators to use a user-provided condition in their blueprinted automations and scripts.
This blueprint allows one to set a custom condition using the new condition selector.
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes this release:
- Tons of performance upgrades again this month (thanks @bdraco
), these include a much faster ingress experience when visiting add-on web interfaces. 🚀 -
@emontnemery
added filters to many of the services Home Assistant provides, meaning only options relevant to the entity you are calling the service on will be shown in the UI. Nice! - CO2Signal changed its name to Electricity Maps. The integration
has been renamed to match that. Thanks, @madsnedergaard
! -
@Lash-L
keeps extending the Roborock integration, adding many new entities in this release. This includes an error sensor, volume controls, and DnD setting times. Awesome! -
EZVIZ received a big update, adding support for alarm control panels, buttons,
and select entities. Thanks @RenierM26
! -
@farmio
added support for adding date and date/time entities to KNX! Great! - The Xiaomi BLE now supports the MiScale (V1 and V2). Thanks, @Ernst79
! -
UniFi Network now has controls to turn an UniFi WLAN on and off and added
image entities for QR codes for WLAN access. Thanks, @Kane610
!
New integrations
We welcome the following new integrations in this release:
-
Electric Kiwi, added by @mikey0000
Integrate with the independent power and broadband company Electric Kiwifrom New Zealand. -
Event, added by @frenck
A new event entity that other integrations can provide to show detected events in the physical world. -
Duotecno, added by @Cereal2nd
Integrate with the Duotecnonodes. -
Gardena Bluetooth, added by @elupus
Integrate your Gardena Smartdevices using Bluetooth. -
Opower, added by @tronikos
Read out energy information from utilities that use Opower. See the virtual integrations below for which utility providers those are. -
PEGELONLINE, added by @mib1185
Provides water level sensors from the German Federal Waterways and Shipping Administration.
This release also has a new virtual integration. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. These are new:
- Atlantic City Electric provided by Opower
- Baltimore Gas and Electric (BGE) provided by Opower
- Commonwealth Edison (ComEd) provided by Opower
- Delmarva Power provided by Opower
- Evergy provided by Opower
- Pacific Gas & Electric (PG&E) provided by Opower
- PECO Energy Company (PECO) provided by Opower
- Potomac Electric Power Company (Pepco) provided by Opower
- Puget Sound Energy (PSE) provided by Opower
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
Release 2023.8.1 - August 4
- Raise PlatformNotReady on initial OwnTone connection failure (@uvjustin
- #97257 ) - Add overkiz battery sensor level medium (@matthieume
- #97472 ) - Fix ZHA
turn_on
issues withtransition=0
, improve tests (@TheJulianJES- #97539 ) - Bump pyDuotecno to 2023.8.1 (@Cereal2nd
- #97583 ) - Bump Cryptography to 41.0.3 for a second security fix (@blastoise186
- #97611 ) - Waqi State unknown if value is string (@joostlek
- #97617 ) - Bump dbus-fast to 1.90.1 (@bdraco
- #97619 ) - Bump python-roborock to 0.31.1 (@Lash-L
- #97632 ) - Bump intents to 2023.8.2 (@synesthesiam
- #97636 ) - Add device naming to Yeelight (@joostlek
- #97639 ) - Fix typo in tplink OUI (@bdraco
- #97644 ) - Revert “Add device naming to Yeelight” (@joostlek
- #97647 ) - Enable the
PRESET_MODE
FanEntityFeature
for VeSync air purifiers (@DuckyCrayfish- #97657 ) - Fix tplink child plug state reporting (@bdraco
- #97658 ) - Fix date and timestamp device class in Command Line Sensor (@gjohansson-ST
- #97663 ) - Bump zeroconf to 0.72.3 (@bdraco
- #97668 ) - Bump pyatv to 0.13.3 (@bdraco
- #97670 ) - Fix color mode attribute for both official and non-official Hue lights (@marcelveldt
- #97683 ) - Fix UniFi image platform not loading when passphrase is missing from WLAN (@Kane610
- #97684 ) - Fix Kostal_Plenticore SELECT entities using device_info correctly (@N3rdix
- #97690 ) - Fix freebox enumerate raid disks (@cyr-ius
- #97696 ) - Fix allow_name_translation logic (@amitfin
- #97701 ) - Fix NWS twice_daily forecast day/night detection (@karwosts
- #97703 ) - Bump opower to 0.0.19 (@tronikos
- #97706 ) - Fix detection of client WAN access rule in AVM Fritz!Box Tools (@mib1185
- #97708 ) - Fix unloading KNX integration without sensors (@farmio
- #97720 ) - Update zigpy to 0.56.3 (@cdce8p
- #97480 ) - Bump zigpy to 0.56.4 (@TheJulianJES
- #97722 ) - Fix keymitt_ble RuntimeWarning (@cdce8p
- #97729 ) - Bump zeroconf to 0.74.0 (@bdraco
- #97745 ) - Avoid calling the http access logging when logging is disabled in emulated_hue (@bdraco
- #97750 ) - Bump opower to 0.0.20 (@tronikos
- #97752 ) - Bump pyduotecno to 2023.8.3 (@Cereal2nd
- #97759 ) - Add has entity name to Solarlog (@joostlek
- #97764 ) - Fix WAQI being zero (@joostlek
- #97767 )
Release 2023.8.2 - August 11
- Handle Alert exception on notification failure (@karwosts
- #93632 ) - Add yeelight class to fix superclass issue (@joostlek
- #97649 ) - Fix metoffice visibility range sensor device class (@MrHarcombe
- #97763 ) - Don’t assume that
battery_level
value is always present in Tractivehw_info
(@bieniu- #97766 ) - Improve counting of UniFi WLAN Clients sensor (@Kane610
- #97785 ) - Integration tado bump (@erwindouna
- #97791 ) - Ensure webhooks take HA cloud into account (@frenck
- #97801 ) - Bump aiohomekit to 2.6.13 (@bdraco
- #97820 ) - Fix Samsung syncthru device info (@joostlek
- #97843 ) - Fallback to get_hosts_info on older Fritz!OS in AVM Fritz!Tools (@mib1185
- #97844 ) - Fix Command Line template error when data is None (@gjohansson-ST
- #97845 ) - Bump Omada API version to fix #96193 (@MarkGodwin
- #97848 ) - Bump pysensibo to 1.0.33 (@gjohansson-ST
- #97853 ) - Add missing translation key to Gardena Bluetooth (@joostlek
- #97855 ) - Bump bimmer_connected to 0.13.9, fix notify (@rikroe
- #97860 ) - Do not fire homekit_controller events from IP polling (@bdraco
- #97869 ) - Avoid polling event characteristic in homekit_controller (@bdraco
- #97877 ) - Fix handling HomeKit events when the char is in error state (@bdraco
- #97884 ) - Bump python-roborock to 0.32.2 (@Lash-L
- #97907 ) - modbus: Adjust read count by slave_count (@janiversen
- #97908 ) - Bump pyatv to 0.13.4 (@bdraco
- #97932 ) - Bump yeelight to v0.7.13 (@alexyao2015
- #97933 ) - Android TV Remote: Fix missing key and cert when adding a device via IP address (@tronikos
- #97953 ) - Fix tomorrowio integration for new users (@lymanepp
- #97973 ) - Bump ZHA dependency bellows to 0.35.9 (@puddly
- #97976 ) - Bump
pyairvisual
to 2023.08.1 (@bachya- #97999 ) - Bump aiohomekit to 2.6.15 (@bdraco
- #98005 ) - Add translation keys to Tuya cover (@joostlek
- #98040 ) - Remove trailing . from melcloud service descriptions (@reedy
- #98053 ) - Bump AIOAladdinConnect to 0.1.57 (@mkmer
- #98056 ) - Bump pynina to 0.3.2 (@DeerMaximum
- #98070 ) - Bump opower to 0.0.24 (@tronikos
- #98091 ) - Improve UniFi control PoE mode (@Kane610
- #98119 ) - Add missing translation key in Tuya (@joostlek
- #98122 ) - Correct unit of rain pause (@elupus
- #98131 ) - Make gardena closing sensor unavailable when closed (@elupus
- #98133 ) - Bump opower to 0.0.26 (@tronikos
- #98141 ) - Opower: Add gas sensors for utilities that report CCF (@tronikos
- #98142 ) - Get Opower accounts from the customer endpoint (@tronikos
- #98144 ) - Update aioairzone to v0.6.5 (@Noltari
- #98163 ) - Use explicit device name in Broadlink (@joostlek
- #98229 ) - Bump pynws 1.5.1; fix regression for precipitation probability (@MatthewFlamm
- #98237 ) - Bump pymazda to 0.3.11 (@bdr99
- #98084 )
Release 2023.8.3 - August 18
- Fix ness alarm armed_home state appearing as disarmed/armed_away (@nickw444
- #94351 ) - Correct modbus config validator: slave/swap (@janiversen
- #97798 ) - Fix Opower utilities that have different ReadResolution than previously assumed (@tronikos
- #97823 ) - modbus config: count and slave_count can normally not be mixed. (@janiversen
- #97902 ) - Create abstraction for Generic YeeLight (@joostlek
- #97939 ) - modbus: Repair swap for slaves (@janiversen
- #97960 ) - Use Local Timezone for Withings Integration (@VidFerris
- #98137 ) - Bump pyrainbird to 4.0.0 (@allenporter
- #98271 ) - Bump Python-Roborock to 0.32.3 (@Lash-L
- #98303 ) - Bump flux-led to 1.0.2 (@bdraco
- #98312 ) - Use default translations by removing names from tplink descriptions (@joostlek
- #98338 ) - Fix tts notify config validation (@MartinHjelmare
- #98381 ) - Fix GoGoGate2 configuration URL when remote access is disabled (@oyvindwe
- #98387 ) - Handle missing keys in Honeywell (@mkmer
- #98392 ) - Bump Reolink_aio to 0.7.7 (@starkillerOG
- #98425 ) - Update rokuecp to 0.18.1 (@ctalkington
- #98432 ) - Update pyipp to 0.14.3 (@ctalkington
- #98434 ) - Fix inconsistent lyric temperature unit (@lscorcia
- #98457 ) - Bump aiohomekit to 2.6.16 (@bdraco
- #98490 ) - Bump opower to 0.0.29 (@tronikos
- #98503 ) - Revert “Integration tado bump” (@erwindouna
- #98505 ) - Fix the availability condition for Shelly N current sensor (@bieniu
- #98518 ) - Correct number of registers to read for sensors for modbus (@janiversen
- #98534 ) - Pin setuptools to 68.0.0 (@frenck
- #98582 ) - Bump ESPHome recommended BLE version to 2023.8.0 (@bdraco
- #98586 ) - Verisure unpack (@niro1987
- #98605 ) - Update frontend to 20230802.1 (@bramkragten
- #98616 )
Release 2023.8.4 - August 24
- Fix octoprint down every two minutes (@markusressel
- #90001 ) - modbus: slave is allowed with custom (@janiversen
- #98644 ) - Bump opowerto 0.0.30 (@tronikos
- #98660 ) - Correct modbus swap/datatype error message (@janiversen
- #98698 ) - Bump opower to 0.0.31 (@tronikos
- #98716 ) - Reduce Freebox router Raid warning to one occurence (@fthiery
- #98740 ) - Remove repair issue for MQTT discovered items (@frenck
- #98768 ) - Bump androidtvremote2 to 0.0.14 (@tronikos
- #98801 ) - Bump pylitterbot to 2023.4.4 (@natekspencer
- #98414 ) - Bump pylitterbot to 2023.4.5 (@natekspencer
- #98854 ) - Bump reolink-aio to 0.7.8 (@starkillerOG
- #98942 )
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 3.10 support has been removed
Python 3.10 support has previously been deprecated and has now been removed. Home Assistant now requires Python 3.11 to run.
You don’t have to do anything if you are using Home Assistant OS, Home Assistant Container, or Home Assistant Supervised installation method. In those cases, we handle this all for you.
Your system has been using Python 3.11 for quite some time already.
Discovery
The legacy discovery integration has been removed. This only affects the automatic discovery of Enigma2, Yamaha Network Receivers, and Bluesound.
These can still be manually configured as per usual.
Note this is for our very, very old discovery logic. This does not affect the discovery of any other integration/device/service.
If you still have discovery:
listed in your YAML configuration, you can
safely remove it.
Ecovacs
The Ecovacs integration has been migrated to the new “StateVacuumEntity” under the hood.
The states of the vacuum entity now report not only on or off,
instead cleaning
, paused
, docked
(implicit mean charging),
returning
(to base), idle
and error
. Further, the actions turn_on
(start cleaning), and turn_off
(stop cleaning and return to base) were
superseded by three single actions start
, stop
and return_to_base
.
(@mib1185
Google Nest
The legacy Works With Nest API is no longer supported. You must manually take
action to use the SDM API by removing the Nest configuration from configuration.yaml
and restarting Home Assistant. Then add the Nest integration following the
instructions. Please review the documentation for information about which
devices are supported.
Additionally, as a reminder, the legacy Works With Nest API is shutting down
(@allenporter
MQTT
It’s no longer allowed for an MQTT RGB light without a brighness_state_topic
to report an RGB value of RGB=0,0,0
. The reason is that for such lights,
the light’s brightness is derived from the RGB value, and an RGB value
of RGB=0,0,0
corresponds to a brightness of 0 which is not allowed.
In case an MQTT RGB light without a brighness_state_topic
reports 0,0,0
for R, G, and B, that update will be ignored.
(@jbouwh
The MQTT climate CONF_POWER_STATE_TOPIC
and CONF_POWER_STATE_TEMPLATE
were
deprecated in HA Core 2023.2.0 and are now removed. Please remove these options
from your configuration. The options were not implemented but will break your
MQTT configuration if they are still present in your config.
(@jbouwh
The way MQTT entities are named and how device configuration can be shared between discovered entities has changed.
Sharing of device configuration
Discovered MQTT entities can share device configuration, meaning one entity can include the full device configuration, and other entities can link to that device by only setting mandatory fields.
The mandatory fields were previously limited to at least one of
connection
and identifiers
, but have now been extended to at least
one of connection
and identifiers
as well as the name
.
Naming of MQTT entities
The naming of MQTT entities has been changed to be aligned with the entity naming guidelines:
- The
has_entity_name
entity will be set toTrue
on all MQTT entities. - This means any MQTT entity which is part of a device will automatically have its
friendly_name
attribute prefixed with the device name. - Unnamed
binary_sensor
,button
,event
,number
, andsensor
entities will now be named by their device class instead of being named “MQTT binary sensor” etc. - It’s now allowed to set an MQTT entity’s name to
None
to mark it as the main feature of a device.
(@jbouwh
Philips Dynalite
The Dynalite configuration panel, which previously was on the Home Assistant sidebar, has moved. It can now be accessed via the integration page in Settings -> Device & services -> Dynalite -> Configure.
(@frenck
Renson
The state values of the Reason Ventilation integration have been changed to be more consistent with other integrations and are now lowercase. Additionally, it can now provide translations for the state values in the UI.
This means that the following state values have changed:
-
Off
->off
-
Level1
->level1
-
Level2
->level2
-
Level3
->level3
-
Level4
->level4
-
Breeze
->breeze
-
Holiday
->holiday
Please update any automations where you are using the state of this Renson sensor.
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:
- Action event for custom cards
- The naming of MQTT entities changes to correspond with HA guidelines
- Translating services
- Updates to the Vacuum entity integration
Farewell to the following
The following integrations are also no longer available as of this release:
-
Discovery has been removed. This is the old legacy discovery integration.
See the backward-incompatible changes above for more information.
(@frenck- #96856 ) -
Mi Flora has been removed. This integration was replaced by the
Xiaomi BLE integration a long time ago and was in a non-functional state.
(@frenck- #96868 ) -
Xiaomi Mijia BLE T&H Sensor has been removed. This integration was
replaced by the Xiaomi BLE integration a long time ago and was in a
non-functional state.
(@frenck- #96869 )
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.8