0.104: Sentry, Signal Messenger, IntesisHome, Sure Petcare, KEF

Comments

The first release of the new decade! Happy New Year!

We are starting this new year with a packed release! So let us dive in!

Improved entity handling on startup

We are now restoring all entities, stored in the registry, on Home Assistant startup.

During the startup of Home Assistant, all your configured integrations are loaded. Each of those integrations results in one or more devices and entities. However, there was a catch!

The loading of some integrations could take a while, which caused some entities not to be available immediately. Sometimes, this affected multiple things, like missing devices in HomeKit/Google/Alexa or those big red boxes in our Lovelace UI. We are sure, at some point, we’ve all experienced that.

As of this release, all these entities, if registered in our entity registry, will be restored as “unavailable”. That allows other parts of our system to use them immediately, solving a lot of common issues during startup.

These restored entities can be differentiated from normal “unavailable” entities by an additional state attribute added to those entities: “restored”.

Screenshot of a removing an unavailable entity Screenshot of a removing an unavailable entity.

As a result, entities will no longer “disappear”, so restored and unavailable entities are removable, as shown in the screenshot above. Please note that, if an integration provides an unavailable entity, the providing integration needs to be removed first, or else, those entities can not be deleted.

Ignore discovered devices & services

Got that one device that gets discovered over and over again?

It is now possible to ignore a specific discovered device with a single click!

Screenshot of a discovered Hue bridge Screenshot of a discovered Hue bridge.

It requires the integration to be updated to support this. For this release, the Hue, Axis, deCONZ, WLED and HomeKit integrations are updated to support this new feature.

Reload all the input things & bye generated groups

All input_* integrations now have a reload service to reload your YAML configuration for these integrations, without the need to restart Home Assistant.

Furthermore, time to say bye-bye, to all generated entity groups (group.all_*). Chances are, you have never heard of those because they were hidden. However, if you rely on those groups for your automations, you need to adjust those automations. Check out the backward-incompatible changes section for more information.

Add a device to Lovelace

We added a button to the device page to add all entities of a device to Lovelace in a blip! Home Assistant suggests cards based on the type of entities the device provides so that you can add them to a view of your choice instantly.

If you are using Lovelace in YAML mode, you still can use this new feature. The generated YAML can be copied and pasted into your configuration file.

Screenshot of a card suggestion for a light device Screenshot of a card suggestion for a light device.

This same functionality is also added to the unused entities page of Lovelace.

Multi-select entity management

Entity management has never been easier; It now allows for changing multiple entities at once. Select multiple entities and remove, enable or disable them with one click.

Screenshot of the entities configuration page with multi selection Screenshot of the entities configuration page with multi selection.

ZHA configuration panel improvements

@dmulcahey did a lot of work on the ZHA config panel this release.

The navigation for the ZHA configuration panel has been redesigned to provide a better user experience on mobile and desktop.

As part of the redesign, full Zigbee group management has been added, allowing you to create and manage Zigbee groups right from the UI.

Screenshot of the ZHA configuration panel Screenshot of the ZHA configuration panel.

In a future releases, the ability to bind devices directly to groups, will be added as well.

Removing your Lovelace configuration

Want to start your Lovelace configuration from scratch? Or go back to the automatically generated Lovelace interface?

Now you can by clearing the Lovelace configuration in the raw configuration editor and saving it.

Screenshot of the remove Lovelace confirmation dialog Screenshot of the remove Lovelace confirmation dialog.

In other news

Meanwhile, HassOS 3.8 got released!

Besides the release of HassOS 3.8, the first beta version of HassOS 4.0 is now available as well. This beta release adds support for Hardkernel’s ODROID-N2!

The ODROID-N2 is a great and powerful alternative for the Raspberry Pi.

Custom now playing poster Lovelace card

Brad Crc made this impressive demo of setting up a custom now playing poster card in Lovelace floor plans. This allows you to show currently playing media in your floor plan!

Bas showing his Lovelace theme on his setup

Bas Nijholt kept seeing his own theme popping up on Reddit, so he decided it was time for him to show off his Lovelace dashboard, featuring this lovely theme.

I keep seeing my own theme on Reddit, so now it's my turn! [OC] from r/homeassistant

His theme is publicly available on GitHub and so is his config.

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, that is helping us a lot!

Backward-incompatible changes

  • Default groups - Entity integrations will no longer automatically maintain the hidden groups with all of their entities. The following groups are no longer automatically created and maintained:

    • group.all_automations
    • group.all_covers
    • group.all_devices
    • group.all_fans
    • group.all_lights
    • group.all_locks
    • group.all_plants
    • group.all_remotes
    • group.all_scripts
    • group.all_switches
    • group.all_vacuum_cleaners
    • group.calendar
    • group.remember_the_milk_accounts

    The automation and script configuration panels are updated to show and manage all automations/scripts. If you want to show cards in your Lovelace UI with all entities for a single domain, use the auto-entities card. If you want to target all entities in a service call, use all as value for entity_id.

    (@balloob - #23789) (automation docs) (calendar docs) (cover docs) (device_tracker docs) (fan docs) (light docs) (lock docs) (plant docs) (remember_the_milk docs) (remote docs) (script docs) (switch docs) (vacuum docs).

  • Hue - Hue will no longer import existing authentication from disk. It has not written this authentication to disk since March 2018. The config option has been deprecated and will be removed in 0.106. (@balloob - #30000) (hue docs)

  • deCONZ - Due to changes to configuration handling, deCONZ groups will be assigned new identifiers in Home Assistant. As a result, deCONZ groups will be duplicated. Remove any group devices from the registry prior to upgrading or alternatively delete the obsolete entries after the upgrade to eliminate the duplicates. ([#30875]) (deconz docs)

  • UPnP - UPnP/IGD units of measurement have been aligned with other integrations and common uses, they’re now kB and kB/s instead of kbyte and kbyte/sec respectively. - (@scop - #29552) (upnp docs)

  • Worx Landroid - The worxlandroid sensor has been changed to not return the hardcoded state values manual-stop, charging, charging-complete, going-home, mowing, instead use the states given from the Landroid to Home Assistant.

    This includes the state idle, which means that something is broken with the mower. You can use this as a notification to check the physical state of the mower.

    You need to update any automations that depend on the state of the sensor.

    (@geraldhansen - #27453) (worxlandroid docs)

  • Apple iCloud - The iCloud component is no longer part of the device tracker platform and is now an integration, which is configurable via the UI. The iCloud cookie folder moved from [HA_dir]/icloud to [HA_dir]/.storage/icloud.- (@Quentame - #28968) (icloud docs)

  • Pi-hole - The default value for host is removed, and now must be specified manually. - (@johnluetke - #27569) (pi_hole docs)

    Example configuration:

    pi_hole:
      - host: pi.hole
        ssl: false
      - host: backup.pi.hole
    
  • HERE Travel Time - HERE has deprecated the usage of app_code and new users can only generate an api_key. If you are already using HERE Travel Time, you have to follow the migration guide to retrieve the, now required, api_key. - (@eifinger - #29966) (here_travel_time docs)

    Example configuration:

    sensor:
      - platform: here_travel_time
        api_key: "YOUR_API_KEY"
        origin_latitude: "51.222975"
        origin_longitude: "9.267577"
        destination_latitude: "51.257430"
        destination_longitude: "9.335892"
    
  • ZHA - The default divisor for active_power has changed. Now, multiplier and divisor both default to 1 if the device does not support these attributes or when getting those attributes from the device fails. - (@Adminiuga - #30130) (zha docs)

  • Keba - The unique_ids of the entities have changed and are now more future proof. The default name and entity_id of the entities have also changed. You need to clear stale entries from the entity registry and update concerned automations and scripts. - (@dannerph - #30125) (keba docs)

  • Tesla - Config flow has been added for Tesla. Device tracker entity names have changed due to this. They now follow the naming convention of the rest of the Tesla entities. The id device tracker entity attribute was also removed because it is a duplicate of trackr_id. - (@alandtse - #28744) (tesla docs)

  • Huawei LTE - The Huawei LTE notify service name is now configurable. The default name for the Huawei LTE notify service has changed to notify.huawei_lte to avoid conflicts with other notify services. An option to provide a name for the service has also been added. - (@scop - #30208) (huawei_lte docs)

    Example configuration:

    huawei_lte:
      - url: ...
        password: ...
        notify:
          name: sms
    
  • Amcrest (Removed) - Amcrest sensors and switches that were deprecated in previous releases have now been removed. - (@pnbruckner - #30308) (amcrest docs)

    Example configuration:

    amcrest:
    - ...
      sensors:
        # This sensor type is no longer supported and must be removed.
        - motion_detector
      # All switch types are no longer supported and must be removed.
      switches:
        - motion_detection
        - motion_recording
    
  • MQTT - Added separate command and state topics for the MQTT lock. Two new properties are introduced with state_locked (default: LOCKED) and state_unlocked (default: UNLOCKED). If you are using the same topic as state_topic as for the command_topic you can reestablish the old behavior by setting state_locked to LOCK and state_unlocked to UNLOCK. Effectively, this change allows you to distinguish commands and states in two topics with different values. - (@tuxbox - #29808) (mqtt docs)

    Example configuration:

    lock:
      - platform: mqtt
        command_topic: "/dev/ha/lock/cmd"
        state_topic:   "/dev/ha/lock/state"
        value_template: ""
        state_locked: "locked"
        state_unlocked: "unlocked"
    
  • LG webOS Smart TV - The component setup now uses the webostv domain instead of media_player. The host configuration option is now required and the timeout and filename options have been removed. The state handling for webOStv has also been cleaned up. An entity will have on when the tv is on instead of playing or paused as was previously the case. You need to update automations that depend on the entity state. - (@bendavid - #29296 #30416) (webostv docs)

    Example configuration:

    webostv:
        name: LG TV
        host: 192.168.1.53
        #other settings
        turn_on_action:
            service: wake_on_lan.send_magic_packet
            data:
              mac: "00:00:00:00:00:00"
        standby_connection: true
    
  • Axis - Axis integration will no longer accept manual configuration of devices, all configuration of the Axis integration will now be handled from the integrations panel. - (@Kane610 - #30365) (axis docs)

    TL;DR This will no longer work:

    axis:
    
  • WLED - Improved WLED pure white support for RGBW LED strips. When using WLED with RGBW strips, setting the color in Home Assistant to white, will turn off the RGB LEDs of the strip and use the W channel only. - (@frenck - #30477) (wled docs)

  • Timer - Fire restarted event on restarting an active timer. This can break automations that should trigger on every timer start event. - (@mnigbur - #30475) (timer docs)

  • Vizio - Removed suppress_warning from configuration options for Vizio integration. The pyvizio package now suppresses insecure HTTPS request warnings in a way that doesn’t affect global requests from other integrations or Home Assistant itself. There is no need to globally suppress insecure warnings now. - (@raman325 - #30536) (vizio docs)

    Example configuration:

    media_player:
      - platform: vizio
        host: "<IP>:<PORT>"
        access_token: "<AUTH_TOKEN>"
        device_class: tv
    
  • RFXtrx - Bump pyRFXtrx to 0.25. This update switches the commands for open and close for RFXtrx covers of the “Rollertrol” type, as they were switched (clicking open resulted in closing of the cover and vice versa). Existing automations should be updated. - (@Ernst79 - #30566) (rfxtrx docs)

  • Ring - Ring is now configurable via a config entry. This means it will no longer store the username and password and you’re able to configure accounts that use 2FA. It’s no longer possible to set scan interval, monitored conditions or FFmpeg arguments. The defaults are used. - (@balloob - #30564) (ring docs)

  • Binary Sensor (Locks) - Updated ON/OFF condition and triggers to match the documentation and UI. This change inverts the logic of automations relating to binary sensor with the lock device class, but only for automations triggering on the lock state (rather than triggering a lock/unlock action).

    If you already created automations, you will need to check those, as they probably need to be inverted. The text displayed in the trigger or condition dropdowns in Lovelace will now be correct.

    One possible scenario is if you have set an automation using the state of one lock to trigger an action on other lock(s). This change would cause the action to trigger on locking if it was previously triggering on unlocking. - (@davet2001 - #30663) (binary_sensor docs)

  • Google Assistant - The api_key for manual installs is now deprecated and will be removed in 0.105. To correct this you will need to remove api_key from the configuration.yaml and switch to using service_account instead. - (@elupus - #30402) (google_assistant docs)

Beta Fixes

Release 0.104.1 - January 16

Release 0.104.2 - January 17

Release 0.104.3 - January 21

All changes