0.106: Light brightness stepping, better Safe Mode and person dialog

Well, hello!, Home Assistant Core 0.106! We are happy to see you 😃

A great release that improves stability, reliability and a lot of helpful additions to make everything much more friendly and easier to use. So let’s dive in!

Safe Mode improvements

In Home Assistant 0.105, we introduced Safe Mode. Our goal is to make sure Home Assistant always starts and provide you an interface to work with. No matter what.

@balloob has been busy this release to improve on this feature even more, and Home Assistant is now able to overcome issues when things in the core system get into trouble and even when the Lovelace configuration isn’t readable. Besides that, the way Safe Mode is presented has changed, so you instantly know you are in Safe Mode:

Screenshot of Home Assistant running in Safe Mode Screenshot of Home Assistant running in Safe Mode.

Stepping up and down the brightness of lights

Ever tried to make an automation to brighten or dim your lights? Or tried to hook up a remote to control the brightness of a light? If you have, you probably know that doing that was pretty painful and involved some additional templating to get that going.

This release just made that a lot easier. An example device automation:

Screenshot of a device automation with dimming lights Screenshot of a device automation with dimming lights.

We have also added this functionality to the light.turn_on service. You can now change the brightness, based on the current brightness, using the brightness_step (-255, 255) and brightness_step_pct (-100, 100) parameters.

Good to know, when the brightness hits 0, it will turn off the light. If the light is already off, and you step the brightness up, it will turn on. This is awesome, because if you have a rotating dimmer button (for example, an IKEA SYMFONISK), you can rotate it to change the brightness, but also turn the light on/off by just rotating it.

Person more info dialogs improvements

Persons have a new more info dialog. They now show the location of the person on the map and if the person is not in a zone, you can create a zone with the current location of that person with one click.

Screenshot of the new more info for a person Screenshot of the new more info for a person.

Entities configuration panel now shows all entities

The entities configuration panel previously only contained entities that were uniquely identifiable by Home Assistant (they have a so-called: unique ID). However, those are not provided by all integrations of Home Assistant, confusing since the entities panel did not show all of your entities.

In this version, we now include all entities in the panel, giving you a nice complete overview of all available entities in your system. You can’t edit all entities, since that requires an entity to be uniquely identifiable. If an entity doesn’t have a unique ID, the pencil icon will be striked through.

Screenshot of uneditable entities in the configuration panel Screenshot of uneditable entities in the configuration panel.

Since all entities are now available in this panel, it does not only provide you a clear overview of all the available entities; you can also make use of the “related items” feature introduced in release 0.105 to see where they are being used!

Updates to the developer tools panels

The developer tools panel also got some nice little touches. In the “Info” tab you can now find a list of all integrations you are using and the logs are now aware of the integrations as well.

Both now include links to the documentation and our GitHub issue tracker. This allows you to dive in quickly when you run into troubles with an integration.

Screenshot of the integrations list and an example log message Screenshot of the integrations list and an example log message.

Sensor card

Our sensor card has had a style update. We initially got the design from the Lovelace Mini Graph Card and now updated to match the improved new look of that card.

Screenshot of the updated sensor card Screenshot of the updated sensor card.

Other noteworthy changes

But wait… there is more! Some other smaller noteworthy changes in this release:

  • In the zone editor that was introduced in the previous release, you can now change the location of your home zone. The radius of the home zone cannot be changed yet (we will work on that!), but you can drag the home zone on the map.

  • Also an improvement on a feature introduced in the previous release, the state_color option is now also available for other cards, so you can override the defaults of the cards.

  • New automations now default to device automations instead of state triggers and service calls. Device automations are so much easier and clearer to create from the UI. You can, of course, still use the old triggers and actions like you are used to.

  • In the generated Lovelace we no longer include automations and battery entities. You can find these in the automation configuration panel and the battery in the device configuration page. If you want to have your automations and/or battery in your Lovelace UI, you can always take control and add them.

  • Scripts and scenes now have the ability to set a custom icon. Previously, you would have to create a customization to do this, now, you can just set them in your configuration.

    scene:
      - name: Movies
        icon: mdi:movie-open
        entities:
          light.tv_back_light:
            state: on
            brightness: 125
          light.ceiling: off
    

Custom cards

Are you the creator of an awesome custom card for Lovelace?

We have made some changes to Lovelace that might impact your custom card, so be sure to read the blog post on the developers site about this.

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

  • Tesla - Tesla default scan interval has been raised to 660 seconds from 300 seconds. This is the result of new testing showing the prior default would not allow Tesla vehicles to fall asleep. You should reevaluate your scan interval if you have changed it, to avoid battery drain. The scan interval has had the minimum lowered to 60. - (@alandtse - #31194) (tesla docs)

  • Insteon - The Insteon entity device state attributes were changed to conform to naming standards. Insteon Address is now insteon_address and Insteon Group is now insteon_group. You may need to update automations and scripts that rely on these attributes. - (@teharris1 - #31183) (insteon docs)

  • AVM FRITZ!DECT (Removed) - FRITZ!Dect is being removed and you should use the FRITZ!Box integration instead, which offers more features. - (@escoand - #31359) ([fritzbox docs])

    Example YAML configuration:

    switch:
      - platform: fritzdect
        username: YOUR_USERNAME
        password: YOUR_PASSWORD
    

    should change to

    fritzbox:
    devices:
      - host: fritz.box
        username: YOUR_USERNAME
        password: YOUR_PASSWORD
    
  • Danfoss Air - The names of some danfoss_air sensors include a misspelling of the word Danfoss. This typo has been corrected and you will need to adjust all occurrences respectively. - (@KasperLK - #31344) (danfoss_air docs)

    The following sensors are affected:

    • dandoss_air_dial_battery -> danfoss_air_dial_battery
    • dandoss_air_exhaust_fan_speed -> danfoss_air_exhaust_fan_speed
    • dandoss_air_supply_fan_speed -> danfoss_air_supply_fan_speed
  • Météo-France - Météo-France now supports the configuration flow and is now available to be added as an integration from the integrations UI! There are no more monitored_conditions and all sensors will be added automatically. - (@Quentame - #29927) (meteo_france docs)

  • Glances - Glances sensors are now dynamically added, which results in entities having new names, in particular sensors for mounted disks and temperature. You will need to remove the existing configuration and re-add it, and adjust for any automations you have using the new entity names. - (@engrbm87 - #28639) (glances docs)

  • Service Calls - Service calls that reference non-existing entities will now log a warning instead of silently being omitted. If you are using a template and want to select no entities, you need to pass none instead. The TTS integration will no longer target all media players if no entity ID passed in. You need to specify all instead. - (@balloob - #31427)

  • Light - It is no longer allowed to pass both brightness and brightness_pct to light.turn_on service. Previously passing both would have used brightness_pct. - (@balloob - #31452) (light docs)

  • DSMR - Added Belgian meter. Some DSMR sensors have been renamed to align with DSMR specifications. “Power” sensors are now properly “Energy” sensors and those which were previously using “low” and “normal” descriptions now use “tarif 1” and “tarif 2”, respectively. - (@dupondje - #30121) (dsmr docs)

    Example of sensor changes:

    • Power Consumption (low) -> Energy Consumption (tarif 1)
    • Power Consumption (normal) -> Energy Consumption (tarif 2)
  • Orange Livebox Play TV - The Orange Livebox Play TV integration has been removed. A change to the site scraped with this integration has changed, causing the integration to break. This integration violated our design decisions and is therefore removed. - (@frenck - #31525) (breaking change)

  • Core - Only administrator users can stop or restart Home Assistant. - (@balloob - #31509) (homeassistant docs)

  • Sure Petcare - Sure Petcare supports new features and has improved existing features. As a result, you will want to note that the format of the feeders/flaps/pets options changed from a map (id/name) to a simple list of IDs, which means the name option is removed. The name is now gathered directly from the Sure Petcare API but changeable via the HA UI.

    The household_id (which is no longer needed) and customizing options icon and device_class are also removed but can still be configured via the UI. - (@benleb - #31437) (surepetcare docs)

    Example YAML configuration:

    surepetcare:
      username: YOUR_SURE_PETCARE_LOGIN
      password: YOUR_SURE_PETCARE_PASSWORD
      feeders: [12345, 67890]
      flaps: [13579]
      pets: [24680]
    
  • Frontend - frontend.set_theme and frontend.reload_themes now require admin access. This will not break automations that set themes because those are run with admin access. Also, a themes_updated event no longer contains all theme data. - (@balloob - #31654) (frontend docs)

  • Modbus - The Modbus Binary Sensor can now read data from discrete inputs. A new variable input_type was added to define if you want to read from coil or discrete_input. Coil is the default option. - (@vzahradnik - #30004) (modbus docs)

    Example YAML configuration:

    binary_sensor:
      - platform: modbus
        scan_interval: 10
        inputs:
          - name: Sensor1
            hub: hub1
            slave: 1
            address: 100
            input_type: discrete_input
    
  • Tado - Adding support of multiple Tado accounts has changed the unique ID generation of sensor and climate devices, and now includes the ID of the home. As a result you will see new entity ID’s for sensor and climate devices.

    In addition, support for water heater zones has been added. Tado hot water zones with temperature control previously created a climate entity, e.g., climate.hot_water, and these will be replaced by a water_heater.hot_water entity. This change is not breaking for hot water zones without temperature control as they do not have a climate zone.

    (@gorynychzmey - #31527) (@michaelarnauts - #30095) (tado docs)

    Example YAML configuration:

    tado:
      - username: [email protected]
        password: !secret tado_pwd1
      - username: [email protected]
        password: !secret tado_pwd2
    

    If you have only one account this configuration will also work:

    tado:
      username: [email protected]
      password: !secret tado_pwd
    
  • UniFi - Changing tracking settings will no longer disable entities but will remove them completely from the state machine and entity registry. The SSID filter will now mark all wireless clients as not_home if they are connected to SSIDs that are not a part of the filter. - (@Kane610 - #31762) (unifi docs)

  • Rest - Many devices continue to use XML for RESTful APIs. This change implements converting XML output to JSON via xmltojson so it can work with the existing rest sensor component.

    xmltojson tags may be confusing; if you are not familiar with the conversion, please use the xmltodict tool created by @balloob to identify the tags to be used to parse the resulting JSON.

    As the attributes that usually need to be scraped are deeper in the document, support for passing in a template to find the JSON attributes has been added. JSON APIs that do not have their attributes at the top level can also benefit from this change. - (@bdraco - #31809) (rest docs)

    Example YAML configuration:

    sensor:
      - platform: rest
        resource: http://192.168.1.20/status.xml
        authentication: basic
        username: username
        password: password
        json_attributes:
          - "htstatus"
          - "poolsp"
          - "spasp"
          - "pooltemp"
          - "spatemp"
          - "airtemp"
        json_attributes_path: "$.response.temp"
        value_template: ""
      - platform: rest
        resource: http://192.168.1.5/status.xml
        json_attributes:
          - "led0"
          - "led1"
          - "user0"
          - "temp0"
          - "btn0"
        json_attributes_path: "$.response"
        value_template: "OK"
    
  • GreenEye Monitor (GEM) - Greeneye Monitor temperature readings are now correct (previously they would report as twice the actual value). If you’ve compensated for this in your dashboards or displays, you’ll need to undo that compensation with this release. - (@jkeljo - #31896) (greeneye_monitor docs)

  • Duke Energy - The Duke Energy integration has been removed. The website of Duke Energy changed, causing the integration to break because it relied on web scraping, which is no longer allowed to be used. - (@frenck - #31921) (breaking change)

  • deCONZ - deCONZ will no longer change entities to being disabled when using the integration configuration options but rather remove them completely from the state machine. Enabling the option will load all relevant entities again. - (@Kane610 - #31661) (deconz docs)

  • Ring - All Ring accounts require two-factor authentication. This means that it is no longer possible to configure it via YAML as this cannot support 2FA. - (@balloob - #32039) (ring docs) (breaking change) (beta fix)

  • Hue - The filename option from the Hue bridge configuration has been deprecated in 0.104 and now removed. - (@frenck - #32027) (hue docs) (breaking change) (beta fix)

Beta Fixes

Release 0.106.1 - February 27

Release 0.106.2 - February 28

Release 0.106.3 - March 2

Added a Coronavirus integration to help monitor the ongoing epidemic. More information here.

Release 0.106.4 - March 2

Release 0.106.5 - March 3

Release 0.106.6 - March 10

All changes