Home Assistant Core 2021.11.0 → 2021.12.0
6 versions, 32 breaking changes in 1 version, 0 required stops
Version by version, oldest first
2021.11.1 – 2021.11.5: no action items (5 versions)
2021.12.0 2021-12-11
Quoted from www.home-assistant.io/blog/2021/12/11/release-202112/#backward-incompatible-changes
Breaking
customize.yaml UI (customization)
The customize.yaml UI (customization) has been removed. The YAML configuration for this is recommended and remains available. To customize entities, use the entity settings available via the icon in the top right of the entity "more info" dialog (when clicking on an entity). Entity settings now also allows customizing device_class for certain binary_sensor and cover cases.
A small explanation why it has been removed:
With customize, one is changing the state machine directly, without any checks. This comes at a risk. Additionally, for many use cases (like: name, icon, device class) one should edit the entity via the UI instead, which is possible for the greater part of the entities nowadays.
The old customize UI is confusing in many ways and has a level of power that, if wielded incorrectly, can have unforeseen consequences. Someone found and used the customize UI first, and then things are out of sync throughout the UI, as the internal entity registry would show the old values.
The customize UI also relied on setting up an include and YAML configuration to begin with; which already made it an advanced feature.
Therefore, the customize UI was removed and remains available as an advanced YAML feature, additionally we have added the capability, to adjust the common device_class changes using the "Show as" feature while editing the entity from UI.
Breaking
Add-ons, Backups & Supervisor
The Supervisor panel has been merged into the configuration panel. The separate menu item from the sidebar has been removed.
The binary_sensor with "running" device_class that was provided for the Home Assistant Operating System device did not work and has now been removed; If you have added this to templates or automations, remove it from your configuration.
(@ludeeus - #60597) (hassio docs)
Breaking
Companion App
The Companion App configuration has been merged into the configuration panel. The separate menu item from the sidebar has been removed.
Breaking
Advantage Air
The HVAC mode for zone climate entities was set to FAN or OFF, because the actual HVAC mode is set for the entire ducted AC system. However, using FAN means the Google Home app won't let you set a target temperature, so it has been changed to AUTO instead.
(@Bre77 - #52816) (advantage_air docs)
Breaking
BMW ConnectedDrive
The following services/sensors have been removed due to not being available using the My BMW API:
alltrips_*lasttrips_*chargingconnectiontypecharginginductivepositioninglastchargingendreasonlastchargingendresultmaxelectricrange
Attributes of binary_sensor.doors and binary_sensor.windows do not start with door/window anymore.
notify requires a location attribute at data.location, as the MyBMW API only supports sending POI and not messages.
The find_vehicle service will always send the location of your Home Assistant instance to BMW.
Breaking
Brunt Blind Engine
The Brunt integration migrated the connection settings to configuration via the UI. Configuring the connection to the Brunt API via YAML configuration has been deprecated and will be removed in a future Home Assistant release.
Your existing connection YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.
Additionally, the Brunt integration can now be reloaded via the Integrations screen in the frontend and will also reload if a Brunt device is removed from your account.
(@eavanvalkenburg - #49714) (brunt docs)
Breaking
Fronius
The Fronius integration migrated to configuration via the UI. Configuring Fronius via YAML configuration has been deprecated and will be removed in a future Home Assistant release.
Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.
This change will remove manual configuration of Fronius device IDs. Connected SolarNet devices will be detected automatically on startup.
(@farmio - #59686) (fronius docs)
Breaking
Guardian
Guardian services have been reorganized and now utilize a Home Assistant selector (device ID) instead of using a Guardian entity.
(@bachya - #58632) (guardian docs)
Breaking
HomeKit Controller
This release removes the air quality from HomeKit Controller as the platform has been previously deprecated.
The air quality values have been broken out as their own sensors starting from September, making them easier to incorporate in your dashboard widgets, graphs, and automations. These should be used instead.
Breaking
Hue
Events for Hue remotes/switches
Philips/Signify streamlined the events that are emitted for remotes/switches; these are now no longer device specific but more generic. This means that if you're relying on the hue_event to trigger events emitted by these devices, the event_data will now be slightly different. To easily identify what events get emitted by your Hue remotes, Open Developer Tools and subscribe to the hue_event.
Light entities for Hue rooms/zones
Entities for Hue groups (zones/rooms) will be imported but in a disabled state by default. The Integration option to enable Hue groups has been phased out in favor of the default Home Assistant functionality to enable/disable entities.
To enable any (new) light entities for Hue groups: Open settings --> integrations --> Hue --> Entities --> Click one of the disabled entities and enable it.
Existing Hue group lights for rooms/zones will be migrated as enabled entities.
Legacy Hue groups of type LightGroup (which are not visible in the official Hue app) will no longer be supported!
Entities for Hue scenes
If you create any scenes for your Hue zones/rooms, these will now be automatically imported to Home Assistant as scene entity, including support for the new Hue Dynamic Scenes. You can disable any scene entities you don't like to use in Home Assistant (or delete them in the Hue app).
(@marcelveldt - #58996) (hue docs)
Breaking
KNX
The KNX integration migrated the connection settings to configuration via the UI. Configuring the connection to the KNX bus via YAML configuration has been deprecated and will be removed in a future Home Assistant release.
Your existing connection YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.
Additionally, the KNX integration can now be reloaded via the Integrations screen in the frontend, and thus the knx.reload service has been removed.
(@marvin-w - #59377) (knx docs)
The last_knx_update attribute has been removed from the KNX sensors and binary sensors. The last_update attribute can be used alternatively.
If you are relying on this attribute in your automations or script, you will need to adjust them to this change.
The configuration key event_filter is now deprecated and will be removed in a future version of Home Assistant. Please use the new event config key instead.
Breaking
Kostal Plenticore
The "Battery Strategy" sensor has been removed from the Kostal Plenticore integration. It is replaced by a switch and a select entity to allow setting the battery charging settings from Home Assistant.
Breaking
Litter-Robot
The litterrobot.reset_waste_drawer and litterrobot.set_wait_time services are deprecated and replaced by dedicated button entities; please use those instead.
Breaking
Material Design Icons (MDI)
The previously deprecated MDI icons, now have been removed.
The following icons have been removed:
adobe-acrobatadobeamazon-alexaamazonandroid-autoandroid-debug-bridgebandcampbattlenetbloggerbuffercash-usd-outlinecash-usdcellphone-android(alternative:cellphone)cellphone-iphone(alternative:cellphone)concourse-cicurrency-usd-circlecurrency-usd-circle-outlinedo-not-disturb-off(alternative:minus-circle-off)do-not-disturb(alternative:minus-circle)doubanfile-pdf(alternative:file-pdf-box)file-pdf-outline(alternative:file-pdf-box)file-pdf-box-outline(alternative:file-pdf-box)google-photoshome-currency-usdlaptop-chromebook(alternative:laptop)laptop-mac(alternative:laptop)laptop-windows(alternative:laptop)microsoft-edge-legacymicrosoft-yammerpdf-box(alternative:file-pdf-box)plus-one(alternative:numeric-positive-1)poll-box(alternative:chart-box)poll-box-outline(alternative:chart-box-outline)tablet-ipad(alternative:tablet)telegramuntappdvkxamarian-outlinexingy-combinator
The following icons have been renamed:
apple-airplaytocast-variantapplicationtoapplication-outlineapplication-cogtoapplication-cog-outlineapplication-settingstoapplication-settings-outlinebolnisi-crosstocross-bolnisiboom-gate-uptoboom-gate-arrow-upboom-gate-up-outlinetoboom-gate-arrow-up-outlineboom-gate-downtoboom-gate-arrow-downboom-gate-down-outlinetoboom-gate-arrow-down-outlinebuddhismtodharmachakracellphone-erasetocellphone-removeceltic-crosstocross-celticchristianitytocrosschristianity-outlinetocross-outlinefacetoface-manface-outlinetoface-man-outlineface-profile-womantoface-woman-profileface-shimmertoface-man-shimmerface-shimmer-outlinetoface-man-shimmer-outlineflash-circletolightning-bolt-circlefloor-lamp-varianttofloor-lamp-torchiere-variantgiftofile-gif-boxgradienttogradient-verticalhandtohand-front-righthand-lefttohand-back-lefthand-righttohand-back-righthinduismtoomhuman-greetingtohuman-greeting-variantiframetoapplication-bracketsiframe-outlinetoapplication-brackets-outlineiframe-arraytoapplication-arrayiframe-array-outlinetoapplication-array-outlineiframe-bracestoapplication-bracesiframe-braces-outlinetoapplication-braces-outlineiframe-parenthesestoapplication-parenthesesiframe-parentheses-outlinetoapplication-parentheses-outlineiframe-variabletoapplication-variableiframe-variable-outlinetoapplication-variable-outlineislamtostar-crescentjudaismtostar-davidmonitor-cleantomonitor-shimmerpharmacytomortar-pestle-plussparklestoshimmerteachtohuman-male-boardtelevision-cleantotelevision-shimmertext-subjecttotext-longtwitter-retweettorepeat-variantvoice-offtoaccount-voice-off
Breaking
Breaking
Notifications for Android TV
The Notifications for Android TV integration allows you to send custom notifications to Android TV devices. Sending a file along with the notification, allows you to send image files that will show up above the notification.
Now that support for icons has been added in the same way as images, the file option has been renamed to image to properly identify what you're sending with the notification.
As such, code and automations that use the file option for an image have to refer to image from now on.
(@redahb - #60159) (nfandroidtv docs)
Breaking
Pentair ScreenLogic
Screenlogic SCG levels have moved to the number platform to support setting of these values. The sensor entities that previously represented these values will need to be manually deleted in Configuration -> Entities.
Breaking
Phone Modem
The previously deprecated YAML configuration of the Phone Modem integration has been removed. Phone Modem is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.
(@tkdrob - #59526) (modem_callerid docs)
Breaking
RainMachine
The rainmachine.disable_program, rainmachine.enable_program, rainmachine.disable_zone, and rainmachine.enable_zone services have been removed.
Instead, new configuration switches related to each entity can be used to enable/disable the program/zone.
(@bachya - #59617) (rainmachine docs)
Breaking
Renault
The renault.charge_start service is deprecated and replaced by a dedicated start charge button entity; please use that entity to start the charge instead.
(@epenet - #59383) (renault docs)
Breaking
SimpliSafe
SimpliSafe services have been reorganized and now utilize a Home Assistant selector (device ID) instead of using a SimpliSafe system ID.
(@bachya - #58722) (simplisafe docs)
Breaking
Breaking
Sonos
The sonos.set_option service has been removed along with the bass_level and treble_level attributes on media_player entities.
Controls for bass and treble adjustments have been moved to dedicated number entities.
(@jjlawren - #60498) (sonos docs)
Breaking
Statistics
All statistical characteristics were removed from sensor attributes and are now selectable through state_characteristic as the state of the sensor. The parameter state_characteristic will become mandatory in a future release.
Please adapt the configuration of your statistics sensor(s) and expose the characteristic you are interested in directly through state_characteristic. Existing template sensors to access individual characteristics can be removed. In case you are interested in multiple characteristics, you need to define multiple statistics sensors.
Many characteristics were renamed and additional ones were added, including a few for binary source sensors. Consider opening a feature request if your use case is not directly covered.
Breaking
Templates: timestamp_local and timestamp_utc
The timestamp_local and timestamp_utc template functions/filters have changed their output format. The timestamp is now formatted to iso standards and contains timezone information.
Previously a timestamp from these would look like: 2016-07-21 16:39:04. Now it is formatted as: 2016-07-21T16:39:04+01:00.
This change may break templates that need a specific format, in those cases, you can use the timestamp_custom template filter instead.
Breaking
Trafikverket Weather Station
The Trafikverket Weather Station integration migrated to configuration via the UI. Configuring Trafikverket Weather Station via YAML configuration has been deprecated and will be removed in a future Home Assistant release.
Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.
(@gjohansson-ST - #60078) (trafikverket_weatherstation docs)
Breaking
Twente Milieu
Due to the modernization of the Twente Milieu integration; the twentemilieu.update service has been removed.
You can now use the homeassistant.update_entity service with the Twente Milieu integration as a replacement for the removed service.
(@frenck - #59632) (twentemilieu docs)
Breaking
Velbus
The previously deprecated YAML configuration of the RVelbus integration has been removed.
Velbus is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.
(@Cereal2nd - #60411) (velbus docs)
Breaking
Viessmann ViCare
The Viessmann ViCare integration migrated to configuration via the UI. Configuring Viessmann ViCare via YAML configuration has been deprecated and will be removed in a future Home Assistant release.
Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.
(@oischinger - #56691) (vicare docs)
Breaking
WLED
The led_count and max_power attributes have been removed from the sensor entity that provides the estimated current of the WLED device. These have been replaced by their own sensor entities.
If you have been using the attributes in your automation or scripts, you'll need to adjust those to reflect these changes.
(@frenck - #58839) (wled docs)
The speed, palette name, intensity, and reverse effect indicator attributes have been removed from the WLED light entities. They all have been replaced by their own, dedicated, number and switch entities.
If you rely on these attributes in your automations or scripts, you'll need to adjust those to this change.
(@frenck - #60535) (wled docs)
The wled.effect and wled.preset services have been removed. For both services, full replacements are available as normal entities in Home Assistant.
If you are still using these services in your automation or script, please replace them with service calls to their native entities instead.
Breaking
Yamaha MusicCast
Only one Home Assistant device was created for a Yamaha MusicCast device, and the media player entities of all zones were part of this device.
As of this release, every zone media player will be located in its own Home Assistant device. For single zone devices, nothing will change and all your automations, scripts, scenes, etc., should work in the same way as before.
A new device will be created for multi-zone devices for every non-main zone (e.g., zone2 or zone3). The media_player of the main-zone will remain in the original device with all its properties, scripts, automations and scenes, configured for it.
For other zones, you will have to set the area of the newly generated devices for the various zones manually. If you created scripts, automations, or scenes with the device as a target and want them to work for non-main zones, you will have to add the newly added devices as a target to your script/automation/scene.
If you used the media player entity as a target, everything should still work like before.
Breaking
Z-Wave JS
Some entities have been marked as configuration entities, e.g., default tone of siren devices and protection mode of smart plugs.
Configuration entities:
- Are not included in a service call targeting a whole device or area.
- Are, by default, not exposed to Google Assistant or Alexa.
- Are shown on a separate card on the device configuration page.
- Do not show up on the automatically generated Lovelace Dashboards.
Note
Farewell to the following
The following integrations are no longer available as of this release:
- Dyson has been removed. The integration has been broken for a long time now, so its time for it to go, (@epenet - #59401)
- IOTA has been removed. The protocol is no longer compatible/usable with this integration. (@lambtho12 - #59380
- Loop Energy has been removed. Loop has shutdown their API in November 2020. (@cgarwood- #61175)
- myChevrolet has been removed. It has been broken for 6 months and GM keeps actively hardening their authentication; preventing the integration to work. (@sdague - #59629)
From www.home-assistant.io/blog/2021/12/11/release-202112/#farewell-to-the-following
Release notes from github.com/home-assistant/core/releases, and the official release blog, checked 18 hours ago. Only text the vendor marks as breaking, or puts in a warning/caution/important note, is shown; read the full notes for anything else. Home Assistant lists its breaking changes in the “Backward-incompatible changes” section of each monthly release post on home-assistant.io (2020.12 onward). Each entry of that section is quoted as “Breaking” on the x.y.0 release, under the integration name the post gives it. The post’s “Farewell to the following” section (integrations removed in that release, 2020.12–2024.5) is quoted whole as “Note”. The post's separate section for custom integration developers is not quoted. Patch releases are listed but their notes (lists of fixes) are not quoted. Versions come from PyPI (package homeassistant).