It’s time for Home Assistant 0.97! It has been a very busy release cycle as we have been fine-tuning our development process, which makes it easier to maintain and contribute to Home Assistant in the future.
As per previous announcements, this is the first release that requires at least Python 3.6. If you are on Hassbian and are planning to upgrade Python, please take note of the known issues with the default wheel server.
This is the last release that bases our Home Assistant Docker image (
homeassistant/home-assistant) on Debian. As decided in Architecture Decision Record 0006: Docker Images, the image will be based on Alpine Linux starting with the 0.98 release. These new Docker images will be running same the Home Assistant Docker image that powers Hass.io. You don’t need to change anything unless you have installed Debian packages manually or made any other changes to the running container. However, if that is the case, you’ll need to find the Alpine equivalent of whatever you were doing.
The main driver behind this change is that by re-using images, maintenance becomes easier, and users of the
homeassistant/home-assistant image can benefit from the many optimizations that went into the Hass.io images.
Thanks to @balloob it is now possible to reload scenes from
configuration.yaml without restarting Home Assistant. This is part of an effort for Home Assistant 1.0 to make scenes a first-class citizen of Home Assistant, including creating/restoring scenes on the fly in the future. To track this effort, follow this page.
In case you missed the announcement, we released Home Assistant Cast yesterday. It allows you to transform any Cast interface into a display for Home Assistant. Read the announcement for more information..
Home Assistant Cast opens a whole new world of possibilities for using Lovelace, and we are really excited to learn what cool things you will do with it! If you created something, feel free to share it on social media using the
#homeassistantcast hash-tag. We are looking forward to your pictures!
This release contains a couple of notable UI changes:
- New Cast row available in the Lovelace entities card to start Home Assistant Cast.
- Improved accessibility for visually impaired users. This is an ongoing effort on making the frontend accessible.
- Split out
configuration.yamlactions from the core configuration into a new server control config panel. Thanks @IcyPalm
- Markdown card now has a size + 1, if it has a header defined. Some layouts might be moved around due to this.
We wrote about how we use Azure DevOps to automate the development of Home Assistant. Interested to see how Home Assistant is automatically build? Check the developer blog.
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.
Z-Wave - Improve handling of Z-Wave config entry vs yaml config. If a Z-Wave
network_keyis specified in configuration.yaml it will override a
network_keyspecified in the Z-Wave config entry. (@cgarwood - #25112) (zwave docs)
Unifi - Unifi Device tracker is now part of config entry. After initial import the unifi device tracker configuration is no longer needed. If configuring SSID filter or detection time you will need to use the new configuration from UniFi. See UniFi component documentation for details. (@Kane610 - #24367) (unifi docs)
Ecobee - Ecobee presets now represent the different Ecobee comfort settings. Selectable by name instead of unknown ID. (@balloob - PR link todo)
Calendar - Rewrite calendar component - The calendar integration has been rewritten to follow our current standards and is mostly non breaking. The reset (clean up) of state attributes upon an event time passing has been removed, though. Attributes are no longer set to an arbitrary default value, and will now keep the attributes representing the last event. With this change, automations that rely on state attributes getting reset will need to be updated. All platforms have been converted. - (@MartinHjelmare - #24950) (caldav docs) (calendar docs) (demo docs) (google docs) (todoist docs)
SyncThru - The monitored_conditions configuration option has been removed. All available monitored conditions will be used by default. Users that have been using the monitored_conditions option need to remove it from the syncthru section in configuration.yaml. (@nielstron - #25052) (syncthru docs)
KNX - Updates the knx component to use xknx 0.11.1 . This introduces several new features and bugfixes. For a complete list see: https://github.com/XKNX/xknx/releases/tag/0.11.0 (@farmio - #24738) (knx docs)
scene_numberis now 1 indexed according to KNX standards. Previously it was 0 based. Please add 1 to your already configured scene numbers (
addressin configuration when using xknx config file (
knx: config_file = ...): Replace
group_addressin BinarySensor and Sensor with
RitAssist - The company has been renamed from RitAssist to FleetGO, so this component needed to get renamed. Users of this integration will need to update their device_tracker config section to use the new name. (@depl0y - #25093) (fleetgo docs) (ritassist docs)
N26 - Adds support for multiple N26 accounts. The generation of unique ids for spaces has been changed. Users may need to remove the stale old id entities, representing spaces, from the entity registry. (@gorynychzmey - #25086) (n26 docs)
Environment Canada - This change removes the
nameoptions and adds an optional
languageoption. Sensors are now created for all provided data. (@michaeldavie - #24884) (environment_canada docs)
sensor: - platform: environment_canada language: french
TotalConnect - Total Connect Client was upgraded to support more than one alarm panel and allow future support for additional sensors. Previous
alarm_control_panelentries must be removed, and a new totalconnect entry must be added to configuration.yaml. See https://www.home-assistant.io/components/totalconnect/ for configuration details. (@austinmroczek - #24427) (totalconnect docs)
Nuki - The
lock.nuki_unlatchservice has been removed. It has been replaced by the
lock.nuki_lock_n_goservice has been renamed to
nuki.lock_n_go. Users that are using the removed or renamed services in automations need to replace them with the new services. (@franfos - #22888) (nuki docs)
Snapcast - This changes adds multiroom support for the snapcast component. It adds 2 services
media_player.snapcast_unjointo group/ungroup a client with another client. Also added source selection support in the snapcast clients as the groups are unusable due to their dynamic nature. (@lyghtnox - #24061) (snapcast docs)
Ambient Weather Station - The
unique_idfor Ambient sensors uses a new formula, meaning that even though they have the same friendly names, new sensors will be created. The integration will automatically perform this migration under the hood, but if you’ve altered the entity IDs of any Ambient PWS entities, you’ll need do the same to the new entities upon creation. Additionally, the
monitored_keysconfiguration option is no longer supported in
configuration.yaml. The integration will now create sensors for all conditions supported by the particular device. (@bachya - #25284) (ambient_station docs)
Google Maps - Google Passwords are no longer required to be provided in your config. An external program is now required to obtain the necessary cookie file to place in your Home Assistant config directory. This is due to the authentication process being removed from the underlying package. Existing users should remove the
password:entry from their config file (username is still required). The cookie file previously generated should still be valid and will allow the tracker to continue functioning normally until the cookie is invalidated. New users will need to follow the instructions on the Google Maps Location Sharing page to create their cookie file.(@shbatm - #25316) (google_maps docs)
The following sensor types (monitored_conditions) are no longer supported, since they are no longer provided by the json api of buienradar:
The following monitored conditions will change units:
- windgust (now km/h, was m/s)
- windspeed (now km/h, was m/s)
- windspeed_?d (now km/h, was m/s)
- visibility (now km, was m)
- All attributes changed to snake_case.
- Later departure attribute has been removed.
- Added next_departures which contains a list of all later departures returned from the search, as dictionaries with the same fields as the next departure.
Any existing templates using the sensor’s attributes will need to be updated as follows:
- Stop ID -> stop_id
- Stop -> stop
- Route -> route
- Type -> type
- Direction -> direction
- Due in -> due_in
- Due at -> due_at
This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/08/07/release-97/