0.101: Airly, Apprise, Sinch, Solar-Log, Microsoft Teams


It is almost the end of Hacktoberfest, and boy, it was a good one. We had a total of 1318 PRs merged in the last month. And most of them are in this release!

We had: 154 authors on home-assistant 184 authors on home-assistant.io 30 authors on home-assistant-polymer

A lot of thanks to all the contributors!

API Password and trusted networks

It is no longer possible to make authenticated requests using trusted networks or by appending ?api_password=X to the URL. You will now first need to get an authentication token and use that token to make requests.

These features were deprecated in Home Assistant 0.90 and 0.91 (released around April 2019). It was initially planned to be dropped in Home Assistant 0.96 (released July 17, 2019).

The support of configuring the auth providers for API Password and Trusted Networks via the HTTP configuration is also removed. It now needs to be configured in the auth provider section (docs).

Direct authentication meant that you could make an authenticated request without a bearer token by making the request from a trusted network or appending ?api_password=X to the URL.

These features are still available as authentication providers (docs).

You can use Long-Lived Access Tokens that can be created in the fronted on your profile page. These tokens will not expire and can be added in the header of the request. See the developer documentation for more info.

Screenshot of the Long-Lived Access Tokens interface in the profile page.

Or you can use a webhook-based-integration. A webhook is a unique hard to guess URL that can be used to send data to Home Assistant. Requests made to webhooks do not need authentication. Your webhook should be available from the internet, if you have a cloud subscription, the cloud will take care if this. You can find the cloud webhook URLs on your cloud configuration page.


As you may have already read, we’ll be sunsetting Hassbian.

Hassbian was a superset of Raspbian optimized for Home Assistant. With limited time from the developers and easier alternatives as Hass.io it is time to sunset Hassbian.

A big thank you to all those who worked on Hassbian - specifically @landrash, who was the primary driver of this for so long, and @ludeeus.

For more info, read the blogpost

Device automations

This release includes improved support for alarms, covers, locks and sensors. A “for” option was added in release 0.100 which allows you to specify triggers for when a certain device has been in a certain state for a period of time, in this release we added support for it in the automation editor.

Screenshot of a device trigger with duration.


A lot has happened on the frontend; we had a ton of Hacktoberfest PRs that added localization to the frontend and made our user experience better. A special shout out to @springstan who did a lot of localization work, we now have the biggest part of our UI translatable!

Thanks a lot to all the contributors!

We now have our own confirmation dialogs thanks to @timmo001! No more ugly browser modals.

Screenshot of a confirm dialog when restarting Home Assistant.

In the last release, we changed all the JSON inputs to YAML inputs, this release we add a code editor to all the YAML and Jinja2 inputs. This makes it a lot easier to read and write YAML.

Screenshot of the service dev tools with YAML editor.

The entity registry is now also migrated to a datatable so you can easily search and sort your entities so it is easier to find the one you are looking for.

Screenshot of the entity registry data table.

We improved the device picker in automations, you can now search them and see in what area the device is.

Screenshot of the device picker.

mdonoughe added support the activate scene action in the automation editor.

In other news

Proud to announce that the Visual Studio Code add-on for @home_assistant reached v1.0.0! 🎉

This version ships the second generation code-server, VSCode 1.39, HA extension 1.3, updates MDI ext and adds a rainbow indent function ❤️

Oh, and it is FAST 🚀 pic.twitter.com/eBe8CirZ4B

— Franck Nijhof (@Frenck) October 26, 2019

It is done! Making magic with #python #opencv #tensorflow #homeassistant. https://t.co/ZiN5AE7ixt

— Esther Makes Tech (@esthermakestech) October 19, 2019

It is done! Making magic with #python #opencv #tensorflow #homeassistant. https://t.co/ZiN5AE7ixt

— Esther Makes Tech (@esthermakestech) October 19, 2019

Weekend IOT project: Weather info from the Cloud, literally. Details on github here:https://t.co/V9xpxqyRAv#homeassistant #arduino #mqtt #smarthome pic.twitter.com/YrkEBpa9Rw

— Gabe Scelta (@sfgabe) October 14, 2019

🎉Restriction Card for @home_assistant released 🎉 Client-side security for your Lovelace cards * Options to hide/block/lock/password-protect/confirm interactions with cards * Set conditions for when to apply * Set exemptions based on usershttps://t.co/psiVBf9U7N

— Ian Richardson (@iantrich) October 17, 2019

New Integrations

New Platforms

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

Reporting Issues

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

  • Removed - The following integrations have been removed:

    • Direct authentication via trusted networks or API password - It is no longer possible to make authenticated requests using trusted networks or by appending ?api_password=X to the URL. You will now first need to get an authentication token and use that token to make requests. - (@balloob - #27656) (auth docs) (http docs) (websocket_api docs)

    • Stride - The Stride notification integration was discontinued in February 2019 due to a take over by Slack. - (@hmmbob - #27934) (stride docs)

    • Hipchat - The Hipchat notification integration was discontinued in February 2019, also due to a take over by Slack. - (@fabaff - #27399) (hipchat docs)

  • Deprecated - Python 3.6 support is deprecated (to be removed completely by December 2019), as version 3.8.0 is now out - (@scop - #27680)

  • Ecobee - Adds turn_on method to ecobee climate platform. Previously, calling climate.turn_on would cause the ecobee thermostat to turn on in heat mode, regardless of the mode when the thermostat was turned off. Now, the thermostat will turn on to the last “active” HVAC mode (i.e., “heat”, “cool”, or “auto”) (or, if the thermostat was “off” when Home Assistant started, to “auto”). - (@marthoc - #27103) (ecobee docs)

  • Genius Hub - This addresses an issue that requires the unique_id of climate and water_heater entities to be changed. After upgrading HA with this change, users will have stale entities in the entity registry that they may wish to clear out. - (@zxdavb - #27916) (geniushub docs)

  • Abode - The configuration variables were removed: name, exclude and lights, which were all previously optional. Existing users of the abode integration that use these configuration variables will have to remove them from the configuration.yaml file. Entities that users wish to disable can be done from the Entity Registry in the Configuration UI. - (@shred86 - #26699) (abode docs)

  • AdGuard Home - The AdGuard Home integration has been made compatible with AdGuard Home v0.99.0. However, support for lower versions is now limited. Upgrading to AdGuard Home v0.99.0 or newer is advised. - (@frenck - #27926) (adguard docs)

  • UniFi - Previously, UniFi POE control switches had attributes showing network usage for receiving and transmitting data of that entity. This has been replaced with separate sensors, a pair per network client; one for received data and one for transmitted data. The default configuration is to keep this disabled so, if you want to use this, either enable select entities in the entity registry or go to your UniFi Integration options and enable it for all clients (see HASS 0.98 blog post for guidance). - (@Kane610 - #27229) (unifi docs)

  • IKEA Tradfri - The Tradfri sensors (e.g., button remotes and motion detectors) are now being represented as battery entities and will no longer have remaining battery power represented as an attribute. Use the sensors state instead to monitor the remaining battery power. - (@ggravlingen - #27245) (tradfri docs)

  • Jewish Calendar

    • The output of the timestamp sensors have been streamlined, so they’re easier to use in automations. All the timestamp sensors will return UTC time in ISO 8601 format. Attributes have been added to get a UNIX timestamp. - (@tsvi - #26940) (jewish_calendar docs)
    • The holiday type sensor has been removed and added as an attribute to the holiday sensor. The holiday name sensor has been renamed to holiday. (@tsvi - #27654) (jewish_calendar docs) (breaking change)
  • Onkyo - Added max_receiver_volume, which sets the maximum volume of the receiver - this will default to 80, which worked with older Onkyo models. See documentation for details on how to find your receivers’ max volume.

    The max_volume is now a percentage instead of a number from 0 to 80. If you have a max_volume setting of 80, you will need to change this to 100, if you have it as 40 you will need to change this to 50. To work out the new max volume setting use this formula: ( / 80) * 100 - (@foxy82 - #27218) (onkyo docs)

  • MQTT - Allow MQTT JSON light floating-point transition. The MQTT light with JSON schema will now send a float instead of an int with the transition key. In this way, transitions shorter than 1s can be used (0.5 seconds, for instance) if the MQTT light supports it. Lights that are based on the “ArduinoJson” module should not experience problems due to the change from int to float (the float value will be truncated to an int). - (@starkillerOG - #27253) (mqtt docs)

  • Somfy - Users that have already created their app in the Sofy developer console will need to update the redirect URI to be able to authorize a new account. You need to change the redirect URI for your app on https://developers.somfy.com to /auth/external/callback instead of /auth/somfy/callback. - (@balloob - #27727) (somfy docs)

  • Glances - Glances is now its own integration and configured through config flow. Configured sensors with platform type glances should be edited as shown below. - @engrbm87] - #27221) (glances docs) (breaking change)

    Example configuration YAML:


      - platform: glances
          - 'cpu_use_percent'


      - host:
  • Tesla - Tesla entity_id and unique_id have changed. This is necessary so that multi-vehicle households have a way to distinguish vehicles by basing the name off the name in the app. Users should remove old tesla entries from the entity registry after the upgrade and update automations where tesla entity_ids are used. - (@alandtse - #27957) (tesla docs)

  • Roku - Roku TVs will now report “standby” instead of “off” when they are turned off. Roku TVs can be turned on directly to a source by selecting from the source list. When a media_player returns STATE_OFF it loses access to the source list. By returning STATE_STANDBY instead, the state is more accurately reflected and the source_list attribute is now accessible when the TV screen is off. - (@Villhellm - #28148) (roku docs)

All changes

This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/10/30/release-101/

Wow quite a few changes on this one. I’m liking the Tradfri changes so far, having the remotes show up as seperate devices is far better.

I find the whole thing about API Password and trusted networks confusing. At some point it says it was removed and at another point it says it’s still available as an authentication provider.

In addition, it sounds like it was removed but it’s also still listed in the docs.

All very confusing. Maybe it’s supposed to say api_password was moved to an authentication provider?


I am getting an error in the config checker. This is what the log shows.
Not sure if its an error in HassIO, or if the config checker needs to be updated.

INFO:homeassistant.util.package:Attempting install of netdisco==2.6.0
INFO:homeassistant.util.package:Attempting install of amcrest==1.5.3
INFO:homeassistant.util.package:Attempting install of mutagen==1.42.0
INFO:homeassistant.util.package:Attempting install of gTTS-token==1.1.3
INFO:homeassistant.util.package:Attempting install of google-cloud-texttospeech==0.4.0
INFO:homeassistant.util.package:Attempting install of pyHS100==0.3.5
INFO:homeassistant.util.package:Attempting install of python-nest==4.1.0
INFO:homeassistant.util.package:Attempting install of python-ecobee-api==0.1.4
INFO:homeassistant.util.package:Attempting install of av==6.1.2
INFO:homeassistant.util.package:Attempting install of sqlalchemy==1.3.10
INFO:homeassistant.util.package:Attempting install of broadlink==0.12.0
INFO:homeassistant.util.package:Attempting install of xmltodict==0.12.0
INFO:homeassistant.util.package:Attempting install of python-forecastio==1.4.0
INFO:homeassistant.util.package:Attempting install of distro==1.4.0
INFO:homeassistant.util.package:Attempting install of aiohttp_cors==0.7.0
INFO:homeassistant.util.package:Attempting install of pymyq==2.0.0
INFO:homeassistant.util.package:Attempting install of hass-nabucasa==0.22
INFO:homeassistant.util.package:Attempting install of pywemo==0.4.34
INFO:homeassistant.util.package:Attempting install of home-assistant-frontend==20191025.1
Failed config
  General Errors: 
    - Component error: amcrest - No module named 'haffmpeg'
    - Component error: history - No module named 'sqlalchemy'
    - Platform error notify.fcm-android - No module named 'hass_frontend'

Successful config (partial)

WARNING: If you use embedded camera tokens (access_token:) as I did in my MQTT Dashboard and in an add-on for Kodi that allows me to display my cameras on my TV with my Harmony remote, these all get reset when you upgrade to 0.101.0 so you’ll have to edit all of your URL paths.

EDIT: Update. Seems the camera paths are not accessible on any client under 0.100.0. More digging required.

Update 2: Seems the camera access tokens update on every HA restart so that’s not good. Bug?

Update 3: Issue is related to redaction of trusted_networks in 0.101.x. Without this, when the camera URL tokens expire on the 3rd refresh, access is denied.

Hmm, fails to start after upgrade. Complains about errors for pretty much all components.

1 Like

My access tokens were always changing every 30 seconds?

The breaking changes for Abode seem to be more than just a need to adjust the config. After making necessary config cleanup the entities that show up from Abode are not a complete set from what I can tell. Specifically my sensors that should provide temperature, light, and humidity are quite broken. Is anyone else seeing this?

It also appears there may be a breaking change for MyQ garage doors where the type configuration variable should also be removed.

myq has been broken on and off for a week or two.

Same here.
Try to remove adguard because error was looping and bit was a breaking change but no more luck…

Hassio Supervisor keeps rolling back to 100.x after a while stucked.

If you don’t tell anyone exactly what complaints it makes, how can anyone help.

read the sticky thread about how to seek help properly.

Same here. Error with “history” during version check :

Failed config
General Errors:
- Component error: history - No module named ‘sqlalchemy’

Opentherm Gateway seems broken, both using configuration.yaml and intergration. Sensors work but no climate.*** entity after update

Amazon Polly still not working unfortunately :frowning:

Still shows this error: “Unknown parameter in input: “Engine”, must be one of: LexiconNames, OutputFormat, SampleRate, SpeechMarkTypes, Text, TextType, VoiceId, LanguageCode”

I have updated configuration for the glances in configuration.yaml according to the latest recommendation. After restart my glances has been discovered. I opened the “Setup glances” window to provide host/login/passwd but it does not work - I can not login in. I used default username (glances), my hassio credentials but I am unable to connect to the host.
Glances ‘’ WebGUI" works but I can not setup glances in the integration part and I can not see the sensors.

Could you please help me with this issue?

Im also getting the same error in the configuration check:

Component error: history - No module named ‘sqlalchemy’

So I’m holding off upgrading till I know it’s safe!

Same here in the configuration check:

 Failed config
   General Errors: 
    - Component error: history - No module named 'sqlalchemy'
    - Component error: logbook - No module named 'sqlalchemy'

Same issue. Therefore I’m skipping this update as well

Also error in the check:

Failed config
General Errors:
- Component error: logbook - No module named ‘sqlalchemy’
- Component error: history - No module named ‘sqlalchemy’
- Platform error notify.html5 - No module named ‘hass_frontend’