0.116: Entities card row editor, restore snapshots and performance metrics


Home Assistant Core 0.116!

So, how have you been? Fully processed the massive 0.115 birthday release yet?

Honestly, I haven’t. There was soo much in 0.115, and to me, it feels like that release was yesterday. 😅

So, today, a nice size, manageable release that brings some smaller things to the table. Lots of fixes, UI tweaks and improvements; hopefully a smooth sail!

The biggest changes can be found in the Supervisor. @ludeeus has been smashing on his keyboard to add the option to upload and restore snapshots during onboarding. A much-upvoted WTH. As a bonus, he also added performance metrics to the Supervisor UI. Nice work!

As always, enjoy the release!


Entities card editor

You can now edit the entity rows of your entity card. That means you can not only set an entity id, but also set the name, icon and secondary info.

Screenshot of the new editor for the entity card. You can now edit the entity row; adjust the name, icon and secondary info.

Also, using special rows will no longer force you use the YAML editor, however, you you can still use the UI editor and edit the special rows. UI editors for the special rows will come in the future.

User and person management combined

We combined the user and person UI, this means that the user configuration panel will only be visible for users that have advanced mode enabled.

The person detail dialog now has a toggle that allows you to give the person access to Home Assistant. If you toggle it on, you can set a username and a password for the person. If you toggle it off, the user will be removed.

This makes it easier to manage the people in Home Assistant, everything in one place.

Screenshot of the person "allow to login" option. The person edit dialog now has a toggle to allow a person to log in.

Restore snapshots

You can now upload snapshots from the UI and restores them. You can do this in the supervisor UI in the snapshots panel. But you can also do this during onboarding!

Screen recording of restoring a snapshot during onboarding. Screen recording of restoring a snapshot during onboarding.

This means you no longer have to set up Home Assistant, add and set up the Samba add-on to then restore your snapshot. Instead, you can just select your snapshot in the first step of the onboarding and it will be restored.

This makes moving to another system a breeze!

Performance metrics in the Supervisor UI

The Supervisor now shows performance metrics in its UI, so you’ll have a better idea of how much resources are used. Thanks @ludeeus!

Screenshot of the new Supervisor performance metrics. Supervisor UI now shows performance metrics.

H.265 stream support for Android

@uvjustin added support for H.265 streaming in the Android app, it will use a native video player that is shown on top of the Home Assistant UI. This player will only work in the more info dialog, and can not be used In Lovelace cards.

Automation editor has now weekday support

@misiu added a nice feature to the automation editor. Using a time condition in the UI, now has the ability to select the weekdays the condition should test against.

Screenshot of the new weekday conditions. You can now select the days to match in time conditions.

Python 3.7 deprecated

Python 3.9 has been released on 5 October. This means that Python 3.7 support is now deprecated and will be removed after two months (which will be effective in 0.118).

This is only a concern if you are running Home Assistant Core directly on Python. You can check the Python version Home Assistant uses by going to the information screen in Configuration -> Info.

If you run Home Assistant OS, Supervised or Container, you don’t have to worry about this, as the Home Assistant project takes care of this for you. As a matter of fact, if you use one of those methods, you are already running Python 3.8.

We are currently working on ensuring Python 3.9 is fully supported and tested.

Other noteworthy changes

  • MQTT now supports tag scanning, thanks to @emontnemery.
  • The Hyperion integration had a large overhaul by @dermotduffy, ensuring this integration now actually works!
  • @Misiu ensured the OpenWeatherMap integration supports all languages it can provide.
  • The utility meter now supports a bi-weekly cycle, thanks to @hareeshmu.
  • @timkoers added uptime sensors for network clients to the UniFi integration.
  • The Shelly integration now shows power and energy sensors for roller mode devices, thanks to @firstof9.
  • You can now filter history by using glob matching filters. For example, you can now exclude sensor.*_temperature from being recorded. Thanks @bdraco!
  • deCONZ has a new option; You can now disable the automatic addition of new devices. Furthermore, @Kane610 also added a service to clean up up orphaned devices. Thanks!

New Integrations

We welcome the following new integration 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 0.116.1 - October 8

Release 0.116.2 - October 9

Release 0.116.3 - October 15

Release 0.116.4 - October 15

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.

Custom Lovelace Cards

This release contains backward-incompatible changes for custom card developers, check the developers blog for more information.

If you have a custom card that stopped working this release, please report this with the custom card author.


YAML support for AlarmDecoder has been removed in favor of UI configuration. Additionally, the panel_display option has been removed and the alarm display sensor will always be created with AlarmDecoder now. Please see the updated AlarmDecoder documentation for instructions on how to set up AlarmDecoder via the UI.

(@ajschmidt8 - #37998) (alarmdecoder docs)


State conditions with attribute specified: When testing against a non-string attribute value, you now need to specify the value in your configuration in the same type as it is in the attribute (instead of as a string).

(@balloob - #41261)


Canary is now available for configuration via the UI. This also means it’s no longer configured in YAML. Existing configurations should be automatically transitioned to configuration via UI. You can safely remove you Canary YAML configuration after ugprading. YAML support will be fully removed in Home Assistant 0.118.0.

(@ctalkington - #40055) (canary docs)

HomeKit Controller, Plant, SmartThings, Xiaomi

Some integrations (homekit_controller, plant, smartthings and xiaomi_miio) previously used lux as their unit of measurement for entities that covered illuminance. Now, these entities use lx as their unit of measurement to be consistent with other integrations.

This could be a breaking change for using such entities in, for example, influxdb.

(@springstan - #40171)


Fixes the Hyperion Integration to work with the current Hyperion-NG release. Refactors to rely on the hyperion-py client.

The default_color, hdmi_priority and effect_list parameters no longer have any effect. Instead, users should use light profiles as default color.

The effect_list is now automatically populated.

The hdmi_priority parameter no longer make sense with Hyperion-NG and will be removed in a future release.

(@dermotduffy - #39738) (hyperion docs)


We changed the way how we handle binary sensors in the underlying library. It is no longer possible to support automations based on the binary_sensor schema. Instead, you can use the new counter state attribute for any given KNX binary sensor.

Before this change:

-  name: cover_abstell
   state_address: "2/0/33"
     - counter: 1
       hook: "on"
         - entity_id: cover.sonne_abstellkammer
           service: cover.open_cover
     - counter: 1
       hook: "off"
         - entity_id: cover.sonne_abstellkammer
           service: cover.close_cover

After this change:

# binary_sensor.yaml
- name: cover_abstell
  state_address: "2/0/33"
# automation.yaml
  - alias: "Binary sensor test counter=1 on"
      platform: numeric_state
      entity_id: binary_sensor.cover_abstell
      attribute: counter
      above: 0
      below: 2
      - condition: state
        entity_id: binary_sensor.cover_abstell
        state: "on"
      - service: cover.open_cover
          entity_id: cover.sonne_abstellkammer

  - alias: "Binary sensor test counter=1 off"
      platform: numeric_state
      entity_id: binary_sensor.cover_abstell
      attribute: counter
      above: 0
      below: 2
      - condition: state
        entity_id: binary_sensor.cover_abstell
        state: "off"
      - service: cover.close_cover
          entity_id: cover.sonne_abstellkammer

If you intend to use the counter feature (counter > 1) make sure you also enable ignore_internal_state (default: true) for your binary_sensor and set the new context_timeout attribute to the time in between you want it to react to your sensor clicks (defaults to 1 - which should be fine). Otherwise, the counter will not work correctly.

(@marvin-w - #40304) (knx docs)


Message and domain are now removed from the logbook state_changed events.

These are now handled by the frontend as we move closer to making the logbook localized.

(@bdraco - #40070) (logbook docs)

Material Design Icons

The Material Design Icons are updated to v5.6.55, the mdi:scooter icon is replaced by a new icon, the old icon is available as mdi:human-scooter


Lights using the Pilight integration will now turn on to the last used brightness instead of its maximum brightness.

If you want to retain you lights turning on to its maximum brightness you can set the default intensity in the light_profiles.csv file.

The steps to set this up:

  1. In the your main config folder (where you’ll find configuration.yaml) create a new file called light_profiles.csv.
  2. For each of lights add an line with its entity id and the brightness you want, as a value from 0 to 255.



(@daniel-jong - #39549) (pilight docs)


The Synology integration is now deprecated. You should now use the Synology DSM instead. Support for cameras has been added to the Synology DSM integration making it a full replacement.

(@shenxn - #39958) (synology docs)

System Monitor

Not really a breaking change, since the overall logic did not change. Arguments that were previously mandatory for sensors of this integration are still mandatory and optional arguments remain optional.

However, we now enforce those mandatory arguments to be present, since otherwise this integration creates entities that cannot do anything, e.g., the sensor for IPv4 addresses cannot do anything if no network interface is specified from which to take the IP.

If the integration fails to load, check the log to see which arguments are missing in your configuration. The documentation also has been updated to clearly show which arguments are mandatory.

(@spacegaier - #39687) (systemmonitor docs)


The TekSavvy integration has been removed. The API that was used by this integration is no longer available.

(@mikeodr - #40762)

Universal Devices ISY994 / LCN

The Kelvin unit no longer includes the degree sign in accordance with scientific standards. If you use the isy994 and lcn integrations you may need to update automations or data collectors that depend on the unit of measurement.

(@RichieFrame - #40574) (isy994 docs)


The auto fan mode for the fan platform has been removed. The auto mode isn’t supported by the entity model in Home Assistant and was initially added overlooking our entity model.

If you have automations or scripts targeting the VeSync fan entity should review these and update as needed.

(@TheGardenMonkey - #40559) (vesync docs)


The ieee_address parameter was renamed to ieee for zha.permit and zha.remove services.

This makes all services to use consistently named parameters.

(@Adminiuga - #40652) (zha docs)

All changes

Click to see all changes!