2021.8.0: Feel the energy ⚡️

Happy August! ☀️

Home Assistant Core 2021.8 is here, and this is the release I have been looking forward to for months! There is so much exciting new stuff in here: I don’t know where to start.

The most exciting part is the new main focus that is added to Home Assistant:

Home Energy management.

A massive deal for a lot of people, no matter if you are doing it for environmental reasons or simply to save a buck or two (or both 😬). Knowing that moving forward, it will be an additional focus, I think, is amazing.

But besides the Energy management stuff, I’m also excited about the side effects of it. A lot of things created for Energy, are also re-usable for other things! That is how we roll, right?

We get long-term statistics, new super nice and fast graphs, and a new layout option for Lovelace. All the building blocks are available for customization and re-use. I am looking forward to seeing how they are going to be put to use.

Anyways, enjoy the release! And don’t forget the drop by the release party on YouTube later today (9:00 PM CET).

../Frenck

Matthias de Baat joins Nabu Casa

Let start by announcing that Matthias de Baat is joining the team at Nabu Casa to work on Home Assistant as a UX-designer.

UX stands for “User Experience”, which is Matthias’ area of expertise and what he will be working on improving. His goal is to make Home Assistant easier to use and accessible for everyone. He will be setting up design processes and tooling, doing user research and making designs.

If you are interested in joining the Home Assistant user research group, you can show your interest by filling in this Google Form that Matthias has prepared.

Welcome Matthias! Excited to have you on board!

But wait! There is more!

Otto Winter, the founder of ESPHome, will be joining Nabu Casa during his summer break as well! Welcome Otto! This summer is going to be fantastic!

Home Energy Management!

This feature is a big thing; A start of something new. Home Assistant is going to provide you insight into your energy usage.

But this needs more than just a paragraph in the release notes, this needs its own blog! So, at this point, stop reading the release notes (momentarily) and read the blog Paulus has written about this:

Read the blog about the new Home Energy Management features of Home Assistant

Long term statistics

Storing sensor data for a more extended period using the recorder, can make your database grow pretty fast (especially if you have sensors that update a lot!).

In the previous releases, we’ve worked towards improving this situation and laid down the groundwork for tracking statistics in the database; We are making it widely available this release!

Integrations can now hint Home Assistant about the type of value the sensor represents, allowing us to process and store that data in a more efficient way. Every hour, we calculate things like mean, min/max values, or the difference created that hour and store just that result in our long-term statistics.

These statistics is what partly powers the new Energy dashboard, however, they can be used for anything else: Introducing the Lovelace statistics graph card.

Screenshot of the new Lovelace statistics graph card Screenshot of the new Lovelace statistics graph card.

This card can make beautiful graphs, allowing you to make graphs for any of your stored long-term statistical data. It can render as a line or bar chart. Bars are suited for metered entities that have a summed value. Lines are perfect to display the mean, min and max of the entity.

The support for long-term statistics is limited at this moment. We are expecting to open it up for more measurements in the upcoming releases while more integrations are adding support for these new measurement types.

Sidebar view

The default layout you see in Lovelace (which we generally all use), is called the “masonry” layout. We also have a panel view/layout that stretches a single card to the whole view. This release brings in a brand new view layout: Sidebar.

This new sidebar view has two columns, a wide one and a small one on the right. It is perfect for displaying larger cards like graphs (like that nice new statistics graph card), or maps. While having some additional smaller cards with information on the side.

The new Energy dashboard uses this new view layout, but of course, made available for use in other Lovelace dashboards as well.

Screenshot of new Lovelace sidebar view layout Screenshot of new Lovelace sidebar view layout.

Gauge card now has needle mode

A nice little addition to the Lovelace gauge card: Needle mode!

Instead of showing a value and filling it partially, in needle mode, it will show the full gauge but point out the value with a needle. And, if you add severity to your gauge card configuration, it will always be shown.

Screenshot of the Gauge card in needle mode with severity configured Screenshot of the Gauge card in needle mode with severity configured.

These settings are available straight from the Lovelace UI editor; More information and examples can be found in the Gauge card documentation.

Currency core setting

To support the display of financial values, we’ve added a new setting to Home Assistant that allows you to define the currency Home Assistant should use in cases it relies on your input.

You can find this new currency setting in the general settings of Home Assistant.

This setting is used for the cost calculation of the new energy features.

Siren

The last release, we introduced the select entity, this release, we introduce the siren entity! 🚨

Thanks to @raman325 for adding this noisemaker to the family! He also implemented the first integration to add support for Sirens: the Z-Wave JS integration. So, if you have a Z-Wave enabled Siren, you can now control it.

Locking, Unlocking and Jammed

Locks in Home Assistant can be a little bit smarter as of today, thanks to @bdraco. Besides the locked & unlocked states, support for locking, unlocking and jammed has been added.

Support for these new states has been added to the August, HomeKit Controller and template integrations. Additionally, HomeKit, Alexa and Google Assistant have been made compatible and aware for these states as well.

Scripts/Automations/Templates

Some new features landed for script, automations and templates this release.

This

When an automation or script is triggered to run, a new variable is available: this. This variable contains the state object of the automation or script running and allows you to access information about the automation directly. Thanks, @r-t-s!

Device template functions

If you like to write YAML automations manually, are using templates, and require device IDs or device information, than you know those IDs are hard to find and the device information is not available at all.

@raman325 added some new template functions that can be helpful when working with devices.

  • device_entities(device_id) returns a list of entities associated with a given device ID (can also be used as a filter).
  • device_attr(device_or_entity_id, attr_name) returns the value of attr_name for the given device ID or entity ID.
  • is_device_attr(device_or_entity_id, attr_name, attr_value) returns whether the value of attr_name for the given device ID or entity ID matches attr_value.
  • device_id(entity_id) returns the device ID for a given entity ID (can also be used as a filter).

Thanks for these powerful new features!

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • Thanks to @firstof9, Z-Wave JS now has support for transitions with lights!
  • More Z-Wave JS improvements by @raman325. He added support for device triggers and conditions. Thanks!
  • You can now assign a unique ID to light, cover and media player groups, allowing you to manage them from the Home Assistant frontend and assign them to an area!
  • The motionEye integration now has support for motion detection, thanks @dermotduffy
  • ZHA can now work with Formaldehyde and VOC level sensors, thanks @Adminiuga
  • @posixx added a new feature for integration that provide alarm panels; those integrations can now update to support Vacation mode!
  • Rainbird now has a service to change the rain delay, thanks @Kr0llx!
  • If you are using BMW Connected Drive, @EddyK69 added a lot of trip sensors.
  • Sonos snapshots now behave, are more robust and work as expected. Additionally, support for controlling crossfade has been added, thanks @jjlawren!
  • WLED now supports controlling the new playlists features introduced in WLED 0.13.
  • @farmio added support for KNX lights that use HS-colors, thanks!
  • And @joncar added support for transitions to LiteJet lights, awesome!
  • If you have MFA on your Tesla account, thanks to @BreakingBread0, the integration now supports that.
  • When using the Netatmo integration, you can now control the schedule it should be using with a select entity. Thanks, @cgtobi!
  • @janiversen added more data types to modus and added array write to the turn on/off capabilities of Modbus switches, fans and lights.
  • Advantage Air now has temperature sensors for each zone, thanks @Bre77!
  • Gree Climate now has switches to support more modes, thanks to @cmroche!
  • You can now remove holidays from the workday sensor by name instead of date. This is useful for holidays they don’t have a fixed date each year. Thanks @matthewgottlieb!
  • HomeKit will not auto-recreated TVs when sources are out of sync. One thinsg less to worry about, thanks @bdraco
  • @jbouwh has drastically reworked and extended the Humidifier support for the Xiaomi Miio integration. Amazing job!

New Integrations

We welcome the following new integrations this release:

New Platforms

The following integration got support for a new platform:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2021.8.1 - August 4

Release 2021.8.2 - August 5

Release 2021.8.3 - August 6

Release 2021.8.4 - August 8

Release 2021.8.5 - August 9

Release 2021.8.6 - August 10

Release 2021.8.7 - August 15

Release 2021.8.8 - August 18

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Backward-incompatible changes

Below is a listing of the breaking change for this release, per subject or integration. Click on one of those to read more about the breaking change for that specific item.

Abode

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

Abode 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 - #52357) (abode docs)

AirVisual

The Air Quality platform has been marked as deprecated, therefore the air_quality entity has been removed and replaced with sensor entities.

If you used the air_quality entity in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@bachya - #52349) (airvisual docs)


States for the “Pollutant Level” and “Main Pollutant” entities have changed; automations that depended on the old states will need to be updated.

Pollutant Level:

  • Good -> good
  • Moderate -> moderate
  • Unhealthy -> unhealthy
  • Unhealthy for sensitive groups -> unhealthy_sensitive
  • Very unhealthy -> very_unhealthy
  • Hazardous -> hazardous

Pollutant Label:

  • Carbon Monoxide -> co
  • Nitrogen Dioxide -> n2
  • Ozone -> o3
  • PM10 -> p1
  • PM2.5 -> p2
  • Sulfur Dioxide -> s2

(@bachya - #53133) (airvisual docs)

Ambient Weather Station

The previously deprecated YAML configuration of the Ambient Weather Station integration has been removed.

Ambient Weather Station 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.

(@bachya - #52459) (ambient_station docs)

AVM FRITZ!Box Net Monitor / AVM FRITZ!Box Tools

In order to optimize device load and avoid exhausting available connections, fritz_netmonitor has been merged into fritz.

Please remove your YAML existing configuration and configure the new integration.

(@chemelli74 - #52264) (fritz docs)


The profile switches introduced in the previous release have been removed as they where incompatible with the Home Assistant architectural design rules.

Instead, you can now block every device connected individually.

(@AaronDavidSchneider - #52721) (fritz docs)

AVM FRITZ!SmartHome

The power and energy attributes from switch entities have been removed and replaced by sensors.

If you relied on these attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@mib1185 - #52562) (fritzbox docs)

Bosch BME280

The YAML configuration for this integration has changed. Instead of a sensor config with platform section, an integration configuration section under the integration domain key should be used.

Before:

sensor:
  - platform: bme280
    name: "Stary_Oskol"

After:

bme280:
  - name: "Stary_Oskol"

(@Kuzj - #48775) (bme280 docs)

Broadlink

The power and energy attributes from switch entities have been removed and replaced by sensors.

If you relied on these attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@Danielhiversen - #53342) (broadlink docs)

Buienradar

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

Buienradar 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 - #52939) (buienradar docs)

CO2 Signal

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

(@Danielhiversen - #53193) (co2signal docs)

Demo

Demo switch entity no longer reports current_power_w and today_energy_kwh attributes.

(@thecode - #52424) (demo docs)

devolo Home Control

The consumptions attributes from the switch entities have been removed and replaced by sensors.

If you relied on these attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@Shutgun - #53335) (devolo_home_control docs)

GIOŚ

The Air Quality platform has been marked as deprecated, therefore the air_quality entity has been removed and replaced with sensor entities.

If you used the air_quality entity in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@bieniu - #52295) (gios docs)

Google Assistant

Home Assistant will no longer expose the legacy fan speeds to Google Assistant.

If you use fans with with Google Assistant, you’ll need to resync your device. Ask you Google device to Sync my device or trigger an update via the google_assistant.request_sync service.

(@elupus - #53105) (google_assistant docs)

HomeKit

Previously the on/off switches provided to HomeKit by scripts, would enable or disable a script. This likely was not what is expected as Hey Siri turn on "script" would appear to do nothing.

Pressing a script switch in HomeKit now runs the script instead.

(@bdraco - #53106) (homekit docs)

HomeKit Controller

HomeKit Controller was using the wrong ID to track some sensors. The following are affected:

  • Koogeek or Eve power sensors (added in Jan 2021)
  • The temperature sensor added alongside homekit climate devices (added in Jul 2021, the climate entity itself is not affected)

If you have one of these you may need to remove a stale entity registry entry and you may need to fix the names of these entities as customizations may be lost.

(@Jc2k - #53848) (homekit_controller docs)


If you have a power sensor for a Eve Energy or Koogeek P1EU/SW2, the units for that sensor has changed from watts to W to properly follow Home Assistant standards.

(@Jc2k - #53877) (homekit_controller docs)

Honeywell Total Connect Comfort (US)

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

(@rdfurman - #50731) (honeywell docs)

Huawei LTE

Routers currently in unauthenticated mode need to be provided credentials for duration of one successful startup in order to retrieve a unique id from the API. Unauthenticated mode can then be enabled for subsequent starts in integration options.

(@scop - #49878) (huawei_lte docs)

Itho Daalderop Spider

The power and energy attributes from switch entities have been removed and replaced by sensors.

If you relied on these attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@peternijssen - #53397) (spider docs)

Jewish Calendar

The Jewish Calendar integration returned a datetime format that wasn’t properly formatted according to ISO standards. This has been adjusted.

If you rely on manually parsing of dates that are returned from this integration, you might need to adjust your templates to incorporate this change.

(@frenck - #52722) (jewish_calendar docs)

Lyft

The Lyft integration has been deprecated and is pending removal in Home Assistant Core 2021.10.0. It is considered impossible to obtain API keys to be able to use this integration.

(@frenck - #53005) (lyft docs)

Mill

The consumption_today and consumption_total from the climate entity have been removed and replace by sensors.

If you relied on these attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@Danielhiversen - #52311) (mill docs)

Modbus

All entities are set to unavailable during loading of modbus integration and remain so until data is received. Entities with scan_interval = 0 (entities without polling) are always available, to allow service calls.

The old configuration style with setting scan_interval: 9999 will cause the entity to be unavailable for 9999 seconds.

(@janiversen - #53155) (modbus docs)

MySensors

The power and energy attributes from switch entities have been removed.

If you relied on these switch attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

This measurement (S_POWER, V_WATT) will still be reported as previously by the power sensor entity.

(@MartinHjelmare - #53566) (mysensors docs)

Prometheus

This includes a few changes to the names of the exported Prometheus metrics, which now better align with Prometheus naming guidelines:

  • Default value for the namespace configuration variable is now homeassistant, and all metric names now have a default homeassistant_ prefix.
  • Some metrics have been renamed:
    • light_state renamed to light_brightness_percent.
    • temperature_c renamed to climate_target_temperature_celsius.
    • current_temperature_c renamed to climate_current_temperature_celsius.
    • Sensor metrics now have a sensor_ name prefix.
    • Temperature sensor metrics now have a _celsius unit suffix (as opposed to just _c).

Note, that users that don’t currently explicitly set the namespace variable will see names changed for all exported metrics. If keeping existing metric names is important to you, you can adjust your Home Assistant and Prometheus configuration as described below.

To keep metrics exported without the homeassistant_ prefix, explicitly set an empty namespace in Home Assistant configuration:

prometheus:
  namespace: ""

To revert the other metric name changes, you can use metric_relabel_configs in your Prometheus configuration file to rename the metrics after scraping. This set of relabeling rules is a good starting point, but please note that if you set a non-empty namespace in Home Assistant you will need to adjust these rules accordingly.

(@knyar - #50156) (prometheus docs)

Rituals Perfume Genie

The previously deprecated fan speed and room size attributes have been removed. They have now have got their own entities.

(@milanmeu - #53611) (rituals_perfume_genie docs)

Synology DSM

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

Synology DSM 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.

(@mib1185 - #53197) (synology_dsm docs)

Tibber

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

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

(@Danielhiversen - #53235) (tibber docs)

TP-Link Kasa Smart

The power and energy attributes from switch entities have been removed and replaced by sensors. This applies to all five extra attributes about energy (current_power_w, total_energy_kwh, today_energy_kwh, voltage, current_a).

If you relied on these attributes in your automations, scripts or Lovelace dashboards, you’ll need to update your configuration to match this change.

(@mib1185 - #53596) (tplink docs)

VeSync

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

VeSync 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 - #52358) (vesync docs)

Viessmann ViCare

Viessmann introduced a new API to control their devices. The original (inofficial API) was shut down which rendered the Home Assistant integration useless. This breaking change restores the integrations functionality

This involves adding a new client_id parameter. It must be set with an API key from the Viessmann developer portal.

Please register and create your private API key. Follow these steps to create your API key:

  1. Register and login in the Viessmann Developer Portal.
  2. In the menu navigate to API Keys.
  3. Create a new OAuth client using following data:
Name: PyViCare
Google reCAPTCHA: Disabled
Redirect URIs: vicare://oauth-callback/everest
  1. Copy the Client ID to the configuration, e.g. client_id="XXXXXXXXXXXXXX"
vicare:
  username: VICARE_EMAIL
  password: VICARE_PASSWORD
  client_id: VICARE_CLIENT_ID

Please not that not all previous properties are available in the new API. Missing properties were removed and might be added later if they are available again.

(@oischinger - #53281) (vicare docs)

WLED

The wled.preset service has been deprecated. In the previous Home Assistant release, support for an select entity that provides access to presets has been added, use that entity in your automations and scripts instead.

(@frenck - #53383) (wled docs)


The playlist attribute from the WLED light entities has been removed and replaced by a playlist select entity instead of the attribute.

If you relied on the attribute in your automation or scripts, you need to adjust those to use the new entity instead.

(@frenck - #53381) (wled docs)

Xiaomi Miio

Existing Xiaomi Mi automations using the platform specific services for humidifiers will have a breaking change. You need to change their automation to use new services. Existing fan entities will be automatically replaced with new humidity entities.

The entity name is migrated from the fan entity name. The fan entity_id will change because the platform will change.

For the related entities the old fan entity name will be prepended to the new entities.

Example:

Entity with entity_id “fan.my_device” and name “My humidifier” will migrate to an entity with entity_id “humidifier.my_humidifier” and name “My humidifier”.

A sensor for humidity will have a name like “My humidifier Humidity”.

(@jbouwh - #52366) (xiaomi_miio docs)

Yale Smart Living

The CYale Smart Living integration migrated to configuration via the UI. Configuring Yale Smart Living 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 - #50850) (yale_smart_alarm docs)

Z-Wave JS

Z-Wave JS entities will now be in an unavailable state when the parent node is considered dead by Z-Wave JS. This may impact existing automations because Home Assistant will block service calls to unavailable entities.

A node can potentially be revived by sending a ping to it, therefore you can use the new node status sensor (disabled by default) to track node status and use the zwave_js.ping_node service to try to revive the node.

The node status sensor will always be available even when the node is dead.

(@raman325 - #48017) (zwave_js docs)

Farewell to the following

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

  • Weather Underground has been unavailable and in a non-working state and has therefore been removed. (@frenck - #52999)
  • Garmin Connect has been removed. Due to API changes, it stopped working and cannot function without violating Home Assistant design rules. Garmin will not allow open source projects to their official APIs. (@cyberjunky - #52808) (garmin_connect docs)

All changes

Click to see all changes!