Home Assistant Core 2023.8! 🎉
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!
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!
- 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!
- Breaking changes
- Farewell to the following
- All changes
Don’t forget to join our release party live stream on YouTube 2 August 2023, at 12:00 PDT / 21:00 CEST!
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.
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.
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 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:
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…
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
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 realized he could use these wildcards, combined with the new generate image service, to let Home Assistant generate an image and show it on his Chrome Cast-enabled device just by using his voice! 😎 You could ask it:
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:
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.
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!
We welcome the following new integrations in this release:
Electric Kiwi, added by @mikey0000
Integrate with the independent power and broadband company Electric Kiwi from 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 Duotecno nodes.
Gardena Bluetooth, added by @elupus
Integrate your Gardena Smart devices 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
The following integrations are now available via the Home Assistant UI:
- Raise PlatformNotReady on initial OwnTone connection failure (@uvjustin - #97257)
- Add overkiz battery sensor level medium (@matthieume - #97472)
- Fix ZHA
transition=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
FanEntityFeaturefor 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)
- 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_levelvalue is always present in Tractive
hw_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)
pyairvisualto 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)
- 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)
- 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)
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.
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.
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.
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,
docked (implicit mean charging),
returning (to base),
error. Further, the actions
(start cleaning), and
turn_off (stop cleaning and return to base) were
superseded by three single actions
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
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 in September 2023.
It’s no longer allowed for an MQTT RGB light without a
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
RGB=0,0,0 corresponds to a brightness of 0 which is not allowed.
In case an MQTT RGB light without a
for R, G, and B, that update will be ignored.
The MQTT climate
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.
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
identifiers, but have now been extended to at least
identifiers as well as the
Naming of MQTT entities
The naming of MQTT entities has been changed to be aligned with the entity naming guidelines:
has_entity_nameentity will be set to
Trueon all MQTT entities.
- This means any MQTT entity which is part of a device will automatically have its
friendly_nameattribute prefixed with the device name.
sensorentities 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
Noneto mark it as the main feature of a device.
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:
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
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 breaking 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
(@frenck - #96869)
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