0.107: Multiple Lovelace Dashboards, adds helpers, new media player card

George F. Will once said: “The future has a way of arriving unannounced.”

Well, George, we don’t agree: Announcing the release of Home Assistant Core 0.107!

This release brings a crazy amount of awesome new features and beautiful improvements to the frontend.

Bye old State UI

As announced with 0.105, the old States UI is now removed from Home Assistant. If you are using Home Assistant for a year or less, you might not have an idea what it is, since the “new” Lovelace UI has been the default. It is the UI we used before Lovelace.

If you are up for a flashback, maybe it is worth reading the release notes for Home Assistant 0.7 were the revamped (and now removed) States UI was originally announced. Now exactly 100 releases later, it is time to say goodbye to the states UI that has been with us for a long, long time…

As we announced the deprecation of the old States UI in 0.105, not everybody seemed to be that happy about it. So we surveyed to see what one would miss from States UI and learned that it is mostly used as an overview of all entities (besides having a nice layout that can be made in Lovelace).

In this release, we bring you a Lovelace solution for that and added a bit more…

Hello multiple Lovelace dashboards

You are now able to create multiple Lovelace configurations, called: Lovelace Dashboards!

You can have a dashboard with your main layout, one that is auto-generated (like the old State UI), one for experimenting, one for admins, one for your wall-mounted tablet, etc.

And, yes, you can even mix and match multiple YAML mode managed Lovelace Dashboard, UI managed Lovelace Dashboards and auto-generated Lovelace Dashboards at the same time.

Screenshot of the new Lovelace configuration panel Screenshot of the new Lovelace configuration panel.

Each dashboard can be added to the menu sidebar as well, with a configurable title and icon. Furthermore, it is possible to limit access to a dashboard to admin users only.

An unlimited amount of dashboards can be created right from the UI in the new Lovelace configuration panel, and YAML dashboards can be set up in configuration.yaml, see the documentation.

This awesome new feature comes with a deprecation if you use Lovelace in manual YAML mode: You need to move the resources section from your ui-lovelace.yaml to the lovelace: section in configuration.yaml. It is not a breaking change yet; we still load them from the previous location if we didn’t find anything in the lovelace: section, however, this fallback is being removed in a future version.

If you manage your Lovelace via the frontend, we automatically migrate your resources. Please note that resources are not in the raw Lovelace configuration editor anymore, but in the Lovelace configuration panel.

New media player card

@zsarnett is back on the frontend team and is not planning on letting that happen unnoticed. He did a ton of work on the frontend and created a beautiful new media control card for Lovelace.

It is inspired by the media control widget in Android and changes color based on the artwork of the played media. We think it looks absolutely gorgeous!

Screenshot of the new Media Control Card Screenshot of the new Media Control Card.

Helpers Configuration Panel

When you create advanced automations, you often need a helper. Like a toggle, to save a state, or another input field. Until now, you always had to define them in YAML and are known as the input_* fields/integrations.

We now have a UI to add and manage these Helper elements; this allows non-expert users, or anybody that prefers the frontend to manage their system, to also access this functionality.

Screenshot of a helper configuration dialog Screenshot of a helper configuration dialog.

Thanks @Adminiuga, for implementing the backend features that made this frontend change possible! Not only that, if you prefer YAML, these changes made by @Adminiuga also made it possible to reload the input_* YAML configuration without restarting Home Assistant.

Improvements to Lovelace editing experience

@zsarnett changed the looks of our card picker, instead of a simple button to pick a card, you now get a live preview with your own entities. @thomasloven added a UI editor for the horizontal and vertical stack cards and the conditional card.

Screen recording of the new card picker and stack editor Screen recording of the new card picker and stack editor.

Other noteworthy changes

  • @Misiu added a UI to set the visibility per user for views.
  • Data tables, for example, the Entities configuration panel, are now lightning fast! Even on mobile 🚀.
  • The logbook had some speed improvements, thanks @KapJI!
  • @bdraco just went all-in on the August integration, making it a top-notch integration! Awesome job there!
  • Initial support for HomeKit enabled televisions and support for occupancy sensors was added by @Jc2k.
  • @tulindo added support for newer SamsungTV models.
  • Alexa now supports starting and cancelling timers, thanks to @Tho85.

New Integrations

New Platforms

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

  • Xfinity Gateway (Deprecated) - The Xfinity Gateway integration relies on web scraping and is deprecated, to be removed in Home Assistant Core 0.109. (ADR-0004) - (@frenck - #32017)

  • Groups - Groups are NOT being removed, but the configuration options, services, and service options related to the (previously deprecated and now removed) States UI are now removed in this release. This includes:

    • The view and control configuration options for a group.
    • The group.set_visibility service call
    • The control, visible, view options on the group.set service call

    Please ensure your configuration and automations do not use these anymore. - (@frenck - #32021) (group docs)

  • Input Number - Adds an entity ID to input_number warning. Passing an out of range value to input_number.set_value will now raise a validation error. Incrementing/decrementing an input_number will no longer cause warnings. - (@balloob - #32012) (input_number docs)

  • History Graph - The history_graph integration has been deprecated in Home Assistant 0.105 and is now removed. This integration was used for the old states UI, which is no longer available. A Lovelace an equivalent is available: The Lovelace History Graph. (@frenck - #32028)

  • Weblink - The weblink integration is was deprecated in 0.105.0 and now removed. This integration only works with the old states UI, which is no longer available. (@frenck - #32024)

    With Lovelace, the same can be achieved using:

  • Environment Canada - This integration was previously using web scraping for weather alert details. The details attribute has been removed to make it compliant. (ADR-0004) - (@michaeldavie - #32077) (environment_canada docs)

  • Units of Time - Time units have been standardized throughout all integrations. - (@springstan - #32065)

    If you were using a non standard unit in an automation or sensor please change it to the following:

    • μs for microseconds
    • ms for milliseconds
    • s for seconds
    • min for minutes
    • h for hours
    • d for days
    • w for weeks
    • m for months
    • y for years
  • HomematicIP Cloud - Migrates HomematicIP Cloud services to admin services. - (@SukramJ - #32107) (homematicip_cloud docs)

    The user needs to be in the administrator role to execute these HomematicIP Cloud services:

    • homematicip_cloud.dump_hap_config
    • homematicip_cloud.reset_energy_counter
  • HomeKit Controller - Support for HomeKit controller’s legacy pairing data folder .homekit has been deprecated and in Home Assistant Core release 0.109.0 we plan to remove this code. Pairings have not been saved this way since Home Assistant 0.94, so if you are running Home Assistant 0.94 or later this does not affect you - your pairings were already migrated to configuration entries. If you are running an older release and do not upgrade soon you will not be able to automatically migrate your existing pairings at upgrade time and will have to manually re-pair them. - (@Jc2k - #32158) (homekit_controller docs)

  • Automation - The hide_entity configuration option on an automation was deprecated in Home Assistant 0.105 and is removed in this release. It was used for the old states UI, which is no longer available, making this option obsolete. Please ensure your configuration is not using this option. - (@frenck - #32038) (automation docs)

  • IQVIA - When configuring IQVIA via configuration.yaml, the monitored_conditions key has been deprecated and will be removed in 0.114.0. All sensors are now created by default. (ADR-0003) - (@bachya - #32223) (iqvia docs)

    Example YAML configuration:

    iqvia:
      zip_code: !secret iqvia_zip_code
    
  • GitHub - The entity state has been changed to return the ‘short SHA’ commit hash, so automations based on latest_commit_sha should be adapted to that. - (@Mariusthvdb - #31581) (github docs)

  • AirVisual - AirVisual is now available to be added through the integrations UI! If you configure it in configuration.yaml you will need to update to the new configuration. Additionally, in order to protect the AirVisual cloud API, scan_interval in no longer configurable for this integration. - (@bachya - #32072) (airvisual docs)

    Example YAML configuration:

    airvisual:
      api_key: !secret airvisual_api_key
    
  • IFTTT - IFTTT now checks that received webhook data is a dictionary (example { "value": 1 }) to prevent Home Assistant internals from breaking. - (@balloob - #32317) (ifttt docs)

  • AlarmDecoder - AlarmDecoder integration now uses Honeywell’s Instant mode instead of Night-Stay for alarm_arm_night. Instant mode is generally thought to be more secure for night-time use because it disables the entry delay since visitors aren’t expected. - (@ajschmidt8 - #32292) (alarmdecoder docs)

  • Tibber - Upgraded Tibber library to 0.13.0 and some attributes have names which have changed. - (@Danielhiversen - #32369) (tibber docs)

    • currentPhase1 -> currentL1
    • currentPhase2 -> currentL2
    • currentPhase3 -> currentL3
  • REST - Add application/xml as an XML to JSON auto converted MIME types for rest sensors - (@bdraco - #32289) (rest docs)

  • Certificate Expiry - The name configuration option has been deprecated and is no longer used by the integration. An improved default entity & display naming scheme is provided. Name and entity_id overrides should be handled via the frontend. Configurations using name will marked broken with the 0.109 release. - (@jjlawren - #32066) (cert_expiry docs)

    Example YAML configuration:

    sensor:
     - platform: cert_expiry
       host: google.com
    
  • Plex Media Player - The ‘show all controls’ option for Plex is deprecated and will be removed in the Home Assistant Core 0.110.0 release. Also, discovery and legacy config file loading (plex.conf) has been removed. - (@jjlawren - #32391 #32510) (discovery docs) (plex docs)

    Example YAML configuration:

    plex:
     media_player:
       show_all_controls: True  <-- Deprecated
    
  • Abode - Abode retired its legacy automations and quick actions on 28 Feb. This change removes support for legacy automations and quick actions while adding support for CUE automations which will show up in Home Assistant as switches (same as previous implementation). Abode’s replacement for quick actions is manually triggered CUE automations which can be called through Home Assistant service abode.trigger_automation (previously labeled abode.trigger_quick_action). - (@shred86 - #32296) (abode docs)

  • deCONZ - The events on the Aqara Magic Cube have changed, so they will match with the device triggers discriptions. If you made automations for the Magic Cube on the device page, you will want to change your automation. If you configured your automations based on events from the developers tools, there is nothing breaking. This also fixes the double tap function on side 2, which didnt work if you configured it in the device page - (@Dorzel107 - #32108) (deconz docs)

  • Emoncms - The way the unit_of_measurement is set has changed to make use of the ability for this to be set in the source feed in Emocms. - (@borpin - #32042) (emoncms docs)

    The unit will now be assigned as follows:

    1. Take the unit from the API if it is available
    2. Otherwise take the unit from config, either specified or the default unit (W)
  • Vizio SmartCast TV - Adds app support. For TVs that support apps, ‘SMARTCAST’ and ‘CAST’ sources have been replaced with SmartCast Home. Any automations that rely on those sources will need to be updated. - (@raman325 - #32432)

  • Onvif - Added more onvif PTZ move modes. The onvif camera service camera.onvif_ptz has been moved from the camera domain to the onvif domain. onvif_ptz service was also renamed to ptz, so service calls need to be updated to onvif.ptz. - (@olijouve - #30152) (onvif docs)

    Example YAML configuration:

    - type: entity-button
        entity: camera.foscam
        icon: mdi:arrow-left-bold-outline
        show_name: false
        tap_action:
          action: call-service
          service: onvif.ptz
          service_data:
            entity_id: camera.foscam
            pan: LEFT
            tilt:
            zoom:
            move_mode: ContinuousMove
            continuous_duration: 0.8
            distance: 1
    
  • Facebook Messenger - On October 29, 2019 Facebook announced a breaking change that all broadcast API will stop working on March 4th, 2020, so BROADCAST as a target option is now removed. - (@chmielowiec - #32517) (facebook docs)

  • Samsung Smart TV - Adds support for newer SamsungTV models. Specifying the port in configuration.yaml is no longer needed and thus the port config option has been deprecated. - (@tulindo - #31537) (samsungtv docs)

  • Netatmo - The unreliable binary sensors are removed since they don’t provide much value due to their polling nature. To trigger automations it is recommended to use the event netatmo_event. - (@cgtobi - #32673) (netatmo docs)

    Example trigger for automations:

    trigger:
      - event_data:
          type: movement
        event_type: netatmo_event
        platform: event
    
  • DirecTV - DirecTV is now available to be added from the integrations UI. The concept of device has been removed and now the DirecTV receiver, and all client devices, are added. There is no longer a port option as the default port should work just fine. The name can be set via entity UI rather than name option. - (@ctalkington - #32162) (directv docs) (directv docs)

  • iCloud - iCloud family devices are no longer added automatically. Use the with_family configuration option or re-add the integration via the frontend, in case you do want to make use of the iCloud family devices. - (@Quentame - #32644) (icloud docs)

  • Device Tracker - The hide_if_away configuration parameter has been removed for all device trackers. This option was used to hide devices trackers from the UI if the device was not at home. This applied to the old States UI, which now has been removed. - (@frenck - #32705) (device_tracker docs) (breaking change) (beta fix)

  • Sonos - Sonos devices will now report idle instead of paused if they do not have any current artist metadata available. This can happen when you were playing Spotify on your Sonos and use the Spotify app to play on another device. - (@balloob - #32712) (sonos docs) (breaking change) (beta fix)

Beta Fixes

Release 0.107.1 - March 18

Release 0.107.2 - March 20

Release 0.107.3 - March 20

Release 0.107.4 - March 20

Release 0.107.5 - March 21

Release 0.107.6 - March 24

Release 0.107.7 - March 25

All changes