Deprecating all magic numbers for supported features
As of Home Assistant Core 2024.1, all usage of magic numbers for supported features is deprecated, and each entity platform has provided an EntityFeature enum to replace them.
News for contributors. Every area has its own feed, or follow all posts.
No authors match
No posts in 2023 match these filters. Pick another year on the timeline.
As of Home Assistant Core 2024.1, all usage of magic numbers for supported features is deprecated, and each entity platform has provided an EntityFeature enum to replace them.
In recent years many constants have been replaced by Enums or other values by adding a code comment pointing to the successor.
Config entry now supports minor versions.
The EntityDescription classes have changed; derived dataclasses should now set frozen=True and kw_only=True.
Multiple integrations have implemented there own scaling algorithm to scale brightness.
Service calls which raise exceptions have until now logged stack traces. Service calls that fail due to incorrect usage, for example invalid input, don't need a stack trace and would benefit from a helpful error message in the user's own language.
The way component YAML configuration is processed has been changed. Now, it is possible to raise if an error occurs.
Add-ons can now have a public folder for config or data files, which users can see and modify, but it is still backed up with the add-on.
Selectors has been expanded and now also includes a CountrySelector.
The following utilities were deprecated in Home Assistant 2022.10) and have now been removed as of 2023.11:
📢 Exciting news for Hacktoberfest 2023 participants! We are participating! 🎉
The way in which state attributes are excluded from recording has changed
The websocket command entity/source has been greatly simplified:
In the Home Assistant Core 2023.9 release, we introduced 3 new methods to the hass object to allow entity state formatting with localization support for custom cards:
The signature of HomeAssistant.init has been changed from no arguments to require the configuration directory as a string to be passed to it.
Numerical sensors are no longer allowed to set their state to Not a Number or to positive or negative infinity.
WeatherEntity now allows a single weather entity to support different forecast types meaning it's no longer necessary to create multiple entities for the same location, as an example, an entity providing daily forecast and another entity providing hourly forecast.
The DataUpdateCoordinator can now reduce unnecessary updates when API data can be compared.
The way MQTT entities are named and how device configuration can be shared between discovered entities has changed
We now support translating services in Home Assistant. Previously, the names & descriptions of services and their service fields have been hardcoded into the services.yaml files of each integration.
The Vacuum entity has seen some recent changes:
In the Home Assistant Core 2023.7 release, we introduced hass-action for custom cards.
There have been a couple of changes to entity naming:
Service call descriptions have been changed to support filtering. It's possible to add a filter to a service call to not show entities which do not support the service call, it's also possible to add a filter to a service call field to not show fields which are not supported by a selected entity to the user.
This change affects Service Call APIs: hass.services.async_call and hass.services.call.
The way Home Assistant's MQTT integration processes MQTT messages and how subscribes and unsubscribes are performed has changed.
Nabu Casa is seeking a passionate and experienced Python developer to join the Home Assistant core team as a full-time Software Engineer.
This change affects WebSocket APIs: recorder/statistic_during_period and recorder/statistics_during_period.
With Home Assistant OS 10, we update to the latest Docker release 23.0. With the new Docker version the maximum number of open file descriptors for add-ons changed to infinity (sort of).
The Home Assistant frontend used to use the Polymer Library for her web components.
Home Assistant has improved best practices for Calendar entities to ensure that calendar triggers/automations and the UI work correctly in all cases.
It's now possible to translate the name of entities, and this is preferred over hard coding a name in natural language in the Python implementation.
In the Home Assistant Core 2022.3 release, we add custom features for the tile card.
Home Assistant's MQTT integration no longer supports deprecated callback signatures for MQTT subscribe.
Home Assistant now supports snapshot testing for our Python codebase.
As of Home Assistant Core 2023.3, some constants and functions have been moved between homeassistant.helpers.json and homeassistant.util.json :
We've added a new built-in intent: HassGetState
The number of decimal digits shown when displaying a sensor state is now configurable by the user.
Home Assistant gets lots of contributions, which is absolutely amazing! But when having lots of PRs, it becomes harder to keep track of the state of those.
We have removed all translation files from the Home Assistant Core repository and put in place a helper script to compile English translations from the translation strings files (strings.json) for development purposes.
The intents repository which powers Assist, has had two important changes.
Note: The changes described here have been reverted and replaced with rounding for presentation, more details can be found in this blog post.
The Home Assistant 2023.2 release contains PR 86592 and PR 86484 which include breaking changes to the conversation agent API to future proof it.
The intents HassCoverOpen and HassCoverClose have been deprecated as of Home Assistant 2023.02.
Integrations that need to use a Bluetooth adapter should add bluetooth_adapters in dependencies in their manifest.json.
For Home Assistant Core 2023.2 the database schema has changed.