diff --git a/_config.yml b/_config.yml index 4f0f0f933bb..8291b7336ed 100644 --- a/_config.yml +++ b/_config.yml @@ -105,9 +105,9 @@ social: # Home Assistant release details current_major_version: 2021 -current_minor_version: 2 -current_patch_version: 3 -date_released: 2021-02-11 +current_minor_version: 3 +current_patch_version: 0 +date_released: 2021-03-03 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. @@ -162,7 +162,6 @@ defaults: values: toc: true - # Support for files Jekyll will normally exclude include: - "_headers" @@ -175,7 +174,6 @@ toc: min_level: 2 # default: 1 max_level: 3 # default: 6 - # Configuration for installation pages installation: versions: diff --git a/source/_posts/2021-02-03-release-20213.markdown b/source/_posts/2021-02-03-release-20213.markdown new file mode 100644 index 00000000000..2d9ae6c3da1 --- /dev/null +++ b/source/_posts/2021-02-03-release-20213.markdown @@ -0,0 +1,2325 @@ +--- +layout: post +title: "2021.3: Beta release notes" +description: "Beta release notes for the 2021.3 release." +date: 2021-02-24 00:00:00 +date_formatted: "March 3, 2021" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: Release-Notes +og_image: /images/blog/2021-03/social.png +feedback: true +--- + + + +These are the beta release notes for Home Assistant Core 2021.3 (and is thus a +work in progress). + +If you encounter any issues with the beta release, please report them on GitHub: + +- Issues with integrations, automations and such (Core related):
+ +- Issues with the frontend/Lovelace:
+ +- Issues with the Supervisor:
+ +- Issues with the documentation:
+ + +Please be sure to include the beta version you are running in the issue +description (not in the title), so we can classify your issue correctly. + +Issues introduced in the beta are processed with priority. + +- [My Home Assistant](#my-home-assistant) +- [New UI for doing service calls](#new-ui-for-doing-service-calls) +- [Fan integration](#fan-integration) +- [Suggested areas](#suggested-areas) +- [Z-Wave JS update](#z-wave-js-update) +- [MQTT trigger templating](#mqtt-trigger-templating) +- [Help us improving the documentation](#help-us-improving-the-documentation) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New Integrations](#new-integrations) +- [New Platforms](#new-platforms) +- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [If you need help...](#if-you-need-help) +- [Breaking Changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +## My Home Assistant + + + +Today we present you My Home Assistant. + +To be more helpful, we often want to link you to a specific page in your +Home Assistant instance. However, each Home Assistant instance is hosted at a +different URL. Yours might be `http://homeassistant.local:8123`, or something +completely different. + +My Home Assistant allows the documentation, forums or any other website, to +link you to specific pages in your Home Assistant instance, without knowing +the URL of your instance. + +My Home Assistant allows you to store the URL of your instance so that websites +can link to your instance directly. + + + +All the data is stored locally in your browser. At no point will any data leave +your network. Also, My Home Assistant only redirects you to pages that provide +you with information about your instance or help you start an action. + +Following a link from My Home Assistant will never make any changes to your +instance and only a predefined, safe set, of URLs are allowed. + +Long story short! We can do a lot of helpful things with this, for example the +following buttons will bring your places on your instance: + +{% my integration badge %} {% my info badge %} {% my supervisor badge %} {% my automations badge %} + +But we can make buttons or links to a lot of screen, and even help you start +a configuration for an integration, import a Blueprint, link to an add-on page, +and a lot more. + +Additionally, we have added a link/badge generator, so you can create your +own links, for e.g., adding to a Blueprint on the Blueprint Exchange. + + + +## New UI for doing service calls + + + +This release adds a new UI for doing service calls. These can be found +in multiple places, that all have adjusted with a shiny new UI; + +- The {% my developer_services title="services" %} tab in the {% my developer_services title="Developer Tools" %}. +- Doing service calls in the {% my automations title="automation" %} UI editor. +- Doing service calls in the {% my scripts title="script" %} UI editor. + + + +The UI may look familiar, as it uses the same UI parts as used by the recently +introduced Blueprints. + +Not all service calls will show this slick new UI yet, as the integrations +service descriptions need to be adjusted to with this. + +## Fan integration + + +Got a big overhaul! Now works with speed percentages instead of the previous +low, mid, high, off. + +## Suggested areas + + + +Integrations can now suggest areas to devices. For example, the Hue integration +can now suggest an area based on the Hue group it is in. + +- Implement suggested_area in the device registry ([@bdraco] - [#45940]) +- Add suggested area support to nuheat ([@bdraco] - [#46801]) ([nuheat docs]) +- Implement suggested area for netatmo ([@bdraco] - [#46802]) ([netatmo docs]) +- Add suggested area to nexia ([@bdraco] - [#46776]) ([nexia docs]) +- Implement suggested area in lutron_caseta ([@bdraco] - [#45941]) ([lutron_caseta docs]) +- Add suggested area to hunterdouglas_powerview ([@bdraco] - [#46774]) ([hunterdouglas_powerview docs]) +- Implement suggested areas in bond ([@bdraco] - [#45942]) ([bond docs]) +- Implement suggested area in roku ([@ctalkington] - [#46819]) ([roku docs]) +- Add suggested area support to Sonos ([@bdraco] - [#46794]) ([sonos docs]) +- Add suggested area to tado ([@bdraco] - [#46932]) ([tado docs]) +- Add suggested area support to isy994 ([@bdraco] - [#46927]) ([isy994 docs]) + + +## Z-Wave JS update + + + +- Enhance platform discovery for zwave_js ([@marcelveldt] - [#46355]) ([zwave_js docs]) +- Discover HRT4-ZW / SRT321 SetPoint in zwave_js ([@gsemet] - [#46625]) ([zwave_js docs]) +- Add zwave_js thermostat fan mode and fan state support ([@raman325] - [#46793]) ([zwave_js docs]) +- add name and target filter to zwave_js lock services.yaml ([@raman325] - [#46914]) ([zwave_js docs]) +- Test zwave_js GE 12730 fan controller device-specific discovery ([@kpine] - [#46840]) ([zwave_js docs]) +- Add zwave_js/get_log_config and zwave_js/update_log_config WS API commands ([@raman325] - [#46601]) ([zwave_js docs]) +- Add zwave_js set_config_parameter WS API command ([@raman325] - [#46910]) ([zwave_js docs]) +- Add zwave_js constant for add-on slug ([@MartinHjelmare] - [#46950]) ([zwave_js docs]) +- Return states list from zwave_js get_config_parameters websocket if available ([@cgarwood] - [#46954]) ([zwave_js docs]) +- Catch more zwave_js errors ([@MartinHjelmare] - [#46957]) ([zwave_js docs]) +- Add zwave_js.set_config_parameter service ([@raman325] - [#46673]) ([zwave_js docs]) +- Improve zwave_js config flow ([@MartinHjelmare] - [#46906]) ([zwave_js docs]) +- Add zwave_js.refresh_value service ([@raman325] - [#46944]) ([zwave_js docs]) +- deep copy zwave_js state in test fixtures so tests are more isolated ([@raman325] - [#46976]) ([zwave_js docs]) +- Extend zwave_js discovery scheme for lights ([@marcelveldt] - [#46907]) ([zwave_js docs]) +- Add barrier covers to zwave_js integration ([@kpine] - [#46379]) ([zwave_js docs]) + +## MQTT trigger templating + +Added support for templating MQTT triggers. This allows for, e.g., making +blueprints for MQTT Blueprints (e.g., use a MQTT topic or payload as an input). + + + +- Support templating MQTT triggers ([@emontnemery] - [#45614]) ([automation docs]) ([mqtt docs]) + +## Help us improving the documentation + + + +We have recently added a feedback menu to the bottom of each page in our +documentation. Help us out! + +Go to the page of one of your favorite integrations, and see what can be +improved. Maybe you can suggest an edit, or add feedback to the page. + +This way we can all contribute in improving our documentation! + +## Other noteworthy changes + + + +- Support blocking trusted network from new ip ([@elupus] - [#44630]) ([auth docs]) ([http docs]) ([websocket_api docs]) +- Add vicare heat pump sensors ([@crazyfx1] - [#41413]) ([vicare docs]) +- Add transitiontime to hue scene service ([@Nixon506E] - [#45785]) ([hue docs]) +- Add support for Shelly battery operated devices ([@thecode] - [#45406]) ([shelly docs]) +- Add new features to Apple TV media player ([@postlund] - [#45828]) ([apple_tv docs]) +- Add select selector for blueprints ([@EPMatt] - [#45803]) +- Support templates in event triggers ([@emontnemery] - [#46207]) ([homeassistant docs]) +- Enhance MQTT cover platform ([@thecode] - [#46059]) ([mqtt docs]) (breaking-change) +- Add hive hub 360 sensors ([@KJonline] - [#46320]) ([hive docs]) +- Add additional supported feature support to universal media player ([@raman325] - [#44711]) ([universal docs]) +- Allow users to set device class for universal media player ([@raman325] - [#46550]) ([universal docs]) +- Add Home Assistant color ([@frenck] - [#46751]) ([light docs]) +- Add rtsp transport options to generic camera ([@uvjustin] - [#46623]) ([generic docs]) +- Add support for "alias" in script steps device, device_condition, and conditions ([@emontnemery] - [#46647]) +- Add support for disabling config entries ([@emontnemery] - [#46779]) ([config docs]) + +- Show flows in progress when picking a handler (#8368) @bramkragten +- Fix excessive rerendering of history charts (#8340) @larena1 +- Add clipboard button (#8411) @KTibow +- Add additional weblink attributes (#8295) @cdce8p +- Allow to disable config entry (#8442) @bramkragten +- Add add-on selector/picker (#8422) @ludeeus +- Support binary sensor batteries (#8367) @Noltari +- Migrate to codemirror 6 (#8382) @bramkragten + + +## New Integrations + +We welcome the following new integrations this release: + +- [AEMET OpenData][aemet docs], added by [@Noltari] +- [ClimaCell][climacell docs], added by [@raman325] +- [FAA Delays][faadelays docs], added by [@ntilley905] +- [Honeywell Lyric][lyric docs], added by [@timmo001] +- [KMTronic][kmtronic docs], added by [@dgomes] +- [Litter-Robot][litterrobot docs], added by [@natekspencer] +- [Mazda Connected Services][mazda docs], added by [@bdr99] +- [Mullvad VPN][mullvad docs], added by [@meichthys] +- [My Home Assistant][my docs], add by [@bramkragten] +- [Rituals Perfume Genie][rituals_perfume_genie docs], added by [@milanmeu] +- [SmartTub][smarttub docs], added by [@mdz] +- [Subaru][subaru docs], adde by [@G-Two] + +## New Platforms + +The following integration got support for a new platform: + +- [Aurora][aurora docs] has now support for sensors, added by [@djtimca] +- [KNX][knx docs] added support for fans, added by [@crazyfx1] +- [Templates][template docs] can now be used to create weather entities, added by [@dgomes] +- [VeSync][vesync docs] now support their dimmer switches, added by [@decompil3d] +- [WiLight][wilight docs] support covers now, added by [@leofig-rj] + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [ASUSWRT][asuswrt docs], done by [@ollo69] +- [Keenetic NDMS2 Routers][keenetic_ndms2 docs], done by [@foxel] +- [LiteJet][litejet docs], done by [@joncar] +- [MySensors][mysensors docs], done by [@functionpointer] +- [Nuki][nuki docs], done by [@pree] +- [Philips TV][philips_js docs], done by [@elupus] +- [Xiaomi Miio][xiaomi_miio docs] (partially), done by [@starkillerOG] + +## 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). + +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/core/issues). Make sure to fill in all fields of the issue template. + + + +## Breaking 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. + +{% details "Custom integrations: Version warning" %} + +Custom integrations now require a `version` key in their manifest file, this +also means that all custom integrations now require a manifest file. + +If you are using a legacy custom integration like `custom_components/awesome.py` +this now needs to move to `custom_components/awesome/__init__.py` so you can +add `custom_components/awesome/manifest.json` to it. + +For more information about integration, manifests have a look here: + + +**For now, this will create a warning on startup.** But this will eventually be +blocked from loading if it's missing a version in the manifest. + +**If you see these warnings, please report the issue with the author +of that custom integration.** + +([@ludeeus] - [#45919]) + +{% enddetails %} + +{% details "Fan" %} + +The fan entity model has changed to split named speeds into percentages in the range +from 0 (off)-100 and preset modes. + +**Why change?** + +This change allowed us to expand the number of supported speeds to accommodate additional +fan models in Home Assistant. + +We had 3 fan speeds and that worked great as long as the fan had no more than 3 speeds. + +Over time we received a number of requests to add fans with 4, 5, or even more +speeds and preset modes. This put us in the difficult position of having to +reject this support because the underlying fan model didn’t support it. + +Percentages were chosen because they can represent up to 100 speeds which should +accommodate all fans. Additionally, it’s a lot easier to ask your voice +assistant to set the fan to 20% then remember that medium-low is actually +low-medium or have to learn and remember how to say the speeds for every +fan model you want to control. + +**What to change?** + +Calls in automations and scripts to `fan.set_speed` should be replaced: + +- Calls that set a speed should use `fan.set_percentage`. +- Calls that set a preset mode should use `fan.set_preset_mode`. + +The following speeds existed in core integration and will now be automatically +identified as preset modes: `auto`, `smart`, `interval`, `idle`, and `favorite`. + +Both of the new calls are backward compatible. + +Calls in automations and scripts to `fan.turn_on` that use the `speed` attribute +should be switched to use the `percentage` or `preset_mode` attribute once the +underlying integration has been updated to support it. + +All core fans have been updated to ensure that calls to the `fan.turn_on` +service map `percentage` or `preset_mode` to `speed` for backwards compatibility. + +([@bdraco] - [#45407]) ([fan docs]) + +{% enddetails %} + +{% details "Template: Fan" %} + +Template fans have been updated for the new entity model that uses a percentage +for the speed. + +The following configuration options have been deprecated: `speed_template`, `set_speed`, and `speeds`. + +The replacement options are `percentage_template` and `set_percentage`. There +is no replacement for `speeds` since the percentage is always from 1-100 along +with 0 for off. + +([@bdraco] - [#45478]) ([template docs]) + +{% enddetails %} + +{% details "Hyperion" %} + +Hyperion has fully transitioned to configuration via UI. YAML configuration has +been removed. Existing YAML configuration has already been imported +automatically in the previous releases and can now safely be removed from your +configuration files. + +([@dermotduffy] - [#45690]) ([hyperion docs]) + +{% enddetails %} + +{% details "Nuki" %} + +The Nuki integration is now configurable via the UI. The YAML configuration +is now deprecated. + +You existing YAML configuration will be automatically imported on upgrade and +can be safely removed from your YAML configuration after upgrading. + +([@pree] - [#45664]) ([nuki docs]) + +{% enddetails %} + +{% details "CalDAV" %} + +For CalDAV custom calendars, now only matching events are shown in the calendar +frontend, instead of all events for this calendar. + +Although, this is technically a bugfix, if you didn't notice it before, it might +now surprise you. + +([@inytar] - [#45701]) ([caldav docs]) + +{% enddetails %} + +{% details "Synology DSM" %} + +All CPU-related sensors were named with "Load" which is not correct because +there is a difference between CPU load *average* and CPU utilization. + +Units have been corrected. + +Any automation that consumes this data may need to be updated. + +([@mib1185] - [#45500]) + +{% enddetails %} + +{% details "LG Soundbar" %} + +If `discovery` is used the entity will get a new `entity_id` derived from the +hostname of the soundbar. This means the `entity_id` can not be changed anymore +since there is currently no way to get a `unique_id` from the device. + +([@bernimoses] - [#42044]) ([lg_soundbar docs]) + +{% enddetails %} + +{% details "MySensors" %} + +MySensors has fully transitioned to configuration via UI. Existing YAML +configuration is automatically migrated and imported, and can now safely be +removed from your configuration files after upgrading. + +No changes to YAML are applied after the migration has happened. +If you need to change anything, use the frontend. + +([@functionpointer] - [#45421]) ([mysensors docs]) + +{% enddetails %} + +{% details "MQTT: Covers" %} + +MQTT cover `value_template` is deprecated to use for extracting position, +support will be removed in Home Assistant Core 2021.6. + +Instead of using `value_template`, `position_template` should be used. + +MQTT cover `tilt_invert_state` is deprecated, instead `tilt_min` and `tilt_max` +should be used. Support for `tilt_invert_state` will be removed in Home +Assistant Core 2021.6. + +([@thecode] - [#46059]) ([mqtt docs]) + +{% enddetails %} + +{% details "Cameras and Streams" %} + +Removes the internal `stream` components `record` service. + +This service is meant to be used internally only by `camera` so this is not +expected to be a problem in practice as you should be using `camera.record` +instead. + +([@allenporter] - [#45431]) ([camera docs]) ([generic docs]) ([nest docs]) ([stream docs]) + +{% enddetails %} + +{% details "HTTP: base_url" %} + +The HTTP `base_url` URL setting was marked deprecated in Home Assistant Core +0.110 and replaced by the new internal & external URL settings that are +available in the UI. + +This release removes the fallback logic to the old `base_url` setting. If you +still have an `base_url` configured in the HTTP section of your YAML +configuration, please remove it. + +([@frenck] - [#46316]) + +{% enddetails %} + +{% details "MQTT: Lights" %} + +The MQTT light with template schema will now send a `float` instead of an `int` +with the transition key. + +Lights that require an `int` instead of a `float` can restore the original +functionality by using the following in the template for specifying the +transition: + +```txt +{{ transition|int }} +``` + +([@kangaroomadman] - [#46385]) ([mqtt docs]) + +{% enddetails %} + +{% details "Philips TV"%} + +Configuration via YAML is now deprecated and you existing YAML configuration +will be automatically imported into the UI on first run. If your TV is not +running on first start, you will need to complete the configuration from +integration screen once your TV us online. + +The previous `turn_on_action` will not be imported, and must be re-created as a +device trigger automation. + +([@elupus] - [#45784]) ([philips_js docs]) + +{% enddetails %} + +{% details "ASUSWRT" %} + +The legacy device tracker `DeviceScanner` was replaced with the new device +tracker implementation `ScannerEntity`. + +You should remove references to platform `asuswrt` in `device_tracker` section +in your YAML configuration and update person device tracker with the new entity. + +The YAML key `dnsmasq`, `interface` and `require_ip` now are managed as +integration options. The values present in YAML are imported in the options +the first time that the integration is loaded. + +All sensors are initially created as disabled and can be enabled from ASUSWRT +device configuration instead of using YAML configuration. + +([@ollo69] - [#46468]) ([asuswrt docs]) + +{% enddetails %} + +{% details "Keenetic NDMS2 Routers" %} + +Keenetic NDMS2 Routers are now configured and managed from the UI. Existing +YAML configuration will be automatically imported and can be safely removed +after upgrading. + +The upgraded platform also adds: + +- Entities and devices manageable from UI. +- Binary sensors for router connection status. +- Support for monitoring multiple interfaces. + +([@foxel] - [#38353]) ([keenetic_ndms2 docs]) + +{% enddetails %} + +{% details "Automations" %} + +If an automation trigger template already renders as `true` on Home Assistant +Core startup, it will no longer trigger at startup. This bug fix prevents +unintended triggers of automations as startup, but might cause a different +behavior than before. + +([@amelchio] - [#46423]) ([template docs]) + +Scripts and automations are now more careful about reporting problems with +conditions. For example, a `state` condition that references an unavailable +entity will log a message warning about the problem. Depending on the +circumstances when such errors happen, the flow of the automation +(i.e., stop/continue) might end up different from before. + +([@amelchio] - [#46838]) ([automation docs]) ([homeassistant docs]) + +{% enddetails %} + +{% details "Xiaomi Miio" %} + +Xiaomi Miio Switch, and Vacuum platforms should now be set up using the UI, +please remove the old YAML configuration from your configuration file. + +They are now automatically discovered, if not, click Configuration in the +sidebar, then click Integrations and then click the + icon in the lower right +and find Xiaomi Miio. + +Or click: {% my config_flow_start title="Add Integration" domain="xiaomi_miio" badge %} + +Select the option “Connect to a Xiaomi Miio Device” and click submit, +follow the setup instructions. + +([@starkillerOG] - [#46179] [#46669]) ([xiaomi_miio docs]) + +{% enddetails %} + +{% details "HomeKit" %} + +HomeKit pairings and accessory IDs from Home Assistant Core version 0.109 and +earlier are no longer migrated on upgrade. + +Users upgrading directly to 2021.3 from 0.109 and older should upgrade to +2021.2 first if they wish to preserve HomeKit configuration and avoid re-pairing +the bridge. + +This change does not affect upgrades from 0.110 and later. + +([@bdraco] - [#46616]) ([homekit docs]) + +{% enddetails %} + +{% details "Google Assistant" %} + +Requests for closing/opening covers fully from Google Assistant will now use +`close`/`open` service instead of `set_postion` service. This a a revert of an +unexpected breaking change. + +([@elupus] - [#46602]) ([google_assistant docs]) + +{% enddetails %} + +{% details "Habitica" %} + +Habitica has fully transitioned to configuration via UI. Existing YAML +configuration is automatically migrated and imported, and can now safely be +removed from your configuration files after upgrading. + +([@leikoilja] - [#38910]) ([habitica docs]) + +{% enddetails %} + +{% details "SSDP" %} + +SSDP searches now binds to `0.0.0.0` instead of each interface separately. +Everything was still discovered in testing on a server with multiple interfaces. + +([@bdraco] - [#46554]) ([ssdp docs]) + +{% enddetails %} + +{% details "Z-Wave JS" %} + +Minimum required zwave-js-server version is now 1.0.0. +You need to run this server version at mimimum for the integration to work. + +([@marcelveldt] - [#46983]) ([zwave_js docs]) + +{% enddetails %} + +{% details "Bond" %} + +Support for bond devices with up and down lights has been added. Previously, +if the device had two lights, only a single light entity would be created that +would not function properly. The functional light entity will need to be +manually removed. + +([@bdraco] - [#46233]) ([bond docs]) + +{% enddetails %} + +{% details "KNX" %} + +Weather entity: Renamed `expose_sensors` to `create_sensors` to prevent +confusion with the KNX `expose_sensor` function. + +([@farmio] - [#46809]) ([knx docs]) + +{% enddetails %} + +{% details "Honeywell Total Connect Alarm" %} + +To support user equipment that requires the entry of a usercode in addition to +username and password, now all users must configure a usercode. + +This can be done by updating the integration in the User Interface via +{% my integrations title="Configuration > Integrations" %}. + +The use of YAML configuration is no longer supported. + +([@austinmroczek] - [#39199]) ([totalconnect docs]) + +{% enddetails %} + +{% details "Tado" %} + +Polling interval of 15 seconds causes high load on Tado servers and does not +provide enough value to warrant it. Tado plans to introduce a rate limit to +prevent such misuse of the API, therefore the polling interval needs to be +increased to make sure the integration works well in the future. + +([@macrosak] - [#46915]) ([tado docs]) + +{% enddetails %} + +{% details "LiteJet" %} + +LiteJet is now configured via the UI. Existing YAML configurations will +automatically be imported and can be removed after completing the upgrade. + +LiteJet's `include_switches` YAML option has been removed. Switches can be +enabled via the integration's entity list in the UI. + +LiteJet's `exclude_names` YAML option has been removed. Undesired entities can +be disabled via the integration's entity list in the UI. + +([@joncar] - [#44409]) ([litejet docs]) + +{% enddetails %} + +{% details "Nest" %} + +The nest `FAN_ON` mode now sets the device timer to use the max duration of +12 hours, rather than the default of 15 minutes. If you would like the fan to +turn off sooner may use an automation with `timer` to set `FAN_OFF` sooner. + +([@allenporter] - [#46489]) ([nest docs]) + +{% enddetails %} + +## Farewell to the following + +The following integrations are no longer available as of this release: + +- **CoinMarketCap** has been removed, the used API has been out of service + for a long time already. ([@frenck] - [#46615]) +- **Crime Reports** has been removed, as the API is no longer available. + ([@frenck] - [#46312]) +- **Nuimo** was in a non working state for a long time now. + ([@rngtng] - [#45600]) +- **Synology** has been removed, the Synology DSM integration provides a full + replacement. ([@thecode] - [#46482]) +- **xFinity** Was previously marked deprecated. It relies on web scraping to + function, which is no longer allowed. + ([@thecode] - [#46484]) + + +## All changes + +{% details "Click to see all changes!" %} + +- Bump version to 2021.3.0dev0 ([@frenck] - [#45617]) +- Clean tcp tests ([@oxygen0211] - [#41673]) ([tcp docs]) +- Separate fan speeds into percentages and presets modes ([@bdraco] - [#45407]) ([fan docs]) (breaking-change) +- Update ozw to use new fan entity model ([@bdraco] - [#45577]) ([ozw docs]) +- Update lutron_caseta manufacturer string ([@bdraco] - [#45637]) ([lutron_caseta docs]) +- Update wemo to use new fan entity model ([@bdraco] - [#45582]) ([wemo docs]) +- Update smartthings to use new fan entity model ([@bdraco] - [#45592]) ([smartthings docs]) +- Update zwave_js to use new fan entity model ([@bdraco] - [#45543]) ([zwave_js docs]) +- Update bond to use new fan entity model ([@bdraco] - [#45534]) ([bond docs]) +- Update isy994 to use new fan entity model ([@bdraco] - [#45536]) ([isy994 docs]) +- Update zwave to use new fan entity model ([@bdraco] - [#45541]) ([zwave docs]) +- Add support for percentage speeds and preset modes to template fan ([@bdraco] - [#45478]) ([template docs]) (breaking-change) +- Update homekit_controller to use new fan entity model ([@bdraco] - [#45547]) ([homekit_controller docs]) +- Support blocking trusted network from new ip ([@elupus] - [#44630]) ([auth docs]) ([http docs]) ([websocket_api docs]) +- Upgrade beautifulsoup4 to 4.9.3 ([@fabaff] - [#45619]) ([scrape docs]) +- Update homekit to use new fan entity model ([@bdraco] - [#45549]) ([homekit docs]) +- Bump gios library ([@bieniu] - [#45639]) ([gios docs]) +- Update lutron_caseta to use new fan entity model ([@bdraco] - [#45540]) ([lutron_caseta docs]) +- Unregister webhook if it can't be established successfully ([@cgtobi] - [#42791]) ([netatmo docs]) +- Update vesync to use new fan entity model ([@bdraco] - [#45585]) ([vesync docs]) +- Add first set of tests to devolo Home Control integration ([@Shutgun] - [#42527]) ([devolo_home_control docs]) +- Update comfoconnect to use new fan entity model ([@bdraco] - [#45593]) ([comfoconnect docs]) +- Update esphome to use new fan entity model ([@bdraco] - [#45590]) ([esphome docs]) +- Add reauthentication flow to fritzbox integration ([@jloehr] - [#45587]) ([fritzbox docs]) +- Replace strange "dict logic" in AirVisual pollutant level sensors (2 of 2) ([@bachya] - [#44903]) ([airvisual docs]) +- Add last_lost_timestamp attribute to Tile ([@bachya] - [#45681]) ([tile docs]) +- Use new fixtures in devolo Home Control tests ([@Shutgun] - [#45669]) ([devolo_home_control docs]) +- Add vicare heat pump sensors ([@crazyfx1] - [#41413]) ([vicare docs]) +- Stop Tile setup on invalid auth ([@bachya] - [#45683]) ([tile docs]) +- Remove YAML support from Hyperion integration ([@dermotduffy] - [#45690]) ([hyperion docs]) (breaking-change) +- Fix formatting IntEnum as hex in 3.8.x ([@teharris1] - [#45686]) ([insteon docs]) +- Update bootstrap script ([@balloob] - [#45692]) +- Use pure rgb and allow to set only brightness for fibaro ([@aizerin] - [#45673]) ([fibaro docs]) +- Refactoring upnp component ([@StevenLooman] - [#43646]) ([upnp docs]) +- Bump crpytography to 3.3.1 ([@balloob] - [#45691]) +- Add config flow for nuki ([@pree] - [#45664]) ([nuki docs]) (breaking-change) +- Address late review comments for upnp ([@StevenLooman] - [#45696]) ([upnp docs]) +- Add override duration for genius hub switches ([@GeoffAtHome] - [#45558]) ([geniushub docs]) +- Only show matching caldav events in calendar ([@inytar] - [#45701]) ([caldav docs]) (breaking-change) +- Add patch method to rest switch component ([@o-l-o] - [#45663]) ([rest docs]) +- Improve HomeKit Accessory Mode UX ([@bdraco] - [#45402]) ([homekit docs]) +- Updates to dev container ([@balloob] - [#45706]) +- Use a fully mocked credential ([@elupus] - [#45707]) +- Allow new UniFi flows to update existing entries if host and site match ([@Kane610] - [#45668]) ([unifi docs]) +- Add unit of measurement and icon for sleep score ([@KTibow] - [#45705]) ([withings docs]) +- During tests we can run with lowest rounds ([@elupus] - [#45710]) +- Added Romanian voice to Google Cloud TTS ([@cristian-vescan] - [#45704]) ([google_cloud docs]) +- Add reboot_gateway service to Velux ([@pawlizio] - [#43198]) ([velux docs]) +- Fix ozw init tests ([@MartinHjelmare] - [#45718]) ([ozw docs]) +- Set default position value for cover action ([@spacegaier] - [#45670]) ([cover docs]) +- Remove ggravlingen from codeowners ([@ggravlingen] - [#45723]) +- Advanced testing for Nuki config flow ([@pree] - [#45721]) ([nuki docs]) +- Upgrade youtube_dl to version 2021.01.24.1 ([@chpego] - [#45724]) ([media_extractor docs]) +- Do not cache frontend files during dev ([@balloob] - [#45698]) ([frontend docs]) +- Fix feedback from UVC ([@rfleming71] - [#45630]) ([uvc docs]) +- Implement person significant change ([@ntilley905] - [#45713]) ([person docs]) +- Add significant change support to lock ([@bachya] - [#45726]) ([lock docs]) +- Add significant change support to binary_sensor ([@bachya] - [#45677]) ([binary_sensor docs]) +- Use DataUpdateCoordinator for solaredge ([@bdraco] - [#45734]) ([solaredge docs]) +- IHC service functions support for multiple IHC controllers ([@dingusdk] - [#44626]) ([ihc docs]) +- Upgrade pysonos to 0.0.40 ([@amelchio] - [#45743]) ([sonos docs]) +- Use fixed due date only for comparison in todoist ([@Guliver] - [#43300]) ([todoist docs]) +- Add initial GitHub Issue Form ([@frenck] - [#45752]) +- Upgrade mypy to 0.800 ([@scop] - [#45485]) +- Update dyson for the new fan entity model ([@bdraco] - [#45762]) ([dyson docs]) +- Bump ROVA package requirement ([@kochen] - [#45755]) ([rova docs]) +- Update insteon to use new fan entity model ([@bdraco] - [#45767]) ([insteon docs]) +- Honeywell Lyric Integration ([@timmo001] - [#39695]) ([lyric docs]) (new-integration) +- Add WLED unload entry result correctly ([@frenck] - [#45783]) ([wled docs]) +- Upgrade pre-commit to 2.10.0 ([@frenck] - [#45777]) +- Fix polling and update of camera state for synology_dsm ([@mib1185] - [#43683]) ([synology_dsm docs]) +- Resolve homekit cover adjustment slowness ([@bdraco] - [#45730]) ([homekit docs]) +- Update homekit for new async library changes ([@bdraco] - [#45731]) ([homekit docs]) +- Move homekit accessory creation to async ([@bdraco] - [#45788]) ([homekit docs]) +- Change via_hub to via_device ([@iMicknl] - [#45804]) ([roon docs]) ([somfy docs]) +- Remove misleading "for" from custom integration warning message ([@scop] - [#45811]) +- Add izone control zone ([@sgryphon] - [#43984]) ([izone docs]) +- Remove Nuimo integration ([@rngtng] - [#45600]) ([nuimo_controller docs]) (breaking-change) +- Increase test coverage for stream worker ([@allenporter] - [#44161]) ([stream docs]) +- Code quality improvements to UniFi integration ([@Kane610] - [#45794]) ([unifi docs]) +- Add support for Keg and Airlock to Plaato using polling API ([@JohNan] - [#34760]) ([plaato docs]) +- Correct synology_dsm CPU sensor's naming and measurement unit ([@mib1185] - [#45500]) (breaking-change) +- Bump brother library to version 0.2.0 ([@bieniu] - [#45832]) ([brother docs]) +- Add ability to configure AirVisual with city/state/country in UI ([@bachya] - [#44116]) ([airvisual docs]) +- Allow Influxdb CA path in verify_ssl ([@alexpilotti] - [#45270]) ([influxdb docs]) +- Upgrade colorlog to 4.7.2 ([@fabaff] - [#45840]) +- Upgrade TwitterAPI to 2.6.5 ([@fabaff] - [#45842]) ([twitter docs]) +- Lyric Code Improvements ([@timmo001] - [#45819]) ([lyric docs]) +- Add sensors to Lyric integration ([@timmo001] - [#45791]) ([lyric docs]) (new-platform) +- Upgrade sqlalchemy to 1.3.23 ([@fabaff] - [#45845]) ([recorder docs]) ([sql docs]) +- Fix environment_canada high/low temperature display in evenings. ([@michaeldavie] - [#45855]) ([environment_canada docs]) +- Add Insteon entities in event loop ([@teharris1] - [#45829]) ([insteon docs]) +- Ensure homekit never picks a port that another config entry uses ([@bdraco] - [#45433]) ([homekit docs]) +- Update alexa/const.py to reflect docs ([@kriansa] - [#45806]) ([alexa docs]) +- Add fan speed percentage support to google assistant ([@bdraco] - [#45835]) ([google_assistant docs]) +- Upgrade jinja2 to >=2.11.3 ([@fabaff] - [#45843]) +- Upgrade pytz to >=2021.1 ([@fabaff] - [#45839]) +- Upgrade watchdog to 1.0.2 ([@fabaff] - [#45848]) ([folder_watcher docs]) +- Upgrade emoji to 1.2.0 ([@fabaff] - [#45847]) ([mobile_app docs]) +- Bump Freebox to 0.0.9 ([@Quentame] - [#45837]) ([freebox docs]) +- Add transitiontime to hue scene service ([@Nixon506E] - [#45785]) ([hue docs]) +- Add support for Shelly battery operated devices ([@thecode] - [#45406]) ([shelly docs]) +- Homeconnect remote states ([@badguy99] - [#45610]) ([home_connect docs]) +- Fix duplicate lg_soundbar entities and disable polling ([@bernimoses] - [#42044]) ([lg_soundbar docs]) (breaking-change) +- Add Mazda Connected Services integration ([@bdr99] - [#45768]) ([mazda docs]) (new-integration) +- add api to refresh topology ([@dmulcahey] - [#44840]) ([zha docs]) +- Use core constants for command_line auth provider ([@tkdrob] - [#45907]) +- Fix typo in Roomba strings ([@spacegaier] - [#45928]) ([roomba docs]) +- Consistent spelling of IT abbreviations / protocol / format names ([@spacegaier] - [#45913]) +- Enable emulated_hue setting XY color and transition time by client ([@denes44] - [#45844]) ([emulated_hue docs]) +- Fix onvif ConnectionResetError ([@olijouve] - [#45899]) ([onvif docs]) +- Add warning to custom integrations without version ([@ludeeus] - [#45919]) (breaking-change) +- Use bootstrap in devcontainer ([@ludeeus] - [#45968]) +- Fix exception in Shelly sleeping device that switches to polling ([@thecode] - [#45930]) ([shelly docs]) +- Allow manual configuration of ignored singleton config entries ([@emontnemery] - [#45161]) +- Update yarnpkg GPG key ([@ludeeus] - [#45973]) +- Use core constants for alert ([@tkdrob] - [#45935]) ([alert docs]) +- Use core constants for alexa ([@tkdrob] - [#45937]) ([alexa docs]) +- Use core constants for amazon polly ([@tkdrob] - [#45938]) ([amazon_polly docs]) +- Throw error in hassfest when integration is missing version ([@ludeeus] - [#45976]) +- Use core constants for asuswrt ([@tkdrob] - [#46015]) ([asuswrt docs]) +- Use core constants for aws ([@tkdrob] - [#46017]) ([aws docs]) +- Upgrade slixmpp to 1.7.0 ([@fabaff] - [#46019]) ([xmpp docs]) +- Upgrade praw to 7.1.2 ([@fabaff] - [#46012]) ([reddit docs]) +- Fix homekit options not being prefilled ([@bdraco] - [#45926]) ([homekit docs]) +- Use core constants for automation ([@tkdrob] - [#46016]) ([automation docs]) +- Use core constants for delijn ([@tkdrob] - [#46027]) ([delijn docs]) +- User core constants for deutsche_bahn ([@tkdrob] - [#46028]) ([deutsche_bahn docs]) +- Standardize AirVisual helper method in config flow ([@bachya] - [#45999]) ([airvisual docs]) +- Use core constants for doods ([@tkdrob] - [#46043]) ([doods docs]) +- Centralize some Airly constants ([@yuvalabou] - [#45985]) ([airly docs]) +- Force Vera refresh after starting subscription ([@pavoni] - [#46001]) ([vera docs]) +- Use core constants for bmw_connected_drive ([@tkdrob] - [#46042]) ([bmw_connected_drive docs]) +- Use core constants for bluetooth_tracker ([@tkdrob] - [#46041]) ([bluetooth_tracker docs]) +- Fix demo number entity ([@kukulich] - [#45991]) ([demo docs]) +- Improve UniFi tests ([@Kane610] - [#45871]) ([unifi docs]) +- Address Plaato post merge review ([@JohNan] - [#46024]) ([plaato docs]) +- Add unique id to UniFi config entries using the unique id of the site it is controlling ([@Kane610] - [#45737]) ([unifi docs]) +- MySensors config flow ([@functionpointer] - [#45421]) ([mysensors docs]) (breaking-change) +- Activate manual ZHA config flow when no comports detected ([@frenck] - [#46077]) ([zha docs]) +- Add sensor platform for Aurora integration ([@djtimca] - [#43148]) ([aurora docs]) (new-platform) +- Fix race in script wait for trigger step ([@emontnemery] - [#46055]) +- Bump aioharmony from 0.2.6 to 0.2.7 ([@ehendrix23] - [#46075]) ([harmony docs]) +- Use better names for zwave_js platforms that are self describing ([@raman325] - [#46083]) ([zwave_js docs]) +- Exclude disabled rfxtrx entities from async_entries_for_device ([@emontnemery] - [#46102]) ([rfxtrx docs]) +- Fix backwards compatiblity with fan update to new model ([@bdraco] - [#45951]) ([fan docs]) +- Don't defer formatting of log messages ([@emontnemery] - [#44873]) ([logger docs]) +- Convert old deCONZ groups unique ids ([@Kane610] - [#46093]) ([deconz docs]) +- Add new features to Apple TV media player ([@postlund] - [#45828]) ([apple_tv docs]) +- Simplify UniFi entry configuration data ([@Kane610] - [#45759]) ([unifi docs]) +- xknx 0.16.3 ([@farmio] - [#46128]) ([knx docs]) +- Use core constants for envisalink ([@tkdrob] - [#46136]) ([envisalink docs]) +- Use core constants for ffmpeg_motion ([@tkdrob] - [#46137]) ([ffmpeg_motion docs]) +- Use core constants for emulated_hue ([@tkdrob] - [#46092]) ([emulated_hue docs]) +- Remove unused config_flows ([@tkdrob] - [#46188]) ([aws docs]) ([daikin docs]) ([mqtt docs]) ([tellduslive docs]) ([tradfri docs]) ([zwave docs]) +- Use core constants for fixer ([@tkdrob] - [#46173]) ([fixer docs]) +- Use core constants for file integration ([@tkdrob] - [#46171]) ([file docs]) +- Upgrade praw to 7.1.3 ([@fabaff] - [#46073]) ([reddit docs]) +- Add media_player device triggers ([@emontnemery] - [#45430]) ([media_player docs]) +- Increase skybell scan time to reduce timeouts ([@adamoutler] - [#46169]) ([skybell docs]) +- Use core constants for efergy ([@tkdrob] - [#46090]) ([efergy docs]) +- Bump actions/cache from v2 to v2.1.4 (@dependabot - [#46197]) +- Bump actions/stale from v3.0.15 to v3.0.16 (@dependabot - [#46196]) +- Fix dyson service name in services.yaml ([@boralyl] - [#46176]) ([dyson docs]) +- Mark entities as unavailable when they are removed but are still registered ([@balloob] - [#45528]) +- Raise ConditionError for numeric_state errors ([@amelchio] - [#45923]) ([automation docs]) ([bayesian docs]) ([homeassistant docs]) +- Support templating MQTT triggers ([@emontnemery] - [#45614]) ([automation docs]) ([mqtt docs]) +- Bump python-verisure to version 1.7.2 ([@persandstrom] - [#46177]) ([verisure docs]) +- Remove unneeded from_state from device triggers ([@emontnemery] - [#45152]) +- Use core constants for flux ([@tkdrob] - [#46201]) ([flux docs]) +- Use core constants for frontend component ([@tkdrob] - [#46203]) ([frontend docs]) +- Use core constants for google_assistant ([@tkdrob] - [#46204]) ([google_assistant docs]) +- Upgrade praw to 7.1.4 ([@fabaff] - [#46202]) ([reddit docs]) +- Use core constants for fleetgo ([@tkdrob] - [#46200]) ([fleetgo docs]) +- Various type hint improvements ([@scop] - [#46144]) +- Use core constants for google ([@tkdrob] - [#46210]) ([google docs]) +- Pass variables to numeric state trigger templates ([@emontnemery] - [#46209]) ([homeassistant docs]) +- Pass variables to state trigger templates ([@emontnemery] - [#46208]) ([homeassistant docs]) +- Add select selector for blueprints ([@EPMatt] - [#45803]) +- Support templates in event triggers ([@emontnemery] - [#46207]) ([homeassistant docs]) +- Use caplog fixture for log capturing ([@amelchio] - [#46214]) ([automation docs]) ([homeassistant docs]) +- Add my component ([@bramkragten] - [#46058]) ([default_config docs]) ([my docs]) (new-integration) +- Fix sync oath2 scaffold template ([@MartinHjelmare] - [#46219]) +- Upgrade pre-commit to 2.10.1 ([@frenck] - [#46211]) +- Add entity specific force_update for DSMR ([@yurnih] - [#46111]) ([dsmr docs]) +- Fix BT Smarthub device tracker ([@hencoappel] - [#44813]) ([bt_smarthub docs]) +- Add unavailable to Vera ([@pavoni] - [#46064]) ([vera docs]) +- Enhance MQTT cover platform ([@thecode] - [#46059]) ([mqtt docs]) (breaking-change) +- Call setup during devcontainer create ([@balloob] - [#46224]) +- Centralize keepalive logic in Stream class ([@allenporter] - [#45850]) ([stream docs]) +- Update frontend to 20210208.0 ([@bramkragten] - [#46225]) ([frontend docs]) +- Add noltari to Tado code owners ([@Noltari] - [#46216]) +- Allow discovery info accessible from CORS enabled domains ([@balloob] - [#46226]) ([api docs]) +- Downgrade and improve lutron caseta LIP error message ([@bdraco] - [#46236]) ([lutron_caseta docs]) +- Use core constants for group component ([@tkdrob] - [#46239]) ([group docs]) +- Use core constants for helpers ([@tkdrob] - [#46240]) +- Use core constants for greeneye_monitor ([@tkdrob] - [#46238]) ([greeneye_monitor docs]) +- Use core constants for hikvision ([@tkdrob] - [#46247]) ([hikvision docs]) +- Test that variables are passed to wait_for_trigger script action ([@emontnemery] - [#46221]) +- Cleanup bond identifiers and device info ([@bdraco] - [#46192]) ([bond docs]) +- Add support for generic lights to bond ([@bdraco] - [#46193]) ([bond docs]) +- Add DHCP discovery support to Nuki integration ([@pree] - [#46032]) ([nuki docs]) +- Change the API boundary between camera and stream with initial improvement for nest expiring stream urls ([@allenporter] - [#45431]) ([camera docs]) ([generic docs]) ([nest docs]) ([stream docs]) (breaking-change) +- Move camera timeouts to constants ([@allenporter] - [#46262]) ([camera docs]) +- Improve deCONZ tests by using aioclient_mock rather than patching web requests ([@Kane610] - [#45927]) ([deconz docs]) +- Allow to setup of a previously discovered sleeping Shelly device ([@bieniu] - [#46124]) ([shelly docs]) +- Add BPUP (push updates) support to bond ([@bdraco] - [#45550]) ([bond docs]) +- Raise ConditionError for state errors ([@amelchio] - [#46244]) +- Use core constants for homematic ([@tkdrob] - [#46248]) ([homematic docs]) +- Use core constants for image_processing ([@tkdrob] - [#46269]) ([image_processing docs]) +- Use core constants for elkm1 ([@tkdrob] - [#46091]) ([elkm1 docs]) +- Remove unnecessary constant from ihc ([@tkdrob] - [#46268]) ([ihc docs]) +- bump pysmappee ([@bsmappee] - [#46270]) ([smappee docs]) +- Remove unnecessary variable definition in firmata ([@tkdrob] - [#46172]) ([firmata docs]) +- Use core constants for here_travel_time ([@tkdrob] - [#46246]) ([here_travel_time docs]) +- Convert Hive to Async ([@KJonline] - [#46117]) ([hive docs]) +- Fix bug in test found by manual log inspection ([@allenporter] - [#46309]) ([stream docs]) +- Update nest stream URLs expiration ([@allenporter] - [#46311]) ([nest docs]) ([stream docs]) +- Add fan platform to knx ([@crazyfx1] - [#46161]) ([knx docs]) (new-platform) +- Fix race in EntityRegistry.async_device_modified ([@emontnemery] - [#46319]) +- Bump pyav version to 8.03 ([@uvjustin] - [#46315]) ([stream docs]) +- Fix typo ([@emontnemery] - [#46321]) +- Revert multiple interfaces ([@thecode] - [#46300]) ([shelly docs]) +- Add target to service call API ([@bramkragten] - [#45898]) ([api docs]) ([websocket_api docs]) +- Fix deprecated asyncio.wait use with coroutines ([@scop] - [#44981]) +- Remove base_url fallback ([@frenck] - [#46316]) ([http docs]) (breaking-change) +- Use core constants for joaoapps_join ([@tkdrob] - [#46291]) ([joaoapps_join docs]) +- Use core constants for sensor integration ([@tkdrob] - [#46290]) ([integration docs]) +- Hide volume control for cast devices with fixed volume ([@emontnemery] - [#46328]) ([cast docs]) +- Remove defunct Crime Reports integration ([@frenck] - [#46312]) ([crimereports docs]) (breaking-change) +- Use core constants for konnected ([@tkdrob] - [#46322]) ([konnected docs]) +- Replace StrictVersion with AwesomeVersion ([@ludeeus] - [#46331]) ([updater docs]) +- Replace LooseVersion with AwesomeVersion ([@ludeeus] - [#46330]) +- Replace parse_version with AwesomeVersion ([@ludeeus] - [#46329]) ([blueprint docs]) ([hyperion docs]) +- Add WiLight Cover ([@leofig-rj] - [#46065]) ([wilight docs]) (new-platform) +- Bump hatasmota to 0.2.8 ([@emontnemery] - [#46340]) ([tasmota docs]) +- Keep 1 extra segment around after playlist removal ([@uvjustin] - [#46310]) ([stream docs]) +- Remove unnecessary variables from logbook ([@tkdrob] - [#46350]) ([logbook docs]) +- Update wilight for new fan entity model ([@bdraco] - [#45869]) ([wilight docs]) +- Update wilight tests for new fan entity model ([@leofig-rj] - [#46358]) ([wilight docs]) +- Use core constants for logi_circle ([@tkdrob] - [#46359]) ([logi_circle docs]) +- Use core constants for local_file ([@tkdrob] - [#46349]) ([local_file docs]) +- Use core constants for lcn ([@tkdrob] - [#46348]) ([lcn docs]) +- Update WiLight Cover Fan Light ([@leofig-rj] - [#46366]) ([wilight docs]) +- Use activity ids for unique_id for Harmony switches ([@mkeesey] - [#46139]) ([harmony docs]) +- Use core constants for lovelace ([@tkdrob] - [#46368]) ([lovelace docs]) +- Some code cleanups for ESPHome ([@tkdrob] - [#46367]) ([esphome docs]) +- Fix explict return in tesla config flow ([@bdraco] - [#46377]) ([tesla docs]) +- Use core constants for microsoft ([@tkdrob] - [#46369]) ([microsoft docs]) +- Raise ConditionError for template errors ([@amelchio] - [#46245]) +- Clean up kira integration ([@tkdrob] - [#46292]) ([kira docs]) +- Use core constants for mqtt ([@tkdrob] - [#46389]) ([mqtt docs]) +- Use core constants for modbus ([@tkdrob] - [#46388]) ([modbus docs]) +- Clean up kira integration constants ([@tkdrob] - [#46390]) ([kira docs]) +- Allow MQTT template light floating point transition ([@kangaroomadman] - [#46385]) ([mqtt docs]) (breaking-change) +- Raise ConditionError for time errors ([@amelchio] - [#46250]) +- Wait for registries to load at startup ([@emontnemery] - [#46265]) +- Use core constants for nissan_leaf ([@tkdrob] - [#46401]) ([nissan_leaf docs]) +- Use core constants for nmap_tracker ([@tkdrob] - [#46402]) ([nmap_tracker docs]) +- Improve knx fan implementation ([@crazyfx1] - [#46404]) ([knx docs]) +- Use core constants for ohmconnect ([@tkdrob] - [#46413]) ([ohmconnect docs]) +- Migrate mobile_app to RestoreEntity ([@emontnemery] - [#46391]) ([mobile_app docs]) +- Add generic_thermostat unique ID parameter ([@Antoni-Czaplicki] - [#46399]) ([generic_thermostat docs]) +- Add config flow to philips_js ([@elupus] - [#45784]) ([philips_js docs]) (breaking-change) +- Install libpcap-dev for devcontainer ([@chriss158] - [#46106]) +- Correct errors found on post merge review in philips_js ([@elupus] - [#46428]) ([philips_js docs]) +- Use core constants for recollect_waste ([@tkdrob] - [#46416]) ([recollect_waste docs]) +- Postponed evaluation of annotations in core ([@frenck] - [#46434]) +- Use core constants for plugwise ([@tkdrob] - [#46414]) ([plugwise docs]) +- Improve MQTT timeout print ([@emontnemery] - [#46398]) ([mqtt docs]) +- Use core constants for rpi_gpio ([@tkdrob] - [#46442]) ([rpi_gpio docs]) +- Enhance platform discovery for zwave_js ([@marcelveldt] - [#46355]) ([zwave_js docs]) +- Fix cmus remote disconnections ([@kingo55] - [#40284]) ([cmus docs]) +- Add apple tv remote delay command ([@WizBangCrash] - [#46301]) ([apple_tv docs]) +- Enable TCP KEEPALIVE to RFLink for dead connection detection ([@cpainchaud] - [#46438]) ([rflink docs]) +- Use core constants for roomba ([@tkdrob] - [#46441]) ([roomba docs]) +- Allow Modbus "old" config or discovery_info as configuration ([@janiversen] - [#46445]) ([modbus docs]) +- Make some Area and EntityRegistry member functions callbacks ([@emontnemery] - [#46433]) ([config docs]) +- Upgrade sentry-sdk to 0.20.1 ([@frenck] - [#46456]) ([sentry docs]) +- Bump brother library to version 0.2.1 ([@bieniu] - [#46421]) ([brother docs]) +- Postponed evaluation of annotations for integrations ([@frenck] - [#46455]) +- Fix homekit migration not being awaited ([@bdraco] - [#46460]) ([homekit docs]) +- Use core constants for somfy ([@tkdrob] - [#46466]) ([somfy docs]) +- Use core constants for rflink ([@tkdrob] - [#46440]) ([rflink docs]) +- Use core constants for dynalite ([@tkdrob] - [#46044]) ([dynalite docs]) +- Use core constants for homeassistant triggers ([@tkdrob] - [#46472]) ([homeassistant docs]) +- Remove unnecessary gethostbyname() from Shelly integration ([@bieniu] - [#46483]) ([shelly docs]) +- Use core constants for starline ([@tkdrob] - [#46471]) ([starline docs]) +- Use core constants for simplepush ([@tkdrob] - [#46465]) ([simplepush docs]) +- Bump dsmr_parser to 0.28, configure keep_alive_interval ([@RobBie1221] - [#46464]) ([dsmr docs]) +- None optional hass typing in FlowHandler ([@frenck] - [#46462]) +- Remove deprecated Synology integration ([@thecode] - [#46482]) ([synology docs]) (breaking-change) +- Remove deprecated xfinity integration ([@thecode] - [#46484]) ([xfinity docs]) (breaking-change) +- Add Asuswrt Config Flow and Scanner Entities ([@ollo69] - [#46468]) ([asuswrt docs]) (breaking-change) +- Update HAP-python to 3.3.0 for homekit ([@bdraco] - [#46497]) ([homekit docs]) +- Add AEMET OpenData integration ([@Noltari] - [#45074]) ([aemet docs]) (new-integration) +- Improve Elgato code quality ([@frenck] - [#46505]) ([elgato docs]) +- Use core constants for sma ([@tkdrob] - [#46501]) ([sma docs]) +- Use core constants for rpi_rf ([@tkdrob] - [#46500]) ([rpi_rf docs]) +- Use core constants for rmvtransport ([@tkdrob] - [#46502]) ([rmvtransport docs]) +- Update tuya for new fan entity model ([@bdraco] - [#45870]) ([tuya docs]) +- Fix missing condition in nws ([@MatthewFlamm] - [#46513]) ([nws docs]) +- Use core constants for temper ([@tkdrob] - [#46508]) ([temper docs]) +- Use core constants for switcher_kis ([@tkdrob] - [#46507]) ([switcher_kis docs]) +- Use core constants for thethingsnetwork ([@tkdrob] - [#46520]) ([thethingsnetwork docs]) +- Use core constants for trend ([@tkdrob] - [#46521]) ([trend docs]) +- Add hive hub 360 sensors ([@KJonline] - [#46320]) ([hive docs]) +- Clean up template ([@tkdrob] - [#46509]) ([template docs]) +- Add keenetic_ndms2 config flow ([@foxel] - [#38353]) ([keenetic_ndms2 docs]) (breaking-change) +- Add barrier covers to zwave_js integration ([@kpine] - [#46379]) ([zwave_js docs]) +- Improve nest defense against broken event loop on shutdown ([@allenporter] - [#46494]) ([nest docs]) +- Cleanup unused loggers ([@tkdrob] - [#46510]) +- Don't allow recursive secrets loading ([@palfrey] - [#41812]) +- Add myself to RFLink codeowners ([@javicalle] - [#46511]) ([rflink docs]) +- Update modbus test harness ([@janiversen] - [#44892]) ([modbus docs]) +- Do not trigger when template is true at startup ([@amelchio] - [#46423]) ([template docs]) (breaking-change) +- Add support for pre-filtering events to the event bus ([@bdraco] - [#46371]) ([recorder docs]) +- Use core constants for vasttrafik ([@tkdrob] - [#46539]) ([vasttrafik docs]) +- Fix variable name from script refactoring ([@bdraco] - [#46503]) +- Use core constants for uvc ([@tkdrob] - [#46538]) ([uvc docs]) +- Use core constants for volvooncall ([@tkdrob] - [#46543]) ([volvooncall docs]) +- Use core constants for wemo ([@tkdrob] - [#46544]) ([wemo docs]) +- Fix typing on tuya fan percentage ([@bdraco] - [#46541]) ([tuya docs]) +- Add additional supported feature support to universal media player ([@raman325] - [#44711]) ([universal docs]) +- Use core constants for wemo and whois ([@tkdrob] - [#46548]) ([wemo docs]) ([whois docs]) +- Allow users to set device class for universal media player ([@raman325] - [#46550]) ([universal docs]) +- Add additional stream HLS payload tests ([@allenporter] - [#46517]) ([stream docs]) +- Remove @home-assistant/core from MQTT codeowners ([@emontnemery] - [#46562]) ([mqtt docs]) +- Bump hatasmota to 0.2.9 ([@emontnemery] - [#46561]) ([tasmota docs]) +- Convert better from byte value to percentage in futurenow ([@spike411] - [#45042]) ([futurenow docs]) +- Log ffmpeg errors for homekit cameras ([@bdraco] - [#46545]) ([homekit docs]) +- Use httpx in generic camera ([@uvjustin] - [#46576]) ([generic docs]) +- MQTT cover Bugfixes ([@thecode] - [#46479]) ([mqtt docs]) +- Limit fronius error messages on failed connection ([@nielstron] - [#45824]) ([fronius docs]) +- Refactor stream worker responsibilities for segmenting into a separate class ([@allenporter] - [#46563]) ([stream docs]) +- Add config flow to Xiaomi Miio switch ([@starkillerOG] - [#46179]) ([xiaomi_miio docs]) (breaking-change) +- Upgrade blinkpy to 0.17.0 ([@fronzbot] - [#46581]) ([blink docs]) +- Use shared clientsession for sense ([@bdraco] - [#46419]) ([sense docs]) +- Upgrade sentry-sdk to 0.20.2 ([@frenck] - [#46590]) ([sentry docs]) +- Use core constants for xiaomi_aqara ([@tkdrob] - [#46551]) ([xiaomi_aqara docs]) +- Bump tuyaha to 0.0.10 and fix set temperature issues ([@ollo69] - [#45732]) ([tuya docs]) +- Add device_class attribute to ESPHome sensor entities ([@marecabo] - [#46595]) ([esphome docs]) +- Remove support for migrating pre-config entry homekit ([@bdraco] - [#46616]) ([homekit docs]) (breaking-change) +- Add target to services.yaml ([@bramkragten] - [#46410]) ([light docs]) ([sonos docs]) +- Use explicit open/close for covers ([@elupus] - [#46602]) ([google_assistant docs]) (breaking-change) +- Remove defunct CoinMarketCap integration ([@frenck] - [#46615]) ([coinmarketcap docs]) +- Bump python-vlc-telnet to 2.0.1 ([@dmcc] - [#46608]) ([vlc_telnet docs]) +- Use core constants for yeelight ([@tkdrob] - [#46552]) ([yeelight docs]) +- Use update coordinator for Xioami Miio subdevices ([@starkillerOG] - [#46251]) ([xiaomi_miio docs]) +- Fix vlc_telnet state update ([@MartinHjelmare] - [#46628]) ([vlc_telnet docs]) +- Remove unnecessary constants from universal ([@tkdrob] - [#46537]) ([universal docs]) +- Separate HLS logic out of core StreamOutput to prepare for discontinuity ([@allenporter] - [#46610]) ([camera docs]) ([stream docs]) +- Do not provide icon if device class is set in ESPHome config ([@marecabo] - [#46650]) ([esphome docs]) +- Fix exception in stream idle callback ([@allenporter] - [#46642]) ([stream docs]) +- Fix KeyError in comfoconnect percentage ([@esev] - [#46654]) ([comfoconnect docs]) +- Fix version of pip in tox ([@scop] - [#46656]) +- Fix stream keepalive on startup ([@allenporter] - [#46640]) ([camera docs]) +- Add SmartTub integration ([@mdz] - [#37775]) ([smarttub docs]) (new-integration) +- Fix media_pause in vlc_telnet ([@dmcc] - [#46675]) ([vlc_telnet docs]) +- Fix Cloud Google/Alexa check ([@balloob] - [#46681]) ([cloud docs]) +- Add back block_until_done calls removed in PR 46610 ([@allenporter] - [#46680]) ([stream docs]) +- Add sensors to fetch Habitica tasks ([@leikoilja] - [#38910]) ([habitica docs]) (breaking-change) +- Remove exception handling for AttributeError in wemo ([@esev] - [#46674]) ([wemo docs]) +- Fix multiple motion blinds gateways ([@starkillerOG] - [#46622]) ([motion_blinds docs]) +- Home connect use consts ([@badguy99] - [#46659]) ([home_connect docs]) +- Fix flaky stream tests due to race in idle timeout callback ([@allenporter] - [#46687]) ([stream docs]) +- Fix Tuya Option Flow tests ([@ollo69] - [#46651]) ([tuya docs]) +- Clean up xbee ([@tkdrob] - [#46549]) ([xbee docs]) +- Increase async_timeout for wemo update polling ([@esev] - [#46649]) ([wemo docs]) +- Remove calls to wemo.reconnect_with_device ([@esev] - [#46646]) ([wemo docs]) +- Bump RMVtransport to v0.3.0 ([@cgtobi] - [#46691]) ([rmvtransport docs]) +- Discover HRT4-ZW / SRT321 SetPoint in zwave_js ([@gsemet] - [#46625]) ([zwave_js docs]) +- Update zha to use new fan entity model ([@bdraco] - [#45758]) ([zha docs]) +- Centralize wemo exception handling ([@esev] - [#46705]) ([wemo docs]) +- Perform wemo state update quickly after a timeout ([@esev] - [#46702]) ([wemo docs]) +- Bump pylutron 0.2.7 ([@uvjustin] - [#46717]) ([lutron docs]) +- Switch ssdp to be async by using async_upnp_client for scanning ([@bdraco] - [#46554]) ([ssdp docs]) (breaking-change) +- Add selectors to Input * service definitions ([@frenck] - [#46652]) ([input_boolean docs]) ([input_datetime docs]) ([input_number docs]) ([input_select docs]) ([input_text docs]) +- Add selectors to Alert service definitions ([@frenck] - [#46627]) ([alert docs]) +- Add selectors to Camera service definitions ([@frenck] - [#46630]) ([camera docs]) +- Add selectors to Switch service definitions ([@frenck] - [#46635]) ([switch docs]) +- Add selectors to Downloader service definitions ([@frenck] - [#46638]) ([downloader docs]) +- Add selectors to Fan service definitions ([@frenck] - [#46639]) ([fan docs]) +- Add selectors to Cover service definitions ([@frenck] - [#46634]) ([cover docs]) +- Add selectors to Automation service definitions ([@frenck] - [#46629]) ([automation docs]) +- Add selectors to Climate service definitions ([@frenck] - [#46632]) ([climate docs]) +- Add selectors to Alarm Control Panel service definitions ([@frenck] - [#46626]) ([alarm_control_panel docs]) +- Upgrade and constrain httplib2>=0.19.0 ([@frenck] - [#46725]) ([google docs]) ([remember_the_milk docs]) +- ubus: switch to pypi library ([@Noltari] - [#46690]) ([ubus docs]) +- Add selectors to Counter service definitions ([@frenck] - [#46633]) ([counter docs]) +- Add advanced service parameter flag ([@frenck] - [#46727]) ([light docs]) +- Add discontinuity support to HLS streams and fix nest expiring stream urls ([@allenporter] - [#46683]) ([stream docs]) +- Add selectors to Scene service definitions ([@frenck] - [#46729]) ([scene docs]) +- Fix missing color switch specific device class for Z-Wave JS driver >6.3 ([@jcam] - [#46718]) ([zwave_js docs]) +- Add selectors to Netatmo services ([@cgtobi] - [#46574]) ([netatmo docs]) +- Add selectors to Vacuum service definitions ([@frenck] - [#46728]) ([vacuum docs]) +- Add selectors to Script service definitions ([@frenck] - [#46730]) ([script docs]) +- Add advanced selectors to Light service definitions ([@frenck] - [#46732]) ([light docs]) +- Add selectors to WLED service definitions ([@frenck] - [#46731]) ([wled docs]) +- Add advanced selectors to Climate service definitions ([@frenck] - [#46736]) ([climate docs]) +- Add selectors to Z-Wave JS service definitions ([@frenck] - [#46737]) ([zwave_js docs]) +- Add selectors to Logger, System Log & Logbook service definitions ([@frenck] - [#46740]) ([logbook docs]) ([logger docs]) ([system_log docs]) +- Add selectors to MQTT service definitions ([@frenck] - [#46738]) ([mqtt docs]) +- Add selectors to Color Extractor service definitions ([@frenck] - [#46742]) ([color_extractor docs]) +- Add selectors to Lock service definitions ([@frenck] - [#46743]) ([lock docs]) +- Add selectors to Timer service definitions ([@frenck] - [#46744]) ([timer docs]) +- Skip repeated segment in stream recorder ([@uvjustin] - [#46701]) ([stream docs]) +- Fix typo in Tesla Powerwall strings ([@spacegaier] - [#46752]) ([powerwall docs]) +- Add selectors to Hue service definitions ([@frenck] - [#46747]) ([hue docs]) +- Add selectors to Media Player service definitions ([@frenck] - [#46739]) ([media_player docs]) +- Add selectors to Toon service definitions ([@frenck] - [#46750]) ([toon docs]) +- Add selectors to Browser, Recorder, Shopping List service definitions ([@frenck] - [#46749]) ([browser docs]) ([recorder docs]) ([shopping_list docs]) +- Add selectors to Conversation, Image Processing and Number service definitions ([@frenck] - [#46746]) ([conversation docs]) ([image_processing docs]) ([number docs]) +- Minor service definition tweaks ([@frenck] - [#46741]) ([cloud docs]) ([cloudflare docs]) ([command_line docs]) ([keyboard docs]) ([lovelace docs]) ([rest docs]) ([universal docs]) +- Added Slovenian language (sl-si) to Microsoft TTS ([@AdmiralStipe] - [#46720]) ([microsoft docs]) +- Add selectors to HomeKit service definitions ([@frenck] - [#46745]) ([homekit docs]) +- Add selectors to Twente Milieu service definitions ([@frenck] - [#46748]) ([twentemilieu docs]) +- Ensure pre-commit's hassfest triggers on service file changes ([@frenck] - [#46753]) +- Add selectors to Home Assistant service definitions ([@frenck] - [#46733]) ([homeassistant docs]) +- Upgrade sentry-sdk to 0.20.3 ([@frenck] - [#46754]) ([sentry docs]) +- Allow LIFX bulbs to fade color even when off ([@emichael] - [#46596]) ([lifx docs]) +- Add @esev as codeowner for wemo ([@esev] - [#46756]) ([wemo docs]) +- Upgrade cryptography to 3.3.2 ([@frenck] - [#46759]) +- Address late smarttub review ([@mdz] - [#46703]) ([smarttub docs]) +- Fix flip-flopped substitutions in Custom Version Type Warning message. ([@shbatm] - [#46768]) +- Implement percentage step sizes for fans ([@bdraco] - [#46512]) ([fan docs]) +- Fix backwards compatibility with vesync fans ([@bdraco] - [#45950]) ([vesync docs]) +- Bump actions/stale from v3.0.16 to v3.0.17 (@dependabot - [#46777]) +- Raise ConditionError for zone errors ([@amelchio] - [#46253]) +- Raise ConditionError for and/or/not errors ([@amelchio] - [#46767]) ([automation docs]) +- Bump RMVtransport to 0.3.1 ([@cgtobi] - [#46780]) ([rmvtransport docs]) +- Add Home Assistant color ([@frenck] - [#46751]) ([light docs]) +- Allow multiple recipients for XMPP ([@oetken] - [#45328]) ([xmpp docs]) +- Update GitHub Issue Form template ([@deniseyu] - [#46791]) +- Add zwave_js thermostat fan mode and fan state support ([@raman325] - [#46793]) ([zwave_js docs]) +- Format zwave_js dump as json ([@raman325] - [#46792]) ([zwave_js docs]) +- Bump pywemo to 0.6.2 ([@esev] - [#46797]) ([wemo docs]) +- Implement suggested_area in the device registry ([@bdraco] - [#45940]) +- Cleanup inconsistencies in zha fan and make it a bit more dry ([@bdraco] - [#46714]) ([zha docs]) +- Add support for using a single endpoint for rest data ([@bdraco] - [#46711]) ([rest docs]) +- Add device_entities template function/filter ([@emontnemery] - [#46406]) +- Add suggested area support to nuheat ([@bdraco] - [#46801]) ([nuheat docs]) +- Fix typing of fan speed count and steps ([@bdraco] - [#46790]) +- Implement suggested area for netatmo ([@bdraco] - [#46802]) ([netatmo docs]) +- Add suggested area to nexia ([@bdraco] - [#46776]) ([nexia docs]) +- Add suggested area to hunterdouglas_powerview ([@bdraco] - [#46774]) ([hunterdouglas_powerview docs]) +- Ensure recorder shuts down cleanly on restart before startup is finished ([@bdraco] - [#46604]) ([recorder docs]) +- Ensure HomeAssistant can still restart when a library file is missing ([@bdraco] - [#46664]) +- Implement suggested area in lutron_caseta ([@bdraco] - [#45941]) ([lutron_caseta docs]) +- Implement percentage step sizes in HomeKit ([@bdraco] - [#46722]) ([homekit docs]) +- Update smarty to use new fan entity model ([@bdraco] - [#45879]) ([smarty docs]) +- Update alexa for new fan model ([@bdraco] - [#45836]) ([alexa docs]) +- Implement suggested areas in bond ([@bdraco] - [#45942]) ([bond docs]) +- Recover and restart the recorder if the sqlite database encounters corruption while running ([@bdraco] - [#46612]) ([recorder docs]) +- Add suggested area support to Sonos ([@bdraco] - [#46794]) ([sonos docs]) +- Run homekit service calls in async since the server is now async ([@bdraco] - [#45859]) ([homekit docs]) +- Do not trigger when numeric_state is true at startup ([@amelchio] - [#46424]) ([homeassistant docs]) +- Bump zwave-js-server-python to 0.18.0 ([@raman325] - [#46787]) ([zwave_js docs]) (breaking-change) +- Rollback stream StreamOutput refactoring in PR#46610 ([@allenporter] - [#46684]) ([camera docs]) ([stream docs]) +- Upgrade TwitterAPI to 2.6.6 ([@fabaff] - [#46812]) ([twitter docs]) +- Update rokuecp to 0.8.0 ([@ctalkington] - [#46799]) ([roku docs]) +- Add support for bond up and down lights ([@bdraco] - [#46233]) ([bond docs]) (breaking-change) +- Add rtsp transport options to generic camera ([@uvjustin] - [#46623]) ([generic docs]) +- change log level to info ([@mib1185] - [#46823]) ([nut docs]) +- Update xknx to 0.17.0 ([@farmio] - [#46809]) ([knx docs]) (breaking-change) +- Detect iBlinds v2.0 switch value as a cover not light ([@kpine] - [#46807]) ([zwave_js docs]) +- Implement suggested area in roku ([@ctalkington] - [#46819]) ([roku docs]) +- Explicitly create_task for asyncio.wait ([@amelchio] - [#46325]) ([script docs]) +- Validate icon and device_class of ESPHome sensor entities ([@marecabo] - [#46709]) ([esphome docs]) +- Enable KNX routing optional local_ip ([@farmio] - [#46133]) ([knx docs]) +- knx-read-service ([@farmio] - [#46670]) ([knx docs]) +- Add open/close tilt support to KNX cover ([@crazyfx1] - [#46583]) ([knx docs]) +- Bump pywemo to 0.6.3 ([@esev] - [#46825]) ([wemo docs]) +- Disable update polling for Wemo when devices can push updates ([@esev] - [#46806]) ([wemo docs]) +- Fix habitica entry unload clean up ([@MartinHjelmare] - [#46798]) ([habitica docs]) +- Speed-up wemo discovery ([@esev] - [#46821]) ([wemo docs]) +- Add Rituals Perfume Genie integration ([@milanmeu] - [#46218]) ([rituals_perfume_genie docs]) (new-integration) +- Bump zigpy-znp from 0.3.0 to 0.4.0 ([@puddly] - [#46828]) ([zha docs]) +- Add smarttub sensor platform and state sensor ([@mdz] - [#46775]) ([smarttub docs]) (new-platform) +- Fix Insteon config flow with add X10 and device override ([@teharris1] - [#45854]) ([insteon docs]) +- Allow upnp ignore SSDP-discoveries ([@StevenLooman] - [#46592]) ([upnp docs]) +- Add new Subaru integration ([@G-Two] - [#35760]) ([subaru docs]) (new-integration) +- Add support for "alias" in script steps device, device_condition, and conditions ([@emontnemery] - [#46647]) +- Add support for disabling config entries ([@emontnemery] - [#46779]) ([config docs]) +- Add support for preset modes in homekit fans ([@bdraco] - [#45962]) ([homekit docs]) +- Cleanup recorder tests ([@bdraco] - [#46836]) ([recorder docs]) +- Refine printing of ConditionError ([@amelchio] - [#46838]) ([automation docs]) ([homeassistant docs]) (breaking-change) +- Fix unmocked I/O in rituals_perfume_genie config flow test ([@bdraco] - [#46862]) ([rituals_perfume_genie docs]) +- Log zwave_js connection errors ([@cgarwood] - [#46867]) ([zwave_js docs]) +- Clean up denonavr constants ([@tkdrob] - [#46883]) ([denonavr docs]) +- Clean up acer_projector constants ([@tkdrob] - [#46880]) ([acer_projector docs]) +- Add more sensors to SmartTub integration ([@mdz] - [#46839]) ([smarttub docs]) +- Add weather platform to template domain ([@dgomes] - [#45031]) ([template docs]) (new-platform) +- Add support for SmartTub heat modes ([@mdz] - [#46876]) ([smarttub docs]) +- Add switch platform and pump entity to SmartTub ([@mdz] - [#46842]) ([smarttub docs]) (new-platform) +- Add support for VeSync dimmer switches ([@decompil3d] - [#44713]) ([vesync docs]) (new-platform) +- Log the name of automations with condition errors ([@amelchio] - [#46854]) ([automation docs]) +- Add support for SmartTub filtration cycles ([@mdz] - [#46868]) ([smarttub docs]) +- Add KNX service exposure_register ([@farmio] - [#45257]) ([knx docs]) +- Add light platform to SmartTub ([@mdz] - [#46886]) ([smarttub docs]) (new-platform) +- Add KMTronic Integration ([@dgomes] - [#41682]) ([kmtronic docs]) (new-integration) +- Add UV sensor to SmartTub ([@mdz] - [#46888]) ([smarttub docs]) +- Expose locked attribute in deCONZ climate platform ([@jwnmulder] - [#46814]) ([deconz docs]) +- Handle ConditionError with multiple entity_id for state/numeric_state ([@amelchio] - [#46855]) +- Add usercode support to totalconnect ([@austinmroczek] - [#39199]) ([totalconnect docs]) (breaking-change) +- Upgrade mypy to 0.812 ([@frenck] - [#46898]) +- Add Xiaomi Miio vacuum config flow ([@starkillerOG] - [#46669]) ([xiaomi_miio docs]) (breaking-change) +- Bump samsungtvws from 1.4.0 to 1.6.0 ([@kukulich] - [#46878]) ([samsungtv docs]) +- Add device_class to Shelly cover domain ([@chemelli74] - [#46894]) ([shelly docs]) +- Cleanup of possibily confusing comment in esphome ([@frenck] - [#46903]) ([esphome docs]) +- Add binary sensor to SmartTub for online status ([@mdz] - [#46889]) ([smarttub docs]) (new-platform) +- Clean up constants ([@tkdrob] - [#46885]) +- Add name to services ([@frenck] - [#46905]) ([light docs]) +- Add service names to Netatmo services ([@cgtobi] - [#46909]) ([netatmo docs]) +- add name and target filter to zwave_js lock services.yaml ([@raman325] - [#46914]) ([zwave_js docs]) +- Increase tado API polling interval to 5 minutes ([@macrosak] - [#46915]) ([tado docs]) (breaking-change) +- Add name and target filter to vizio entity service ([@raman325] - [#46916]) ([vizio docs]) +- Add litterrobot integration ([@natekspencer] - [#45886]) ([litterrobot docs]) (new-integration) +- Test zwave_js GE 12730 fan controller device-specific discovery ([@kpine] - [#46840]) ([zwave_js docs]) +- Clean up Mitemp_bt constants ([@tkdrob] - [#46881]) ([acer_projector docs]) ([mitemp_bt docs]) +- Description tweaks for automation services ([@spacegaier] - [#46926]) ([automation docs]) +- Update frontend to 20210222.0 ([@bramkragten] - [#46928]) ([frontend docs]) +- Add get_config_parameters websocket command to zwave_js ([@cgarwood] - [#46463]) ([zwave_js docs]) +- Add missing required=true to code slot field in zwave_js.set_lock_usercode service ([@raman325] - [#46931]) ([zwave_js docs]) +- Add zwave_js/get_log_config and zwave_js/update_log_config WS API commands ([@raman325] - [#46601]) ([zwave_js docs]) +- Add zwave_js set_config_parameter WS API command ([@raman325] - [#46910]) ([zwave_js docs]) +- Restore stream recorder functionality and add discontinuity support ([@uvjustin] - [#46772]) ([stream docs]) +- Add suggested area to tado ([@bdraco] - [#46932]) ([tado docs]) +- Update tasmota to use new fan entity model ([@bdraco] - [#45877]) ([tasmota docs]) +- Add suggested area support to isy994 ([@bdraco] - [#46927]) ([isy994 docs]) +- Fix smaty fan typing ([@bdraco] - [#46941]) ([smarty docs]) +- Clean up constants ([@tkdrob] - [#46924]) +- Add zwave_js constant for add-on slug ([@MartinHjelmare] - [#46950]) ([zwave_js docs]) +- Bump accuweather to 0.1.0 ([@bieniu] - [#46951]) ([accuweather docs]) +- Add service names to previously enriched services ([@frenck] - [#46929]) +- Add description to tts and notify services ([@bramkragten] - [#46764]) ([media_player docs]) ([tts docs]) +- Update homeassistant services.yaml ([@bramkragten] - [#46952]) ([homeassistant docs]) +- Return states list from zwave_js get_config_parameters websocket if available ([@cgarwood] - [#46954]) ([zwave_js docs]) +- Add stop tilt support to KNX ([@spacegaier] - [#46947]) ([knx docs]) +- Catch more zwave_js errors ([@MartinHjelmare] - [#46957]) ([zwave_js docs]) +- Add zwave_js.set_config_parameter service ([@raman325] - [#46673]) ([zwave_js docs]) +- Add missing target to increase_speed/decrease_speed service ([@bdraco] - [#46939]) ([fan docs]) +- LiteJet is now configured using config_flow ([@joncar] - [#44409]) ([litejet docs]) (breaking-change) +- Bump pymyq to fix myq in core ([@bdraco] - [#46962]) ([myq docs]) +- Fix Plex handling of clips ([@jjlawren] - [#46667]) ([plex docs]) +- Improve zwave_js config flow ([@MartinHjelmare] - [#46906]) ([zwave_js docs]) +- Fix Shelly mireds and color_temp return type ([@chemelli74] - [#46112]) ([shelly docs]) +- Avoid having to ask for the bond token when possible during config ([@bdraco] - [#46845]) ([bond docs]) +- Fix KNX services.yaml ([@farmio] - [#46897]) ([knx docs]) +- Implement additional DataUpdateCoordinator to harmonize the data update handling of Synology DSM ([@mib1185] - [#46113]) ([synology_dsm docs]) +- Add more shopping list services ([@MHV33] - [#45591]) ([shopping_list docs]) +- Use core constants for dht ([@tkdrob] - [#46029]) ([dht docs]) +- Fix Plex showing removed shared users ([@jjlawren] - [#46971]) ([plex docs]) +- Fix typo in fireservicerota strings ([@milanmeu] - [#46973]) ([fireservicerota docs]) +- Add zwave_js.refresh_value service ([@raman325] - [#46944]) ([zwave_js docs]) +- deep copy zwave_js state in test fixtures so tests are more isolated ([@raman325] - [#46976]) ([zwave_js docs]) +- Automatically create HomeKit accessory mode entries ([@bdraco] - [#46473]) ([homekit docs]) +- Update xknx to 0.17.1 ([@farmio] - [#46974]) ([knx docs]) +- Extend zwave_js discovery scheme for lights ([@marcelveldt] - [#46907]) ([zwave_js docs]) +- Add switches and sensors to Litter-Robot ([@natekspencer] - [#46942]) ([litterrobot docs]) (new-platform) +- Make FAN_ON use the max duration rather than 15 min default ([@allenporter] - [#46489]) ([nest docs]) (breaking-change) +- Handle device IP change in upnp ([@StevenLooman] - [#46859]) ([upnp docs]) +- Add template support to service targets ([@frenck] - [#46977]) +- Validate KNX addresses ([@farmio] - [#46933]) ([knx docs]) +- Add ClimaCell weather integration ([@raman325] - [#36547]) ([climacell docs]) (new-integration) +- Save mysensors gateway type in config entry ([@MartinHjelmare] - [#46981]) ([mysensors docs]) +- Mullvad VPN ([@meichthys] - [#44189]) ([mullvad docs]) (new-integration) +- Improve mysensors config flow ([@MartinHjelmare] - [#46984]) ([mysensors docs]) +- Fix TTS services name ([@bramkragten] - [#46988]) ([tts docs]) +- Mullvad integration improvements ([@frenck] - [#46987]) ([mullvad docs]) +- Catch AuthRequired exception in confirm discovery step for Shelly config flow ([@bieniu] - [#46135]) ([shelly docs]) +- Restore Tado binary sensor attributes ([@Noltari] - [#46069]) ([tado docs]) +- Add enable and disable services for recorder ([@adrian-vlad] - [#45778]) ([recorder docs]) +- Migrate zwave_js entities to use new unique ID format ([@raman325] - [#46979]) ([zwave_js docs]) +- Fix zwave_js config flow server version timeout ([@MartinHjelmare] - [#46990]) ([zwave_js docs]) +- Set awesomeversion to 21.2.3 ([@fabaff] - [#46989]) +- Add addon selector ([@ludeeus] - [#46789]) +- Climacell fixes: Use common keys for strings, fix temp_low measurement, add windy condition ([@raman325] - [#46991]) ([climacell docs]) +- Use location common key reference in totalconnect ([@milanmeu] - [#46995]) ([totalconnect docs]) +- Add Netatmo device trigger ([@cgtobi] - [#45387]) ([netatmo docs]) +- Remove recursive key reference ([@milanmeu] - [#46999]) ([syncthru docs]) +- Add number platform to Z-Wave JS ([@marcelveldt] - [#46956]) ([zwave_js docs]) +- Setup config entry even if vizio device is unreachable ([@raman325] - [#46864]) ([vizio docs]) +- Support value_template in MQTT triggers ([@emontnemery] - [#46891]) ([mqtt docs]) +- Add Sonos media browser image proxy ([@cgtobi] - [#46902]) ([sonos docs]) +- Use Plex server URL as config entry title ([@jjlawren] - [#47010]) ([plex docs]) +- Bump plexapi to 4.4.0 ([@jjlawren] - [#47007]) ([plex docs]) +- Add FAA Delays Integration ([@ntilley905] - [#41347]) ([faadelays docs]) (new-integration) +- Add missing tilt icon to Shelly tilt sensor ([@chemelli74] - [#46993]) ([shelly docs]) +- Update frontend to 20210224.0 ([@bramkragten] - [#47013]) ([frontend docs]) +- Change Z-Wave JS discovery logic to adopt changes to DeviceClass ([@marcelveldt] - [#46983]) ([zwave_js docs]) (breaking-change) + +{% enddetails %} + +[#34760]: https://github.com/home-assistant/core/pull/34760 +[#35760]: https://github.com/home-assistant/core/pull/35760 +[#36547]: https://github.com/home-assistant/core/pull/36547 +[#37775]: https://github.com/home-assistant/core/pull/37775 +[#38353]: https://github.com/home-assistant/core/pull/38353 +[#38910]: https://github.com/home-assistant/core/pull/38910 +[#39199]: https://github.com/home-assistant/core/pull/39199 +[#39695]: https://github.com/home-assistant/core/pull/39695 +[#40284]: https://github.com/home-assistant/core/pull/40284 +[#41347]: https://github.com/home-assistant/core/pull/41347 +[#41413]: https://github.com/home-assistant/core/pull/41413 +[#41673]: https://github.com/home-assistant/core/pull/41673 +[#41682]: https://github.com/home-assistant/core/pull/41682 +[#41812]: https://github.com/home-assistant/core/pull/41812 +[#42044]: https://github.com/home-assistant/core/pull/42044 +[#42527]: https://github.com/home-assistant/core/pull/42527 +[#42791]: https://github.com/home-assistant/core/pull/42791 +[#43148]: https://github.com/home-assistant/core/pull/43148 +[#43198]: https://github.com/home-assistant/core/pull/43198 +[#43300]: https://github.com/home-assistant/core/pull/43300 +[#43646]: https://github.com/home-assistant/core/pull/43646 +[#43683]: https://github.com/home-assistant/core/pull/43683 +[#43984]: https://github.com/home-assistant/core/pull/43984 +[#44116]: https://github.com/home-assistant/core/pull/44116 +[#44161]: https://github.com/home-assistant/core/pull/44161 +[#44189]: https://github.com/home-assistant/core/pull/44189 +[#44409]: https://github.com/home-assistant/core/pull/44409 +[#44626]: https://github.com/home-assistant/core/pull/44626 +[#44630]: https://github.com/home-assistant/core/pull/44630 +[#44711]: https://github.com/home-assistant/core/pull/44711 +[#44713]: https://github.com/home-assistant/core/pull/44713 +[#44813]: https://github.com/home-assistant/core/pull/44813 +[#44840]: https://github.com/home-assistant/core/pull/44840 +[#44873]: https://github.com/home-assistant/core/pull/44873 +[#44892]: https://github.com/home-assistant/core/pull/44892 +[#44903]: https://github.com/home-assistant/core/pull/44903 +[#44981]: https://github.com/home-assistant/core/pull/44981 +[#45031]: https://github.com/home-assistant/core/pull/45031 +[#45042]: https://github.com/home-assistant/core/pull/45042 +[#45074]: https://github.com/home-assistant/core/pull/45074 +[#45152]: https://github.com/home-assistant/core/pull/45152 +[#45161]: https://github.com/home-assistant/core/pull/45161 +[#45257]: https://github.com/home-assistant/core/pull/45257 +[#45270]: https://github.com/home-assistant/core/pull/45270 +[#45328]: https://github.com/home-assistant/core/pull/45328 +[#45387]: https://github.com/home-assistant/core/pull/45387 +[#45402]: https://github.com/home-assistant/core/pull/45402 +[#45406]: https://github.com/home-assistant/core/pull/45406 +[#45407]: https://github.com/home-assistant/core/pull/45407 +[#45421]: https://github.com/home-assistant/core/pull/45421 +[#45430]: https://github.com/home-assistant/core/pull/45430 +[#45431]: https://github.com/home-assistant/core/pull/45431 +[#45433]: https://github.com/home-assistant/core/pull/45433 +[#45478]: https://github.com/home-assistant/core/pull/45478 +[#45485]: https://github.com/home-assistant/core/pull/45485 +[#45500]: https://github.com/home-assistant/core/pull/45500 +[#45528]: https://github.com/home-assistant/core/pull/45528 +[#45534]: https://github.com/home-assistant/core/pull/45534 +[#45536]: https://github.com/home-assistant/core/pull/45536 +[#45540]: https://github.com/home-assistant/core/pull/45540 +[#45541]: https://github.com/home-assistant/core/pull/45541 +[#45543]: https://github.com/home-assistant/core/pull/45543 +[#45547]: https://github.com/home-assistant/core/pull/45547 +[#45549]: https://github.com/home-assistant/core/pull/45549 +[#45550]: https://github.com/home-assistant/core/pull/45550 +[#45558]: https://github.com/home-assistant/core/pull/45558 +[#45577]: https://github.com/home-assistant/core/pull/45577 +[#45582]: https://github.com/home-assistant/core/pull/45582 +[#45585]: https://github.com/home-assistant/core/pull/45585 +[#45587]: https://github.com/home-assistant/core/pull/45587 +[#45590]: https://github.com/home-assistant/core/pull/45590 +[#45591]: https://github.com/home-assistant/core/pull/45591 +[#45592]: https://github.com/home-assistant/core/pull/45592 +[#45593]: https://github.com/home-assistant/core/pull/45593 +[#45600]: https://github.com/home-assistant/core/pull/45600 +[#45610]: https://github.com/home-assistant/core/pull/45610 +[#45614]: https://github.com/home-assistant/core/pull/45614 +[#45617]: https://github.com/home-assistant/core/pull/45617 +[#45619]: https://github.com/home-assistant/core/pull/45619 +[#45630]: https://github.com/home-assistant/core/pull/45630 +[#45637]: https://github.com/home-assistant/core/pull/45637 +[#45639]: https://github.com/home-assistant/core/pull/45639 +[#45663]: https://github.com/home-assistant/core/pull/45663 +[#45664]: https://github.com/home-assistant/core/pull/45664 +[#45668]: https://github.com/home-assistant/core/pull/45668 +[#45669]: https://github.com/home-assistant/core/pull/45669 +[#45670]: https://github.com/home-assistant/core/pull/45670 +[#45673]: https://github.com/home-assistant/core/pull/45673 +[#45677]: https://github.com/home-assistant/core/pull/45677 +[#45681]: https://github.com/home-assistant/core/pull/45681 +[#45683]: https://github.com/home-assistant/core/pull/45683 +[#45686]: https://github.com/home-assistant/core/pull/45686 +[#45690]: https://github.com/home-assistant/core/pull/45690 +[#45691]: https://github.com/home-assistant/core/pull/45691 +[#45692]: https://github.com/home-assistant/core/pull/45692 +[#45696]: https://github.com/home-assistant/core/pull/45696 +[#45698]: https://github.com/home-assistant/core/pull/45698 +[#45701]: https://github.com/home-assistant/core/pull/45701 +[#45704]: https://github.com/home-assistant/core/pull/45704 +[#45705]: https://github.com/home-assistant/core/pull/45705 +[#45706]: https://github.com/home-assistant/core/pull/45706 +[#45707]: https://github.com/home-assistant/core/pull/45707 +[#45710]: https://github.com/home-assistant/core/pull/45710 +[#45713]: https://github.com/home-assistant/core/pull/45713 +[#45718]: https://github.com/home-assistant/core/pull/45718 +[#45721]: https://github.com/home-assistant/core/pull/45721 +[#45723]: https://github.com/home-assistant/core/pull/45723 +[#45724]: https://github.com/home-assistant/core/pull/45724 +[#45726]: https://github.com/home-assistant/core/pull/45726 +[#45730]: https://github.com/home-assistant/core/pull/45730 +[#45731]: https://github.com/home-assistant/core/pull/45731 +[#45732]: https://github.com/home-assistant/core/pull/45732 +[#45734]: https://github.com/home-assistant/core/pull/45734 +[#45737]: https://github.com/home-assistant/core/pull/45737 +[#45743]: https://github.com/home-assistant/core/pull/45743 +[#45752]: https://github.com/home-assistant/core/pull/45752 +[#45755]: https://github.com/home-assistant/core/pull/45755 +[#45758]: https://github.com/home-assistant/core/pull/45758 +[#45759]: https://github.com/home-assistant/core/pull/45759 +[#45762]: https://github.com/home-assistant/core/pull/45762 +[#45767]: https://github.com/home-assistant/core/pull/45767 +[#45768]: https://github.com/home-assistant/core/pull/45768 +[#45777]: https://github.com/home-assistant/core/pull/45777 +[#45778]: https://github.com/home-assistant/core/pull/45778 +[#45783]: https://github.com/home-assistant/core/pull/45783 +[#45784]: https://github.com/home-assistant/core/pull/45784 +[#45785]: https://github.com/home-assistant/core/pull/45785 +[#45788]: https://github.com/home-assistant/core/pull/45788 +[#45791]: https://github.com/home-assistant/core/pull/45791 +[#45794]: https://github.com/home-assistant/core/pull/45794 +[#45803]: https://github.com/home-assistant/core/pull/45803 +[#45804]: https://github.com/home-assistant/core/pull/45804 +[#45806]: https://github.com/home-assistant/core/pull/45806 +[#45811]: https://github.com/home-assistant/core/pull/45811 +[#45819]: https://github.com/home-assistant/core/pull/45819 +[#45824]: https://github.com/home-assistant/core/pull/45824 +[#45828]: https://github.com/home-assistant/core/pull/45828 +[#45829]: https://github.com/home-assistant/core/pull/45829 +[#45832]: https://github.com/home-assistant/core/pull/45832 +[#45835]: https://github.com/home-assistant/core/pull/45835 +[#45836]: https://github.com/home-assistant/core/pull/45836 +[#45837]: https://github.com/home-assistant/core/pull/45837 +[#45839]: https://github.com/home-assistant/core/pull/45839 +[#45840]: https://github.com/home-assistant/core/pull/45840 +[#45842]: https://github.com/home-assistant/core/pull/45842 +[#45843]: https://github.com/home-assistant/core/pull/45843 +[#45844]: https://github.com/home-assistant/core/pull/45844 +[#45845]: https://github.com/home-assistant/core/pull/45845 +[#45847]: https://github.com/home-assistant/core/pull/45847 +[#45848]: https://github.com/home-assistant/core/pull/45848 +[#45850]: https://github.com/home-assistant/core/pull/45850 +[#45854]: https://github.com/home-assistant/core/pull/45854 +[#45855]: https://github.com/home-assistant/core/pull/45855 +[#45859]: https://github.com/home-assistant/core/pull/45859 +[#45869]: https://github.com/home-assistant/core/pull/45869 +[#45870]: https://github.com/home-assistant/core/pull/45870 +[#45871]: https://github.com/home-assistant/core/pull/45871 +[#45877]: https://github.com/home-assistant/core/pull/45877 +[#45879]: https://github.com/home-assistant/core/pull/45879 +[#45886]: https://github.com/home-assistant/core/pull/45886 +[#45898]: https://github.com/home-assistant/core/pull/45898 +[#45899]: https://github.com/home-assistant/core/pull/45899 +[#45907]: https://github.com/home-assistant/core/pull/45907 +[#45913]: https://github.com/home-assistant/core/pull/45913 +[#45919]: https://github.com/home-assistant/core/pull/45919 +[#45923]: https://github.com/home-assistant/core/pull/45923 +[#45926]: https://github.com/home-assistant/core/pull/45926 +[#45927]: https://github.com/home-assistant/core/pull/45927 +[#45928]: https://github.com/home-assistant/core/pull/45928 +[#45930]: https://github.com/home-assistant/core/pull/45930 +[#45935]: https://github.com/home-assistant/core/pull/45935 +[#45937]: https://github.com/home-assistant/core/pull/45937 +[#45938]: https://github.com/home-assistant/core/pull/45938 +[#45940]: https://github.com/home-assistant/core/pull/45940 +[#45941]: https://github.com/home-assistant/core/pull/45941 +[#45942]: https://github.com/home-assistant/core/pull/45942 +[#45950]: https://github.com/home-assistant/core/pull/45950 +[#45951]: https://github.com/home-assistant/core/pull/45951 +[#45962]: https://github.com/home-assistant/core/pull/45962 +[#45968]: https://github.com/home-assistant/core/pull/45968 +[#45973]: https://github.com/home-assistant/core/pull/45973 +[#45976]: https://github.com/home-assistant/core/pull/45976 +[#45985]: https://github.com/home-assistant/core/pull/45985 +[#45991]: https://github.com/home-assistant/core/pull/45991 +[#45999]: https://github.com/home-assistant/core/pull/45999 +[#46001]: https://github.com/home-assistant/core/pull/46001 +[#46012]: https://github.com/home-assistant/core/pull/46012 +[#46015]: https://github.com/home-assistant/core/pull/46015 +[#46016]: https://github.com/home-assistant/core/pull/46016 +[#46017]: https://github.com/home-assistant/core/pull/46017 +[#46019]: https://github.com/home-assistant/core/pull/46019 +[#46024]: https://github.com/home-assistant/core/pull/46024 +[#46027]: https://github.com/home-assistant/core/pull/46027 +[#46028]: https://github.com/home-assistant/core/pull/46028 +[#46029]: https://github.com/home-assistant/core/pull/46029 +[#46032]: https://github.com/home-assistant/core/pull/46032 +[#46041]: https://github.com/home-assistant/core/pull/46041 +[#46042]: https://github.com/home-assistant/core/pull/46042 +[#46043]: https://github.com/home-assistant/core/pull/46043 +[#46044]: https://github.com/home-assistant/core/pull/46044 +[#46055]: https://github.com/home-assistant/core/pull/46055 +[#46058]: https://github.com/home-assistant/core/pull/46058 +[#46059]: https://github.com/home-assistant/core/pull/46059 +[#46064]: https://github.com/home-assistant/core/pull/46064 +[#46065]: https://github.com/home-assistant/core/pull/46065 +[#46069]: https://github.com/home-assistant/core/pull/46069 +[#46073]: https://github.com/home-assistant/core/pull/46073 +[#46075]: https://github.com/home-assistant/core/pull/46075 +[#46077]: https://github.com/home-assistant/core/pull/46077 +[#46083]: https://github.com/home-assistant/core/pull/46083 +[#46090]: https://github.com/home-assistant/core/pull/46090 +[#46091]: https://github.com/home-assistant/core/pull/46091 +[#46092]: https://github.com/home-assistant/core/pull/46092 +[#46093]: https://github.com/home-assistant/core/pull/46093 +[#46102]: https://github.com/home-assistant/core/pull/46102 +[#46106]: https://github.com/home-assistant/core/pull/46106 +[#46111]: https://github.com/home-assistant/core/pull/46111 +[#46112]: https://github.com/home-assistant/core/pull/46112 +[#46113]: https://github.com/home-assistant/core/pull/46113 +[#46117]: https://github.com/home-assistant/core/pull/46117 +[#46124]: https://github.com/home-assistant/core/pull/46124 +[#46128]: https://github.com/home-assistant/core/pull/46128 +[#46133]: https://github.com/home-assistant/core/pull/46133 +[#46135]: https://github.com/home-assistant/core/pull/46135 +[#46136]: https://github.com/home-assistant/core/pull/46136 +[#46137]: https://github.com/home-assistant/core/pull/46137 +[#46139]: https://github.com/home-assistant/core/pull/46139 +[#46144]: https://github.com/home-assistant/core/pull/46144 +[#46161]: https://github.com/home-assistant/core/pull/46161 +[#46169]: https://github.com/home-assistant/core/pull/46169 +[#46171]: https://github.com/home-assistant/core/pull/46171 +[#46172]: https://github.com/home-assistant/core/pull/46172 +[#46173]: https://github.com/home-assistant/core/pull/46173 +[#46176]: https://github.com/home-assistant/core/pull/46176 +[#46177]: https://github.com/home-assistant/core/pull/46177 +[#46179]: https://github.com/home-assistant/core/pull/46179 +[#46188]: https://github.com/home-assistant/core/pull/46188 +[#46192]: https://github.com/home-assistant/core/pull/46192 +[#46193]: https://github.com/home-assistant/core/pull/46193 +[#46196]: https://github.com/home-assistant/core/pull/46196 +[#46197]: https://github.com/home-assistant/core/pull/46197 +[#46200]: https://github.com/home-assistant/core/pull/46200 +[#46201]: https://github.com/home-assistant/core/pull/46201 +[#46202]: https://github.com/home-assistant/core/pull/46202 +[#46203]: https://github.com/home-assistant/core/pull/46203 +[#46204]: https://github.com/home-assistant/core/pull/46204 +[#46207]: https://github.com/home-assistant/core/pull/46207 +[#46208]: https://github.com/home-assistant/core/pull/46208 +[#46209]: https://github.com/home-assistant/core/pull/46209 +[#46210]: https://github.com/home-assistant/core/pull/46210 +[#46211]: https://github.com/home-assistant/core/pull/46211 +[#46214]: https://github.com/home-assistant/core/pull/46214 +[#46216]: https://github.com/home-assistant/core/pull/46216 +[#46218]: https://github.com/home-assistant/core/pull/46218 +[#46219]: https://github.com/home-assistant/core/pull/46219 +[#46221]: https://github.com/home-assistant/core/pull/46221 +[#46224]: https://github.com/home-assistant/core/pull/46224 +[#46225]: https://github.com/home-assistant/core/pull/46225 +[#46226]: https://github.com/home-assistant/core/pull/46226 +[#46233]: https://github.com/home-assistant/core/pull/46233 +[#46236]: https://github.com/home-assistant/core/pull/46236 +[#46238]: https://github.com/home-assistant/core/pull/46238 +[#46239]: https://github.com/home-assistant/core/pull/46239 +[#46240]: https://github.com/home-assistant/core/pull/46240 +[#46244]: https://github.com/home-assistant/core/pull/46244 +[#46245]: https://github.com/home-assistant/core/pull/46245 +[#46246]: https://github.com/home-assistant/core/pull/46246 +[#46247]: https://github.com/home-assistant/core/pull/46247 +[#46248]: https://github.com/home-assistant/core/pull/46248 +[#46250]: https://github.com/home-assistant/core/pull/46250 +[#46251]: https://github.com/home-assistant/core/pull/46251 +[#46253]: https://github.com/home-assistant/core/pull/46253 +[#46262]: https://github.com/home-assistant/core/pull/46262 +[#46265]: https://github.com/home-assistant/core/pull/46265 +[#46268]: https://github.com/home-assistant/core/pull/46268 +[#46269]: https://github.com/home-assistant/core/pull/46269 +[#46270]: https://github.com/home-assistant/core/pull/46270 +[#46290]: https://github.com/home-assistant/core/pull/46290 +[#46291]: https://github.com/home-assistant/core/pull/46291 +[#46292]: https://github.com/home-assistant/core/pull/46292 +[#46300]: https://github.com/home-assistant/core/pull/46300 +[#46301]: https://github.com/home-assistant/core/pull/46301 +[#46309]: https://github.com/home-assistant/core/pull/46309 +[#46310]: https://github.com/home-assistant/core/pull/46310 +[#46311]: https://github.com/home-assistant/core/pull/46311 +[#46312]: https://github.com/home-assistant/core/pull/46312 +[#46315]: https://github.com/home-assistant/core/pull/46315 +[#46316]: https://github.com/home-assistant/core/pull/46316 +[#46319]: https://github.com/home-assistant/core/pull/46319 +[#46320]: https://github.com/home-assistant/core/pull/46320 +[#46321]: https://github.com/home-assistant/core/pull/46321 +[#46322]: https://github.com/home-assistant/core/pull/46322 +[#46325]: https://github.com/home-assistant/core/pull/46325 +[#46328]: https://github.com/home-assistant/core/pull/46328 +[#46329]: https://github.com/home-assistant/core/pull/46329 +[#46330]: https://github.com/home-assistant/core/pull/46330 +[#46331]: https://github.com/home-assistant/core/pull/46331 +[#46340]: https://github.com/home-assistant/core/pull/46340 +[#46348]: https://github.com/home-assistant/core/pull/46348 +[#46349]: https://github.com/home-assistant/core/pull/46349 +[#46350]: https://github.com/home-assistant/core/pull/46350 +[#46355]: https://github.com/home-assistant/core/pull/46355 +[#46358]: https://github.com/home-assistant/core/pull/46358 +[#46359]: https://github.com/home-assistant/core/pull/46359 +[#46366]: https://github.com/home-assistant/core/pull/46366 +[#46367]: https://github.com/home-assistant/core/pull/46367 +[#46368]: https://github.com/home-assistant/core/pull/46368 +[#46369]: https://github.com/home-assistant/core/pull/46369 +[#46371]: https://github.com/home-assistant/core/pull/46371 +[#46377]: https://github.com/home-assistant/core/pull/46377 +[#46379]: https://github.com/home-assistant/core/pull/46379 +[#46385]: https://github.com/home-assistant/core/pull/46385 +[#46388]: https://github.com/home-assistant/core/pull/46388 +[#46389]: https://github.com/home-assistant/core/pull/46389 +[#46390]: https://github.com/home-assistant/core/pull/46390 +[#46391]: https://github.com/home-assistant/core/pull/46391 +[#46398]: https://github.com/home-assistant/core/pull/46398 +[#46399]: https://github.com/home-assistant/core/pull/46399 +[#46401]: https://github.com/home-assistant/core/pull/46401 +[#46402]: https://github.com/home-assistant/core/pull/46402 +[#46404]: https://github.com/home-assistant/core/pull/46404 +[#46406]: https://github.com/home-assistant/core/pull/46406 +[#46410]: https://github.com/home-assistant/core/pull/46410 +[#46413]: https://github.com/home-assistant/core/pull/46413 +[#46414]: https://github.com/home-assistant/core/pull/46414 +[#46416]: https://github.com/home-assistant/core/pull/46416 +[#46419]: https://github.com/home-assistant/core/pull/46419 +[#46421]: https://github.com/home-assistant/core/pull/46421 +[#46423]: https://github.com/home-assistant/core/pull/46423 +[#46424]: https://github.com/home-assistant/core/pull/46424 +[#46428]: https://github.com/home-assistant/core/pull/46428 +[#46433]: https://github.com/home-assistant/core/pull/46433 +[#46434]: https://github.com/home-assistant/core/pull/46434 +[#46438]: https://github.com/home-assistant/core/pull/46438 +[#46440]: https://github.com/home-assistant/core/pull/46440 +[#46441]: https://github.com/home-assistant/core/pull/46441 +[#46442]: https://github.com/home-assistant/core/pull/46442 +[#46445]: https://github.com/home-assistant/core/pull/46445 +[#46455]: https://github.com/home-assistant/core/pull/46455 +[#46456]: https://github.com/home-assistant/core/pull/46456 +[#46460]: https://github.com/home-assistant/core/pull/46460 +[#46462]: https://github.com/home-assistant/core/pull/46462 +[#46463]: https://github.com/home-assistant/core/pull/46463 +[#46464]: https://github.com/home-assistant/core/pull/46464 +[#46465]: https://github.com/home-assistant/core/pull/46465 +[#46466]: https://github.com/home-assistant/core/pull/46466 +[#46468]: https://github.com/home-assistant/core/pull/46468 +[#46471]: https://github.com/home-assistant/core/pull/46471 +[#46472]: https://github.com/home-assistant/core/pull/46472 +[#46473]: https://github.com/home-assistant/core/pull/46473 +[#46479]: https://github.com/home-assistant/core/pull/46479 +[#46482]: https://github.com/home-assistant/core/pull/46482 +[#46483]: https://github.com/home-assistant/core/pull/46483 +[#46484]: https://github.com/home-assistant/core/pull/46484 +[#46489]: https://github.com/home-assistant/core/pull/46489 +[#46494]: https://github.com/home-assistant/core/pull/46494 +[#46497]: https://github.com/home-assistant/core/pull/46497 +[#46500]: https://github.com/home-assistant/core/pull/46500 +[#46501]: https://github.com/home-assistant/core/pull/46501 +[#46502]: https://github.com/home-assistant/core/pull/46502 +[#46503]: https://github.com/home-assistant/core/pull/46503 +[#46505]: https://github.com/home-assistant/core/pull/46505 +[#46507]: https://github.com/home-assistant/core/pull/46507 +[#46508]: https://github.com/home-assistant/core/pull/46508 +[#46509]: https://github.com/home-assistant/core/pull/46509 +[#46510]: https://github.com/home-assistant/core/pull/46510 +[#46511]: https://github.com/home-assistant/core/pull/46511 +[#46512]: https://github.com/home-assistant/core/pull/46512 +[#46513]: https://github.com/home-assistant/core/pull/46513 +[#46517]: https://github.com/home-assistant/core/pull/46517 +[#46520]: https://github.com/home-assistant/core/pull/46520 +[#46521]: https://github.com/home-assistant/core/pull/46521 +[#46537]: https://github.com/home-assistant/core/pull/46537 +[#46538]: https://github.com/home-assistant/core/pull/46538 +[#46539]: https://github.com/home-assistant/core/pull/46539 +[#46541]: https://github.com/home-assistant/core/pull/46541 +[#46543]: https://github.com/home-assistant/core/pull/46543 +[#46544]: https://github.com/home-assistant/core/pull/46544 +[#46545]: https://github.com/home-assistant/core/pull/46545 +[#46548]: https://github.com/home-assistant/core/pull/46548 +[#46549]: https://github.com/home-assistant/core/pull/46549 +[#46550]: https://github.com/home-assistant/core/pull/46550 +[#46551]: https://github.com/home-assistant/core/pull/46551 +[#46552]: https://github.com/home-assistant/core/pull/46552 +[#46554]: https://github.com/home-assistant/core/pull/46554 +[#46561]: https://github.com/home-assistant/core/pull/46561 +[#46562]: https://github.com/home-assistant/core/pull/46562 +[#46563]: https://github.com/home-assistant/core/pull/46563 +[#46574]: https://github.com/home-assistant/core/pull/46574 +[#46576]: https://github.com/home-assistant/core/pull/46576 +[#46581]: https://github.com/home-assistant/core/pull/46581 +[#46583]: https://github.com/home-assistant/core/pull/46583 +[#46590]: https://github.com/home-assistant/core/pull/46590 +[#46592]: https://github.com/home-assistant/core/pull/46592 +[#46595]: https://github.com/home-assistant/core/pull/46595 +[#46596]: https://github.com/home-assistant/core/pull/46596 +[#46601]: https://github.com/home-assistant/core/pull/46601 +[#46602]: https://github.com/home-assistant/core/pull/46602 +[#46604]: https://github.com/home-assistant/core/pull/46604 +[#46608]: https://github.com/home-assistant/core/pull/46608 +[#46610]: https://github.com/home-assistant/core/pull/46610 +[#46612]: https://github.com/home-assistant/core/pull/46612 +[#46615]: https://github.com/home-assistant/core/pull/46615 +[#46616]: https://github.com/home-assistant/core/pull/46616 +[#46622]: https://github.com/home-assistant/core/pull/46622 +[#46623]: https://github.com/home-assistant/core/pull/46623 +[#46625]: https://github.com/home-assistant/core/pull/46625 +[#46626]: https://github.com/home-assistant/core/pull/46626 +[#46627]: https://github.com/home-assistant/core/pull/46627 +[#46628]: https://github.com/home-assistant/core/pull/46628 +[#46629]: https://github.com/home-assistant/core/pull/46629 +[#46630]: https://github.com/home-assistant/core/pull/46630 +[#46632]: https://github.com/home-assistant/core/pull/46632 +[#46633]: https://github.com/home-assistant/core/pull/46633 +[#46634]: https://github.com/home-assistant/core/pull/46634 +[#46635]: https://github.com/home-assistant/core/pull/46635 +[#46638]: https://github.com/home-assistant/core/pull/46638 +[#46639]: https://github.com/home-assistant/core/pull/46639 +[#46640]: https://github.com/home-assistant/core/pull/46640 +[#46642]: https://github.com/home-assistant/core/pull/46642 +[#46646]: https://github.com/home-assistant/core/pull/46646 +[#46647]: https://github.com/home-assistant/core/pull/46647 +[#46649]: https://github.com/home-assistant/core/pull/46649 +[#46650]: https://github.com/home-assistant/core/pull/46650 +[#46651]: https://github.com/home-assistant/core/pull/46651 +[#46652]: https://github.com/home-assistant/core/pull/46652 +[#46654]: https://github.com/home-assistant/core/pull/46654 +[#46656]: https://github.com/home-assistant/core/pull/46656 +[#46659]: https://github.com/home-assistant/core/pull/46659 +[#46664]: https://github.com/home-assistant/core/pull/46664 +[#46667]: https://github.com/home-assistant/core/pull/46667 +[#46669]: https://github.com/home-assistant/core/pull/46669 +[#46670]: https://github.com/home-assistant/core/pull/46670 +[#46673]: https://github.com/home-assistant/core/pull/46673 +[#46674]: https://github.com/home-assistant/core/pull/46674 +[#46675]: https://github.com/home-assistant/core/pull/46675 +[#46680]: https://github.com/home-assistant/core/pull/46680 +[#46681]: https://github.com/home-assistant/core/pull/46681 +[#46683]: https://github.com/home-assistant/core/pull/46683 +[#46684]: https://github.com/home-assistant/core/pull/46684 +[#46687]: https://github.com/home-assistant/core/pull/46687 +[#46690]: https://github.com/home-assistant/core/pull/46690 +[#46691]: https://github.com/home-assistant/core/pull/46691 +[#46701]: https://github.com/home-assistant/core/pull/46701 +[#46702]: https://github.com/home-assistant/core/pull/46702 +[#46703]: https://github.com/home-assistant/core/pull/46703 +[#46705]: https://github.com/home-assistant/core/pull/46705 +[#46709]: https://github.com/home-assistant/core/pull/46709 +[#46711]: https://github.com/home-assistant/core/pull/46711 +[#46714]: https://github.com/home-assistant/core/pull/46714 +[#46717]: https://github.com/home-assistant/core/pull/46717 +[#46718]: https://github.com/home-assistant/core/pull/46718 +[#46720]: https://github.com/home-assistant/core/pull/46720 +[#46722]: https://github.com/home-assistant/core/pull/46722 +[#46725]: https://github.com/home-assistant/core/pull/46725 +[#46727]: https://github.com/home-assistant/core/pull/46727 +[#46728]: https://github.com/home-assistant/core/pull/46728 +[#46729]: https://github.com/home-assistant/core/pull/46729 +[#46730]: https://github.com/home-assistant/core/pull/46730 +[#46731]: https://github.com/home-assistant/core/pull/46731 +[#46732]: https://github.com/home-assistant/core/pull/46732 +[#46733]: https://github.com/home-assistant/core/pull/46733 +[#46736]: https://github.com/home-assistant/core/pull/46736 +[#46737]: https://github.com/home-assistant/core/pull/46737 +[#46738]: https://github.com/home-assistant/core/pull/46738 +[#46739]: https://github.com/home-assistant/core/pull/46739 +[#46740]: https://github.com/home-assistant/core/pull/46740 +[#46741]: https://github.com/home-assistant/core/pull/46741 +[#46742]: https://github.com/home-assistant/core/pull/46742 +[#46743]: https://github.com/home-assistant/core/pull/46743 +[#46744]: https://github.com/home-assistant/core/pull/46744 +[#46745]: https://github.com/home-assistant/core/pull/46745 +[#46746]: https://github.com/home-assistant/core/pull/46746 +[#46747]: https://github.com/home-assistant/core/pull/46747 +[#46748]: https://github.com/home-assistant/core/pull/46748 +[#46749]: https://github.com/home-assistant/core/pull/46749 +[#46750]: https://github.com/home-assistant/core/pull/46750 +[#46751]: https://github.com/home-assistant/core/pull/46751 +[#46752]: https://github.com/home-assistant/core/pull/46752 +[#46753]: https://github.com/home-assistant/core/pull/46753 +[#46754]: https://github.com/home-assistant/core/pull/46754 +[#46756]: https://github.com/home-assistant/core/pull/46756 +[#46759]: https://github.com/home-assistant/core/pull/46759 +[#46764]: https://github.com/home-assistant/core/pull/46764 +[#46767]: https://github.com/home-assistant/core/pull/46767 +[#46768]: https://github.com/home-assistant/core/pull/46768 +[#46772]: https://github.com/home-assistant/core/pull/46772 +[#46774]: https://github.com/home-assistant/core/pull/46774 +[#46775]: https://github.com/home-assistant/core/pull/46775 +[#46776]: https://github.com/home-assistant/core/pull/46776 +[#46777]: https://github.com/home-assistant/core/pull/46777 +[#46779]: https://github.com/home-assistant/core/pull/46779 +[#46780]: https://github.com/home-assistant/core/pull/46780 +[#46787]: https://github.com/home-assistant/core/pull/46787 +[#46789]: https://github.com/home-assistant/core/pull/46789 +[#46790]: https://github.com/home-assistant/core/pull/46790 +[#46791]: https://github.com/home-assistant/core/pull/46791 +[#46792]: https://github.com/home-assistant/core/pull/46792 +[#46793]: https://github.com/home-assistant/core/pull/46793 +[#46794]: https://github.com/home-assistant/core/pull/46794 +[#46797]: https://github.com/home-assistant/core/pull/46797 +[#46798]: https://github.com/home-assistant/core/pull/46798 +[#46799]: https://github.com/home-assistant/core/pull/46799 +[#46801]: https://github.com/home-assistant/core/pull/46801 +[#46802]: https://github.com/home-assistant/core/pull/46802 +[#46806]: https://github.com/home-assistant/core/pull/46806 +[#46807]: https://github.com/home-assistant/core/pull/46807 +[#46809]: https://github.com/home-assistant/core/pull/46809 +[#46812]: https://github.com/home-assistant/core/pull/46812 +[#46814]: https://github.com/home-assistant/core/pull/46814 +[#46819]: https://github.com/home-assistant/core/pull/46819 +[#46821]: https://github.com/home-assistant/core/pull/46821 +[#46823]: https://github.com/home-assistant/core/pull/46823 +[#46825]: https://github.com/home-assistant/core/pull/46825 +[#46828]: https://github.com/home-assistant/core/pull/46828 +[#46836]: https://github.com/home-assistant/core/pull/46836 +[#46838]: https://github.com/home-assistant/core/pull/46838 +[#46839]: https://github.com/home-assistant/core/pull/46839 +[#46840]: https://github.com/home-assistant/core/pull/46840 +[#46842]: https://github.com/home-assistant/core/pull/46842 +[#46845]: https://github.com/home-assistant/core/pull/46845 +[#46854]: https://github.com/home-assistant/core/pull/46854 +[#46855]: https://github.com/home-assistant/core/pull/46855 +[#46859]: https://github.com/home-assistant/core/pull/46859 +[#46862]: https://github.com/home-assistant/core/pull/46862 +[#46864]: https://github.com/home-assistant/core/pull/46864 +[#46867]: https://github.com/home-assistant/core/pull/46867 +[#46868]: https://github.com/home-assistant/core/pull/46868 +[#46876]: https://github.com/home-assistant/core/pull/46876 +[#46878]: https://github.com/home-assistant/core/pull/46878 +[#46880]: https://github.com/home-assistant/core/pull/46880 +[#46881]: https://github.com/home-assistant/core/pull/46881 +[#46883]: https://github.com/home-assistant/core/pull/46883 +[#46885]: https://github.com/home-assistant/core/pull/46885 +[#46886]: https://github.com/home-assistant/core/pull/46886 +[#46888]: https://github.com/home-assistant/core/pull/46888 +[#46889]: https://github.com/home-assistant/core/pull/46889 +[#46891]: https://github.com/home-assistant/core/pull/46891 +[#46894]: https://github.com/home-assistant/core/pull/46894 +[#46897]: https://github.com/home-assistant/core/pull/46897 +[#46898]: https://github.com/home-assistant/core/pull/46898 +[#46902]: https://github.com/home-assistant/core/pull/46902 +[#46903]: https://github.com/home-assistant/core/pull/46903 +[#46905]: https://github.com/home-assistant/core/pull/46905 +[#46906]: https://github.com/home-assistant/core/pull/46906 +[#46907]: https://github.com/home-assistant/core/pull/46907 +[#46909]: https://github.com/home-assistant/core/pull/46909 +[#46910]: https://github.com/home-assistant/core/pull/46910 +[#46914]: https://github.com/home-assistant/core/pull/46914 +[#46915]: https://github.com/home-assistant/core/pull/46915 +[#46916]: https://github.com/home-assistant/core/pull/46916 +[#46924]: https://github.com/home-assistant/core/pull/46924 +[#46926]: https://github.com/home-assistant/core/pull/46926 +[#46927]: https://github.com/home-assistant/core/pull/46927 +[#46928]: https://github.com/home-assistant/core/pull/46928 +[#46929]: https://github.com/home-assistant/core/pull/46929 +[#46931]: https://github.com/home-assistant/core/pull/46931 +[#46932]: https://github.com/home-assistant/core/pull/46932 +[#46933]: https://github.com/home-assistant/core/pull/46933 +[#46939]: https://github.com/home-assistant/core/pull/46939 +[#46941]: https://github.com/home-assistant/core/pull/46941 +[#46942]: https://github.com/home-assistant/core/pull/46942 +[#46944]: https://github.com/home-assistant/core/pull/46944 +[#46947]: https://github.com/home-assistant/core/pull/46947 +[#46950]: https://github.com/home-assistant/core/pull/46950 +[#46951]: https://github.com/home-assistant/core/pull/46951 +[#46952]: https://github.com/home-assistant/core/pull/46952 +[#46954]: https://github.com/home-assistant/core/pull/46954 +[#46956]: https://github.com/home-assistant/core/pull/46956 +[#46957]: https://github.com/home-assistant/core/pull/46957 +[#46962]: https://github.com/home-assistant/core/pull/46962 +[#46971]: https://github.com/home-assistant/core/pull/46971 +[#46973]: https://github.com/home-assistant/core/pull/46973 +[#46974]: https://github.com/home-assistant/core/pull/46974 +[#46976]: https://github.com/home-assistant/core/pull/46976 +[#46977]: https://github.com/home-assistant/core/pull/46977 +[#46979]: https://github.com/home-assistant/core/pull/46979 +[#46981]: https://github.com/home-assistant/core/pull/46981 +[#46983]: https://github.com/home-assistant/core/pull/46983 +[#46984]: https://github.com/home-assistant/core/pull/46984 +[#46987]: https://github.com/home-assistant/core/pull/46987 +[#46988]: https://github.com/home-assistant/core/pull/46988 +[#46989]: https://github.com/home-assistant/core/pull/46989 +[#46990]: https://github.com/home-assistant/core/pull/46990 +[#46991]: https://github.com/home-assistant/core/pull/46991 +[#46993]: https://github.com/home-assistant/core/pull/46993 +[#46995]: https://github.com/home-assistant/core/pull/46995 +[#46999]: https://github.com/home-assistant/core/pull/46999 +[#47007]: https://github.com/home-assistant/core/pull/47007 +[#47010]: https://github.com/home-assistant/core/pull/47010 +[#47013]: https://github.com/home-assistant/core/pull/47013 +[@AdmiralStipe]: https://github.com/AdmiralStipe +[@Antoni-Czaplicki]: https://github.com/Antoni-Czaplicki +[@EPMatt]: https://github.com/EPMatt +[@G-Two]: https://github.com/G-Two +[@GeoffAtHome]: https://github.com/GeoffAtHome +[@Guliver]: https://github.com/Guliver +[@JohNan]: https://github.com/JohNan +[@KJonline]: https://github.com/KJonline +[@KTibow]: https://github.com/KTibow +[@Kane610]: https://github.com/Kane610 +[@MHV33]: https://github.com/MHV33 +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MatthewFlamm]: https://github.com/MatthewFlamm +[@Nixon506E]: https://github.com/Nixon506E +[@Noltari]: https://github.com/Noltari +[@Quentame]: https://github.com/Quentame +[@RobBie1221]: https://github.com/RobBie1221 +[@Shutgun]: https://github.com/Shutgun +[@StevenLooman]: https://github.com/StevenLooman +[@WizBangCrash]: https://github.com/WizBangCrash +[@adamoutler]: https://github.com/adamoutler +[@adrian-vlad]: https://github.com/adrian-vlad +[@aizerin]: https://github.com/aizerin +[@alexpilotti]: https://github.com/alexpilotti +[@allenporter]: https://github.com/allenporter +[@amelchio]: https://github.com/amelchio +[@austinmroczek]: https://github.com/austinmroczek +[@bachya]: https://github.com/bachya +[@badguy99]: https://github.com/badguy99 +[@balloob]: https://github.com/balloob +[@bdr99]: https://github.com/bdr99 +[@bdraco]: https://github.com/bdraco +[@bernimoses]: https://github.com/bernimoses +[@bieniu]: https://github.com/bieniu +[@boralyl]: https://github.com/boralyl +[@bramkragten]: https://github.com/bramkragten +[@bsmappee]: https://github.com/bsmappee +[@cgarwood]: https://github.com/cgarwood +[@cgtobi]: https://github.com/cgtobi +[@chemelli74]: https://github.com/chemelli74 +[@chpego]: https://github.com/chpego +[@chriss158]: https://github.com/chriss158 +[@cpainchaud]: https://github.com/cpainchaud +[@crazyfx1]: https://github.com/crazyfx1 +[@cristian-vescan]: https://github.com/cristian-vescan +[@ctalkington]: https://github.com/ctalkington +[@decompil3d]: https://github.com/decompil3d +[@denes44]: https://github.com/denes44 +[@deniseyu]: https://github.com/deniseyu +[@dermotduffy]: https://github.com/dermotduffy +[@dgomes]: https://github.com/dgomes +[@dingusdk]: https://github.com/dingusdk +[@djtimca]: https://github.com/djtimca +[@dmcc]: https://github.com/dmcc +[@dmulcahey]: https://github.com/dmulcahey +[@ehendrix23]: https://github.com/ehendrix23 +[@elupus]: https://github.com/elupus +[@emichael]: https://github.com/emichael +[@emontnemery]: https://github.com/emontnemery +[@esev]: https://github.com/esev +[@fabaff]: https://github.com/fabaff +[@farmio]: https://github.com/farmio +[@foxel]: https://github.com/foxel +[@frenck]: https://github.com/frenck +[@fronzbot]: https://github.com/fronzbot +[@functionpointer]: https://github.com/functionpointer +[@ggravlingen]: https://github.com/ggravlingen +[@gsemet]: https://github.com/gsemet +[@hencoappel]: https://github.com/hencoappel +[@iMicknl]: https://github.com/iMicknl +[@inytar]: https://github.com/inytar +[@janiversen]: https://github.com/janiversen +[@javicalle]: https://github.com/javicalle +[@jcam]: https://github.com/jcam +[@jjlawren]: https://github.com/jjlawren +[@jloehr]: https://github.com/jloehr +[@joncar]: https://github.com/joncar +[@jwnmulder]: https://github.com/jwnmulder +[@kangaroomadman]: https://github.com/kangaroomadman +[@kingo55]: https://github.com/kingo55 +[@kochen]: https://github.com/kochen +[@kpine]: https://github.com/kpine +[@kriansa]: https://github.com/kriansa +[@kukulich]: https://github.com/kukulich +[@leikoilja]: https://github.com/leikoilja +[@leofig-rj]: https://github.com/leofig-rj +[@ludeeus]: https://github.com/ludeeus +[@macrosak]: https://github.com/macrosak +[@marcelveldt]: https://github.com/marcelveldt +[@marecabo]: https://github.com/marecabo +[@mdz]: https://github.com/mdz +[@meichthys]: https://github.com/meichthys +[@mib1185]: https://github.com/mib1185 +[@michaeldavie]: https://github.com/michaeldavie +[@milanmeu]: https://github.com/milanmeu +[@mkeesey]: https://github.com/mkeesey +[@natekspencer]: https://github.com/natekspencer +[@nielstron]: https://github.com/nielstron +[@ntilley905]: https://github.com/ntilley905 +[@o-l-o]: https://github.com/o-l-o +[@oetken]: https://github.com/oetken +[@olijouve]: https://github.com/olijouve +[@ollo69]: https://github.com/ollo69 +[@oxygen0211]: https://github.com/oxygen0211 +[@palfrey]: https://github.com/palfrey +[@pavoni]: https://github.com/pavoni +[@pawlizio]: https://github.com/pawlizio +[@persandstrom]: https://github.com/persandstrom +[@postlund]: https://github.com/postlund +[@pree]: https://github.com/pree +[@puddly]: https://github.com/puddly +[@raman325]: https://github.com/raman325 +[@rfleming71]: https://github.com/rfleming71 +[@rngtng]: https://github.com/rngtng +[@scop]: https://github.com/scop +[@sgryphon]: https://github.com/sgryphon +[@shbatm]: https://github.com/shbatm +[@spacegaier]: https://github.com/spacegaier +[@spike411]: https://github.com/spike411 +[@starkillerOG]: https://github.com/starkillerOG +[@teharris1]: https://github.com/teharris1 +[@thecode]: https://github.com/thecode +[@timmo001]: https://github.com/timmo001 +[@tkdrob]: https://github.com/tkdrob +[@uvjustin]: https://github.com/uvjustin +[@yurnih]: https://github.com/yurnih +[@yuvalabou]: https://github.com/yuvalabou +[accuweather docs]: /integrations/accuweather/ +[acer_projector docs]: /integrations/acer_projector/ +[aemet docs]: /integrations/aemet/ +[airly docs]: /integrations/airly/ +[airvisual docs]: /integrations/airvisual/ +[alarm_control_panel docs]: /integrations/alarm_control_panel/ +[alert docs]: /integrations/alert/ +[alexa docs]: /integrations/alexa/ +[amazon_polly docs]: /integrations/amazon_polly/ +[api docs]: /integrations/api/ +[apple_tv docs]: /integrations/apple_tv/ +[asuswrt docs]: /integrations/asuswrt/ +[aurora docs]: /integrations/aurora/ +[auth docs]: /integrations/auth/ +[automation docs]: /integrations/automation/ +[aws docs]: /integrations/aws/ +[bayesian docs]: /integrations/bayesian/ +[binary_sensor docs]: /integrations/binary_sensor/ +[blink docs]: /integrations/blink/ +[blueprint docs]: /integrations/blueprint/ +[bluetooth_tracker docs]: /integrations/bluetooth_tracker/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[bond docs]: /integrations/bond/ +[brother docs]: /integrations/brother/ +[browser docs]: /integrations/browser/ +[bt_smarthub docs]: /integrations/bt_smarthub/ +[caldav docs]: /integrations/caldav/ +[camera docs]: /integrations/camera/ +[cast docs]: /integrations/cast/ +[climacell docs]: /integrations/climacell/ +[climate docs]: /integrations/climate/ +[cloud docs]: /integrations/cloud/ +[cloudflare docs]: /integrations/cloudflare/ +[cmus docs]: /integrations/cmus/ +[coinmarketcap docs]: /integrations/coinmarketcap/ +[color_extractor docs]: /integrations/color_extractor/ +[comfoconnect docs]: /integrations/comfoconnect/ +[command_line docs]: /integrations/command_line/ +[config docs]: /integrations/config/ +[conversation docs]: /integrations/conversation/ +[counter docs]: /integrations/counter/ +[cover docs]: /integrations/cover/ +[crimereports docs]: /integrations/crimereports/ +[daikin docs]: /integrations/daikin/ +[deconz docs]: /integrations/deconz/ +[default_config docs]: /integrations/default_config/ +[delijn docs]: /integrations/delijn/ +[demo docs]: /integrations/demo/ +[denonavr docs]: /integrations/denonavr/ +[deutsche_bahn docs]: /integrations/deutsche_bahn/ +[devolo_home_control docs]: /integrations/devolo_home_control/ +[dht docs]: /integrations/dht/ +[doods docs]: /integrations/doods/ +[downloader docs]: /integrations/downloader/ +[dsmr docs]: /integrations/dsmr/ +[dynalite docs]: /integrations/dynalite/ +[dyson docs]: /integrations/dyson/ +[efergy docs]: /integrations/efergy/ +[elgato docs]: /integrations/elgato/ +[elkm1 docs]: /integrations/elkm1/ +[emulated_hue docs]: /integrations/emulated_hue/ +[environment_canada docs]: /integrations/environment_canada/ +[envisalink docs]: /integrations/envisalink/ +[esphome docs]: /integrations/esphome/ +[faadelays docs]: /integrations/faadelays/ +[fan docs]: /integrations/fan/ +[ffmpeg_motion docs]: /integrations/ffmpeg_motion/ +[fibaro docs]: /integrations/fibaro/ +[file docs]: /integrations/file/ +[fireservicerota docs]: /integrations/fireservicerota/ +[firmata docs]: /integrations/firmata/ +[fixer docs]: /integrations/fixer/ +[fleetgo docs]: /integrations/fleetgo/ +[flux docs]: /integrations/flux/ +[folder_watcher docs]: /integrations/folder_watcher/ +[freebox docs]: /integrations/freebox/ +[fritzbox docs]: /integrations/fritzbox/ +[fronius docs]: /integrations/fronius/ +[frontend docs]: /integrations/frontend/ +[futurenow docs]: /integrations/futurenow/ +[generic docs]: /integrations/generic/ +[generic_thermostat docs]: /integrations/generic_thermostat/ +[geniushub docs]: /integrations/geniushub/ +[gios docs]: /integrations/gios/ +[google docs]: /integrations/google/ +[google_assistant docs]: /integrations/google_assistant/ +[google_cloud docs]: /integrations/google_cloud/ +[greeneye_monitor docs]: /integrations/greeneye_monitor/ +[group docs]: /integrations/group/ +[habitica docs]: /integrations/habitica/ +[harmony docs]: /integrations/harmony/ +[here_travel_time docs]: /integrations/here_travel_time/ +[hikvision docs]: /integrations/hikvision/ +[hive docs]: /integrations/hive/ +[home_connect docs]: /integrations/home_connect/ +[homeassistant docs]: /integrations/homeassistant/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homematic docs]: /integrations/homematic/ +[http docs]: /integrations/http/ +[hue docs]: /integrations/hue/ +[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/ +[hyperion docs]: /integrations/hyperion/ +[ihc docs]: /integrations/ihc/ +[image_processing docs]: /integrations/image_processing/ +[influxdb docs]: /integrations/influxdb/ +[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/ +[integration docs]: /integrations/integration/ +[isy994 docs]: /integrations/isy994/ +[izone docs]: /integrations/izone/ +[joaoapps_join docs]: /integrations/joaoapps_join/ +[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/ +[keyboard docs]: /integrations/keyboard/ +[kira docs]: /integrations/kira/ +[kmtronic docs]: /integrations/kmtronic/ +[knx docs]: /integrations/knx/ +[konnected docs]: /integrations/konnected/ +[lcn docs]: /integrations/lcn/ +[lg_soundbar docs]: /integrations/lg_soundbar/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litejet docs]: /integrations/litejet/ +[litterrobot docs]: /integrations/litterrobot/ +[local_file docs]: /integrations/local_file/ +[lock docs]: /integrations/lock/ +[logbook docs]: /integrations/logbook/ +[logger docs]: /integrations/logger/ +[logi_circle docs]: /integrations/logi_circle/ +[lovelace docs]: /integrations/lovelace/ +[lutron docs]: /integrations/lutron/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[lyric docs]: /integrations/lyric/ +[mazda docs]: /integrations/mazda/ +[media_extractor docs]: /integrations/media_extractor/ +[media_player docs]: /integrations/media_player/ +[microsoft docs]: /integrations/microsoft/ +[mitemp_bt docs]: /integrations/mitemp_bt/ +[mobile_app docs]: /integrations/mobile_app/ +[modbus docs]: /integrations/modbus/ +[motion_blinds docs]: /integrations/motion_blinds/ +[mqtt docs]: /integrations/mqtt/ +[mullvad docs]: /integrations/mullvad/ +[my docs]: /integrations/my/ +[myq docs]: /integrations/myq/ +[mysensors docs]: /integrations/mysensors/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[nexia docs]: /integrations/nexia/ +[nissan_leaf docs]: /integrations/nissan_leaf/ +[nmap_tracker docs]: /integrations/nmap_tracker/ +[nuheat docs]: /integrations/nuheat/ +[nuimo_controller docs]: /integrations/nuimo_controller/ +[nuki docs]: /integrations/nuki/ +[number docs]: /integrations/number/ +[nut docs]: /integrations/nut/ +[nws docs]: /integrations/nws/ +[ohmconnect docs]: /integrations/ohmconnect/ +[onvif docs]: /integrations/onvif/ +[ozw docs]: /integrations/ozw/ +[person docs]: /integrations/person/ +[philips_js docs]: /integrations/philips_js/ +[plaato docs]: /integrations/plaato/ +[plex docs]: /integrations/plex/ +[plugwise docs]: /integrations/plugwise/ +[powerwall docs]: /integrations/powerwall/ +[recollect_waste docs]: /integrations/recollect_waste/ +[recorder docs]: /integrations/recorder/ +[reddit docs]: /integrations/reddit/ +[remember_the_milk docs]: /integrations/remember_the_milk/ +[rest docs]: /integrations/rest/ +[rflink docs]: /integrations/rflink/ +[rfxtrx docs]: /integrations/rfxtrx/ +[rituals_perfume_genie docs]: /integrations/rituals_perfume_genie/ +[rmvtransport docs]: /integrations/rmvtransport/ +[roku docs]: /integrations/roku/ +[roomba docs]: /integrations/roomba/ +[roon docs]: /integrations/roon/ +[rova docs]: /integrations/rova/ +[rpi_gpio docs]: /integrations/rpi_gpio/ +[rpi_rf docs]: /integrations/rpi_rf/ +[samsungtv docs]: /integrations/samsungtv/ +[scene docs]: /integrations/scene/ +[scrape docs]: /integrations/scrape/ +[script docs]: /integrations/script/ +[sense docs]: /integrations/sense/ +[sentry docs]: /integrations/sentry/ +[shelly docs]: /integrations/shelly/ +[shopping_list docs]: /integrations/shopping_list/ +[simplepush docs]: /integrations/simplepush/ +[skybell docs]: /integrations/skybell/ +[sma docs]: /integrations/sma/ +[smappee docs]: /integrations/smappee/ +[smartthings docs]: /integrations/smartthings/ +[smarttub docs]: /integrations/smarttub/ +[smarty docs]: /integrations/smarty/ +[solaredge docs]: /integrations/solaredge/ +[somfy docs]: /integrations/somfy/ +[sonos docs]: /integrations/sonos/ +[sql docs]: /integrations/sql/ +[ssdp docs]: /integrations/ssdp/ +[starline docs]: /integrations/starline/ +[stream docs]: /integrations/stream/ +[subaru docs]: /integrations/subaru/ +[switch docs]: /integrations/switch/ +[switcher_kis docs]: /integrations/switcher_kis/ +[syncthru docs]: /integrations/syncthru/ +[synology docs]: /integrations/synology/ +[synology_dsm docs]: /integrations/synology_dsm/ +[system_log docs]: /integrations/system_log/ +[tado docs]: /integrations/tado/ +[tasmota docs]: /integrations/tasmota/ +[tcp docs]: /integrations/tcp/ +[tellduslive docs]: /integrations/tellduslive/ +[temper docs]: /integrations/temper/ +[template docs]: /integrations/template/ +[tesla docs]: /integrations/tesla/ +[thethingsnetwork docs]: /integrations/thethingsnetwork/ +[tile docs]: /integrations/tile/ +[timer docs]: /integrations/timer/ +[todoist docs]: /integrations/todoist/ +[toon docs]: /integrations/toon/ +[totalconnect docs]: /integrations/totalconnect/ +[tradfri docs]: /integrations/tradfri/ +[trend docs]: /integrations/trend/ +[tts docs]: /integrations/tts/ +[tuya docs]: /integrations/tuya/ +[twentemilieu docs]: /integrations/twentemilieu/ +[twitter docs]: /integrations/twitter/ +[ubus docs]: /integrations/ubus/ +[unifi docs]: /integrations/unifi/ +[universal docs]: /integrations/universal/ +[updater docs]: /integrations/updater/ +[upnp docs]: /integrations/upnp/ +[uvc docs]: /integrations/uvc/ +[vacuum docs]: /integrations/vacuum/ +[vasttrafik docs]: /integrations/vasttrafik/ +[velux docs]: /integrations/velux/ +[vera docs]: /integrations/vera/ +[verisure docs]: /integrations/verisure/ +[vesync docs]: /integrations/vesync/ +[vicare docs]: /integrations/vicare/ +[vizio docs]: /integrations/vizio/ +[vlc_telnet docs]: /integrations/vlc_telnet/ +[volvooncall docs]: /integrations/volvooncall/ +[websocket_api docs]: /integrations/websocket_api/ +[wemo docs]: /integrations/wemo/ +[whois docs]: /integrations/whois/ +[wilight docs]: /integrations/wilight/ +[withings docs]: /integrations/withings/ +[wled docs]: /integrations/wled/ +[xbee docs]: /integrations/xbee/ +[xfinity docs]: /integrations/xfinity/ +[xiaomi_aqara docs]: /integrations/xiaomi_aqara/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[xmpp docs]: /integrations/xmpp/ +[yeelight docs]: /integrations/yeelight/ +[zha docs]: /integrations/zha/ +[zwave docs]: /integrations/zwave/ +[zwave_js docs]: /integrations/zwave_js/