diff --git a/CODEOWNERS b/CODEOWNERS index 07590e06753..015522cb2cc 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -13,6 +13,7 @@ source/_integrations/accuweather.markdown @bieniu source/_integrations/acmeda.markdown @atmurray source/_integrations/adguard.markdown @frenck source/_integrations/advantage_air.markdown @Bre77 +source/_integrations/aemet.markdown @noltari source/_integrations/agent_dvr.markdown @ispysoftware source/_integrations/airly.markdown @bieniu source/_integrations/airnow.markdown @asymworks @@ -72,6 +73,7 @@ source/_integrations/circuit.markdown @braam source/_integrations/cisco_ios.markdown @fbradyirl source/_integrations/cisco_mobility_express.markdown @fbradyirl source/_integrations/cisco_webex_teams.markdown @fbradyirl +source/_integrations/climacell.markdown @raman325 source/_integrations/cloud.markdown @home-assistant/cloud source/_integrations/cloudflare.markdown @ludeeus @ctalkington source/_integrations/color_extractor.markdown @GenericStudent @@ -133,6 +135,7 @@ source/_integrations/esphome.markdown @OttoWinter source/_integrations/essent.markdown @TheLastProject source/_integrations/evohome.markdown @zxdavb source/_integrations/ezviz.markdown @baqs +source/_integrations/faadelays.markdown @ntilley905 source/_integrations/fastdotcom.markdown @rohankapoorcom source/_integrations/file.markdown @fabaff source/_integrations/filter.markdown @dgomes @@ -147,7 +150,7 @@ source/_integrations/flunearyou.markdown @bachya source/_integrations/forked_daapd.markdown @uvjustin source/_integrations/fortios.markdown @kimfrellsen source/_integrations/foscam.markdown @skgsergio -source/_integrations/freebox.markdown @snoof85 @Quentame +source/_integrations/freebox.markdown @hacf-fr @Quentame source/_integrations/fronius.markdown @nielstron source/_integrations/frontend.markdown @home-assistant/frontend source/_integrations/garmin_connect.markdown @cyberjunky @@ -170,6 +173,7 @@ source/_integrations/griddy.markdown @bdraco source/_integrations/group.markdown @home-assistant/core source/_integrations/growatt_server.markdown @indykoning source/_integrations/guardian.markdown @bachya +source/_integrations/habitica.markdown @ASMfreaK @leikoilja source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey source/_integrations/hdmi_cec.markdown @newAM source/_integrations/heatmiser.markdown @andylockran @@ -199,7 +203,7 @@ source/_integrations/hydrawise.markdown @ptcryan source/_integrations/hyperion.markdown @dermotduffy source/_integrations/iammeter.markdown @lewei50 source/_integrations/iaqualink.markdown @flz -source/_integrations/icloud.markdown @Quentame +source/_integrations/icloud.markdown @Quentame @nzapponi source/_integrations/ign_sismologia.markdown @exxamalte source/_integrations/image.markdown @home-assistant/core source/_integrations/incomfort.markdown @zxdavb @@ -227,6 +231,7 @@ source/_integrations/keba.markdown @dannerph source/_integrations/keenetic_ndms2.markdown @foxel source/_integrations/kef.markdown @basnijholt source/_integrations/keyboard_remote.markdown @bendavid +source/_integrations/kmtronic.markdown @dgomes source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w source/_integrations/kodi.markdown @OnFreund @cgtobi source/_integrations/konnected.markdown @heythisisnate @kit-klein @@ -236,6 +241,8 @@ source/_integrations/launch_library.markdown @ludeeus source/_integrations/lcn.markdown @alengwenus source/_integrations/life360.markdown @pnbruckner source/_integrations/linux_battery.markdown @fabaff +source/_integrations/litejet.markdown @joncar +source/_integrations/litterrobot.markdown @natekspencer source/_integrations/local_ip.markdown @issacg source/_integrations/logger.markdown @home-assistant/core source/_integrations/logi_circle.markdown @evanjd @@ -245,8 +252,10 @@ source/_integrations/luftdaten.markdown @fabaff source/_integrations/lupusec.markdown @majuss source/_integrations/lutron.markdown @JonGilmore source/_integrations/lutron_caseta.markdown @swails @bdraco +source/_integrations/lyric.markdown @timmo001 source/_integrations/mastodon.markdown @fabaff source/_integrations/matrix.markdown @tinloaf +source/_integrations/mazda.markdown @bdr99 source/_integrations/mcp23017.markdown @jardiamj source/_integrations/media_source.markdown @hunterjm source/_integrations/mediaroom.markdown @dgomes @@ -268,10 +277,12 @@ source/_integrations/monoprice.markdown @etsinko @OnFreund source/_integrations/moon.markdown @fabaff source/_integrations/motion_blinds.markdown @starkillerOG source/_integrations/mpd.markdown @fabaff -source/_integrations/mqtt.markdown @home-assistant/core @emontnemery +source/_integrations/mqtt.markdown @emontnemery source/_integrations/msteams.markdown @peroyvind +source/_integrations/mullvad.markdown @meichthys +source/_integrations/my.markdown @home-assistant/core source/_integrations/myq.markdown @bdraco -source/_integrations/mysensors.markdown @MartinHjelmare +source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer source/_integrations/mystrom.markdown @fabaff source/_integrations/neato.markdown @dshokouhi @Santobert source/_integrations/nederlandse_spoorwegen.markdown @YarmoM @@ -295,7 +306,7 @@ source/_integrations/notion.markdown @bachya source/_integrations/nsw_fuel_station.markdown @nickw444 source/_integrations/nsw_rural_fire_service_feed.markdown @exxamalte source/_integrations/nuheat.markdown @bdraco -source/_integrations/nuki.markdown @pschmitt @pvizeli +source/_integrations/nuki.markdown @pschmitt @pvizeli @pree source/_integrations/numato.markdown @clssn source/_integrations/number.markdown @home-assistant/core @Shulyaka source/_integrations/nut.markdown @bdraco @@ -359,9 +370,11 @@ source/_integrations/random.markdown @fabaff source/_integrations/recollect_waste.markdown @bachya source/_integrations/rejseplanen.markdown @DarkFox source/_integrations/repetier.markdown @MTrab +source/_integrations/rflink.markdown @javicalle source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221 source/_integrations/ring.markdown @balloob source/_integrations/risco.markdown @OnFreund +source/_integrations/rituals_perfume_genie.markdown @milanmeu source/_integrations/rmvtransport.markdown @cgtobi source/_integrations/roku.markdown @ctalkington source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @@ -401,6 +414,7 @@ source/_integrations/smappee.markdown @bsmappee source/_integrations/smart_meter_texas.markdown @grahamwetzler source/_integrations/smarthab.markdown @outadoc source/_integrations/smartthings.markdown @andrewsayre +source/_integrations/smarttub.markdown @mdz source/_integrations/smarty.markdown @z0mbieprocess source/_integrations/sms.markdown @ocalvo source/_integrations/smtp.markdown @fabaff @@ -427,6 +441,7 @@ source/_integrations/stiebel_eltron.markdown @fucm source/_integrations/stookalert.markdown @fwestenberg source/_integrations/stream.markdown @hunterjm @uvjustin source/_integrations/stt.markdown @pvizeli +source/_integrations/subaru.markdown @G-Two source/_integrations/suez_water.markdown @ooii source/_integrations/sun.markdown @Swamp-Ig source/_integrations/supla.markdown @mwegrzynek @@ -440,7 +455,7 @@ source/_integrations/syncthru.markdown @nielstron source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185 source/_integrations/synology_srm.markdown @aerialls source/_integrations/syslog.markdown @fabaff -source/_integrations/tado.markdown @michaelarnauts @bdraco +source/_integrations/tado.markdown @michaelarnauts @bdraco @noltari source/_integrations/tag.markdown @balloob @dmulcahey source/_integrations/tahoma.markdown @philklei source/_integrations/tankerkoenig.markdown @guillempages @@ -462,7 +477,6 @@ source/_integrations/toon.markdown @frenck source/_integrations/totalconnect.markdown @austinmroczek source/_integrations/tplink.markdown @rytilahti @thegardenmonkey source/_integrations/traccar.markdown @ludeeus -source/_integrations/tradfri.markdown @ggravlingen source/_integrations/trafikverket_train.markdown @endor-force source/_integrations/trafikverket_weatherstation.markdown @endor-force source/_integrations/transmission.markdown @engrbm87 @JPHutchins @@ -470,6 +484,7 @@ source/_integrations/tts.markdown @pvizeli source/_integrations/tuya.markdown @ollo69 source/_integrations/twentemilieu.markdown @frenck source/_integrations/twinkly.markdown @dr1rrb +source/_integrations/ubus.markdown @noltari source/_integrations/unifi.markdown @Kane610 source/_integrations/unifiled.markdown @florisvdk source/_integrations/upb.markdown @gwww @@ -491,7 +506,7 @@ source/_integrations/vicare.markdown @oischinger source/_integrations/vilfo.markdown @ManneW source/_integrations/vivotek.markdown @HarlemSquirrel source/_integrations/vizio.markdown @raman325 -source/_integrations/vlc_telnet.markdown @rodripf +source/_integrations/vlc_telnet.markdown @rodripf @dmcc source/_integrations/volkszaehler.markdown @fabaff source/_integrations/volumio.markdown @OnFreund source/_integrations/waqi.markdown @andrey-git @@ -499,6 +514,7 @@ source/_integrations/watson_tts.markdown @rutkai source/_integrations/weather.markdown @fabaff source/_integrations/webostv.markdown @bendavid source/_integrations/websocket_api.markdown @home-assistant/core +source/_integrations/wemo.markdown @esev source/_integrations/wiffi.markdown @mampfes source/_integrations/wilight.markdown @leofig-rj source/_integrations/withings.markdown @vangorra 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/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index aba1a59adf2..4f1235009c1 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -214,7 +214,7 @@ For Inovelli LZW30-SN and LZW31-SN switches with a third button for configuratio Once this is complete, `zwave.scene_activated` events will fire according to which button press you perform. For information on what button press corresponds to what scene_id and scene_data in the event, see [Inovelli Knowledge Base > How To: Setting Up Scenes In Home Assistant](https://support.inovelli.com/portal/en/kb/articles/how-to-setting-up-scenes-in-home-assistant). -### Zooz Scene Capable On/Off and Dimmer Wall Switches (Zen21v3 & Zen22v2 - Firmware 3.0+, Zen26 & Zen27 - Firmware 2.0+, Zen30 Double Switch, Zen34 Remote Switch) +### Zooz Scene Capable On/Off and Dimmer Wall Switches (Zen21v3 & Zen22v2 - Firmware 3.0+, Zen26 & Zen27 - Firmware 2.0+, Zen30 Double Switch, Zen32 Scene Controller, Zen34 Remote Switch) Many Zooz switches that have been sold do not have the latest firmwares. Contact Zooz to obtain the over the air firmware update instructions and new user manual for the switches. @@ -746,11 +746,146 @@ Zen30 (Double Switch): ``` +Zen32 Scene Controller: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set the time (in minutes) after which you want the switch to automatically turn off once it has been turned on. + + + Set the time (in minutes) after which you want the switch to automatically turn on once it has been turned off. + + + + + + + + + + + + + + + + + + + + Choose the type of 3-way switch you want to use with this switch in a 3-way set-up. + + + + +``` + Zen34 Remote Switch: ```xml - + Choose the LED indicator mode for your Remote Switch @@ -802,6 +937,21 @@ For the Zooz Zen30 Double Switch, you'll need to add the `COMMAND_CLASS_CENTRAL_ ``` +For the Zooz Zen32 Scene Controller, you'll need to add the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following: + +```xml + + + + + + + + + + +``` + Go to the Z-Wave Network Management section in the Home Assistant Configuration, select the node which has just been updated and enable the scene support configuration parameter. Once this is complete, you should see the following `zwave.scene_activated` events: diff --git a/source/_integrations/aemet.markdown b/source/_integrations/aemet.markdown index 23360cc717b..205daa6ba74 100644 --- a/source/_integrations/aemet.markdown +++ b/source/_integrations/aemet.markdown @@ -10,6 +10,9 @@ ha_config_flow: true ha_codeowners: - '@noltari' ha_domain: aemet +ha_platforms: + - sensor + - weather --- The AEMET weather platform uses [AEMET OpenData](https://opendata.aemet.es/) as a source for current meteorological data for your location. AEMET stands for "Agencia Estatal de Meteorología", which is the Spanish Meteorological Agency. diff --git a/source/_integrations/apple_tv.markdown b/source/_integrations/apple_tv.markdown index aa350e296f2..a65ef27ce56 100644 --- a/source/_integrations/apple_tv.markdown +++ b/source/_integrations/apple_tv.markdown @@ -10,7 +10,6 @@ ha_release: 0.49 ha_domain: apple_tv ha_codeowners: - '@postlund' - - '@wizbangcrash' ha_config_flow: true ha_zeroconf: true ha_platforms: diff --git a/source/_integrations/aurora.markdown b/source/_integrations/aurora.markdown index 8e8a9d8dd41..5ed8efa5bac 100644 --- a/source/_integrations/aurora.markdown +++ b/source/_integrations/aurora.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_config_flow: true ha_platforms: - binary_sensor + - sensor --- The `aurora` platform uses the [NOAA Aurora Forecast](https://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity. diff --git a/source/_integrations/climacell.markdown b/source/_integrations/climacell.markdown index 3424a519c95..637763ccfc1 100644 --- a/source/_integrations/climacell.markdown +++ b/source/_integrations/climacell.markdown @@ -6,10 +6,11 @@ ha_category: ha_release: 2021.3 ha_iot_class: Cloud Polling ha_config_flow: true -ha_quality_scale: silver ha_codeowners: - '@raman325' ha_domain: climacell +ha_platforms: + - weather --- The ClimaCell integration allows you to obtain weather information from the [ClimaCell API](https://www.climacell.co/weather-api/). @@ -18,6 +19,10 @@ The ClimaCell integration allows you to obtain weather information from the [Cli You can obtain a free API key by signing up with [ClimaCell](https://developer.climacell.co/sign-up?_ga=2.137889264.1908484805.1591592950-510691096.1591288729). +
+At this time, the integration only supports the v3 API. ClimaCell has stopped issuing API keys for the v3 API, so if you are just signing up, you will need to wait for the V4 update. +
+ The integration will automatically set the refresh interval based on the number of ClimaCell integrations that are using the same API key for a given Home Assistant instance. The integration currently assumes you are using a free account so the max requests per day is 1000. If you want to use a paid account to increase the number of max requests and increase the update frequency, please open a Home Assistant issue for the integration. ## Supported Forecast Types diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown index 25279632a3c..364250df6a1 100644 --- a/source/_integrations/freebox.markdown +++ b/source/_integrations/freebox.markdown @@ -9,7 +9,7 @@ ha_category: ha_release: 0.85 ha_iot_class: Local Polling ha_codeowners: - - '@snoof85' + - '@hacf-fr' - '@Quentame' ha_config_flow: true ha_domain: freebox diff --git a/source/_integrations/github.markdown b/source/_integrations/github.markdown index 144f7cb8c13..fbece44bc6c 100644 --- a/source/_integrations/github.markdown +++ b/source/_integrations/github.markdown @@ -10,11 +10,11 @@ ha_platforms: - sensor --- -The GitHub sensor integrates data from [GitHub](https://github.com/) to monitor your favorite repositories. +The GitHub sensor allows you to monitor your favorite [GitHub](https://github.com/) repositories. Monitored information includes the amount of stargazers, forks, open issues and pull requests, the latest commit message, and more. ## Setup -To set up this sensor you will need a [personal access token](https://github.com/settings/tokens). You will need to check the `repo` scope for the sensor to function. +To set up this sensor you will need a GitHub [personal access token](https://github.com/settings/tokens). You will need to check the `repo` scope for the sensor to function. ## Configuration diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown index 5556797b08e..314cd71b805 100644 --- a/source/_integrations/habitica.markdown +++ b/source/_integrations/habitica.markdown @@ -9,6 +9,10 @@ ha_iot_class: Cloud Polling ha_domain: habitica ha_platforms: - sensor +ha_codeowners: + - '@ASMfreaK' + - '@leikoilja' +ha_config_flow: true --- This integration allows you to monitor and manage your Habitica profile. This integration exposes the [Habitica's API](https://habitica.com/apidoc/) as a Home Assistant service. It supports multiple users and allows you to automate checking out your habits and daily tasks or casting magics using Home Assistant. diff --git a/source/_integrations/keenetic_ndms2.markdown b/source/_integrations/keenetic_ndms2.markdown index 75f0fec39f4..a51c2778d34 100644 --- a/source/_integrations/keenetic_ndms2.markdown +++ b/source/_integrations/keenetic_ndms2.markdown @@ -1,5 +1,5 @@ --- -title: Keenetic NDMS2 Routers +title: Keenetic NDMS2 Router description: Instructions on how to integrate Keenetic NDMS2 Routers into Home Assistant. ha_category: - Presence Detection @@ -9,7 +9,9 @@ ha_codeowners: - '@foxel' ha_domain: keenetic_ndms2 ha_platforms: + - binary_sensor - device_tracker +ha_config_flow: true --- This platform offers presence detection by examining devices connected to a [Keenetic](https://keenetic.net/) diff --git a/source/_integrations/kmtronic.markdown b/source/_integrations/kmtronic.markdown index f89a2f4dddf..3b928aaed45 100644 --- a/source/_integrations/kmtronic.markdown +++ b/source/_integrations/kmtronic.markdown @@ -1,14 +1,16 @@ --- -title: KMTronic +title: KMtronic description: Integrate KMTronic devices ha_category: - Switch -ha_release: 2021.3 +ha_release: 2021.3 ha_codeowners: - '@dgomes' ha_iot_class: Local Push ha_domain: kmtronic ha_config_flow: true +ha_platforms: + - switch --- Integrate [KMtronic devices](https://www.kmtronic.com/) into Home Assistant. KMtronic offers a large range of IP-connected relays that can be controlled over your local area network. This integration maps each of the relays as a separate device, enabling you to control various areas of your home (e.g. using each relay to control different garden sprinkler areas, or controlling the electrical distribution of your house from a central board). diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index cd4dfa32091..8b0a700733a 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -25,6 +25,7 @@ ha_platforms: - binary_sensor - climate - cover + - fan - light - notify - sensor diff --git a/source/_integrations/litejet.markdown b/source/_integrations/litejet.markdown index 1491659bccc..440fad44003 100644 --- a/source/_integrations/litejet.markdown +++ b/source/_integrations/litejet.markdown @@ -12,6 +12,8 @@ ha_config_flow: true ha_platforms: - light - switch +ha_codeowners: + - '@joncar' --- LiteJet is a centralized lighting system that predates most home automation technology. All lights and wall switches are wired to a central panel. This central panel has a serial port interface that allows a computer to control the system via LiteJet's third party protocol. Home Assistant integrates the LiteJet 3rd party protocol and allows you to get the status and control the connected lights. diff --git a/source/_integrations/litterrobot.markdown b/source/_integrations/litterrobot.markdown index 96e769609ae..5f9bbb46e29 100644 --- a/source/_integrations/litterrobot.markdown +++ b/source/_integrations/litterrobot.markdown @@ -6,7 +6,6 @@ ha_category: ha_iot_class: Cloud Polling ha_release: 2021.3 ha_config_flow: true -ha_quality_scale: gold ha_codeowners: - '@natekspencer' ha_domain: litterrobot diff --git a/source/_integrations/lyric.markdown b/source/_integrations/lyric.markdown index c274d0328c0..04a707564c6 100644 --- a/source/_integrations/lyric.markdown +++ b/source/_integrations/lyric.markdown @@ -10,6 +10,11 @@ ha_config_flow: true ha_codeowners: - '@timmo001' ha_domain: lyric +ha_quality_scale: silver +ha_platforms: + - climate + - sensor +ha_dhcp: true --- The Honeywell Lyric component integrates the Lyric thermostat platform into Home Assistant. diff --git a/source/_integrations/mazda.markdown b/source/_integrations/mazda.markdown index df055881afd..5fad5e58f68 100644 --- a/source/_integrations/mazda.markdown +++ b/source/_integrations/mazda.markdown @@ -1,16 +1,18 @@ --- -title: "Mazda Connected Services" -description: "Instructions on how to integrate your Connected Services capable Mazda vehicle with Home Assistant." -ha_release: "2021.3" +title: Mazda Connected Services +description: Instructions on how to integrate your Connected Services capable Mazda vehicle with Home Assistant. +ha_release: '2021.3' ha_category: - Car - Sensor -ha_iot_class: "Cloud Polling" +ha_iot_class: Cloud Polling ha_quality_scale: platinum ha_config_flow: true ha_codeowners: - '@bdr99' ha_domain: mazda +ha_platforms: + - sensor --- The Mazda Connected Services integration allows you to retrieve data from a Mazda vehicle. In order to use this integration, you must first register your vehicle using the MyMazda app ([iOS](https://apps.apple.com/us/app/mymazda/id451886367)/[Android](https://play.google.com/store/apps/details?id=com.interrait.mymazda)). diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 5178442ec7a..8457952586b 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -8,7 +8,6 @@ ha_release: pre 0.7 ha_iot_class: Local Push ha_config_flow: true ha_codeowners: - - '@home-assistant/core' - '@emontnemery' ha_domain: mqtt ha_platforms: diff --git a/source/_integrations/mullvad.markdown b/source/_integrations/mullvad.markdown index 20c7698d6d4..b6d2bf1ab86 100644 --- a/source/_integrations/mullvad.markdown +++ b/source/_integrations/mullvad.markdown @@ -10,6 +10,8 @@ ha_domain: mullvad ha_config_flow: true ha_codeowners: - '@meichthys' +ha_platforms: + - binary_sensor --- The Mullvad VPN integration pulls [Mullvad](https://mullvad.net/) VPN status information into Home Assistant. diff --git a/source/_integrations/my.markdown b/source/_integrations/my.markdown index 32cbe8ac529..b9be6492f03 100644 --- a/source/_integrations/my.markdown +++ b/source/_integrations/my.markdown @@ -6,6 +6,8 @@ ha_category: ha_release: 2021.3 ha_domain: my ha_iot_class: +ha_codeowners: + - '@home-assistant/core' --- This integration handles redirects from the [My Home Assistant](https://my.home-assistant.io) service. diff --git a/source/_integrations/mysensors.markdown b/source/_integrations/mysensors.markdown index 7509ca946f0..593bc3a79ff 100644 --- a/source/_integrations/mysensors.markdown +++ b/source/_integrations/mysensors.markdown @@ -18,6 +18,7 @@ ha_platforms: - notify - sensor - switch +ha_config_flow: true --- The [MySensors](https://www.mysensors.org) project combines devices like Arduino, ESP8266, Raspberry Pi, NRF24L01+ and RFM69 to build affordable sensor networks. This integration will automatically add all available devices to Home Assistant, after [presentation](#presentation) is done. That is, you do not need to add anything to your configuration for the devices for them to be added. Go to the **states** section of the developer tools to find the devices that have been identified. diff --git a/source/_integrations/nuki.markdown b/source/_integrations/nuki.markdown index 08faf670e8a..067ce8e359a 100644 --- a/source/_integrations/nuki.markdown +++ b/source/_integrations/nuki.markdown @@ -12,6 +12,8 @@ ha_codeowners: ha_domain: nuki ha_platforms: - lock +ha_config_flow: true +ha_dhcp: true --- The `nuki` platform allows you to control [Nuki Smart Locks](https://nuki.io/en/smart-lock/) via either a [software bridge](https://play.google.com/store/apps/details?id=io.nuki.bridge) or a [physical bridge](https://nuki.io/en/bridge/). diff --git a/source/_integrations/openexchangerates.markdown b/source/_integrations/openexchangerates.markdown index 69424236973..19474473814 100644 --- a/source/_integrations/openexchangerates.markdown +++ b/source/_integrations/openexchangerates.markdown @@ -3,7 +3,6 @@ title: Open Exchange Rates description: Instructions on how to integrate exchange rates from https://openexchangerates.org within Home Assistant. ha_category: - Finance -logo: openexchangerates.png ha_iot_class: Cloud Polling ha_release: 0.23 ha_domain: openexchangerates diff --git a/source/_integrations/plaato.markdown b/source/_integrations/plaato.markdown index ea4e29c410e..8dcdee42423 100644 --- a/source/_integrations/plaato.markdown +++ b/source/_integrations/plaato.markdown @@ -10,6 +10,7 @@ ha_codeowners: - '@JohNan' ha_domain: plaato ha_platforms: + - binary_sensor - sensor --- diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown index 94913b6be04..0e399f5d6e4 100644 --- a/source/_integrations/rest.markdown +++ b/source/_integrations/rest.markdown @@ -6,9 +6,6 @@ ha_category: - Binary Sensor ha_release: 0.7.4 ha_iot_class: Local Polling -ha_quality_scale: internal -ha_codeowners: - - '@home-assistant/core' ha_domain: rest ha_platforms: - binary_sensor diff --git a/source/_integrations/rflink.markdown b/source/_integrations/rflink.markdown index 1d5c9ac99a7..dca87302c03 100644 --- a/source/_integrations/rflink.markdown +++ b/source/_integrations/rflink.markdown @@ -12,6 +12,8 @@ ha_platforms: - light - sensor - switch +ha_codeowners: + - '@javicalle' --- The `rflink` integration supports devices that use [RFLink gateway firmware](http://www.rflink.nl/blog2/download), for example, the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink Gateway is an Arduino Mega firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver). diff --git a/source/_integrations/rituals_perfume_genie.markdown b/source/_integrations/rituals_perfume_genie.markdown index 83eda80ce3a..3498cb20903 100644 --- a/source/_integrations/rituals_perfume_genie.markdown +++ b/source/_integrations/rituals_perfume_genie.markdown @@ -9,6 +9,8 @@ ha_category: ha_codeowners: - '@milanmeu' ha_domain: rituals_perfume_genie +ha_platforms: + - switch --- The Rituals Perfume Genie integration allows you to control and monitor your Rituals perfume diffusers connected to your Rituals account. The integration is compatible with the first and second `2.0` versions. diff --git a/source/_integrations/smarthab.markdown b/source/_integrations/smarthab.markdown index 18ab895bfba..a915b374f31 100644 --- a/source/_integrations/smarthab.markdown +++ b/source/_integrations/smarthab.markdown @@ -29,4 +29,3 @@ Assistant. access to your home. You can then configure the integration using this account's credentials. This is also more secure, as this user should be less priviledged. - diff --git a/source/_integrations/smarttub.markdown b/source/_integrations/smarttub.markdown index 685b833b010..0d2eae3e57e 100644 --- a/source/_integrations/smarttub.markdown +++ b/source/_integrations/smarttub.markdown @@ -14,6 +14,12 @@ ha_quality_scale: platinum ha_codeowners: - '@mdz' ha_domain: smarttub +ha_platforms: + - binary_sensor + - climate + - light + - sensor + - switch --- The `smarttub` integration allows you to view and control hot tubs which use the [SmartTub](https://www.jacuzzi.com/en-us/hot-tubs/owners/smarttub-system) system, in Home Assistant. diff --git a/source/_integrations/subaru.markdown b/source/_integrations/subaru.markdown index 12c22813969..d7ca78bbc09 100644 --- a/source/_integrations/subaru.markdown +++ b/source/_integrations/subaru.markdown @@ -1,5 +1,5 @@ --- -title: Subaru +title: Subaru description: Instructions on how to setup your Subaru account with Home Assistant. ha_category: - Car @@ -10,6 +10,8 @@ ha_config_flow: true ha_codeowners: - '@G-Two' ha_domain: subaru +ha_platforms: + - sensor --- The Subaru integration retrieves information provided by Subaru connected vehicle services. Before using this integration, you must first register and have login credentials to [MySubaru](https://www.mysubaru.com). diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown index a66130aea6d..6018b729ee4 100644 --- a/source/_integrations/tado.markdown +++ b/source/_integrations/tado.markdown @@ -13,6 +13,7 @@ ha_iot_class: Cloud Polling ha_codeowners: - '@michaelarnauts' - '@bdraco' + - '@noltari' ha_domain: tado ha_config_flow: true ha_homekit: true diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index f3886fd9574..62337f62370 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -20,6 +20,7 @@ ha_platforms: - sensor - switch - vacuum + - weather --- The `template` platform supports sensors which get their values from other entities. diff --git a/source/_integrations/totalconnect.markdown b/source/_integrations/totalconnect.markdown index 216ad3399fc..c5396d8b9c3 100644 --- a/source/_integrations/totalconnect.markdown +++ b/source/_integrations/totalconnect.markdown @@ -1,5 +1,5 @@ --- -title: Honeywell Total Connect Alarm +title: Total Connect description: Instructions on how to integrate TotalConnect alarms into Home Assistant. ha_category: - Alarm diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown index 5968875ec29..70784b52a89 100644 --- a/source/_integrations/tradfri.markdown +++ b/source/_integrations/tradfri.markdown @@ -10,8 +10,6 @@ ha_category: - Light - Sensor - Switch -ha_codeowners: - - '@ggravlingen' ha_domain: tradfri ha_homekit: true ha_platforms: diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown index 9972649c944..98d47915cb5 100644 --- a/source/_integrations/ubus.markdown +++ b/source/_integrations/ubus.markdown @@ -8,6 +8,8 @@ ha_iot_class: Local Polling ha_domain: ubus ha_platforms: - device_tracker +ha_codeowners: + - '@noltari' --- This is a presence detection scanner for [OpenWrt](https://openwrt.org/) using [ubus](https://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router. diff --git a/source/_integrations/vesync.markdown b/source/_integrations/vesync.markdown index b2552ab5153..b44b1ad43a0 100644 --- a/source/_integrations/vesync.markdown +++ b/source/_integrations/vesync.markdown @@ -15,8 +15,8 @@ ha_codeowners: ha_domain: vesync ha_platforms: - fan - - switch - light + - switch --- The `vesync` integration enables you to control smart switches and outlets connected to the VeSync App. diff --git a/source/_integrations/vlc_telnet.markdown b/source/_integrations/vlc_telnet.markdown index afbac7c32b8..c7844a4f37f 100644 --- a/source/_integrations/vlc_telnet.markdown +++ b/source/_integrations/vlc_telnet.markdown @@ -7,6 +7,7 @@ ha_release: 0.95 ha_iot_class: Local Polling ha_codeowners: - '@rodripf' + - '@dmcc' ha_domain: vlc_telnet --- diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown index b270d6e8c93..62c398da3de 100644 --- a/source/_integrations/wemo.markdown +++ b/source/_integrations/wemo.markdown @@ -18,6 +18,8 @@ ha_platforms: - fan - light - switch +ha_codeowners: + - '@esev' --- The `wemo` integration is the main integration to integrate various [Belkin WeMo](https://www.belkin.com/us/c/wemo/) devices with Home Assistant. diff --git a/source/_integrations/wilight.markdown b/source/_integrations/wilight.markdown index 489cf160c6e..51713dde78a 100644 --- a/source/_integrations/wilight.markdown +++ b/source/_integrations/wilight.markdown @@ -14,6 +14,7 @@ ha_domain: wilight ha_quality_scale: silver ha_ssdp: true ha_platforms: + - cover - fan - light --- diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown index 78a7cb79369..2171f2ee03d 100644 --- a/source/_lovelace/entity-filter.markdown +++ b/source/_lovelace/entity-filter.markdown @@ -9,8 +9,8 @@ The Entity Filter card allows you to define a list of entities that you want to This type of card can also be used together with rest of cards that allow multiple entities, allowing you to use [glance](/lovelace/glance/) or [picture-glance](/lovelace/picture-glance/). By default it uses [entities](/lovelace/entities/) card model.

-Screenshot of the entity filter card -Screenshot of the entity filter card. +Screenshot of the Entity Filter card +Screenshot of the Entity Filter card.

{% configuration %} @@ -38,7 +38,7 @@ show_empty: default: true {% endconfiguration %} -## Options For Entities +## Options for Entities If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configurations: @@ -73,9 +73,9 @@ state_filter: type: list {% endconfiguration %} -## Options For state_filter +## Options for state_filter -If you define state_filter as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter: +If you define `state_filter` as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter: {% configuration %} value: @@ -127,7 +127,7 @@ card: Entity filter combined with glance card.

-You can also specify multiple `state_filter`s, in which case matching any condition will display the entity. This example will display everyone who isn't at home or at work. +You can also specify multiple `state_filter` conditions, in which case the entity will be displayed if it matches any condition. This example will display everyone who isn't at home or at work. ```yaml type: entity-filter @@ -163,7 +163,7 @@ entities: attribute: humidity ``` -Use a regex filter against entity attributes. This regex filter below looks for expressions that are 1 digit in length and where the number is between 0-7 (so show holidays today or in the next 7 days) and displays those holidays as entities in the entity-filter card. +Use a regex filter against entity attributes. This regex filter below looks for expressions that are 1 digit in length and where the number is between 0-7 (so show holidays today or in the next 7 days) and displays those holidays as entities in the Entity Filter card. ```yaml - type: entity-filter diff --git a/source/_posts/2021-03-03-release-20213.markdown b/source/_posts/2021-03-03-release-20213.markdown new file mode 100644 index 00000000000..9015ddd9db3 --- /dev/null +++ b/source/_posts/2021-03-03-release-20213.markdown @@ -0,0 +1,2524 @@ +--- +layout: post +title: "2021.3: My Oh My" +description: "Introducing My Home Assistant, a new UI for service calls, 100% Fans, Z-Wave JS updates and Supervisor updates." +date: 2021-03-03 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 +--- + + + +Home Assistant Core 2021.3! And my oh My Home Assistant! + +I'm super excited for this release! 13 Brand new integrations! Z-Wave JS +is moving forward with an almost insane development speed; thank you all for +jumping into it as well! 🎉 + +For me, this release is about two things. My Home Assistant and some super slick +new UI features for everything related to service calls. What it is; is +explained down below, but both are just a leap forward in: making things easier. + +My oh my, enjoy this release! + +../Frenck + +- [My Home Assistant](#my-home-assistant) +- [New UI for service calls](#new-ui-for-service-calls) +- [Fan speeds: 100%](#fan-speeds-100) +- [Suggested areas](#suggested-areas) +- [Z-Wave JS update](#z-wave-js-update) +- [Flexible & variable automation triggers](#flexible--variable-automation-triggers) +- [Oversettelser i Supervisor panelet](#oversettelser-i-supervisor-panelet) +- [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: + +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, chat, weblogs, or any +other website, to link you to specific pages in your Home Assistant instance, +without knowing the URL of your instance. + +The beauty of this? All the data is stored locally in your browser +and 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. + +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 integrations 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 adding an integration, import a Blueprint, link to an +add-on page, and a lot more! + +

+Screen recording showing how My Home Assistant works +Setting up a new integration on your instance, from the documentation using My Home Assistant. +

+ +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. + + + +Lastly, support for My Home Assistant with our apps is expected to be available +soon! Android should be available via an update today and iOS will land soon. + +## New UI for service calls + +This release adds a new user interface for doing service calls! + +

+Screenshot of new call services in the Developer Tools +Screenshot of the new UI in the services tab of the Developer Tools. +

+ +The UI may look familiar, as it uses the same UI parts as used by the recently +introduced Blueprints. This new UI can be found in multiple places, that all +have adjusted with a shiny new UI; + +- The {% my developer_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. +- In Lovelace cards that support calling actions. + +Not all service calls will show this slick new UI yet, as the integrations +service descriptions need to be adjusted to with this. But, all common ones +have been migrated already. Like doing YAML? Well, the good old YAML mode is +available as well! + +## Suggested areas + +Areas are becoming more and more useful in Home Assistant, and this release +is helping out with putting them to use a bit! + +Recently, it became possible to not only assign devices to areas, but entities +as well. And now; Integrations can now suggest areas! + +This means, if an integration knows about an area/room/location place it is in, +it can suggest an area if the device isn't in one yet. For example, the Hue +integration can now suggest an area based on the Hue group it is in. + +The following integration will now already suggest areas as of this release: + +- [Bond][bond docs] +- [Hue][hue docs] +- [Hunter Douglas PowerView][hunterdouglas_powerview docs] +- [Lutron Caséta][lutron docs] +- [Netatmo][netatmo docs] +- [Nexia][nexia docs] +- [NuHeat][nuheat docs] +- [Roku][roku docs] +- [Sonos][sonos docs] +- [Tado][tado docs] +- [Universal Devices ISY994][isy994 docs] + +## Fan speeds: 100% + +Got an overhaul! Fans now work with speed percentages instead of the previous +"low", "mid", "high", "off". This makes Home Assistant more interoperable with +more fan brands and third-party assistants, like HomeKit. + +Don't worry, everything has been implemented with backward compatibility. + +

+Screenshot of automation editor, showing the % fan speeds! +Screenshot of automation editor, showing the % fan speeds! +

+ +Did you notice in the above screenshot, the automation editor is now wider? +The layout has been adjusted to give you more screen real estate when creating +automations. + +## Z-Wave JS update + +Also this release the Z-Wave JS team has been very busy. Several new features +have been added and many bugs squashed. Below you can read a summary. + +We've introduced a protocol schema version in the Z-Wave JS server to allow +older clients to connect and talk to a newer server. This prevents compatibility +issues for the future! + +Home Assistant Core 2021.3.0 will require Z-Wave JS server version 1.10. +If you're using the official Home Assistant add-on, the integration will +automatically update the add-on if an older add-on and server version is +encountered. Magic! If you're not using the Home Assistant add-on to run the +server you will need to update the server before updating Home Assistant Core. + +You can now automate and change the configuration settings of your devices with +the [`zwave_js.set_config_parameter`](/integrations/zwave_js/#service-zwave_jsset_config_parameter) +service and create automations using the new [`zwave_js.refresh_value`](/integrations/zwave_js/#service-zwave_jsrefresh_value) +service, to update a device that doesn't automatically refresh itself. + +But there is more! + +- Garage doors (barrier) and similar covers can now be controlled. +- Some heating valves and similar devices that can be set to multiple different + values will now show up as `number` entities. + +## Flexible & variable automation triggers + +We now support the use of variables and (limited) templates in automation +triggers! This can be really useful, for example, when making Blueprints for +MQTT based automations! + +{% raw %} + +```yaml +automation: + trigger_variables: + room: "living_room" + node: "ac" + value: "on" + trigger: + - platform: mqtt + topic: "{{ room ~ '/switch/' ~ node}}" + payload: "{{ 'state:' ~ value }}" +``` + +{% endraw %} + +As shortly mentioned, the template syntax for trigger templates and variables +are more limited; read more about this in the +[limited templates](/docs/configuration/templating/#limited-templates) +documentation. + +## Oversettelser i Supervisor panelet + +Unless you are in the nordics, that title does not mean much, it's Norwegian and +translates to "Translations in the Supervisor panel". Yes! We have now added +translations in the Supervisor panel. 🎉 + +If you want to help translate that into your native language, +[join the frontend team on Localize](https://developers.home-assistant.io/docs/translations). + +But we did not stop there! Now add-ons can provide +[translation files](https://developers.home-assistant.io/docs/add-ons/configuration#add-on-translations) +for configuration options and network descriptions that +are shown in the frontend. + +Not enough? You want more? Okay then! + +- The communication between the frontend and the backend now relies on + WebSockets, which allows the Supervisor to notify the frontend about changes. +- For add-on authors, you can now use YAML instead of JSON for your add-ons + configuration files. +- New update dialog that will ask you to take a snapshot before you upgrade + core/add-ons. +- Better hardware support to cover more devices. +- Passwords and secrets in add-on configurations are checked against known + breaches with + +

+Screenshot of the new update dialog that asks for creating a snapshot +Screenshot of the new update dialog that asks for creating a snapshot. +

+ +## Other noteworthy changes + +There is much more juice in this release; here are some of the other +noteworthy changes this release: + +- Shelly now supports battery-operated devices, thanks to [@thecode]! +- You can now use the color `homeassistant` as a `color_name` in your light + service calls, just because we can 😎 +- [@emontnemery], added support for using `alias` to virtually any step in + scripts/automations. This is really helpful when debugging and documents + your sequences as well, as it annotates each step. +- [@emontnemery] didn't stop there, he also added support for enabling/disabling + integration configuration entries! So you can, e.g., temporarily disable a + whole integration. + +

+Screenshot of disabling an integration entry +Screenshot of disabling an integration entry. +

+ +- Thanks to [@Nixon506E], you can now set a transition time when activate Hue + scenes. +- In the {% my developer_states %} tab of the Developer Tools, there is now + a small copy to clipboard button with each entity. Thanks, [@KTibow]! +- [@postlund] added support for repeat, shuffle and volume stepping to the + media player integration of the Apple TV integration. +- [@larena1] reduced the amount of rendering history charts cause, so that + will speed things up! Thanks! +- We now have a select selector! Great for adding dropdown choices + to Blueprints, thanks [@EPMatt]! +- [@raman325] extended the Universal Media Player with a lot of new capabilities. +- When adding a new integration, the UI will now show discovered devices for + that integration as well! Thanks, [@bramkragten]! +- We updated CodeMirror to the latest version, which provided the YAML code + editors in our UI. It should now be better, faster and has improved support + for mobile devices. + +[@larena1]: https://github.com/larena1 + +## 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 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 %} + +{% details "credstash and keyring" %} + +The methods of storing secrets in `credstash` and `keyring` have been removed. +They have been deprecated and a warning has been printed since +Home Assistant Core 2020.12. + +([@balloob] - [#47033]) + +{% enddetails %} + +{% details "Hue" %} + +Hue groups are now disabled by default because they do not have a unique ID. +Existing configurations that have previously saved Hue options are not affected. + +To enable Hue groups: + +- Browse to your Home Assistant instance +- In the sidebar click on {% my configuration %} +- From the configuration menu select {% my integrations %} +- Find the entry for the Hue Bridge +- Select Options and change the setting + +([@bdraco] - [#47067]) ([hue 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) +- Ensure doorbird events are re-registered when changing options ([@bdraco] - [#46860]) ([doorbird docs]) (beta fix) +- Use dispatch instead of eventbus for supervisor events ([@ludeeus] - [#46986]) ([hassio docs]) (beta fix) +- Bump python-garminconnect to 0.1.19 to fix broken api ([@cyberjunky] - [#47020]) ([garmin_connect docs]) (beta fix) +- Fix missing Shelly external input ([@chemelli74] - [#47028]) ([shelly docs]) (beta fix) +- Fix zwave_js unique ID migration logic ([@raman325] - [#47031]) ([zwave_js docs]) (beta fix) +- Remove deprecated credstash + keyring ([@balloob] - [#47033]) (breaking-change) (beta fix) +- Updated frontend to 20210225.0 ([@bramkragten] - [#47059]) ([frontend docs]) (beta fix) +- Revert CORS changes for my home assistant ([@bramkragten] - [#47064]) ([api docs]) ([http docs]) (beta fix) +- Ensure hue options show the defaults when the config options have not yet been saved ([@bdraco] - [#47067]) ([hue docs]) (breaking-change) (beta fix) +- catch ValueError when unique ID update fails because its taken and remove the duplicate entity ([@raman325] - [#47072]) ([zwave_js docs]) (beta fix) +- Bump Z-Wave JS Server Python to 0.20.0 ([@balloob] - [#47076]) ([zwave_js docs]) (beta fix) +- Add support for v6 features to philips js integration ([@elupus] - [#46422]) ([philips_js docs]) (beta fix) +- Add support for Shelly SHBTN-2 device triggers ([@CurrentThread] - [#46644]) ([shelly docs]) (beta fix) +- Add suggested area to hue ([@bdraco] - [#47056]) ([hue docs]) (beta fix) +- Bump bimmer_connected to 0.7.15 and fix bugs ([@rikroe] - [#47066]) ([bmw_connected_drive docs]) (beta fix) +- Upgrade aiohttp to 3.7.4 ([@balloob] - [#47077]) (beta fix) +- Bump pychromecast to 8.1.2 ([@emontnemery] - [#47085]) ([cast docs]) (beta fix) +- Fix Z-Wave JS discovery schema for thermostat devices ([@marcelveldt] - [#47087]) ([zwave_js docs]) (beta fix) +- Bump aioshelly to 0.6.1 ([@chemelli74] - [#47088]) ([shelly docs]) (beta fix) +- Add new machine generic-x86-64 to build matrix ([@agners] - [#47095]) (beta fix) +- Bump google-nest-sdm to v0.2.12 to improve API call error messages ([@allenporter] - [#47108]) ([nest docs]) (beta fix) +- Use async_capture_events to avoid running in executor ([@balloob] - [#47111]) (beta fix) +- Fix Shelly RGBW ([@thecode] - [#47116]) ([shelly docs]) (beta fix) +- Handle lutron_caseta fan speed being none ([@bdraco] - [#47120]) ([lutron_caseta docs]) (beta fix) +- Provide a human readable exception for the percentage util ([@bdraco] - [#47121]) (beta fix) +- Update frontend to 20210226.0 ([@bramkragten] - [#47123]) ([frontend docs]) (beta fix) +- Fix the updater schema ([@balloob] - [#47128]) ([updater docs]) (beta fix) +- Fix MQTT trigger where wanted payload may be parsed as an integer ([@emontnemery] - [#47162]) ([mqtt docs]) (beta fix) +- Bump builder to get generic-x86-64 nightly builds ([@agners] - [#47164]) (beta fix) +- Bump ZHA quirks to 0.0.54 ([@dmulcahey] - [#47172]) ([zha docs]) (beta fix) +- Update HAP-python to 3.3.1 ([@bdraco] - [#47180]) ([homekit docs]) (beta fix) +- Update AlarmDecoder dependency ([@ajschmidt8] - [#46841]) ([alarmdecoder docs]) (beta fix) +- Fix Xiaomi Miio discovery ([@starkillerOG] - [#47134]) ([xiaomi_miio docs]) (beta fix) +- Bump simplisafe-python to 9.6.7 ([@bachya] - [#47206]) ([simplisafe docs]) (beta fix) +- Increment the homekit config version when restarting ([@bdraco] - [#47209]) ([homekit docs]) (beta fix) +- Bump HAP-python to 3.3.2 to fix unavailable condition on restart ([@bdraco] - [#47213]) ([homekit docs]) (beta fix) +- Fix generic-x86-64 build ([@agners] - [#47214]) (beta fix) +- Update color logic for zwave_js light platform ([@marcelveldt] - [#47110]) ([zwave_js docs]) (beta fix) +- Fix number of reported issues by github integration ([@maxwroc] - [#47203]) ([github docs]) (beta fix) +- Fix race when disabling config entries ([@emontnemery] - [#47210]) (beta fix) +- Fix harmony failing to switch activities when a switch is in progress ([@bdraco] - [#47212]) ([harmony docs]) (beta fix) +- Fix duplicate template handling in Persistent Notifications ([@frenck] - [#47217]) ([persistent_notification docs]) (beta fix) +- Fix Xiaomi Miio flow unique_id for non discovery flows ([@starkillerOG] - [#47222]) ([xiaomi_miio docs]) (beta fix) +- Fix Shelly Polling ([@thecode] - [#47224]) ([shelly docs]) (beta fix) +- Pass variables to initial evaluation of template trigger ([@emontnemery] - [#47236]) ([template docs]) (beta fix) +- Bump simplisafe-python to 9.6.8 ([@bachya] - [#47241]) ([simplisafe docs]) (beta fix) +- Fix lutron caseta fan handling of speed off ([@bdraco] - [#47244]) ([lutron_caseta docs]) (beta fix) +- Add suggested area for zwave_js devices ([@raman325] - [#47250]) ([zwave_js docs]) (beta fix) +- Update frontend to 20210301.0 ([@bramkragten] - [#47252]) ([frontend docs]) (beta fix) +- Revert "Fix the updater schema (#47128)" ([@balloob] - [#47254]) ([updater docs]) (beta fix) +- Limit log spam by ConfigEntryNotReady ([@chemelli74] - [#47201]) (beta fix) +- Upgrade pillow to 8.1.1 ([@frenck] - [#47223]) ([doods docs]) ([image docs]) ([proxy docs]) ([qrcode docs]) ([seven_segments docs]) ([sighthound docs]) ([tensorflow docs]) (beta fix) +- Add zwave_js add-on manager ([@MartinHjelmare] - [#47251]) ([hassio docs]) ([zwave_js docs]) (beta fix) +- Fix Alexa doorbells ([@balloob] - [#47257]) ([alexa docs]) (beta fix) +- Add raw values to zwave_js value notification event ([@raman325] - [#47258]) ([zwave_js docs]) (beta fix) +- Make MQTT number respect retain setting ([@emontnemery] - [#47270]) (beta fix) +- Bump simplisafe-python to 9.6.9 ([@bachya] - [#47273]) ([simplisafe docs]) (beta fix) +- Fix issue when setting boost preset for a turned off Netatmo thermostat ([@cgtobi] - [#47275]) ([netatmo docs]) (beta fix) +- Update frontend to 20210302.0 ([@bramkragten] - [#47278]) ([frontend docs]) (beta fix) +- Update ZHA dependencies ([@Adminiuga] - [#47282]) ([zha docs]) (beta fix) +- Convert climacell forecast timestamp to isoformat so that UI shows the right times ([@raman325] - [#47286]) ([climacell docs]) (beta fix) +- Bump zwave-js-server-python to 0.20.1 ([@raman325] - [#47289]) ([zwave_js docs]) (beta fix) +- Correct climacell device info ([@raman325] - [#47292]) ([climacell docs]) (beta fix) +- Update frontend to 20210302.3 ([@bramkragten] - [#47310]) ([frontend docs]) (beta fix) +- Improve behaviour when disabling or enabling config entries ([@emontnemery] - [#47301]) (beta fix) +- Simplify switch light ([@balloob] - [#47317]) ([switch docs]) (beta fix) + +{% 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 +[#46422]: https://github.com/home-assistant/core/pull/46422 +[#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 +[#46644]: https://github.com/home-assistant/core/pull/46644 +[#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 +[#46841]: https://github.com/home-assistant/core/pull/46841 +[#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 +[#46860]: https://github.com/home-assistant/core/pull/46860 +[#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 +[#46986]: https://github.com/home-assistant/core/pull/46986 +[#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 +[#47020]: https://github.com/home-assistant/core/pull/47020 +[#47028]: https://github.com/home-assistant/core/pull/47028 +[#47031]: https://github.com/home-assistant/core/pull/47031 +[#47033]: https://github.com/home-assistant/core/pull/47033 +[#47056]: https://github.com/home-assistant/core/pull/47056 +[#47059]: https://github.com/home-assistant/core/pull/47059 +[#47064]: https://github.com/home-assistant/core/pull/47064 +[#47066]: https://github.com/home-assistant/core/pull/47066 +[#47067]: https://github.com/home-assistant/core/pull/47067 +[#47072]: https://github.com/home-assistant/core/pull/47072 +[#47076]: https://github.com/home-assistant/core/pull/47076 +[#47077]: https://github.com/home-assistant/core/pull/47077 +[#47085]: https://github.com/home-assistant/core/pull/47085 +[#47087]: https://github.com/home-assistant/core/pull/47087 +[#47088]: https://github.com/home-assistant/core/pull/47088 +[#47095]: https://github.com/home-assistant/core/pull/47095 +[#47108]: https://github.com/home-assistant/core/pull/47108 +[#47110]: https://github.com/home-assistant/core/pull/47110 +[#47111]: https://github.com/home-assistant/core/pull/47111 +[#47116]: https://github.com/home-assistant/core/pull/47116 +[#47120]: https://github.com/home-assistant/core/pull/47120 +[#47121]: https://github.com/home-assistant/core/pull/47121 +[#47123]: https://github.com/home-assistant/core/pull/47123 +[#47128]: https://github.com/home-assistant/core/pull/47128 +[#47134]: https://github.com/home-assistant/core/pull/47134 +[#47162]: https://github.com/home-assistant/core/pull/47162 +[#47164]: https://github.com/home-assistant/core/pull/47164 +[#47172]: https://github.com/home-assistant/core/pull/47172 +[#47180]: https://github.com/home-assistant/core/pull/47180 +[#47201]: https://github.com/home-assistant/core/pull/47201 +[#47203]: https://github.com/home-assistant/core/pull/47203 +[#47206]: https://github.com/home-assistant/core/pull/47206 +[#47209]: https://github.com/home-assistant/core/pull/47209 +[#47210]: https://github.com/home-assistant/core/pull/47210 +[#47212]: https://github.com/home-assistant/core/pull/47212 +[#47213]: https://github.com/home-assistant/core/pull/47213 +[#47214]: https://github.com/home-assistant/core/pull/47214 +[#47217]: https://github.com/home-assistant/core/pull/47217 +[#47222]: https://github.com/home-assistant/core/pull/47222 +[#47223]: https://github.com/home-assistant/core/pull/47223 +[#47224]: https://github.com/home-assistant/core/pull/47224 +[#47236]: https://github.com/home-assistant/core/pull/47236 +[#47241]: https://github.com/home-assistant/core/pull/47241 +[#47244]: https://github.com/home-assistant/core/pull/47244 +[#47250]: https://github.com/home-assistant/core/pull/47250 +[#47251]: https://github.com/home-assistant/core/pull/47251 +[#47252]: https://github.com/home-assistant/core/pull/47252 +[#47254]: https://github.com/home-assistant/core/pull/47254 +[#47257]: https://github.com/home-assistant/core/pull/47257 +[#47258]: https://github.com/home-assistant/core/pull/47258 +[#47270]: https://github.com/home-assistant/core/pull/47270 +[#47273]: https://github.com/home-assistant/core/pull/47273 +[#47275]: https://github.com/home-assistant/core/pull/47275 +[#47278]: https://github.com/home-assistant/core/pull/47278 +[#47282]: https://github.com/home-assistant/core/pull/47282 +[#47286]: https://github.com/home-assistant/core/pull/47286 +[#47289]: https://github.com/home-assistant/core/pull/47289 +[#47292]: https://github.com/home-assistant/core/pull/47292 +[#47301]: https://github.com/home-assistant/core/pull/47301 +[#47310]: https://github.com/home-assistant/core/pull/47310 +[#47317]: https://github.com/home-assistant/core/pull/47317 +[@Adminiuga]: https://github.com/Adminiuga +[@AdmiralStipe]: https://github.com/AdmiralStipe +[@Antoni-Czaplicki]: https://github.com/Antoni-Czaplicki +[@CurrentThread]: https://github.com/CurrentThread +[@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 +[@agners]: https://github.com/agners +[@aizerin]: https://github.com/aizerin +[@ajschmidt8]: https://github.com/ajschmidt8 +[@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 +[@cyberjunky]: https://github.com/cyberjunky +[@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 +[@maxwroc]: https://github.com/maxwroc +[@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 +[@rikroe]: https://github.com/rikroe +[@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/ +[alarmdecoder docs]: /integrations/alarmdecoder/ +[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/ +[doorbird docs]: /integrations/doorbird/ +[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/ +[garmin_connect docs]: /integrations/garmin_connect/ +[generic docs]: /integrations/generic/ +[generic_thermostat docs]: /integrations/generic_thermostat/ +[geniushub docs]: /integrations/geniushub/ +[gios docs]: /integrations/gios/ +[github docs]: /integrations/github/ +[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/ +[hassio docs]: /integrations/hassio/ +[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 docs]: /integrations/image/ +[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/ +[persistent_notification docs]: /integrations/persistent_notification/ +[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/ +[proxy docs]: /integrations/proxy/ +[qrcode docs]: /integrations/qrcode/ +[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/ +[seven_segments docs]: /integrations/seven_segments/ +[shelly docs]: /integrations/shelly/ +[shopping_list docs]: /integrations/shopping_list/ +[sighthound docs]: /integrations/sighthound/ +[simplepush docs]: /integrations/simplepush/ +[simplisafe docs]: /integrations/simplisafe/ +[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/ +[tensorflow docs]: /integrations/tensorflow/ +[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/ diff --git a/source/images/blog/2021-03/automation-editor.png b/source/images/blog/2021-03/automation-editor.png new file mode 100644 index 00000000000..c9bf67dd008 Binary files /dev/null and b/source/images/blog/2021-03/automation-editor.png differ diff --git a/source/images/blog/2021-03/developer-services.png b/source/images/blog/2021-03/developer-services.png new file mode 100644 index 00000000000..f80ecebfe9c Binary files /dev/null and b/source/images/blog/2021-03/developer-services.png differ diff --git a/source/images/blog/2021-03/disable-integration.png b/source/images/blog/2021-03/disable-integration.png new file mode 100644 index 00000000000..3e0eeb574a7 Binary files /dev/null and b/source/images/blog/2021-03/disable-integration.png differ diff --git a/source/images/blog/2021-03/mydemo.gif b/source/images/blog/2021-03/mydemo.gif new file mode 100644 index 00000000000..f611df3b1d0 Binary files /dev/null and b/source/images/blog/2021-03/mydemo.gif differ diff --git a/source/images/blog/2021-03/social.png b/source/images/blog/2021-03/social.png new file mode 100644 index 00000000000..4d18f8b5ad0 Binary files /dev/null and b/source/images/blog/2021-03/social.png differ diff --git a/source/images/blog/2021-03/update-snapshot.png b/source/images/blog/2021-03/update-snapshot.png new file mode 100644 index 00000000000..92223b1550a Binary files /dev/null and b/source/images/blog/2021-03/update-snapshot.png differ