0.109: New integrations page and weather card, frontend lost weight.

Last week we wrote about the future of YAML. It raised quite a bit of additional questions, so Phil and Rohan released a special edition of the Home Assistant Podcast. In this episode, they talk with Paulus about the changes announced.

Click here to listen to the Podcast

Home Assistant Core 0.109!

This release ships a lot of work that is not directly visible for the eye. We have seen a lot of bug fixes, stability improvements and quality improvements, which is really awesome! There’s more to this than meets the eye.

A new integration configuration page

Let’s start with something visible to the eye. As part of our configuration layout overhaul, we started work on the integration page. The screen now shows cards for every configured integration, and links to a filtered device and entities pages instead of providing its own detail page with devices, options and entities.

All options are now on the same card. And, you can now also rename an already set up integration instance.

Screenshot of the new integration page Screenshot of the new integration page.

Don’t the new logos look beautiful? A big thanks to all the people, who have been working hard to complete our collection of logos and icons the past few weeks. Almost 700! contributions have been processed!

Thanks to everybody for contributing, that is amazing! Special thanks to these champs who did most of the heavy lifting: @adrianmihalko, @BradleyFord, @Klumper, @nldroid, @samrdev! 🥇

As for the next steps in future releases; we will add search, group multiple entries of the same integration and add specific functions for integrations like ZHA.

New weather card

To accompany our new weather row design, @zsarnett redesigned the weather forecast card. It is cleaner and works better on smaller screens. It also allows you to hide the weather forecast.

Screenshot of the new weather forecast card Screenshot of the new weather forecast card.

Weight loss for the frontend

The Home Assistant has a translations system, which is great since it allows one to use Home Assistant in the language one prefers.

However, it came with a performance penalty. All translations were downloaded each time. All of them. This is, of course, highly inefficient. With all the new frontend features added and the integrations that now comes to the UI, it slowly is becoming a bigger issue.

For this release, @balloob worked hard to make this more efficient and as of this release, the frontend will only fetch the translations it needs. This makes the frontend load less data, and thus lighter for the browser.

Did you know you can help out translating Home Assistant?

There is no need to learn git or anything. It can be done straight from your browser! Read more about helping out translating Home Assistant on our developers website.

Detection of blocking I/O in the event loop

This is a bit technical, but some things happening in Home Assistant, like fetching data from an API or website, can lock up Home Assistant for a small moment, if not done correctly. Until now, this has been hard to detect.

This release adds logic in the core of Home Assistant that is able to detect if an integration does one of those blocking calls and writes a messages to the logs.

Screenshot of an example log entry Screenshot of an example log entry.

If you see such a message in your logs, please report the issue on our GitHub so we can fix those cases. If a custom component causes the log, it should be reported with the author of that custom integration.

By addressing these issues, we are able to greatly improve the performance, responsiveness and stability of Home Assistant.

Other noteworthy changes

  • @timmo001 Added the possibility to search in the Lovelace card picker.

Screenshot of the search added to the card picker Screenshot of the search added to the card picker.

  • There is now MQTT debug information on the device page of an MQTT device, awesome work @emontnemery!

  • @frenck re-introduced support for transitions in scenes. Both the scene.turn_on and scene.apply services now accept a transition option to make your scene transition on lights look smooth as butter. An example use is added to the documentation.

  • HomeKit got love from @bdraco. He has been squashing bugs, improving the overall stability and added support for Vacuums. Also, pairing with HomeKit now shows the easy to scan QR code, which makes it easier to set up.

  • @Kane610 really went out into making the UniFi integration perfect. A lot of adjustments and improvements. Thanks!

  • The iRobot Roomba integration now supports Braava too! Thanks @shenxn!

New Integrations

New Platforms

Integrations now available to set up from the UI

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

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

  • Flu Near You - This integration is now available to be added from the UI. The monitored_conditions setting has been removed. You will need to reconfigure your existing YAML integration. - (@bachya - #32858) (flunearyou docs)

  • Synology DSM - This integration is now available to be added from the UI. It has been renamed from synologydsm to synology_dsm. Discovery support has been added and the name configuration key has been removed. - (@Quentame - #32704) (@bdraco - #33729) (synology_dsm docs)

    Example YAML configuration:

    synology_dsm:
      - host: XXX
        username: XXX
        password: XXX
    
  • UniFi - Site ID has been removed from device tracker state attributes since integrations and entity can only belong to one site and it is already known. - (@Kane610 - #32817) (unifi docs)

  • National Weather Service (NWS) - YAML configuration is no longer supported for NWS integration, configuration is now done through the UI. Two entities are now created for each configured entry, one for daynight and one for hourly. The mode option is no longer needed and name option is no longer supported. - (@MatthewFlamm - #34267) (nws docs)

  • Withings - Withings sleep state has been removed as it does not work as intended anymore. Withings only provides historical data for this API endpoint and getting recent data is rare. This results in wildly inaccurate state reported by Home Assistant. - (@vangorra - #33817) (withings docs)

  • Slide - This integration was previously using the wrong inverted percentage of open/close. A new invert_position fallback option has been added and the 5% offset to round it off as open/close has been extended to 15%. Now it lines up with Home Assistant standards, which makes HomeKit work out of the box. - (@ualex73 - #33739) (slide docs)

  • Roomba - This integration can now be added from the integrations UI and provides additional sensors! You will need to reconfigure your existing YAML configuration. Please see the documentation for more details. - (@Cyr-ius - #33302) (roomba docs)

    Example YAML configuration:

    roomba:
    - host: IP_ADDRESS_OR_HOSTNAME
      blid: BLID
      password: PASSWORD
    
  • UV Sensors (various) - Some UV sensors in the integrations Metoffice, OpenUV, Rfxtrx and Tellduslive did not have a generalized unit of measurement. However, after this change these sensors now have the unit of measurment UV index. This can be a breaking change if you display this kind of sensor in external systems such as influxdb, for example. - (@springstan - #34055) (metoffice docs) (openuv docs) (rfxtrx docs) (tellduslive docs)

  • Ecobee - Ecobee now uses HVAC mode heat_cool instead of auto, which is reserved for when the user has no control over the temperature. In Ecobee this was not the case and the user has control over the temperature. - (@balloob - #34193) (ecobee docs)

  • Air Quality (various) - Some air quality entities did not have the unit_of_measurement property set. Now all air quality entities have the appropriate unit_of_measurement µg/m³ set. This can be a breaking change if you display this kind of sensor in external systems such as influxdb, for example. - (@bieniu - #33304) (air_quality docs) (xiaomi_miio docs)

  • SmartThings - This change removes the need (and ability) to use the SmartThings Classic mobile application to install the Home Assistant SmartApp. Going forward, the SmartThings integration setup is completed entirely through the web. This only changes how the integration is setup and not any functionality once setup. - (@andrewsayre - #34163) (smartthings docs)

  • Sony Bravia TV - Configuration of new instances will only be possible through Integration due to the lack of the bravia.conf file, which is necessary for YAML configuration. Existing instances will be imported into config_entry. ignored sources has been added to the options and the missing device_class property has been added to the entity class. - (@bieniu - #33774) (braviatv docs)

  • eQ-3 MAX! - Custom vacation preset is replaced with standard away. Additionally, manual preset is removed in favor of HVAC mode heat. This might affect your scripts, templates or automations. - (@leppa - #28845) (maxcube docs)

    Other improvements:

    • It wasn’t possible to return to automatic (scheduled) operation after switching to manual preset. none preset was added, which switches thermostats to automatic (scheduled) operation.

    • Manual preset was removed. HVAC mode Heat now switches thermostats into manual mode.

    • hvac_action is implemented, based on the valve position: if it’s open (position higher than 0), we assume that hot water is flowing and heating is active. Else, the thermostat is in Idle mode. For wall thermostats, if at least one thermostat in the room has its valve open, then heating is active.

    • Support for Comfort, Eco, Off and On modes was added. Comfort, Eco and On are exposed as presets and switch thermostats into manual mode with corresponding temperatures, programmed on the thermostats. Off corresponds to HVAC mode Off.

    • Valve position is exposed as state attribute.

  • Recorder - The recorder configuration purge_interval has been deprecated. The recorder database is now purged every night. This can be disabled with the new auto_purge configuration though that is usually not recommended. - (@amelchio - #33646) (recorder docs)

  • USCIS - The USCIS now uses name instead of friendly_name in its YAML configuration. You will need to adjust accordingly. - (@chrisrosset - #33431) (uscis docs)

  • Panasonic Viera - This is now its own integration and is available through the integrations UI. You will need to reconfigure your existing YAML integration. - (@joogps - #33829) (panasonic_viera docs)

    Example YAML configuration:

    panasonic_viera:
      host: 192.168.1.10
    
  • HomeKit Controller - Support for homekit_controller’s legacy pairing data folder .homekit has now been removed. This has not been how pairings are saved since Home Assistant 0.94. If you are running Home Assistant 0.94 or later this does not affect you as your pairings were automatically migrated to the new scheme already. If you are running an older release then you will need to re-pair after upgrading. - (@Jc2k - #34333) (homekit_controller docs)

  • Add Islamic Prayer Times - Islamic Prayer Times is now its own integration and can be added using the Integrations UI. You will need to reconfigure your existing YAML configuration. All sensors will display the prayer times as per the selected calculation method. Changing the calculation method will update all sensors with new prayer times. - (@engrbm87 - #31590) (islamic_prayer_times docs)

    Example YAML configuration:

    islamic_prayer_times:
      calculation_method: makkah
    
  • AVM FRITZ!Box - This integration is now available to be added from the UI. YAML configuration has been deprecated and should no longer be used, as it will be removed in one of the next releases. - (@escoand - #31240) (fritzbox docs)

  • Plex - Configuring Plex via YAML is now deprecated and will be removed in Home Assistant Core 0.111. Configuration is now done through the UI.- (@jjlawren - #34546) (plex docs)

  • Google Cast - Connecting to Cast devices now depends on mDNS even when IP addresses of the Cast Devices are manually entered.- (@emontnemery - #33922) (cast docs)

Farewell to the following

  • Pushetta
  • Yahoo Weather

Pushetta has been offline since September 2019 and the Yahoo Weather API has been discontinued. - (@frenck - #34497 #34501)

Release 0.109.1 - April 30

Release 0.109.2 - May 1

Release 0.109.3 - May 2

Release 0.109.4 - May 4

Release 0.109.5 - May 6

Release 0.109.6 - May 7

All changes

Click to see all changes!