Upgrade Path

Home Assistant Core 2021.6.0 → 2021.7.0

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

Version by version, oldest first

2021.6.1 – 2021.6.6: no action items (6 versions)

2021.7.0 2021-07-07

Quoted from www.home-assistant.io/blog/2021/07/07/release-20217/#backward-incompatible-changes

Breaking

Using a reverse proxy with Home Assistant

Home Assistant will now block HTTP requests when a misconfigured reverse proxy, or misconfigured Home Assistant instance when using a reverse proxy, has been detected.

If you are using a reverse proxy, please make sure you have configured use_x_forwarded_for and trusted_proxies in your HTTP integration configuration.

For more information, see the HTTP integration documentation.

Additionally, access to Home Assistant from the same IP address as a trusted proxy will be rejected if the request is marked as forwarded.

(@frenck - #51839) (http docs)

Breaking

Python 3.9 / Alpine 3.13

Our Docker images are now based on Alpine 3.13 and run Python 3.9.

This is mainly interesting if you running custom Docker containers based on our container.

If you are using Home Assistant Container, Home Assistant OS or the Home Assistant Supervised installation method, you will automatically get this update on upgrade and no additional interaction is needed.

Please note, that Alpine 3.13 on ARM devices running a 32-bits operating system (armhf/armv7), requires your Docker version to be at least 19.03.9 (although, we recommend updating to an even higher version). Additionally, you need to have libseccomp 2.42 or newer.

(@pvizeli - #51628)

Breaking

Airly

The AirQuality platform has been marked as deprecated. The air_quality entity is removed and replaced with sensor entities. You will need to update their automations and dashboards if you have been using the air_quality entity of Airly.

(@bieniu - #52225) (airly docs)

Breaking

Azure Event Hub

When using this integration with IoTHub, the event_hub_name is now a required field can be filled by the DeviceID when using IoTHub.

(@eavanvalkenburg - #52049) (azure_event_hub docs)

Breaking

CEC Support

Our Docker container has limited support for CEC drivers to those provided by the Linux kernel. This applies to the Home Assistant Container, Home Assistant OS and Home Assistant Supervised installation types.

This will cover most CEC drivers out there.

(@pvizeli - #51637)

Breaking

Coinbase

The Coinbase integration migrated to configuration via the UI. Configuring Coinbase 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.

(@TomBrien - #45354) (coinbase docs)


Only accounts explicitly included in account_balance_currencies will be loaded. Excluding the option will no longer load all provided accounts as Coinbase's API now provides at least 29 accounts even if they are not configured in your API settings on Coinbase.

(@TomBrien - #51981) (coinbase docs)

Breaking

Database (statistics table)

The statistics table is a Home Assistant data table that is not exposed or used by Home Assistant yet and is part of an alpha / feature that is in development. However, it does exist and you might already want to check it out or find a use for it.

In this release, the content of this table is reset. This does not impact any state history and this data isn't used by Home Assistant as of yet.

If you have no idea what this message is about, you can safely ignore it. We have merely listed this to be complete in our backward-incompatible changes report.

(@emontnemery - #52331) (history docs)

Breaking

DSMR Slimme Meter

Configuring the DSMR integration via YAML has been deprecated and will be removed in Home Assistant 2021.9. If you have an existing YAML configuration for the DSMR platform is will be imported into the UI automatically on upgrade. You can safely remove the DSMR YAML configuration after upgrading Home Assistant.

(@frenck - #52179) (dsmr docs)


The Hourly Gas Consumption sensor has been removed from the DSMR integration. This sensor was calculated and it is not an actual datapoint from the energy meter.

If you are looking for a replacement, you can use the Derivative integration to re-create the hourly (or any other timeframe) sensor based on the total Gas consumption sensor.

(@frenck - #52147) (dsmr docs)

Breaking

Google Play Music Desktop Player (GPMDP)

  • The integration has been disabled since it requires an old version of the websocket-client library which is incompatible with the requirements of other integrations that are actively maintained.
  • It's not clear if this integration still works with the gpmdp app that now only supports YouTube Music. If there's someone that uses the integration successfully and wants to take on the maintenance task that is required to get the integration in a compatible state, please create an issue to discuss the future of this integration.

(@MartinHjelmare - #51509) (gpmdp docs)

Breaking

Growatt

The Growatt API has changed individual PV array units from Watts to Kilowatts. This change is to update the units used for these values in Home Assistant, therefore the units for these values will change.

(@muppet3000 - #52021) (growatt_server docs)

Breaking

Kuler Sky

Kuler Sky lights no longer supports the deprecated white_value attribute for its lights. Use the rgbw_color attribute instead.

(@emontnemery - #52080) (kulersky docs)

Breaking

MeteoAlarm

You can no longer use the 2 letters of your country code, but must now use the complete country name in your configuration. To find out which country names you can use, please look at meteoalarm.org.

(@rolfberkenbosch - #51383) (meteoalarm docs)

Breaking

Modbus

As announced in 2021.4, the “old style” YAML was deprecated and now removed:

Example “old style” configuration, that is now invalid:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502

binary_sensor:
  platform: modbus
  registers:
    - name: Sensor1
      hub: hub1
      slave: 1
      register: 100

Same configuration in valid new style:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    binary_sensors:
      - name: Sensor1
        slave: 1
        address: 100

(@janiversen - #51117) (modbus docs)


The coil and register configuration options are changed to address and (if not default) input_type.

Previous configuration example:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    covers:
      - name: Door1
        coil: 117
      - name: Door2
        register: 131
        state_open: 1
        state_closed: 0

The new configuration looks like this:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    covers:
      - name: Door1
        input_type: coil
        address: 117
      - name: Door2
        address: 131
        state_open: 1
        state_closed: 0

(@janiversen - #51154) (modbus docs)


The configuration attributes curent_temp_register and current_temp_register_type are changed to address and input_type in order for all platforms to have a common configurations.

Before this PR, this was legal:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    climates:
      - name: "Watlow F4T"
        current_temp_register: 27586
        current_temp_register_type: holding

This changes to:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    climates:
      - name: "Watlow F4T"
        address: 27586
        input_type: holding

(@janiversen - #51202) (modbus docs)


Modbus sensor ‘reverse_order’ is no longer supported, please use ‘swap’ instead.

Old configuration:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    sensors:
      - name: Sensor1
        address: 100
        reverse_order: true

New configuration:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    sensors:
      - name: Sensor1
        address: 100
        swap: word

(@janiversen - #51665) (modbus docs)


data_count is no longer supported, please use count.

No longer supported:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    climates:
      - name: "Watlow F4T"
        address: 27586
        input_type: holding
        data_count: 1
        ...

Please change it to:

modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    climates:
      - name: "Watlow F4T"
        address: 27586
        input_type: holding
        count: 1
        ...

(@janiversen - #51668) (modbus docs)

Breaking

MQTT

It's no longer possible to set attributes defined in the base component via a configured json_attributes_topic.

For example, a light no longer accepts brightness via the json_attribute_topic. This was unintended and an undocumented functionality that lead to unexpected behavior.

This change applies to all supported MQTT platforms.

(@emontnemery - #52242 #52278 #52280 #52285 #52286 #52283 #52289 #52291 #52290 #52288 #52282 #52279) (mqtt docs)

Breaking

Nettigo Air Monitor

The AirQuality platform has been marked as deprecated. The air_quality entities will be deleted and replaced with sensor entities. You need to update your automations and dashboards if you have been using these air_quality entities in those.

(@bieniu - #52152) (nam docs)

Breaking

Open Z-Wave

Open Z-Wave lights no longer support the deprecated white_value attribute, use rgbw_color instead.

(@emontnemery - #52063) (ozw docs)

Breaking

Prometheus

Prometheus is now converting temperatures in °F to °C. If you are relying on temperature_c being in Fahrenheit, you will need to make adjustments, for example by doing a unit conversion in a PromQL query.

(@masto - #52212) (prometheus docs)

Breaking

Recorder

The underlying library that is used for the database connections, has been updated. This fixes a bug, that might be a breaking change for you.

If you use an @ in your database username or password, you will have to adjust your database connection string to use %40 instead.

Database connection strings are considered URLs, thus special characters need to be encoded. %40 is the URL encoded version of @.

Breaking

Rituals Perfume Genie

The switch extra state attributes fan_speed and room_size will be removed in the next release. As of this release, both attributes are available as entities, making it possible to change the value with Home Assistant.

(@milanmeu - #51993) (rituals_perfume_genie docs)

Breaking

Sony Bravia TV

From April 2020, the Sony Bravia TV integration has been automatically importing your import of existing YAML configurations. Now we have removed this option for migration. Your existing configuration has been imported to the UI already and can now be safely removed from your YAML configuration files.

(@bieniu - #52141) (braviatv docs)

Breaking

Spain electricity hourly pricing (PVPC)

With the change to the new, and unique, electric tariff 2.0TD, if you previously had configured multiple PVPC sensors monitoring prices for more than one of the old tariffs, only the first one will survive. This means if you have any automation or script that depends on these removed sensors, you might need to adjust them.

(@azogue - #51789) (pvpc_hourly_pricing docs)

Breaking

Tasmota

Tasmota doesn't support independent control of all four channels of an RGBW light, so rgbw_color was a very poor fit for it and gave counter-intuitive results. Tasmota lights supporting color and white will now be added as a light supporting color modes hs and white, not as a light supporting color_mode rgbw. now supports setting white instead.

Scenes setting a Tasmota light can be updated by using the scene UI editor.

Automations setting a Tasmota light need to be updated manually, to set a light to white mode do:

  - service: light.turn_on
    target:
      entity_id: light.genbbc05
    data:
      white: 242

(@emontnemery - #51608) (tasmota docs)

Breaking

Switcher

In preparation for multi-device support, configuration via the UI and support for discovery; this integration is migrating entity attributes into sensors to be later added as device entities. The following switch entity attributes migrated to sensors:

AttributeSensor Name
power_consumptionPower Consumption
electric_currentElectric Current
remaining_timeRemaining Time
auto_off_setAuto Shutdown

(@thecode - #51964) (switcher_kis docs)

Breaking

Yamaha MusicCast

The integration has been rewritten from the ground up and is now configurable via the user interface only. Existing platform YAML config will automatically be imported into the user interface on upgrade and can be safely removed from the YAML configuration after the upgrade has been completed.

(@vigonotion - #51561) (yamaha_musiccast docs)

Breaking

Zero-configuration networking (zeroconf)

The IPv6 configuration option has been deprecated in favor of the settings provided by the network integration.

(@bdraco - #51173) (zeroconf docs)

Full release notes for 2021.7.0

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