Publicado el

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.

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.
      - name: Movies
        icon: mdi:movie-open
            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.

Breaking 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:

      - platform: fritzdect
        username: YOUR_USERNAME
        password: YOUR_PASSWORD

    should change to

      - host:
        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 household_id has been removed from configuration options as it is no longer needed. – (@benleb#31437) (surepetcare docs)

    Example YAML configuration:

      feeders: [12345, 67890]
      flaps: [13579]
      pets: [24680]
  • Frontendfrontend.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:

      - platform: modbus
        scan_interval: 10
          - 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.

    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:

      - username:
        password: !secret tado_pwd1
      - username:
        password: !secret tado_pwd2

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

      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:

      - platform: rest
        authentication: basic
        username: username
        password: password
          - "htstatus"
          - "poolsp"
          - "spasp"
          - "pooltemp"
          - "spatemp"
          - "airtemp"
        json_attributes_path: "$.response.temp"
        value_template: ""
      - platform: rest
          - "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

All changes

Publicado el

Community Highlights: 3rd edition

It’s time for the third installment of our revamped community highlights. We got some really great stuff again.

This time I (Paulus) am in charge of writing the community highlights. The reason for this is that the main item involves Frenck’s own work, and he felt weird promoting his own awesome, great, wonderful, enlighting and fabulous work on the revamped Visual Studio Code add-on.

Visual Studio Code add-on updated

Visual Studio Code is a free text editor by Microsoft that works inside your browser. It makes it very easy to manage your configuration.

The add-on used to be only available for x64 devices like intel NUC. With this update, it is now also available for ARM64 devices, including the Raspberry Pi 3 and 4 (the 64-bit version).

It comes installed with all the extensions necessary for editing Home Assistant related files:

If this is the first time you hear about the Home Assistant Config Helper, it is genius. It will set-up a realtime connection from VS Code directly to your Home Assistant installation so it can offer auto-complete suggestions when editing your configuration. This is pre-configured and works out of the box with the VS Code add-on.

To install the add-on, search for Visual Studio Code in the add-on store.

Screenshot of Visual Studio Code.

VS Code add-on part 2

But there is more in the add-on! Home Assistant contains an add-on service registry where add-ons can make their services available for other add-ons without requiring any configuration. The VS Code add-on uses this feature to offer a built-in terminal that has pre-configured tools to connect to the MariaDB add-on and the MQTT add-on.

To try it out, open VS Code, click on the menu button top left -> view -> terminal.

MQTT command-line

This requires the Mosquitto add-on to be installed and an MQTT sensor (instructions).

To publish a message to an MQTT topic:

mosquitto_pub -t home/bedroom/temperature -m 23

Or watch all messages that go through your MQTT broker:

mosquitto_sub -t #

SQL command-line

This requires the MariaDB add-on to be installed and the recorder configured to use it (instructions).

To query the available tables:

mysql -D homeassistant -e "SELECT entity_id, state, last_updated FROM states LIMIT 0, 10"

Beta time!

Today we are releasing the first beta of Home Assistant Core 0.106. It is packed with awesome features. For a sneak peek of what is coming, check the beta release notes.

I’m personally most excited about the extended safe mode. It will guarantee that the frontend will always load, no matter how broken your configuration is.

Navigation Arrow

On Reddit user /u/Jenova70 showed a super slick navigation arrow that indicates the traffic on his daily commute. Very slick! Instructions can be found in the comments.

I built a physical «navigation arrow» that is changing color based on the estimated time of arrival at work (Waze commute data 🙂 ) from r/homeassistant

Thanks, Jean-Loïc Pouffier & cogneato for sending in this item! 👍

Got a tip for the next edition?

Have you seen (or made) something awesome, interesting, unique, amazing, inspirational, unusual or funny, using Home Assistant?

Click here to send us your Community Highlight suggestion.

Also, don’t forget to share your creations with us via Social Media:

See you next edition!

Publicado el

Home Assistant Companion for Android 1.6 and 1.7

Over the last week, we’ve released some awesome new features and improvements to Home Assistant Companion for Android. I wanted to take a moment to highlight some of the recent things that we introduced in 1.6 and 1.7.

Actionable notifications

Now you can define action buttons to attach to a notification dynamically. When you click one of those buttons, an event is fired back to Home Assistant so you can take action based on the button chosen.

Here’s an example to check with a user if they want to close the garage door after it has been left open for 30 minutes:

  - alias: Notify apps when garage door opens
      platform: state
      entity_id: cover.garage_door
      from: 'closed'
      to: 'open'
      for: ‘0:30:00’
      service: notify.mobile_app_robbies_pixel_5
        message: "The garage has been left open"
            - action: "close_garage" # The key you are sending for the event
              title: "Close Garage Door" # The button title

  - alias: Close the garage when notification action is tapped
      platform: event
      event_type: mobile_app_notification_action
        action: close_garage
      service: cover.close_cover
      entity_id: cover.garage_door

After adding these automations, whenever your garage door remains open for 30 minutes, your device will get a notification that looks like this:

A notification showing an open garage

When you press that close garage button… your garage will close!

We are planning to expand notifications over the next few versions to continue to match the existing functionality available in the iOS app. That includes things like sending text back to Home Assistant and critical alerts.

Requesting location updates via notification

You can now send a notification with just the message request_location_update and once it reachces your device it will update its current location in Home Assistant. Be careful using this too much though, as it can drain your battery.


New in version 1.7, we have added the first sensors to the app. For now, you will find the following new sensors:

  • Battery percentage
  • Battery state
  • Current WiFi network information

We plan to keep expanding sensors in the near future to add things like cellular status and more.


Thanks to a few dedicated volunteers and a mad dash, we have a newly refreshed docs website. It’s using the latest version of Docusaurus which means it’s got a new coat of paint and even dark mode support. So much easier on the eyes!

In addition to the tooling updates, we’ve also begun documenting Android and iOS differences. Keep an eye out for the Android and Apple logos to denote what works where.

Over time we plan to bring Android and iOS as close together in terms of features and the ways they interact with Home Assistant so that, as much as possible, those that have users of both platforms have to do as little work.


In addition to the highlights above, we’ve also killed an impressive amount of bugs. Thanks goes to JBassett, KBerstene, quthla and neopilou for their work on all of the above.