---
layout: post
title: "0.97: Apache Kafka, Fortigate, Twente Milieu"
description: "Core config and configuration.yaml tools have been split up and a new reload scenes service has been introduced."
date: 2019-08-07 01:11:03
date_formatted: "August 7, 2019"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2019-08-0.97/components.png
---

<a href='/integrations/#version/0.97'><img src='/images/blog/2019-08-0.97/components.png' style='border: 0;box-shadow: none;'></a>

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.

## Python 3.5 support has been dropped

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](/blog/2019/07/19/piwheels/).

## Docker

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](https://github.com/home-assistant/architecture/blob/master/adr/0006-docker-images.md), 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.

## Reload scenes from `configuration.yaml`

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](https://github.com/home-assistant/home-assistant/issues/25681).

## Home Assistant Cast

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.](/blog/2019/08/06/home-assistant-cast/).

<p class='img'>
<a href="/blog/2019/08/06/home-assistant-cast/"><img src='/images/blog/2019-08-home-assistant-cast/hero.png' alt='Picture of a Google Nest Hub with the Home Assistant UI on it.'></a>
</p>

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!

## UI changes

This release contains a couple of notable UI changes:

- [New Cast row available](/lovelace/entities/#cast) in the Lovelace entities card to start Home Assistant Cast.
- Improved accessibility for visually impaired users. This is an [ongoing effort](https://github.com/home-assistant/home-assistant-polymer/issues/3267) on making the frontend accessible.
- Split out `configuration.yaml` actions 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.

[@icypalm]: https://www.github.com/IcyPalm/

## In other news

[Frenck](https://github.com/frenck) wrote [an excellent blog post](https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/) on how to make a $2 smart doorbell using Home Assistant and ESPHome, which doesn't require soldering.

[Aaron](https://github.com/boralyl) created a great and detailed tutorial explaining how to add an [interactive 3D floorplan to Home Assistant](https://aarongodfrey.dev/home%20automation/creating-a-3d-floorplan-in-home-assistant/).

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](https://developers.home-assistant.io/blog/2019/07/19/building-all-the-things.html).

[@jimz011] has updated his amazing, HomeKit inspired, Lovelace config and shared it [on the forums](https://community.home-assistant.io/t/homekit-inspired-lovelace-by-jimz011-august-2019-ha-0-97-x-compatible-massive-update/117086). Sneak preview on how it looks:

[@jimz011]: https://github.com/jimz011

<div class="videoWrapper">
  <iframe width="853" height="480" src="https://www.youtube-nocookie.com/embed/Ng0EDltHujY" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>

## New Integrations

- Add support for recording history to Apache Kafka ([@bachya] - [#25085]) ([apache_kafka docs]) (new-integration)
- Rename RitAssist to FleetGO ([@depl0y] - [#25093]) ([fleetgo docs]) ([ritassist docs]) (breaking change) (new-integration)
- Add Twente Milieu integration ([@frenck] - [#25129]) ([twentemilieu docs]) (new-integration)
- Add Fortigate integration ([@kifeo] - [#24908]) (new-integration)
- Add support for Rainforest Eagle-200 ([@gtdiehl] - [#24919]) ([rainforest_eagle docs]) (new-integration)
- Add Elgato Avea integration ([@pattyland] - [#24281]) ([avea docs]) (new-integration) (new-platform)
- Suez water ([@ooii] - [#23844]) ([suez_water docs]) (new-integration)
- Add new device tracker supporting Fortinet FortiGate ([@kimfrellsen] - [#23078]) ([fortios docs]) (new-integration) (new-platform)
- Add De Lijn (Flemish Public Transport) component ([@bollewolle] - [#24265]) ([delijn docs]) (new-integration) (new-platform)
- Add Support for VeSync Devices - Outlets and Switches ([@webdjoe] - [#24953]) ([vesync docs]) (new-platform)

## Release 0.97.1 - August 9

A new breaking change was introduced with 0.97.1 to accommodate for the HaveIBeenPwned shutting down v2 of their API on August 18. The integration has been migrated to using v3.

- Update HIBP sensor to use API v3 and API Key ([@aetaric] - [#25699]) ([haveibeenpwned docs]) (breaking change)
- Update Cisco Mobility Express module version ([@fbradyirl] - [#25770]) ([cisco_mobility_express docs])
- Don't track unstable attributes ([@jjlawren] - [#25787]) ([unifi docs]) (breaking change)
- Fix deconz allow_clip_sensor and allow_deconz_groups options ([@Anonym-tsk] - [#25811]) ([deconz docs])

[#25699]: https://github.com/home-assistant/home-assistant/pull/25699
[#25770]: https://github.com/home-assistant/home-assistant/pull/25770
[#25787]: https://github.com/home-assistant/home-assistant/pull/25787
[#25811]: https://github.com/home-assistant/home-assistant/pull/25811
[@Anonym-tsk]: https://github.com/Anonym-tsk
[@aetaric]: https://github.com/aetaric
[@fbradyirl]: https://github.com/fbradyirl
[@jjlawren]: https://github.com/jjlawren
[cisco_mobility_express docs]: /integrations/cisco_mobility_express/
[deconz docs]: /integrations/deconz/
[haveibeenpwned docs]: /integrations/haveibeenpwned/
[unifi docs]: /integrations/unifi/

## Release 0.97.2 - August 11

- Fix eco preset for Wink Air Conditioner ([@cameronrmorris] - [#25763]) ([wink docs])
- Update pyvera to 0.3.3 ([@brandond] - [#25820]) ([vera docs])
- Fix Netatmo climate issue ([@cgtobi] - [#25830]) ([netatmo docs])
- Fix KNX Climate mode change callback ([@tombbo] - [#25851]) ([knx docs])
- Always populate hvac_modes in SmartThings climate platform ([@andrewsayre] - [#25859]) ([smartthings docs])
- UniFi - Use state to know if device is online ([@Kane610] - [#25876]) ([unifi docs])
- Fix issue with nuki new available state ([@pvizeli] - [#25881]) ([nuki docs])

[#25763]: https://github.com/home-assistant/home-assistant/pull/25763
[#25820]: https://github.com/home-assistant/home-assistant/pull/25820
[#25830]: https://github.com/home-assistant/home-assistant/pull/25830
[#25851]: https://github.com/home-assistant/home-assistant/pull/25851
[#25859]: https://github.com/home-assistant/home-assistant/pull/25859
[#25876]: https://github.com/home-assistant/home-assistant/pull/25876
[#25881]: https://github.com/home-assistant/home-assistant/pull/25881
[@Kane610]: https://github.com/Kane610
[@andrewsayre]: https://github.com/andrewsayre
[@brandond]: https://github.com/brandond
[@cameronrmorris]: https://github.com/cameronrmorris
[@cgtobi]: https://github.com/cgtobi
[@pvizeli]: https://github.com/pvizeli
[@tombbo]: https://github.com/tombbo
[knx docs]: /integrations/knx/
[netatmo docs]: /integrations/netatmo/
[nuki docs]: /integrations/nuki/
[smartthings docs]: /integrations/smartthings/
[unifi docs]: /integrations/unifi/
[vera docs]: /integrations/vera/
[wink docs]: /integrations/wink/

## If you need help...

...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).

## Reporting Issues

Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.

<!--more-->

## Breaking Changes

- **Python** - Bump Python support to min Python 3.6.0 ([@balloob] - [#25582])
- **Z-Wave** - Improve handling of Z-Wave config entry vs yaml config. If a Z-Wave `network_key` is specified in configuration.yaml it will override a `network_key` specified 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 cal 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:` `scene_number` is now 1 indexed according to KNX standards. Previously it was 0 based. Please add 1 to your already configured scene numbers (`scene_number: 5` becomes `scene_number: 6`).
  - `sensor:` `state_address` replaces `address` in configuration
  - `binary_sensor:` `state_address` replace `address` in configuration when using xknx config file (`knx: config_file = ...`): Replace `group_address` in BinarySensor and Sensor with `group_address_state`.
- **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 `monitored_conditions` and `name` options and adds an optional `language` option. Sensors are now created for all provided data. ([@michaeldavie] - [#24884]) ([environment_canada docs])

  ```yaml
  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_panel` entries must be removed, and a new totalconnect entry must be added to configuration.yaml. See https://www.home-assistant.io/integrations/totalconnect/ for configuration details. ([@austinmroczek] - [#24427]) ([totalconnect docs])
- **Nuki** - The `lock.nuki_unlatch` service has been removed. It has been replaced by the `lock.open` service. The `lock.nuki_lock_n_go` service 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_join` and `media_player.snapcast_unjoin` to 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_id` for 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_keys` configuration 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])

- **BuienRadar** - Updates to the new version of python-buienrader (1.0.1); this version now leverages the new json buienradar-api.  ([@mjj4791] - [#24463]) ([buienradar docs])

  The following sensor types (monitored_conditions) are no longer supported, since they are no longer provided by the json api of buienradar:

  - snow_1d .. snow_5d

  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)


- **Rejseplanen** - Improve and align Rejseplanen with other transport components. ([@DarkFox] - [#25375]) ([rejseplanen docs])
  - 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

- **haveibeenpwned** - the v2 API is now replaced with the v3 API, which requires an API key. v2 of the API will stop working on August 18.

## Beta Fixes

- Expose comfort presets as HA presets ([@balloob] - [#25491]) ([ecobee docs]) (breaking change) (beta fix)
- Fix handling of empty results from Rejseplanen ([@DarkFox] - [#25610]) ([rejseplanen docs]) (breaking change) (beta fix)
- bump quirks ([@dmulcahey] - [#25618]) ([zha docs]) (beta fix)
- Handle disabled devices ([@Kane610] - [#25625]) ([unifi docs]) (beta fix)
- Fix polling HomeKit devices with multiple services per accessory ([@Jc2k] - [#25629]) ([homekit_controller docs]) (beta fix)
- Meteofrance improve log error messages ([@oncleben31] - [#25630]) ([meteo_france docs]) (beta fix)
- Bump homekit_python to 0.15 ([@Jc2k] - [#25631]) ([homekit_controller docs]) (beta fix)
- Filter out empty results in history API ([@balloob] - [#25633]) ([history docs]) (beta fix)
- Upgrade hass-nabucasa to 0.16 ([@balloob] - [#25636]) ([cloud docs]) (beta fix)
- Feature zwave preset modes ([@Santobert] - [#25537]) ([climate docs]) ([zwave docs]) (beta fix)
- Add PRESET_AWAY to HomematicIP Cloud climate ([@SukramJ] - [#25641]) ([homematicip_cloud docs]) (beta fix)
- UniFi - allow configuration to not track clients or devices ([@Kane610] - [#25642]) ([unifi docs]) (beta fix)
- Add preset to be away and eco ([@balloob] - [#25643]) ([nest docs]) (beta fix)
- Revert flux_led to 0.89 ([@amelchio] - [#25653]) ([flux_led docs]) (beta fix)
- Options to not track wired clients ([@Kane610] - [#25669]) ([unifi docs]) (beta fix)
- Fix issue with incorrect Notion bridge IDs ([@bachya] - [#25683]) ([notion docs]) (beta fix)
- In some circumstances device.last_seen can be None ([@Kane610] - [#25690]) ([unifi docs]) (beta fix)
- UniFi - reverse connectivity logic ([@Kane610] - [#25691]) ([unifi docs]) (beta fix)
- Fix roku lxml requirement ([@pvizeli] - [#25696]) ([roku docs]) (beta fix)
- Add HmIP-SCI to Homematic IP Cloud, Fix HmIP-SWDM ([@SukramJ] - [#25639]) ([homematicip_cloud docs]) (beta fix)
- Bump envoy_reader to 0.8.6, fix missing dependency ([@jesserizzo] - [#25679]) ([enphase_envoy docs]) (beta fix)
- Add service to reload scenes from configuration.yaml ([@balloob] - [#25680]) ([homeassistant docs]) ([scene docs]) (beta fix)
- Update HTTP defaults ([@balloob] - [#25702]) ([http docs]) (beta fix)
- UniFi - handle device not having a name ([@Kane610] - [#25713]) ([unifi docs]) (beta fix)
- Bump hdate==0.9.0 (use pytz instead of dateutil) ([@tsvi] - [#25726]) ([jewish_calendar docs]) (beta fix)
- initial commit ([@zxdavb] - [#25731]) ([incomfort docs]) (beta fix)
- Revert emulated hue changes ([@balloob] - [#25732]) ([emulated_hue docs]) (beta fix)
- Fix last seen not available on certain devices ([@Kane610] - [#25735]) ([unifi docs]) (beta fix)

## All changes

- Rewrite calendar component ([@MartinHjelmare] - [#24950]) ([caldav docs]) ([calendar docs]) ([demo docs]) ([google docs]) ([todoist docs]) (breaking change)
- Remove monitored conditions from syncthru ([@nielstron] - [#25052]) ([syncthru docs]) (breaking change)
- Update KNX component to xknx 0.11 ([@farmio] - [#24738]) ([knx docs]) (breaking change)
- Support hass-release inside devcontainer ([@pvizeli] - [#25090])
- Add support for recording history to Apache Kafka ([@bachya] - [#25085]) ([apache_kafka docs]) (new-integration)
- Ps4 move send_command service to init ([@ktnrg45] - [#25094]) ([ps4 docs])
- Rename RitAssist to FleetGO ([@depl0y] - [#25093]) ([fleetgo docs]) ([ritassist docs]) (breaking change) (new-integration)
- Add support for multiple N26 accounts ([@gorynychzmey] - [#25086]) ([n26 docs]) (breaking change)
- Bump insteonplm to 0.16.3 ([@teharris1] - [#25108]) ([insteon docs])
- Use more compatible samsungtv TV key ([@escoand] - [#25083]) ([samsungtv docs])
- Add additional WWLLN test ([@bachya] - [#25111])
- Splunk component filter support ([@asleeis] - [#25071]) ([splunk docs])
- Add more public rain sensors ([@cgtobi] - [#25117]) ([netatmo docs])
- PS4 handle no connection/ fix spamming of logs when device is off ([@ktnrg45] - [#25091]) ([ps4 docs])
- Upgrade flake8 to 3.7.8 ([@scop] - [#25120])
- Upgrade youtube_dl to 2019.07.12 ([@fabaff] - [#25128]) ([media_extractor docs])
- Update Environment Canada platforms ([@michaeldavie] - [#24884]) ([environment_canada docs]) (breaking change)
- PS4 move load_games and save_games helpers to init from media_player ([@ktnrg45] - [#25127]) ([ps4 docs])
- Move totalconnect from platform to component config ([@austinmroczek] - [#24427]) ([totalconnect docs]) (breaking change)
- Add Twente Milieu integration ([@frenck] - [#25129]) ([twentemilieu docs]) (new-integration)
- Fix aggregation in Netatmo public sensor ([@cgtobi] - [#25132]) ([netatmo docs])
- Merge UniFi device tracker to config entry ([@Kane610] - [#24367]) ([unifi docs]) (breaking change)
- Small changes to bluetooth RSSI tracking ([@FrederikBolding] - [#25056]) ([bluetooth_tracker docs])
- PS4 Add tests for init ([@ktnrg45] - [#25161]) ([ps4 docs])
- Add HomeKit Reset Accessory ([@adrum] - [#25158]) ([homekit docs])
- Add spotify service to allow to play music from playlist ([@lealoureiro] - [#24991]) ([spotify docs])
- Add travel time attribution/coordinates ([@ljmerza] - [#24956]) ([google_travel_time docs])
- Upgrade youtube_dl to 2019.07.16 ([@fabaff] - [#25173]) ([media_extractor docs])
- Add Fortigate integration ([@kifeo] - [#24908]) (new-integration)
- Upgrade discord.py to 1.2.3 ([@fabaff] - [#25174]) ([discord docs])
- Upgrade ruamel.yaml to 0.15.99 ([@fabaff] - [#25175])
- Upgrade Mastodon.py to 1.4.5 ([@fabaff] - [#25176]) ([mastodon docs])
- Delete config.yml ([@pvizeli] - [#25181])
- Improve Nuki lock ([@franfos] - [#22888]) ([nuki docs]) (breaking change)
- Raise not ready when no data from API is retrieved ([@cgtobi] - [#25182]) ([opensensemap docs])
- Add severe weather sensor to Dark Sky ([@rtclauss] - [#22701]) ([darksky docs])
- Use MockConfigEntry ([@andrewsayre] - [#25190])
- Upgrade mypy to 0.720, turn on unreachability warnings ([@scop] - [#25157])
- Add HMIP-FCI / HMIP-FBL / HmIP-BBL ([@SukramJ] - [#25188]) ([homematicip_cloud docs])
- Add login_method config option to fix login issue with RouterOS Version > 6.43 ([@Bouni] - [#25194]) ([mikrotik docs])
- Handle somfy expired token ([@tetienne] - [#25195]) ([somfy docs])
- Fix issue #24495 ([@thomasgermain] - [#25199]) ([seventeentrack docs])
- Simplify cache restore ([@keesschollaart81] - [#25186])
- Add HmIP-PCBS2, HmIP-PCBS-BAT to Homematic IP Cloud ([@SukramJ] - [#25201]) ([homematicip_cloud docs])
- Bump simplisafe-python to 4.0.0 + add additional SimpliSafe attributes ([@bachya] - [#25202]) ([simplisafe docs])
- Upgrades Dockerfiles to Debian Buster ([@frenck] - [#25208])
- Add myself to songpal codeowners ([@rytilahti] - [#25221]) ([songpal docs])
- OpenWrt Luci RPC Device Tracker Module Bump ([@fbradyirl] - [#25234]) ([luci docs])
- Add hvac_action support for MQTT HVAC ([@definitio] - [#25260]) ([mqtt docs])
- Add vendor support for vorwerk robots and fix zone retrieval ([@dshokouhi] - [#25200]) ([neato docs])
- Add support for Rainforest Eagle-200 ([@gtdiehl] - [#24919]) ([rainforest_eagle docs]) (new-integration)
- Add MQTT climate precision ([@PhilRW] - [#25265]) ([mqtt docs])
- Add services to set and remove Simplisafe PINs ([@bachya] - [#25207]) ([simplisafe docs])
- Multiroom support for snapcast ([@lyghtnox] - [#24061]) ([snapcast docs]) (breaking change)
- Avoid creating temporary lists ([@nierob] - [#25317]) ([climate docs]) ([device_tracker docs]) ([google_assistant docs]) ([media_player docs]) ([nextbus docs]) ([smartthings docs]) ([system_health docs])
- Return Ambient PWS brightness sensor unit and remove CONF_MONITORED_CONDITIONS ([@bachya] - [#25284]) ([ambient_station docs]) (breaking change)
- Ps4 reformat media data ([@ktnrg45] - [#25172]) ([ps4 docs])
- Fix missing Nachteule in mvglive component ([@9R] - [#25304]) ([mvglive docs])
- Doc lint fixes ([@scop] - [#25339]) ([evohome docs]) ([hive docs])
- Remove some Python 2 compatibility code ([@scop] - [#25341]) ([html5 docs])
- Fix util.ruamel_yaml type errors ([@scop] - [#25338])
- Mypy config improvements ([@scop] - [#25340])
- Update Google Maps Location Tracker to use locationsharinglib==4.0.2 ([@shbatm] - [#25316]) ([google_maps docs]) (breaking change)
- Automatically expand WWLLN window to 1 hour (if necessary) ([@bachya] - [#25357])
- Type check all helpers ([@scop] - [#25373])
- Optional and Union simplifications ([@scop] - [#25365])
- Add add_torrent service to Transmission ([@postlund] - [#25144]) ([transmission docs])
- Add support for contact binary sensors in homekit_controller ([@dwradcliffe] - [#25355]) ([homekit_controller docs])
- Only poll HomeKit connection once for all entities on a single bridge/pairing ([@Jc2k] - [#25249]) ([homekit_controller docs])
- Add area support to fan service schemas ([@bachya] - [#25409]) ([fan docs])
- Add area support to cover service schemas ([@bachya] - [#25408]) ([cover docs])
- Add area support to automation service schemas ([@bachya] - [#25403]) ([automation docs])
- Add area support to counter service schemas ([@bachya] - [#25401]) ([counter docs])
- Add area support to alarm_control_panel service schemas ([@bachya] - [#25402]) ([alarm_control_panel docs])
- Clean up Netatmo sensor code ([@cgtobi] - [#25390]) ([netatmo docs])
- Add area support to script service schemas ([@bachya] - [#25439]) ([script docs])
- Add area support to scene service schemas ([@bachya] - [#25438]) ([scene docs])
- Add area support to input select service schemas ([@bachya] - [#25432]) ([input_select docs])
- Add area support to input number service schemas ([@bachya] - [#25431]) ([input_number docs])
- Add area support to input datetime service schemas ([@bachya] - [#25430]) ([input_datetime docs])
- Add area support to Wink service schemas ([@bachya] - [#25445]) ([wink docs])
- Add area support to input boolean service schemas ([@bachya] - [#25429]) ([input_boolean docs])
- Add area support to image processing service schemas ([@bachya] - [#25428]) ([image_processing docs])
- Add area support to input text service schemas ([@bachya] - [#25434]) ([input_text docs])
- Add area support to climate service schemas ([@bachya] - [#25441]) ([climate docs])
- Upgrade HPILO requirement to v4.3 ([@xt16johnny] - [#25444]) ([hp_ilo docs])
- Increase vallox robustness on startup ([@andre-richter] - [#25382]) ([vallox docs])
- Add Support for VeSync Devices - Outlets and Switches ([@webdjoe] - [#24953]) ([vesync docs]) (new-platform)
- Add area support to utility meter service schemas ([@bachya] - [#25442]) ([utility_meter docs])
- Add Elgato Avea integration ([@pattyland] - [#24281]) ([avea docs]) (new-integration) (new-platform)
- Add area support to lock service schemas ([@bachya] - [#25435]) ([lock docs])
- Add area support to remote service schemas ([@bachya] - [#25437]) ([remote docs])
- Suez water ([@ooii] - [#23844]) ([suez_water docs]) (new-integration)
- Add new device tracker supporting Fortinet FortiGate ([@kimfrellsen] - [#23078]) ([fortios docs]) (new-integration) (new-platform)
- Bump up ZHA dependencies. ([@Adminiuga] - [#25450]) ([zha docs])
- Add area support to media player service schemas ([@bachya] - [#25436]) ([media_player docs])
- Huawei LTE misc improvements ([@scop] - [#25377]) ([huawei_lte docs])
- Add area support to timer service schemas ([@bachya] - [#25440]) ([timer docs])
- Remove unnecessary REMOTE_SERVICE_SCHEMA ([@bachya] - [#25453]) ([remote docs])
- Add area support to vacuum service schemas ([@bachya] - [#25443]) ([vacuum docs])
- Daikin simplification and code cleanup ([@fredrike] - [#25416]) ([daikin docs])
- Allow configuring sources for older Pioneer receivers ([@plafue] - [#25305]) ([pioneer docs])
- Add area support to group service schemas ([@bachya] - [#25410]) ([group docs])
- Lint fixes ([@scop] - [#25462]) ([avea docs]) ([fortios docs])
- Install requirements_test.txt for flake8 in Azure CI ([@scop] - [#25463])
- Fix bloomsky unit system ([@Santobert] - [#25460]) ([bloomsky docs])
- Type check homeassistant.scripts ([@scop] - [#25464])
- Mypy config cleanups ([@scop] - [#25475])
- Add scan interval to config of Environment Canada sensor ([@michaeldavie] - [#25414]) ([environment_canada docs])
- UniFi block clients ([@Kane610] - [#25478]) ([unifi docs])
- Add a unique identifier to deCONZ groups ([@Kane610] - [#25485]) ([deconz docs])
- Add ord() to template filters ([@aschamberger] - [#25398])
- Update solax to 0.1.2 ([@squishykid] - [#25497]) ([solax docs])
- Add De Lijn (Flemish Public Transport) component ([@bollewolle] - [#24265]) ([delijn docs]) (new-integration) (new-platform)
- Fix deprecation warning in test ([@balloob] - [#25506]) ([http docs])
- Improve handling of Z-Wave config entry vs yaml config ([@cgarwood] - [#25112]) ([zwave docs]) (breaking change)
- Fire lovelace updated event when update detected ([@balloob] - [#25507]) ([lovelace docs])
- Support multiple Elk instances ([@gjbadros] - [#23839]) ([elkm1 docs])
- Add container settings for YAML extension to avoid Hass specific custom tags errors ([@oncleben31] - [#25504])
- Add last_run_success boolean attribute to Switchbot for error trapping ([@manonstreet] - [#25474]) ([switchbot docs])
- deCONZ - Add power attribute for consumption sensors ([@Kane610] - [#25512]) ([deconz docs])
- Improve seventeentrack ([@thomasgermain] - [#25454]) ([seventeentrack docs])
- Roombalocate ([@Anglac] - [#25508]) ([roomba docs])
- deCONZ - cleanup sensor attributes ([@Kane610] - [#25540]) ([deconz docs])
- Update to buienradar json api; and additional monitored_conditions ([@mjj4791] - [#24463]) ([buienradar docs]) (breaking change)
- Fix bug with WWLLN update interval ([@bachya] - [#25498])
- Fix WinkAC mode API calls to correct methods ([@cameronrmorris] - [#25545]) ([wink docs])
- Bump env_canada to 0.0.19 ([@michaeldavie] - [#25548]) ([environment_canada docs])
- Tibber, off peak values ([@Danielhiversen] - [#25320]) ([tibber docs])
- Enable velbus config entries ([@Cereal2nd] - [#25308]) ([velbus docs])
- huawei_lte: try unsupported data retrievals only once ([@scop] - [#25524]) ([huawei_lte docs])
- Ignore .dmypy.json ([@scop] - [#25528])
- Update eternalegypt to 0.0.8 ([@amelchio] - [#25551]) ([netgear_lte docs])
- Update Cisco Mobility Express module version ([@fbradyirl] - [#25422]) ([cisco_mobility_express docs])
- Expose last_video_id as property for Ring camera ([@Yarikx] - [#25553]) ([ring docs])
- Quiet noisy tado query logging ([@andersonshatch] - [#25529]) ([tado docs])
- Add PS4 tests for media player ([@ktnrg45] - [#25415]) ([ps4 docs])
- UniFi POE control restore clients ([@Kane610] - [#25558]) ([unifi docs])
- LCN cover control via output ports ([@alengwenus] - [#25511]) ([lcn docs])
- UniFi device tracker restore clients ([@Kane610] - [#25532]) ([unifi docs])
- Transition SimpliSafe data retrieval to its own object ([@bachya] - [#25546]) ([simplisafe docs])
- UniFi - Track devices ([@Kane610] - [#25570]) ([unifi docs])
- pylutron PyPI update ([@JonGilmore] - [#25557]) ([lutron docs])
- Make the velbus component more robust in handling errors ([@Cereal2nd] - [#25567]) ([velbus docs])
- Updated Workday Binary Sensor to use Holidays 0.9.11 and added support for Aruba Holidays. ([@orson1282] - [#25568]) ([workday docs])
- add cleaning state code for roborock s6 ([@benleb] - [#25500]) ([xiaomi_miio docs])
- ZHA log helper ([@Adminiuga] - [#25543]) ([zha docs])
- Fix : Velbus translation error ([@Quentame] - [#25575]) ([velbus docs])
- Add last event data (including "changed_by") to SimpliSafe ([@bachya] - [#25569]) ([simplisafe docs])
- Bump Python support to min Python 3.6.0 ([@balloob] - [#25582]) (breaking change)
- Bump insteonplm to 0.16.5 ([@teharris1] - [#25580]) ([insteon docs])
- Fix status of lutron switches/lights after HA reboot ([@JonGilmore] - [#25592]) ([lutron docs])
- Add support for Roku TVs to be powered on or off ([@manutenfruits] - [#25590]) ([roku docs])
- Bump env_canada to 0.0.20 ([@michaeldavie] - [#25594]) ([environment_canada docs])
- Bump venstarcolortouch to 0.9 ([@iamtpage] - [#25585]) ([venstar docs])
- Log platform import errors and correct reqs for config check ([@elupus] - [#25425])
- Improve and align Rejseplanen with other transport components (Breaking) ([@DarkFox] - [#25375]) ([rejseplanen docs]) (breaking change)
- Add migration notification for Ambient PWS ([@bachya] - [#25561]) ([ambient_station docs])
- Fix wrong exposed light for emulated hue ([@croghostrider] - [#25581]) ([demo docs]) ([emulated_hue docs])
- Fix bug and bump geniushub client ([@zxdavb] - [#25599]) ([geniushub docs])
- implemented timout setting for telnet switch ([@tofuSCHNITZEL] - [#25602]) ([telnet docs])
- remove myself from CODEOWNDERS ([@ChristianKuehnel] - [#25593])
- Change how ring polls for changes to allow more platforms to be added ([@rossdargan] - [#25534]) ([ring docs]) (new-platform)
- Introduce support for color temperature ([@yeralin] - [#25503]) ([flux_led docs])
- Netatmo climate refactor ([@cgtobi] - [#25457]) ([netatmo docs])
- Return history for entities in the order they were requested ([@thomasloven] - [#25560]) ([history docs])
- Python < 3.6 remainder cleanups ([@scop] - [#25607])
- Azure flake8 dep, docstring fixes ([@scop] - [#25605]) ([rejseplanen docs]) ([ring docs]) ([zha docs])
- Expose comfort presets as HA presets ([@balloob] - [#25491]) ([ecobee docs]) (breaking change) (beta fix)
- Fix handling of empty results from Rejseplanen ([@DarkFox] - [#25610]) ([rejseplanen docs]) (breaking change) (beta fix)
- bump quirks ([@dmulcahey] - [#25618]) ([zha docs]) (beta fix)
- Handle disabled devices ([@Kane610] - [#25625]) ([unifi docs]) (beta fix)
- Fix polling HomeKit devices with multiple services per accessory ([@Jc2k] - [#25629]) ([homekit_controller docs]) (beta fix)
- Meteofrance improve log error messages ([@oncleben31] - [#25630]) ([meteo_france docs]) (beta fix)
- Bump homekit_python to 0.15 ([@Jc2k] - [#25631]) ([homekit_controller docs]) (beta fix)
- Filter out empty results in history API ([@balloob] - [#25633]) ([history docs]) (beta fix)
- Upgrade hass-nabucasa to 0.16 ([@balloob] - [#25636]) ([cloud docs]) (beta fix)
- Feature zwave preset modes ([@Santobert] - [#25537]) ([climate docs]) ([zwave docs]) (beta fix)
- Add PRESET_AWAY to HomematicIP Cloud climate ([@SukramJ] - [#25641]) ([homematicip_cloud docs]) (beta fix)
- UniFi - allow configuration to not track clients or devices ([@Kane610] - [#25642]) ([unifi docs]) (beta fix)
- Add preset to be away and eco ([@balloob] - [#25643]) ([nest docs]) (beta fix)
- Revert flux_led to 0.89 ([@amelchio] - [#25653]) ([flux_led docs]) (beta fix)
- Options to not track wired clients ([@Kane610] - [#25669]) ([unifi docs]) (beta fix)
- Fix issue with incorrect Notion bridge IDs ([@bachya] - [#25683]) ([notion docs]) (beta fix)
- In some circumstances device.last_seen can be None ([@Kane610] - [#25690]) ([unifi docs]) (beta fix)
- UniFi - reverse connectivity logic ([@Kane610] - [#25691]) ([unifi docs]) (beta fix)
- Fix roku lxml requirement ([@pvizeli] - [#25696]) ([roku docs]) (beta fix)
- Add HmIP-SCI to Homematic IP Cloud, Fix HmIP-SWDM ([@SukramJ] - [#25639]) ([homematicip_cloud docs]) (beta fix)
- Bump envoy_reader to 0.8.6, fix missing dependency ([@jesserizzo] - [#25679]) ([enphase_envoy docs]) (beta fix)
- Add service to reload scenes from configuration.yaml ([@balloob] - [#25680]) ([homeassistant docs]) ([scene docs]) (beta fix)
- Update HTTP defaults ([@balloob] - [#25702]) ([http docs]) (beta fix)
- UniFi - handle device not having a name ([@Kane610] - [#25713]) ([unifi docs]) (beta fix)
- Bump hdate==0.9.0 (use pytz instead of dateutil) ([@tsvi] - [#25726]) ([jewish_calendar docs]) (beta fix)
- initial commit ([@zxdavb] - [#25731]) ([incomfort docs]) (beta fix)
- Revert emulated hue changes ([@balloob] - [#25732]) ([emulated_hue docs]) (beta fix)
- Fix last seen not available on certain devices ([@Kane610] - [#25735]) ([unifi docs]) (beta fix)

[#22701]: https://github.com/home-assistant/home-assistant/pull/22701
[#22888]: https://github.com/home-assistant/home-assistant/pull/22888
[#23078]: https://github.com/home-assistant/home-assistant/pull/23078
[#23839]: https://github.com/home-assistant/home-assistant/pull/23839
[#23844]: https://github.com/home-assistant/home-assistant/pull/23844
[#24061]: https://github.com/home-assistant/home-assistant/pull/24061
[#24265]: https://github.com/home-assistant/home-assistant/pull/24265
[#24281]: https://github.com/home-assistant/home-assistant/pull/24281
[#24367]: https://github.com/home-assistant/home-assistant/pull/24367
[#24427]: https://github.com/home-assistant/home-assistant/pull/24427
[#24463]: https://github.com/home-assistant/home-assistant/pull/24463
[#24738]: https://github.com/home-assistant/home-assistant/pull/24738
[#24884]: https://github.com/home-assistant/home-assistant/pull/24884
[#24908]: https://github.com/home-assistant/home-assistant/pull/24908
[#24919]: https://github.com/home-assistant/home-assistant/pull/24919
[#24950]: https://github.com/home-assistant/home-assistant/pull/24950
[#24953]: https://github.com/home-assistant/home-assistant/pull/24953
[#24956]: https://github.com/home-assistant/home-assistant/pull/24956
[#24991]: https://github.com/home-assistant/home-assistant/pull/24991
[#25052]: https://github.com/home-assistant/home-assistant/pull/25052
[#25056]: https://github.com/home-assistant/home-assistant/pull/25056
[#25071]: https://github.com/home-assistant/home-assistant/pull/25071
[#25083]: https://github.com/home-assistant/home-assistant/pull/25083
[#25085]: https://github.com/home-assistant/home-assistant/pull/25085
[#25086]: https://github.com/home-assistant/home-assistant/pull/25086
[#25090]: https://github.com/home-assistant/home-assistant/pull/25090
[#25091]: https://github.com/home-assistant/home-assistant/pull/25091
[#25093]: https://github.com/home-assistant/home-assistant/pull/25093
[#25094]: https://github.com/home-assistant/home-assistant/pull/25094
[#25108]: https://github.com/home-assistant/home-assistant/pull/25108
[#25111]: https://github.com/home-assistant/home-assistant/pull/25111
[#25112]: https://github.com/home-assistant/home-assistant/pull/25112
[#25117]: https://github.com/home-assistant/home-assistant/pull/25117
[#25120]: https://github.com/home-assistant/home-assistant/pull/25120
[#25127]: https://github.com/home-assistant/home-assistant/pull/25127
[#25128]: https://github.com/home-assistant/home-assistant/pull/25128
[#25129]: https://github.com/home-assistant/home-assistant/pull/25129
[#25132]: https://github.com/home-assistant/home-assistant/pull/25132
[#25144]: https://github.com/home-assistant/home-assistant/pull/25144
[#25157]: https://github.com/home-assistant/home-assistant/pull/25157
[#25158]: https://github.com/home-assistant/home-assistant/pull/25158
[#25161]: https://github.com/home-assistant/home-assistant/pull/25161
[#25172]: https://github.com/home-assistant/home-assistant/pull/25172
[#25173]: https://github.com/home-assistant/home-assistant/pull/25173
[#25174]: https://github.com/home-assistant/home-assistant/pull/25174
[#25175]: https://github.com/home-assistant/home-assistant/pull/25175
[#25176]: https://github.com/home-assistant/home-assistant/pull/25176
[#25181]: https://github.com/home-assistant/home-assistant/pull/25181
[#25182]: https://github.com/home-assistant/home-assistant/pull/25182
[#25186]: https://github.com/home-assistant/home-assistant/pull/25186
[#25188]: https://github.com/home-assistant/home-assistant/pull/25188
[#25190]: https://github.com/home-assistant/home-assistant/pull/25190
[#25194]: https://github.com/home-assistant/home-assistant/pull/25194
[#25195]: https://github.com/home-assistant/home-assistant/pull/25195
[#25199]: https://github.com/home-assistant/home-assistant/pull/25199
[#25200]: https://github.com/home-assistant/home-assistant/pull/25200
[#25201]: https://github.com/home-assistant/home-assistant/pull/25201
[#25202]: https://github.com/home-assistant/home-assistant/pull/25202
[#25207]: https://github.com/home-assistant/home-assistant/pull/25207
[#25208]: https://github.com/home-assistant/home-assistant/pull/25208
[#25221]: https://github.com/home-assistant/home-assistant/pull/25221
[#25234]: https://github.com/home-assistant/home-assistant/pull/25234
[#25249]: https://github.com/home-assistant/home-assistant/pull/25249
[#25260]: https://github.com/home-assistant/home-assistant/pull/25260
[#25265]: https://github.com/home-assistant/home-assistant/pull/25265
[#25284]: https://github.com/home-assistant/home-assistant/pull/25284
[#25304]: https://github.com/home-assistant/home-assistant/pull/25304
[#25305]: https://github.com/home-assistant/home-assistant/pull/25305
[#25308]: https://github.com/home-assistant/home-assistant/pull/25308
[#25316]: https://github.com/home-assistant/home-assistant/pull/25316
[#25317]: https://github.com/home-assistant/home-assistant/pull/25317
[#25320]: https://github.com/home-assistant/home-assistant/pull/25320
[#25338]: https://github.com/home-assistant/home-assistant/pull/25338
[#25339]: https://github.com/home-assistant/home-assistant/pull/25339
[#25340]: https://github.com/home-assistant/home-assistant/pull/25340
[#25341]: https://github.com/home-assistant/home-assistant/pull/25341
[#25355]: https://github.com/home-assistant/home-assistant/pull/25355
[#25357]: https://github.com/home-assistant/home-assistant/pull/25357
[#25365]: https://github.com/home-assistant/home-assistant/pull/25365
[#25373]: https://github.com/home-assistant/home-assistant/pull/25373
[#25375]: https://github.com/home-assistant/home-assistant/pull/25375
[#25377]: https://github.com/home-assistant/home-assistant/pull/25377
[#25382]: https://github.com/home-assistant/home-assistant/pull/25382
[#25390]: https://github.com/home-assistant/home-assistant/pull/25390
[#25398]: https://github.com/home-assistant/home-assistant/pull/25398
[#25401]: https://github.com/home-assistant/home-assistant/pull/25401
[#25402]: https://github.com/home-assistant/home-assistant/pull/25402
[#25403]: https://github.com/home-assistant/home-assistant/pull/25403
[#25408]: https://github.com/home-assistant/home-assistant/pull/25408
[#25409]: https://github.com/home-assistant/home-assistant/pull/25409
[#25410]: https://github.com/home-assistant/home-assistant/pull/25410
[#25414]: https://github.com/home-assistant/home-assistant/pull/25414
[#25415]: https://github.com/home-assistant/home-assistant/pull/25415
[#25416]: https://github.com/home-assistant/home-assistant/pull/25416
[#25422]: https://github.com/home-assistant/home-assistant/pull/25422
[#25425]: https://github.com/home-assistant/home-assistant/pull/25425
[#25428]: https://github.com/home-assistant/home-assistant/pull/25428
[#25429]: https://github.com/home-assistant/home-assistant/pull/25429
[#25430]: https://github.com/home-assistant/home-assistant/pull/25430
[#25431]: https://github.com/home-assistant/home-assistant/pull/25431
[#25432]: https://github.com/home-assistant/home-assistant/pull/25432
[#25434]: https://github.com/home-assistant/home-assistant/pull/25434
[#25435]: https://github.com/home-assistant/home-assistant/pull/25435
[#25436]: https://github.com/home-assistant/home-assistant/pull/25436
[#25437]: https://github.com/home-assistant/home-assistant/pull/25437
[#25438]: https://github.com/home-assistant/home-assistant/pull/25438
[#25439]: https://github.com/home-assistant/home-assistant/pull/25439
[#25440]: https://github.com/home-assistant/home-assistant/pull/25440
[#25441]: https://github.com/home-assistant/home-assistant/pull/25441
[#25442]: https://github.com/home-assistant/home-assistant/pull/25442
[#25443]: https://github.com/home-assistant/home-assistant/pull/25443
[#25444]: https://github.com/home-assistant/home-assistant/pull/25444
[#25445]: https://github.com/home-assistant/home-assistant/pull/25445
[#25450]: https://github.com/home-assistant/home-assistant/pull/25450
[#25453]: https://github.com/home-assistant/home-assistant/pull/25453
[#25454]: https://github.com/home-assistant/home-assistant/pull/25454
[#25457]: https://github.com/home-assistant/home-assistant/pull/25457
[#25460]: https://github.com/home-assistant/home-assistant/pull/25460
[#25462]: https://github.com/home-assistant/home-assistant/pull/25462
[#25463]: https://github.com/home-assistant/home-assistant/pull/25463
[#25464]: https://github.com/home-assistant/home-assistant/pull/25464
[#25474]: https://github.com/home-assistant/home-assistant/pull/25474
[#25475]: https://github.com/home-assistant/home-assistant/pull/25475
[#25478]: https://github.com/home-assistant/home-assistant/pull/25478
[#25485]: https://github.com/home-assistant/home-assistant/pull/25485
[#25491]: https://github.com/home-assistant/home-assistant/pull/25491
[#25497]: https://github.com/home-assistant/home-assistant/pull/25497
[#25498]: https://github.com/home-assistant/home-assistant/pull/25498
[#25500]: https://github.com/home-assistant/home-assistant/pull/25500
[#25503]: https://github.com/home-assistant/home-assistant/pull/25503
[#25504]: https://github.com/home-assistant/home-assistant/pull/25504
[#25506]: https://github.com/home-assistant/home-assistant/pull/25506
[#25507]: https://github.com/home-assistant/home-assistant/pull/25507
[#25508]: https://github.com/home-assistant/home-assistant/pull/25508
[#25511]: https://github.com/home-assistant/home-assistant/pull/25511
[#25512]: https://github.com/home-assistant/home-assistant/pull/25512
[#25524]: https://github.com/home-assistant/home-assistant/pull/25524
[#25528]: https://github.com/home-assistant/home-assistant/pull/25528
[#25529]: https://github.com/home-assistant/home-assistant/pull/25529
[#25532]: https://github.com/home-assistant/home-assistant/pull/25532
[#25534]: https://github.com/home-assistant/home-assistant/pull/25534
[#25537]: https://github.com/home-assistant/home-assistant/pull/25537
[#25540]: https://github.com/home-assistant/home-assistant/pull/25540
[#25543]: https://github.com/home-assistant/home-assistant/pull/25543
[#25545]: https://github.com/home-assistant/home-assistant/pull/25545
[#25546]: https://github.com/home-assistant/home-assistant/pull/25546
[#25548]: https://github.com/home-assistant/home-assistant/pull/25548
[#25551]: https://github.com/home-assistant/home-assistant/pull/25551
[#25553]: https://github.com/home-assistant/home-assistant/pull/25553
[#25557]: https://github.com/home-assistant/home-assistant/pull/25557
[#25558]: https://github.com/home-assistant/home-assistant/pull/25558
[#25560]: https://github.com/home-assistant/home-assistant/pull/25560
[#25561]: https://github.com/home-assistant/home-assistant/pull/25561
[#25567]: https://github.com/home-assistant/home-assistant/pull/25567
[#25568]: https://github.com/home-assistant/home-assistant/pull/25568
[#25569]: https://github.com/home-assistant/home-assistant/pull/25569
[#25570]: https://github.com/home-assistant/home-assistant/pull/25570
[#25575]: https://github.com/home-assistant/home-assistant/pull/25575
[#25580]: https://github.com/home-assistant/home-assistant/pull/25580
[#25581]: https://github.com/home-assistant/home-assistant/pull/25581
[#25582]: https://github.com/home-assistant/home-assistant/pull/25582
[#25585]: https://github.com/home-assistant/home-assistant/pull/25585
[#25590]: https://github.com/home-assistant/home-assistant/pull/25590
[#25592]: https://github.com/home-assistant/home-assistant/pull/25592
[#25593]: https://github.com/home-assistant/home-assistant/pull/25593
[#25594]: https://github.com/home-assistant/home-assistant/pull/25594
[#25599]: https://github.com/home-assistant/home-assistant/pull/25599
[#25602]: https://github.com/home-assistant/home-assistant/pull/25602
[#25605]: https://github.com/home-assistant/home-assistant/pull/25605
[#25607]: https://github.com/home-assistant/home-assistant/pull/25607
[#25610]: https://github.com/home-assistant/home-assistant/pull/25610
[#25618]: https://github.com/home-assistant/home-assistant/pull/25618
[#25625]: https://github.com/home-assistant/home-assistant/pull/25625
[#25629]: https://github.com/home-assistant/home-assistant/pull/25629
[#25630]: https://github.com/home-assistant/home-assistant/pull/25630
[#25631]: https://github.com/home-assistant/home-assistant/pull/25631
[#25633]: https://github.com/home-assistant/home-assistant/pull/25633
[#25636]: https://github.com/home-assistant/home-assistant/pull/25636
[#25639]: https://github.com/home-assistant/home-assistant/pull/25639
[#25641]: https://github.com/home-assistant/home-assistant/pull/25641
[#25642]: https://github.com/home-assistant/home-assistant/pull/25642
[#25643]: https://github.com/home-assistant/home-assistant/pull/25643
[#25653]: https://github.com/home-assistant/home-assistant/pull/25653
[#25669]: https://github.com/home-assistant/home-assistant/pull/25669
[#25679]: https://github.com/home-assistant/home-assistant/pull/25679
[#25680]: https://github.com/home-assistant/home-assistant/pull/25680
[#25683]: https://github.com/home-assistant/home-assistant/pull/25683
[#25690]: https://github.com/home-assistant/home-assistant/pull/25690
[#25691]: https://github.com/home-assistant/home-assistant/pull/25691
[#25696]: https://github.com/home-assistant/home-assistant/pull/25696
[#25702]: https://github.com/home-assistant/home-assistant/pull/25702
[#25713]: https://github.com/home-assistant/home-assistant/pull/25713
[#25726]: https://github.com/home-assistant/home-assistant/pull/25726
[#25731]: https://github.com/home-assistant/home-assistant/pull/25731
[#25732]: https://github.com/home-assistant/home-assistant/pull/25732
[#25735]: https://github.com/home-assistant/home-assistant/pull/25735
[@9R]: https://github.com/9R
[@Adminiuga]: https://github.com/Adminiuga
[@Anglac]: https://github.com/Anglac
[@Bouni]: https://github.com/Bouni
[@Cereal2nd]: https://github.com/Cereal2nd
[@ChristianKuehnel]: https://github.com/ChristianKuehnel
[@Danielhiversen]: https://github.com/Danielhiversen
[@DarkFox]: https://github.com/DarkFox
[@FrederikBolding]: https://github.com/FrederikBolding
[@Jc2k]: https://github.com/Jc2k
[@JonGilmore]: https://github.com/JonGilmore
[@Kane610]: https://github.com/Kane610
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@PhilRW]: https://github.com/PhilRW
[@Quentame]: https://github.com/Quentame
[@Santobert]: https://github.com/Santobert
[@SukramJ]: https://github.com/SukramJ
[@Yarikx]: https://github.com/Yarikx
[@adrum]: https://github.com/adrum
[@alengwenus]: https://github.com/alengwenus
[@amelchio]: https://github.com/amelchio
[@andersonshatch]: https://github.com/andersonshatch
[@andre-richter]: https://github.com/andre-richter
[@andrewsayre]: https://github.com/andrewsayre
[@aschamberger]: https://github.com/aschamberger
[@asleeis]: https://github.com/asleeis
[@austinmroczek]: https://github.com/austinmroczek
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@benleb]: https://github.com/benleb
[@bollewolle]: https://github.com/bollewolle
[@cameronrmorris]: https://github.com/cameronrmorris
[@cgarwood]: https://github.com/cgarwood
[@cgtobi]: https://github.com/cgtobi
[@croghostrider]: https://github.com/croghostrider
[@definitio]: https://github.com/definitio
[@depl0y]: https://github.com/depl0y
[@dmulcahey]: https://github.com/dmulcahey
[@dshokouhi]: https://github.com/dshokouhi
[@dwradcliffe]: https://github.com/dwradcliffe
[@elupus]: https://github.com/elupus
[@escoand]: https://github.com/escoand
[@fabaff]: https://github.com/fabaff
[@farmio]: https://github.com/farmio
[@fbradyirl]: https://github.com/fbradyirl
[@franfos]: https://github.com/franfos
[@fredrike]: https://github.com/fredrike
[@frenck]: https://github.com/frenck
[@gjbadros]: https://github.com/gjbadros
[@gorynychzmey]: https://github.com/gorynychzmey
[@gtdiehl]: https://github.com/gtdiehl
[@iamtpage]: https://github.com/iamtpage
[@jesserizzo]: https://github.com/jesserizzo
[@keesschollaart81]: https://github.com/keesschollaart81
[@kifeo]: https://github.com/kifeo
[@kimfrellsen]: https://github.com/kimfrellsen
[@ktnrg45]: https://github.com/ktnrg45
[@lealoureiro]: https://github.com/lealoureiro
[@ljmerza]: https://github.com/ljmerza
[@lyghtnox]: https://github.com/lyghtnox
[@manonstreet]: https://github.com/manonstreet
[@manutenfruits]: https://github.com/manutenfruits
[@michaeldavie]: https://github.com/michaeldavie
[@mjj4791]: https://github.com/mjj4791
[@nielstron]: https://github.com/nielstron
[@nierob]: https://github.com/nierob
[@oncleben31]: https://github.com/oncleben31
[@ooii]: https://github.com/ooii
[@orson1282]: https://github.com/orson1282
[@pattyland]: https://github.com/pattyland
[@plafue]: https://github.com/plafue
[@postlund]: https://github.com/postlund
[@pvizeli]: https://github.com/pvizeli
[@rossdargan]: https://github.com/rossdargan
[@rtclauss]: https://github.com/rtclauss
[@rytilahti]: https://github.com/rytilahti
[@scop]: https://github.com/scop
[@shbatm]: https://github.com/shbatm
[@squishykid]: https://github.com/squishykid
[@teharris1]: https://github.com/teharris1
[@tetienne]: https://github.com/tetienne
[@thomasgermain]: https://github.com/thomasgermain
[@thomasloven]: https://github.com/thomasloven
[@tofuSCHNITZEL]: https://github.com/tofuSCHNITZEL
[@tsvi]: https://github.com/tsvi
[@webdjoe]: https://github.com/webdjoe
[@xt16johnny]: https://github.com/xt16johnny
[@yeralin]: https://github.com/yeralin
[@zxdavb]: https://github.com/zxdavb
[alarm_control_panel docs]: /integrations/alarm_control_panel/
[ambient_station docs]: /integrations/ambient_station/
[apache_kafka docs]: /integrations/apache_kafka/
[automation docs]: /integrations/automation/
[avea docs]: /integrations/avea/
[bloomsky docs]: /integrations/bloomsky/
[bluetooth_tracker docs]: /integrations/bluetooth_tracker/
[buienradar docs]: /integrations/buienradar/
[caldav docs]: /integrations/caldav/
[calendar docs]: /integrations/calendar/
[cisco_mobility_express docs]: /integrations/cisco_mobility_express/
[climate docs]: /integrations/climate/
[cloud docs]: /integrations/cloud/
[counter docs]: /integrations/counter/
[cover docs]: /integrations/cover/
[daikin docs]: /integrations/daikin/
[darksky docs]: /integrations/darksky/
[deconz docs]: /integrations/deconz/
[delijn docs]: /integrations/delijn/
[demo docs]: /integrations/demo/
[device_tracker docs]: /integrations/device_tracker/
[discord docs]: /integrations/discord/
[ecobee docs]: /integrations/ecobee/
[elkm1 docs]: /integrations/elkm1/
[emulated_hue docs]: /integrations/emulated_hue/
[enphase_envoy docs]: /integrations/enphase_envoy/
[environment_canada docs]: /integrations/environment_canada/
[evohome docs]: /integrations/evohome/
[fan docs]: /integrations/fan/
[fleetgo docs]: /integrations/fleetgo/
[flux_led docs]: /integrations/flux_led/
[fortios docs]: /integrations/fortios/
[geniushub docs]: /integrations/geniushub/
[google cal docs]: /integrations/calendar.google/
[google_assistant docs]: /integrations/google_assistant/
[google_maps docs]: /integrations/google_maps/
[google_travel_time docs]: /integrations/google_travel_time/
[group docs]: /integrations/group/
[history docs]: /integrations/history/
[hive docs]: /integrations/hive/
[homeassistant docs]: /integrations/homeassistant/
[homekit docs]: /integrations/homekit/
[homekit_controller docs]: /integrations/homekit_controller/
[homematicip_cloud docs]: /integrations/homematicip_cloud/
[hp_ilo docs]: /integrations/hp_ilo/
[html5 docs]: /integrations/html5/
[http docs]: /integrations/http/
[huawei_lte docs]: /integrations/huawei_lte/
[image_processing docs]: /integrations/image_processing/
[incomfort docs]: /integrations/incomfort/
[input_boolean docs]: /integrations/input_boolean/
[input_datetime docs]: /integrations/input_datetime/
[input_number docs]: /integrations/input_number/
[input_select docs]: /integrations/input_select/
[input_text docs]: /integrations/input_text/
[insteon docs]: /integrations/insteon/
[jewish_calendar docs]: /integrations/jewish_calendar/
[knx docs]: /integrations/knx/
[lcn docs]: /integrations/lcn/
[lock docs]: /integrations/lock/
[lovelace docs]: /integrations/lovelace/
[luci docs]: /integrations/luci/
[lutron docs]: /integrations/lutron/
[mastodon docs]: /integrations/mastodon/
[media_extractor docs]: /integrations/media_extractor/
[media_player docs]: /integrations/media_player/
[meteo_france docs]: /integrations/meteo_france/
[mikrotik docs]: /integrations/mikrotik/
[mqtt docs]: /integrations/mqtt/
[mvglive docs]: /integrations/mvglive/
[n26 docs]: /integrations/n26/
[neato docs]: /integrations/neato/
[nest docs]: /integrations/nest/
[netatmo docs]: /integrations/netatmo/
[netgear_lte docs]: /integrations/netgear_lte/
[nextbus docs]: /integrations/nextbus/
[notion docs]: /integrations/notion/
[nuki docs]: /integrations/nuki/
[opensensemap docs]: /integrations/opensensemap/
[pioneer docs]: /integrations/pioneer/
[ps4 docs]: /integrations/ps4/
[rainforest_eagle docs]: /integrations/rainforest_eagle/
[rejseplanen docs]: /integrations/rejseplanen/
[remote docs]: /integrations/remote/
[ring docs]: /integrations/ring/
[ritassist docs]: /integrations/fleetgo
[roku docs]: /integrations/roku/
[roomba docs]: /integrations/roomba/
[samsungtv docs]: /integrations/samsungtv/
[scene docs]: /integrations/scene/
[script docs]: /integrations/script/
[seventeentrack docs]: /integrations/seventeentrack/
[simplisafe docs]: /integrations/simplisafe/
[smartthings docs]: /integrations/smartthings/
[snapcast docs]: /integrations/snapcast/
[solax docs]: /integrations/solax/
[somfy docs]: /integrations/somfy/
[songpal docs]: /integrations/songpal/
[splunk docs]: /integrations/splunk/
[spotify docs]: /integrations/spotify/
[suez_water docs]: /integrations/suez_water/
[switchbot docs]: /integrations/switchbot/
[syncthru docs]: /integrations/syncthru/
[system_health docs]: /integrations/system_health/
[tado docs]: /integrations/tado/
[telnet docs]: /integrations/telnet/
[tibber docs]: /integrations/tibber/
[timer docs]: /integrations/timer/
[todoist docs]: /integrations/todoist/
[totalconnect docs]: /integrations/totalconnect/
[transmission docs]: /integrations/transmission/
[twentemilieu docs]: /integrations/twentemilieu/
[unifi docs]: /integrations/unifi/
[utility_meter docs]: /integrations/utility_meter/
[vacuum docs]: /integrations/vacuum/
[vallox docs]: /integrations/vallox/
[velbus docs]: /integrations/velbus/
[venstar docs]: /integrations/venstar/
[vesync docs]: /integrations/vesync/
[wink docs]: /integrations/wink/
[workday docs]: /integrations/workday/
[xiaomi_miio docs]: /integrations/xiaomi_miio/
[zha docs]: /integrations/zha/
[zwave docs]: /integrations/zwave/
