Upgrade Path

Home Assistant Core 2023.3.0 → 2023.4.0

7 versions, 28 breaking changes in 1 version, 0 required stops

Version by version, oldest first

2023.3.1 – 2023.3.6: no action items (6 versions)

2023.4.0 2023-04-05

Quoted from www.home-assistant.io/blog/2023/04/05/release-20234/#backward-incompatible-changes

Breaking

Aladdin Connect

The previously deprecated YAML configuration of the Aladdin Connect integration has been removed.

Aladdin Connect 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.

(@epenet - #88694) (documentation)

Breaking

AVM FRITZ!Box Tools

The binary sensor providing available firmware updates has been deprecated since 2022.5 and is now removed. Use the new update entity instead.

(@mib1185 - #89940) (documentation)

Breaking

Bluetooth

This change only affects Home Assistant instances running directly on MacOS (not inside a virtual machine).

Any integration or device previously set up using a UUID Bluetooth address will need to be deleted and recreated.

(@bdraco - #89926) (documentation)

Breaking

Calendar

The calendar.create_event service now enforces that start and end dates are exclusive. This has always been part of the specification but was not clearly documented and enforced.

(@allenporter - #89533) (documentation)

Breaking

DSMR Reader

The previously deprecated YAML configuration of the DSMR Reader integration has been removed.

DSMR Reader 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.

(@frenck - #89239) (documentation)

Breaking

GIOŚ

AQI sensor state values are now in English, and the user interface will display their translation for the selected language. If you have been using this sensor in your automations and scripts, you'll need to adjust these for this change.

(@bieniu - #89044) (documentation)


The name and station sensor state attributes have been removed because they are static data that do not describe the state of the entity.

The index sensor state attribute has been migrated to a separate entity, for example, sensor.home_no2_index.

(@bieniu - #89389) (documentation)

Breaking

Groups - Notify

The behavior of passing parameters to service calls targeting notification groups has changed.

Current behavior: data mappings configured in the service override mappings configured in the action.

New behavior: data mappings configured in the action override mappings configured in the service.

(@arychj - #90253) (documentation)

Breaking

Home Connect

In order to obtain an up-to-date list of compatible programs for your appliances, it will be necessary to reconfigure the integration.

Please note that due to limitations on the Home Connect side, it is important to have your appliances Turned on during the reconfiguration process.

This action is a one-time requirement.

(@stickpin - #88801) (documentation)

Breaking

IMAP

The previously deprecated YAML configuration of the IMAP integration has been removed.

IMAP 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.

(@jbouwh - #89981) (documentation)

Breaking

Landis+Gyr Heat Meter

The conversion to MWh and the corresponding MWh-entities have been removed.

To resolve the breaking change :

  • If you make use of any of sensor.heat_meter_heat_usage or sensor.heat_meter_heat_previous_year for automations, scripts, etc., you can replace these with the GJ-entities sensor.heat_meter_heat_usage_gj and sensor.heat_meter_heat_previous_year_gj.
  • If applicable, in the energy dashboard, replace sensor.heat_meter_heat_usage with sensor.heat_meter_heat_usage_gj. Note that the energy dashboard will still convert to MWh or kWh, therefore resulting in the same values as before.

(@vpathuis - #89522) (documentation)

Breaking

Logbook

Logbook will be unavailable until the database schema migration completes. Logbook script and automation traces from previous runs of Home Assistant will be unavailable until background data migration is completed following the schema migration.

(@bdraco - #88942 #89465) (documentation)


Automation and script traces that include state change events recorded with Home Assistant 2022.5.x or older will no longer display context information for these events in the logbook tab.

(@bdraco - #89945) (documentation)

Breaking

MySensors

  • The MySensors notify platform has been removed. It's been deprecated since 2023.2.0. It's been replaced by a text entity platform.
  • You should update any automations or scripts that use the notify.mysensors* service to instead use the text.set_value service and the corresponding text entity as a target.
  • The MySensors IR switch entity, corresponding to an S_IR child with V_SEND value, has been removed. This entity hasb been deprecated since 2023.2.0. It's been replaced by a remote entity.
  • You should update any automations or scripts that use the mysensors.send_ir_code service to instead use the remote.send_command service and the corresponding remote entity as a target. Similar changes should be made for actions using the switch.turn_on and switch_turn_off services targeting the removed IR switch entities. Replace these with remote.turn_on and remote.turn_off services and remote entity targets.

(@MartinHjelmare - #90402 #90403) (documentation)

Breaking

Moon

The previously deprecated YAML configuration of the Moon integration has been removed.

Moon 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.

(@frenck - #89161) (documentation)

Breaking

MQTT

The tls_version configuration parameter (deprecated June 2020) has been removed. All other MQTT broker settings have been moved to the UI before.

When the tls_version setting is still in your YAML configuration, MQTT will not start up.


The previously deprecated MQTT broker YAML configuration has been removed.

The MQTT broker is now configured via the UI, any existing MQTT broker YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files.

(@jbouwh - #87987) (documentation)

Breaking

Nextcloud

The option to define your own scan interval has been removed, data is now updated every 60 seconds.

(@mib1185 - #89396) (documentation)

Breaking

OpenAI Conversation

Your previously selected model has been reset to the new and cheaper GPT 3.5 model.

(@balloob - #90423) (documentation)


The built-in areas variable is no longer overwritten and is now the same as areas in every template. The new default template is now:

This smart home is controlled by Home Assistant.

An overview of the areas and the devices in this smart home:
{%- for area in areas() %}
  {%- set area_info = namespace(printed=false) %}
  {%- for device in area_devices(area) -%}
    {%- if not device_attr(device, "disabled_by") and not device_attr(device, "entry_type") and device_attr(device, "name") %}
      {%- if not area_info.printed %}

{{ area_name(area) }}:
        {%- set area_info.printed = true %}
      {%- endif %}
- {{ device_attr(device, "name") }}{% if device_attr(device, "model") and (device_attr(device, "model") | string) not in (device_attr(device, "name") | string) %} ({{ device_attr(device, "model") }}){% endif %}
    {%- endif %}
  {%- endfor %}
{%- endfor %}

Answer the user's questions about the world truthfully.

If the user wants to control a device, reject the request and suggest using the Home Assistant app.

(@balloob - #90481) (documentation)

Breaking

Overkiz

The open and close commands for theio:CyclicGarageOpenerIOComponent device Have been removed, see this issue for more details on this device.

To sum up, this device is a garage door but cannot be exposed as such within Home Assistant. There is no state returned and no clear open and close command.

Only one command is available: cycle. A button is a perfect fit for this use case and remove all confusion; this button entity has been added this release.

(@tetienne - #89043) (documentation)

Breaking

Pushbullet

The previously deprecated YAML configuration of the Pushbullet integration has been removed.

Pushbullet 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.

(@gjohansson-ST - #90285) (documentation)

Breaking

Radio Thermostat

The previously deprecated YAML configuration of the Radio Thermostat integration has been removed.

Radio Thermostat 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.

(@gjohansson-ST - #90284) (documentation)

Breaking

Recorder

Oversized events with data larger than 32KiB are no longer recorded to avoid overloading the database and polluting the memory cache.

(@bdraco - #90747) (documentation)

Breaking

Scrape

The previously deprecated YAML configuration of the Scrape integration has been removed.

Scrape 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.

(@gjohansson-ST - #90272) (documentation)

Breaking

Season

The previously deprecated YAML configuration of the Season integration has been removed.

Season 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.

(@frenck - #89166) (documentation)

Breaking

Tasmota

Tasmota sensor no longer sets the force_update flag to True.

Tasmota binary_sensor no longer sets the force_update flag to True, except for binary_sensor mapped to a Tasmota switch with switchmode set to 13 or 14.

(@DerEnderKeks - #85943) (documentation)

Breaking

Templates

The relative_time and today_at template functions and filters are no longer supported in limited templates.

(@Petro31 - #86815)


Enumerating states using templates are no longer sorted by entity_id by default, as it was computationally expensive.

To restore the original behavior, a sort filter can be added to any existing template using the below example:

{% for state in states | sort(attribute='entity_id') %}

Breaking

Threshold

The behavior of the threshold binary sensor has changed:

  • The threshold binary sensor's state is reset to unknown when the monitored sensor's state is unknown, unavailable, or not a valid float.
  • When the monitored sensor's state is first valid, or when it's valid after being unknown, unavailable, or not a valid float:
  • Initialize a threshold sensor with only a lower threshold to state off, with the position attribute set to above.
  • Initialize a threshold sensor with only a upperthreshold to state off, with the position attribute set to below.
  • Initialize a threshold sensor with only an upper and a lower threshold to state on, with the position attribute set to in_range.

(@emontnemery - #88978) (documentation)

Breaking

Twente Milieu

The end-date for garbage collection events on the calendar entity, will now be one day later compared to the start date. This is because in calendaring, the end-date is exclusive.

(@bobvandevijver - #89028) (documentation)

Breaking

Volvo On Call

The previously deprecated YAML configuration of the Volvo On Call integration has been removed.

Volvo On Call 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.

(@gjohansson-ST - #90288) (documentation)

Breaking

Z-Wave

With this release, you will need to update your zwave-js-server instance. You must use zwave-js-server 1.27.0 or greater (schema 27).

  • If you use the Z-Wave JS add-on, you need at least version 0.1.77.
  • If you use the Z-Wave JS UI add-on, you need at least version 1.8.1.
  • If you use the Z-Wave JS UI Docker container, you need at least version 8.11.1.
  • 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.27.0.

(@raman325 - #90212) (documentation)

Note

Farewell to the following

The following integrations are also no longer available as of this release:

  • Dark Sky has been removed. Apple acquired Dark Sky, and the API has now been shut down. (@gjohansson-ST - #90322)
  • Magicseaweed has been removed. Magicseedweed no longer provides API keys to users. Additionally, the integration is no longer in a functional state. (@gjohansson-ST - #90277)

From www.home-assistant.io/blog/2023/04/05/release-20234/#farewell-to-the-following

Full release notes for 2023.4.0

Release notes from github.com/home-assistant/core/releases, and the official release blog, checked 17 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).