2022.10: All over the place

Happy October! October is always a special month for the project. It is the month everybody starts working on their home automations again, the month that Hacktoberfest brings in lots of new contributions and contributors to the project (👋 welcome!), and also this year: the Month of “What the Heck?!”.

The Month of WTH already looks very promising, and many good and interesting issues, ideas, and suggestions to streamline have been proposed. Keep those topics and votes going ❤️.

Oh! And Home Assistant Core 2022.10! 🎉

Last month’s release was a big one; this month’s release mostly continues to improving on that. I guess it is no surprise that the biggest improvement can be found (once again) in Bluetooth! There is a lot more, though this release is a bit “all over the place”, which is actually kinda nice.

Enjoy the release!

../Frenck

PS: I noticed the Home Assistant SkyConnect is now available for pre-order 🥳

Don’t forget to join our release party live stream on YouTube today at 12:00 PDT / 21:00 CET!

Marcel van der Veldt joins Nabu Casa

We are excited to announce that Marcel van der Veldt has joined Nabu Casa!

Marcel is known for his contributions to the Z-Wave integration, the rewrite of the Hue integration, the Music Assistant custom integration, and many more!

Marcel is going to be working on Matter support in Home Assistant. Just in case you missed it, Matter is now officially available/released 🎉.

Welcome aboard Marcel!

Active Bluetooth everywhere

Two releases back, we introduced the Bluetooth integration. The previous release we brought Bluetooth everywhere in your home by adding support for Bluetooth Proxies. Let’s not stop there!

In this release, those proxies now support active Bluetooth connections! 🤯

To explain this quickly: Previously, we could listen for Bluetooth devices and only receive data via the proxies (passive connection); now, we can actively set up a conversation with those devices and send data (active connection). This adds the capability to extend the range of Bluetooth devices that can be controlled 💙.

Picture of a home showing how Bluetooth data is proxied via ESPHome devices to Home Assistant

For this occasion, ESPHome will have an additional release, which adds this functionality. We have also updated our Bluetooth proxy installer website to install with support for active connections.

So, you want to control that SwitchBot Bluetooth device on the other end of your home that seems out of reach? Now you can by installing a proxy on a simple ESP32 device.

Oh! Bonus: the Bluetooth performance has been improved too! Especially local Bluetooth adapters should be quite a bit faster. 🚀

Support for iBeacons

This release also adds support for iBeacons. These are Bluetooth-enabled devices that send out identifiers to announce their location. Home Assistant can now pick those up and show an approximate distance to such an iBeacon.

iBeacons can open up a lot of awesome use cases for automations. For example, you could attach an iBeacon to your car, so you’ll know the car is at home. Or, on the trash can and use it to determine if the garbage is still sitting in the garage on pick-up day and send out a notification.

Read more about iBeacons in our documentation.

Finding the right integration

Recently we introduced “Supported brands”, allowing you to find integrations available under different brandings. Now, we are taking it a step further streamlining the experience of adding new devices or services.

For some brands of devices, we have multiple integrations available. For example, we have a lot of “Google” integrations. Some brands provide devices that can work via Zigbee or their matching hub, meaning you’d have a choice of integrating their hub or using the devices directly via Zigbee (e.g., using ZHA).

To make it more clear on the choices available, you can now categorize integrations by brand. Home Assistant will show the options available for that specific brand. For example, the “Google” brand:

Screenshots showing adding an integration by the Google brands. Once you select Google, you will be offered all Google integrations

This way, you no longer have to “find out” how your device could be integrated. We now show if an integration uses “the cloud” or not, so you are aware upfront.

We often get questions about YAML-only integrations that cannot be found in the user interface. While we love them to be available via the UI, we can understand not finding them at all can be confusing.

To help with that, we now show all integrations when adding a new integration, including those only available via YAML. While they cannot be set up via the user interface, we now do provide links to the documentation with the instructions on how to set it up.

Subviews for dashboards

This might be one of the coolest and most impactful features that has been added to our Dashboards lately: Subviews!

Each view on a dashboard can now be marked as being a “Subview”:

Screenshot showing the new subview toggle in the view options

Subviews won’t show up in the navigation bar of your dashboard, meaning you can only navigate to them by using, for example, a navigation action on a button.

When you navigate to a subview, the subview itself will not show the Dashboard navigation bar. Instead, it will show a back button to the previous view you came from.

Screen recording showing a Kitchen subview in action Screen recording showing a Kitchen subview in action.

This allows for creating cool navigation concepts that are particularly helpful on a mobile or tablet device.

All dialogs restyled

All dialogs that are shown in the Home Assistant have been slightly updated.

Most notably: The dialogs are now rounder on the edges, and the action buttons have been styled and named more consistently. It brings Home Assistant closer to version 3 of the Material Design that Home Assistant follows.

Screenshot showing one of the restyled dialogs.

Viewing YAML automations in the automation editor

In the last release, we revamped our automation editor, and we are very happy to read how many of you loved these changes ❤️

However, if you manage your automations manually in YAML, you’d always be served an error message when trying to open an automation in the UI. Not very helpful, right?

This has been improved! You can now open any automation (or script) in the UI. This lets you view your automation, providing a quick glance at its workings.

Screenshot showing an YAML automation as read-only in the automation editor.

Besides, as a bonus, if you have considered moving your automation to the UI, you can now view and experience how it would look/work for those automations and import them into the UI with the click of a button in the top right.

Handling version numbers in templates

A new version() template function/filter has been added, allowing you to do awesome things with version numbers in templates.

It allows for getting information about a version number, comparing version numbers, and even checking the difference between two versions.

  • {{ version("2022.10.0") > "2022.9.7" }}
    Returns true, as 2022.10.0 is newer.

  • {{ (version("2022.10.1") - "2022.10.0").patch }}
    Returns true, as the patch number of the version changed.

  • {{ (version("2022.10.1") - "2022.10.0").minor }}
    Returns false, as there is just a patch difference.

  • {{ version("2022.10.0b0").beta }}
    Return true, as this is a beta version.

version() can be helpful when building automations or Blueprints for update entities. You could, for example, easier decide to automatically upgrade or send more detailed notification messages in case a patch version is available.

Google Sheets

This release introduces a new way to export data from Home Assistant: Google Sheets.

With this integration, you can add new rows to a Google Sheet document from a service call, allowing you to export data from automations for further processing, visualization, or insights.

Screenshots exporting energy data to Google Sheets from Home Assistant Export anything you like to a sheet in Google Sheets, like your energy usage.

Maybe you like to export your daily energy usage or keep track of the number of diapers you have used in your baby feeding diary spreadsheet.

The possibilities with this are endless.

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • The long-term statics card now uses the unit you have selected a sensor to be in. So, if you’ve changed the sensor, it will now match! Also, more sensors are now able to change/convert units. Thanks, @emontnemery and @epenet!
  • When removing integrations that use application credentials, we will now ask if you want to clean up those credentials. Nice touch, @allenporter!
  • The Netatmo integration got lots of love! It now supports the Netatmo Doorbell, modulating thermostats and now also supports devices from Legrand, Bubendorff, BTicino and Smarther! Thank you @cgtobi!
  • If you have a Prusa printer, you can now use the PrusaLink integration to control your print job using the new job control buttons available! Thanks, @balloob!
  • BTHome now supports binary sensors! Thanks, @Ernst79!
  • The HomeKit Controller now supports Thread transport. Thanks, @roysjosh and @Jc2k!
  • forked-daapd (OwnTone) now supports the media browser and can leverage the Spotify integration. Thanks, @uvjustin!
  • The Min/Max helper now supports calculating the statistical range. For example, helpful if you want to show the difference between the coolest and warmest rooms. Thanks, @jsherman256!
  • @holysoles added unique ID support to the Universal Media Player, @magic7s added support for it to OhmConnect. Thanks!
  • NETGEAR now has a bunch of switches to control things like parental controls, Wi-Fi availability, and access. Thanks, @starkillerOG!

New Integrations

We welcome the following new integrations in this release:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2022.10.1 - October 6

Release 2022.10.2 - October 9

Release 2022.10.3 - October 10

Release 2022.10.4 - October 14

Release 2022.10.5 - October 20

Need help? Join the community!

Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!

Our very active Discord chat server is an excellent place to be at, and don’t forget to join our amazing forums.

Found a bug or issue? Please report it in our issue tracker, to get it fixed! Or, check our help page for guidance for more places you can go.

Are you more into email? Sign-up for our Building the Open Home Newsletter to get the latest news about features, things happening in our community and other news about building an Open Home; straight into your inbox.

Backward-incompatible changes

Below is a listing of the breaking change for this release, per subject or integration. Click on one of those to read more about the breaking change for that specific item.

Bayesian

prob_given_false is now a required configuration variable. Previously it had a default value of 1 - prob_given_true; this didn’t really have any mathematical basis and so has been removed. You can use this documentation to calculate what it should be, or to restore your previous functionality, set it to 1 - prob_given_true.

The logic of Bayesian sensors has been significantly corrected. Previously the configs given in the examples above would not have worked as expected. For example, if the device device_tracker.paulus was home, this would not have updated the probability that Paulus Home was on. This is because Bayesian ignored observations that were false, even though that should update our probabilities.

Because of this, many users will have had to use either of two workarounds:

  1. Providing additional observations that evaluate to True when the other evaluates to False, effectively mirroring it. This forced Bayesian to take into account a negative observation.
  2. Tweaking prior, threshold, and even sometimes prob_given_true and prob_given_false to get the desired functionality, often with the help of a community-provided spreadsheet for iterative testing.

To solve (1), all you need do is delete the mirrored entry as shown below:

# Example of a mirrored entry used a workaround
binary_sensor:
  - name: "Heat On"
    platform: bayesian
    prior: 0.2
    probability_threshold: 0.9
    observations:
      - platform: numeric_state
        entity_id: sensor.outside_air_temperature_fahrenheit
        prob_given_true: 0.95
        prob_given_false: 0.05
        below: 50
      - platform: numeric_state # line no longer needed - delete
        entity_id: sensor.outside_air_temperature_fahrenheit # line no longer needed - delete
        prob_given_true: 0.05 # line no longer needed - delete
        prob_given_false: 0.95 # line no longer needed - delete
        above: 50 # no longer needed - delete
      - platform: state
        entity_id: binary_sensor.house_occupied
        prob_given_true: 0.3
        prob_given_false: 0.05
        to_state: "on"
      - platform: state # line no longer needed - delete
        entity_id: binary_sensor.house_occupied # line no longer needed - delete
        prob_given_true: 0.7 # line no longer needed - delete
        prob_given_false: 0.95 # line no longer needed - delete
        to_state: "off" # line no longer needed - delete

To solve (2), you need to re-estimate your probabilities using this documentation - this will likely result in better performance in the long term.

A hacky and not recommended workaround to restore your previous functionality would be to put in a mirrored entry for each observation where prob_given_false is equal to prob_given_true. This will induce the same behavior as before - the negative, counterfactual observation is essentially ignored. Be warned - this may break or cause errors in future versions and will not work for template or numeric_state observations. For templates, instead, make them return None where they would have returned False to induce Bayesian to ignore them.

binary_sensor:
  - name: "Heat On"
    platform: bayesian
    prior: 0.2
    probability_threshold: 0.9
    observations:
      - platform: state
        entity_id: binary_sensor.house_occupied
        prob_given_true: 0.3
        prob_given_false: 0.05
        to_state: "on"
      - platform: state # not 
        entity_id: binary_sensor.house_occupied # not recommended
        prob_given_true: 0.5 # not recommended
        prob_given_false: 0.5 # not recommended
        to_state: "off" # not recommended

(@HarvsG - #67631) (documentation)

Bluesound

When the player is grouped and isn’t master, the state no longer reports as “grouped” but instead reports as “idle”.

(@epenet - #78096) (documentation)

Elexa Guardian

The previously deprecated guardian.reboot and guardian.reset_valve_diagnostics services have been removed and replaced by button entities on the guardian valve controller device.

(@bachya - #78663) (documentation)

Frontier Silicon

When the player is loading, the state no longer reports as “opening”, but instead reports as “buffering”.

(@epenet - #78101) (documentation)

HERE Travel Time

The previously deprecated YAML configuration of the HERE Travel Time integration has been removed.

HERE Travel Time is now configured via the UI, any existing YAML configuration has been imported in previous releases and can now be safely removed from your YAML configuration files

(@eifinger - #77959) (documentation)

HomeKit Controller

When the player is not active, the state no longer reports as “problem”, but instead reports as “off”.

When the player is active, but the state doesn’t match known states, the state no longer reports as “ok” but instead reports as “on”.

(@epenet - #78105) (documentation)

Radarr

Some backward-incompatible changes have been made in disabling the Movies count sensor out of caution. This sensor can cause problems with massive databases. If you still wish to use it, you may do so.

Movie names are no longer included as attributes in the movies sensor. Upcoming has been removed. It is being modernized as calendar items should be. Diskspace is now split into different sensors, one for each folder. Status and commands have been removed as they don’t appear to have real value for automations.

(@tkdrob - #78965) (documentation)

Supervisor

In Home Assistant 2022.4, the binary sensors for showing an update from the Supervisor integration were deprecated in favor of update entities.

These binary sensors for showing an update have now been removed.

(@ludeeus - #60677) (documentation)

Synology DSM

In Home Assistant 2022.4 the binary sensor of Synology DSM for showing an update was deprecated in favor of the newer update entity.

This binary sensor for showing an update has now been removed.

(@mib1185 - #79509) (documentation)

Workday

Due to changes in the upstream library, the following is no longer supported by the Workday integration:

  • UK subdivisions (Wales, Scotland, England…) can no longer be provided as values to the country configuration key. They are still available for use as values to the province setting.
  • IsleOfMan is no longer a recognized province of the UK, use the IM code for the country instead.
  • The extended Portuguese holiday set (PortugalExt) is no longer available as a separate country; instead you should use the country code PT and the province Ext.

(@TomBrien - #78832) (documentation)

Z-Wave

You must use zwave-js-server 1.24.0 or greater (schema 24).

With this release, you will need to update your zwave-js-server instance.

  • If you use the Z-Wave JS addon, you need to have at least version 0.1.74.
  • If you use the Z-Wave JS UI addon, you need to have at least version 1.1.0.
  • If you use the Z-Wave JS UI Docker container, you need to have at least version 8.1.0.
  • If you run your own Docker container, or some other installation method, you will need to update your zwave-js-server instance to at least 1.24.0.

(@raman325 - #79342) (documentation)


The fan speed levels of Leviton ZW4SF fan controllers are now mapped correctly to corresponding percentage levels in Home Assistant.

This may change which fan speed is selected at certain percentages. You should adjust any automations and scripts that target these devices as needed.

(@mkowalchuk - #60677) (documentation)

If you are a custom integration developer and want to learn about breaking changes and new features available for your integration: Be sure to follow our developer blog. The following are the most notable for this release:

Farewell to the following

The following integrations are also no longer available as of this release:

  • Ambee as it became impossible to get API keys for private use.
  • Climacell has been replaced by Tomorrow.io.
  • Flu Near You the resource is no longer available, causing the integration no longer to work.
  • U.S. Citizenship and Immigration Services (USCIS) the integration relied on webscraping, which is no longer allowed.

All changes

Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2022.10