It’s time for Home Assistant 0.96. It’s a great release, but we also made some changes, so please pay attention.
This will be the last release that supports Python 3.5. Home Assistant 0.97 will require at least Python 3.6. If you are using Hass.io or Docker, you will not have to do anything. If you are running Hassbian, upgrade instructions are here. If you run Home Assistant inside a virtual environment, please follow the instructions for your OS to update.
Home Assistant has adopted a new Python support strategy. Starting August 1, we will now support the last two minor stable releases of Python. This is currently Python 3.6 and Python 3.7. Python 3.8 is expected to be released near the end of the year. Once that is released, Python 3.6 support is deprecated and removed 2 months later.
The sidebar has gotten an improved look! Idea started with a mockup by @JuanMTech on Twitter and grew into a full blown implementation. The sidebar will now always be visible in a minimized mode. Hovering it will expand it. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store it’s exact state when you navigate away, included the dev tool that is open. We’ve also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI.
On mobile devices the sidebar will behave like it previously did. Check the demo for a preview.
This release includes a major clean up of our climate integration, correcting some architectural flaws from the past. The goal of this clean up was to a better job at providing an abstraction layer that fits many devices. This will improve compatibility with services that interact with Home Assistant (like Alexa/Google) and will allow us to make sure the UI works for everyone. We’ve done a lot of testing during the beta, but there might still be things that don’t work as expected. If you notice anything, please report by opening a bug report.
For a breakdown of what was driving the change, check our blog post on the dev blog.
The following things have been changed:
operation_modehas been renamed to
hvac_modeto emphasize what the mode is for.
- We split HVAC mode
heat_cool. If it’s
heat_cool, the user has set a temperature range the device has to use heating and cooling to stay within. Auto mode is now limited to devices that are running on a schedule or AI.
- The state of a climate entity is now always equal to the HVAC mode.
hvac_actionis introduced for integrations that know the current action: heating, cooling, idle.
set_hold_modehave been merged into
set_preset_mode. So instead of
turn_away_mode_on(), we will now call
is_onproperty has been removed. If a device is able to turn off, it should include the HVAC mode
- Property names have been aligned, anything ending with “_list” is now named “_modes”.
- Integrations are only allowed to represent functionality that is present in the API. It is not allowed to add your own fake away mode.
Huge thanks to @pvizeli who drove the core implementation and to the following people for helping getting it past the finish line:
As part of Home Assistant 1.0 effort, we’re simplifying the default user interface. We’re doing this by hiding certain configuration options like the customize panel behind a new “advanced mode” toggle. You can find this toggle on your profile page.
Advanced mode is only available to admin users and is a per-user setting. Enabling it for yourself won’t enable it for other admins.
Raspberry Pi 4 support has arrived in beta. @pvizeli has been hard at work and the first beta release is available. If you flash this image, you will be able to update to a stable release later from within the UI.
Big shout out to @frenck who has been doing a lot of clean up on the website. Like, a lot lot. He has removed over 20.000 unused lines of code, and has simplified how we render code blocks, pages and headers. It takes Jekyll now a mere 14 seconds to generate the whole website! It used to be 6 minutes! 😲
@teachingbirds has redone her Lovelace UI and it is looking fabulous!
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.
opentherm_gw: living_room: device: /dev/ttyUSB0
Ambient Weather Station - By default, the Ambient solar radiation (i.e., brightness) sensor is measured in W/m². Since this unit of measurement is not used anywhere else, this change updates the sensor to use the more prevalent lx unit. Any automations that use this sensor should be updated accordingly. (@bachya - #24690) (ambient_station docs)
tts: - platform: google_cloud key_file: googlecloud.json encoding: mp3 # The new default, which can still be changed to opus ogg or linear16
Luftdaten - The under-laying Python module is now limited to the P1 (particles 10 microns and below) and P2 (particles 2.5 microns and below), which means you have to recreate your sensors. (@fabaff - #24842) (luftdaten docs)
ZHA - ZHA entities are being removed and battery sensors are being added. We have been asked several times to remove the ZHA domain entities because they do not follow the HA standards. They were originally used to show device online / offline status, rssi, lqi and last seen. They were eventually expanded to hold battery information as well because many Zigbee devices have several power configuration clusters. Online and offline handling, rssi, lqi last seen and the handling of device availability have all been moved to the device object and battery information has been split back out into its own sensor. Any users that created template sensors that leveraged the data in the ZHA entities will be affected by this change. (@dmulcahey - #24909) (zha docs)
Netatmo - If the module type can not be determined the climate device will default to the type “valve” as it implements a subset of “thermostat”. Consequently those devices wont be able to be turned off. This should not be a major issue and should only happen when there are issues with the data retrieved form the Netatmo API. (@cgtobi - #25029) (netatmo docs)
GeoJSON Events - Update geojson_client library to version 0.4.This changes the access to the external feed from HTTP to HTTPS for the nsw_rural_fire_service_feed platform. This should normally not make any difference to anyone consuming this feed. Only if for example you have set up a template sensor or automation that reads the external_id attribute of a geo_location entity and compare it against a pattern, would you need to change this. (@exxamalte - #25039) (geo_json_events docs) (nsw_rural_fire_service_feed docs) (usgs_earthquakes_feed docs)
This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/07/17/release-96/