2021.6: A little bit of everything

A little bit of everything. That is probably the best way to describe this release. It is a packed release, with a lot of small new features everywhere!

Sonos got quite a bit of love, Hue now supports push updates, the UI has a lot of usability tweaks, MQTT added quite a few attributes, themes can now support modes… seriously, I can go on forever with this list.

So, no new big features (something might be cooking for the next release…), but a nice release that has something for everybody. Definitely worth scanning the all changes section for your favorite integrations.

../Frenck

Support for custom Dark mode themes

Previously, all themes automatically used our light theme as the base to build on. As of today, themes can be based on our default dark theme as well!

Not only that, @spacegaier added support for themes that can support both a Dark & Light mode in a single theme! This allows Home Assistant to select the dark or light mode of your custom theme automatically.

Screenshot of a custom theme supporting both light & dark mode Screenshot of a custom theme supporting both light & dark mode.

If you are a theme developer, you can find more information on how this works in the frontend documentation.

Oh, and of course, all your existing themes will still just work as before.

Collapsed attributes

Some entities provide quite a few attributes and those show up in the user interface. Most of the time, you don’t need to those and often contain technical data that only confuse or clutter.

To unclutter the more information entity dialog from these attributes a bit, the attributes will now show up collapsed into a bar and can be revealed with a click.

Screen recording of the collapsible entity attributes Screen recording of the collapsible entity attributes.

Time format settings

A couple of releases back, we added the possibility to select the number format that Home Assistant uses when showing numbers. Awesome! But… what about the formatting of time?

That question was raised a lot that release and many of you requested the same feature for time formatting, for example, if one prefers a 24-hour format.

Well, you can thank @spacegaier for this one:

Screenshot of new time format setting Screenshot of new time format setting.

You can find this new setting in your user profile.

Disable polling updates on any integration

One returning feature request, for many integrations, is adding controls for tuning the polling interval an integration uses.

For example, if an integration has an API that needs to be paid for and you don’t need too many updates, it can be a cost saver to use a slower polling interval.

Another often requested example is things like battery-powered devices, or maybe a device you only want to poll during the day and not during the night.

This release, we add support for disabling polling on every integration via the integration system options; for ALL integrations.

Screenshot of the system options of an integration showing the disable polling option Screenshot of the system options of an integration showing the disable polling option.

Wait? Disable polling?! Yes :)

So, there are many different requests on, for example, changing polling rates (also known as scan interval), but also requests for polling on a schedule, or, only based on other input (e.g., triggered by a motion sensor).

Therefore, we decided to provide the maximum flexibility for any use case you can come up with. Disabling polling makes Home Assistant stop polling automatically. However, you can use the homeassistant.update_entity service on those entities to trigger a poll for information.

This means, once you’ve disabled polling for an integration, you can create automations and completely customize when you poll that integration from that point on. All based on your own schedule, conditions or triggers.

Network integration

This release adds a new Network integration, created by @bdraco, to help other Home Assistant integrations to get the right information about your network.

It also provides you a single place to tell Home Assistant about your network. It is an advanced feature and thus will only show up if you have advanced mode enabled on your user profile.

You probably don’t need to change these settings, by default, Home Assistant will auto-detect the right configuration. However, if you have a more complex network configuration, with multiple network adapters or VLANs, you can now select the interface Home Assistant integrations should use.

Screenshot of new Home Assistant Network settings in the general configuration Screenshot of new Home Assistant Network settings in the general configuration.

Please note that this is a new feature that needs to be implemented/used by other integrations. At this point, not all integrations will honor these settings yet.

Other noteworthy changes

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

  • The Modbus has been receiving lots and lots of love from @janiversen, a big shout out to him for continuously improving it for the past weeks!
  • The Hue integration now supports push updates! Blazing fast response times if you are using that platform.
  • @balloob and @bdraco have been working on replacing date/time/timezone handling in Home Assistant. Right on time.
  • All services, for all integrations, now have updated information for their service calls. This means all service calls now have a nice new UI. Amazing job @tkdrob!
  • Support for the new colors modes is slowly expanding. This release Elgato, Z-Wave JS, KNX and MQTT have added support.
  • Sonos got some love from @mountainsandcode, @AaronDavidSchneider and @jjlawren. A lot of fixes and improvements, but also added support for controlling the state of the hardware buttons and controlling your Sonos alarms!
  • The developer state tools, now shows the name of the entity additional to the entity ID. Searching/filtering the list now supports wildcards (*). Thanks, @spacegaier!
  • Thanks to @PeteBa, there is now a recorder.purge_entities service that allows you to purge data from the recorder database for specified entities.
  • Watson TTS has added a bunch of new voices to choose from, thanks @demikl!
  • Ding dong! @bdraco added support for doorbell buttons to the HomeKit Controller integration.
  • BMW Connected Drive, now provides a bunch of sensors about your last trip. Thanks, @EddyK69!
  • @emericklaw added a new feature that allows you to duplicate a scene!
  • My Home Assistant now supports linking to the Ingress interface of an add-on!
  • Light templates now have support for effects, transitions and a bunch more properties, thanks to @jacekpaszkowski!
  • VeSync now supports Etekcity light bulbs, thanks @sdrapha.
  • The universal media player now supports overriding a lot of commands! Thanks for adding that @Drafteed!
  • @mdz continues expanding the SmartTub integration adding service to change filtration settings and snoozing reminders.
  • The Elgato integration now supports the new Elgato LED strips.
  • If you are into Oracle DB, @mciupak made sure our recorder can now use that.
  • Z-Wave JS integration now shows progress when adding or re-interviewing a device. Thanks, @cgarwood!
  • The Nexia integration now also supports controlling American Standard thermostat, added by @bdraco.
  • @Drafteed added support for changing channels on your LG NetCast TV, thanks!
  • @mib1185 ensured that the UX for counters and number helpers look nice!

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.6.1 - June 3

Release 2021.6.2 - June 4

Release 2021.6.3 - June 7

Release 2021.6.4 - June 11

Release 2021.6.5 - June 15

Release 2021.6.6 - June 20

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

This release has an unusual amount of backward-incompatible changes to report. Don’t worry, most won’t have a noticeable impact and are part of a cleanup effort. However, we do want to report them all, just to be complete and transparent.

Integrations that removed deprecated YAML import

The following integrations had deprecated their YAML import support in the past, and now removed it. Your YAML configuration has been imported into the UI configuration in previous releases.

If you still have one of the following integrations configured in your YAML configuration, you can now safely remove it from your YAML configuration.

Integrations that deprecated YAML import

The following integrations now deprecated importing YAML configuration into the UI. Your YAML configuration already has been imported into the UI and the YAML configuration can be safely removed.

The import functionality for these integrations will be removed in Home Assistant Core 2021.8. Using YAML configurations for these integrations will write a deprecation warning in the Home Assistant log files during this deprecation period.

Other backward-incompatible changes

Below is a listing of the other 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.

HTTP (using reverse proxies)

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

These warnings will become an error in Home Assistant 2021.7.

If you are using a reverse proxy, and see these warnings, 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.

(@frenck - #51332)

Custom cards

We upgraded our frontend to use Lit 2.0. During the beta we have noticed some custom cards or views are using LitElement and lit-html from our components.

This is not a recommended practice, and might now cause the custom card to break this release. If you encounter issues with a custom card, please report this issue with the custom card developer.

Additional information about this change and information for custom card developers on how to upgrade their card, can be found in our developer blog:

“Upgrade to Lit 2.0”

Custom integrations (custom_components)

As mentioned in every release since 2021.3, custom integrations will require a version key in their manifest file.

As of this release, if that version key is missing in the manifest, the custom integration will no longer be loaded.

For more details see our developer blog about it

(@ludeeus - #49916)

1-Wire

Support for OWFS has been dropped (obsolete since 0.117).

This part of the implementation did not conform to policy regarding 3rd-party libraries of Home Assistant.

(@epenet - #50121) (onewire docs)

Denon AVR

Alexa EqualizerController has been disabled for Denon AVR since it caused Alexa to be unable to discover any devices.

(@starkillerOG - #49628) (Alexa docs)

AVM FRITZ!Box Tools

Since in most cases, the amount of really wanted to be tracked devices is quite lower than the overall count of devices, device_tracker entities will be disabled by default. You need to specifically enable wanted device_tracker, even newly detected devices.

(@mib1185 - #50791) (fritz docs)

Blebox

Blebox light no longer supports the deprecated white_value, use rgbw_color instead.

(@emontnemery - #49562) (blebox docs)

Buienradar

Buienradar is now configurable via the UI and has deprecated support for the YAML configuration. Your existing YAML configuration will be imported once.

When you have a weather and sensor setup for same coordinates, they will be merged into one integration instance. Only one camera configuration will be imported.

Following things are changed:

  • The forecast key of the weather platform is deprecated, forecast data is fetched in the same API call and to be in line with ADR-0003, all available data is exposed.
  • Weather, sensor and camera domain are setup in one integration. For new entries, sensor and camera entities are disabled by default.
  • Dimension for camera images is fixed to 700 pixels.

(@RobBie1221 - #37796) (buienradar docs)

EE Bright Box

The integration library requirement has requirements that are conflicting with requirements of other integrations. The library maintainer hasn’t responded to our issues for 10 months.

The integration is therefore disabled until the library has been fixed and Home Assistant updated with a new library version.

(@MartinHjelmare - #51069) (ee_brightbox docs)

Epson

Epson integration doesn’t allow port set anymore. It uses port 80 and 3629 for communication.

(@pszafer - #45434) (epson docs)

Goal Zero Yeti

The 12V, AC, and USB binary sensors are now switches. You should update any automations and scripts that depend on these moved entities.

Before: binary_sensor.yeti_ac_port_status After: switch.yeti_ac_port_status

(@tkdrob - #48612) (goalzero docs)

HomeKit Controller

HomeKit Controller climate devices will change the reported temperature precision for their current_temperature attribute from whole degrees to 0.1 degree increments when the system is in Fahrenheit mode.

Automations which assume whole-number reporting precision may need adjustments.

(@jjlawren - #50415) (homekit_controller docs)

KNX

The create_temperature_sensors option for climate devices is now deprecated. Please use a template sensor instead.

This option created sensor entities out of climate configuration. This will not work anymore when sensor entities are also only generated from configuration.

(@farmio - #49638) (KNX docs)


The create_sensors option for weather entities is now deprecated. Please use template sensors instead.

This option created sensor entities out of weather configuration. This will not work anymore when sensor entities are also only generated from configuration.

(@farmio - #49640) (KNX docs)

Luftdaten

The unit of measurement for the Luftdaten pressure sensors has been adjusted from pascal (Pa) to hectopascal (hPa). The value is still the same, the unit displayed in Home Assistant was wrong and now corrected.

If you have automation or record data from this integration (externally), you might need to adjust to this change.

Modbus

The old configuration style for switches is no longer supported

# old configuration.yaml:
modbus:
    - name: "mymodbus"
      ....

switches:
    - name: "switch12"
       hub: "mymodbus"

# new configuration.yaml:
modbus:
    - name: "mymodbus"
       ....
       switches:
         - name: "switch1"

The new configuration style have changed, to secure against illegal configurations:

# before configuration.yaml:
modbus:
    - name: "mymodbus"
      ....
      switches:
          - name: "switch1"
             input_type: "holding"
             verify_state: false

# new configuration.yaml without verify:
modbus:
    - name "mymodbus"
       ....
       switches:
          - name switch1
             write_type: "holding"

# new configuration.yaml with verify:
modbus:
    - name: "mymodbus"
       ....
      switches:
        - name: "switch1"
           write_type: "holding"
           verify:

(@janiversen - #49386) (modbus docs)


scan_interval, if used, in any Modbus platform cannot be lower than 5 seconds. Adjustment is done automatically with a warning if needed.

Modbus timeout, if used, is automatically adjusted (with a warning) to not be higher than lowest scan interval - 1 second.

(@janiversen - #50363) (modbus docs)

MQTT

Peviously deprecated features of MQTT cover have been removed:

  • Using value_template to use for extracting position is no longer allowed an error will be raised if this configuration is used, Instead of using value_template, position_template should be used.
  • tilt_invert_state is removed, instead tilt_min and tilt_max should be used, error will be raised if this is found in configuration.

(@thecode - #50263) (MQTT docs)


If you use MQTT with the CloudMQTT broker service and have not configured a certificate for MQTT, you now need to adjust to the following:

mqtt:
  certificate: auto
  host: ... # all other info

(@balloob - #51112) (MQTT docs)

Network / Zeroconf

Network adapter configuration has moved to the UI. Users that previously used a custom zeroconf interface configuration may need to adjust the settings in the UI.

(@bdraco - #50874) (network docs)

Sonos

The device associated with Sonos speakers will report a different firmware version, switching to the more common formatted version number from now on.

(@jjlawren - #50861) (Sonos docs)

TensorFlow

Support for the TensorFlow integration is now deprecated on the Home Assistant OS, Supervised & Container installation types.

Support for it will be removed in Home Assistant 2021.7.

The use of the TensorFlow integration on the Home Assistant Core installation type, will remain available.

Tibber

Attributes for the Tibber Pulse sensor are removed and replaced by separate sensors.

Additionally the unique ID are changed, which might have caused changes to the entity IDs.

You need to to check you entities and automations and adjust them to these changes.

(@Danielhiversen - #50418) (tibber docs)

TP-Link Kasa Smart

This changes the behavior of turning a bulb when no parameters are defined. Turning on a bulb without additional parameters will now result in a “Last On” state rather than any sort of preset that may have been set in Kasa.

(@gabrialdestruir - #50334) (tplink docs)

Utility Meter

The last_reset state attribute of utility_meter sensors are now in UTC and stored as a string.

Automations and scripts accessing the last_reset state attribute may need to be updated.

(@emontnemery - #51067 #50851) (utility_meter docs)

Z-Wave JS

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

(@emontnemery - #49588) (zwave_js docs)


Users should update zwave-js-server to 1.7.0 or higher. If the official Home Assistant Z-Wave JS add-on is used, add-on version 0.1.23 and higher will include zwave-js-server 1.7.0.

(@MartinHjelmare - #51341) (zwave_js docs)

Farewell to the following

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

  • LIFX Legacy has been removed, use the LIFX integration instead. (@frenck - #50069)
  • N26 has been removed due to 3rd party API limitations. (@zhulik - #50292)
  • Spot Crime access to their API cannot be gained anymore. (@frenck - #50361)

All changes

Click to see all changes!