diff --git a/CODEOWNERS b/CODEOWNERS index 06846ea2270..eedc7d89a3b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -65,10 +65,10 @@ source/_integrations/blink.markdown @fronzbot source/_integrations/blueprint.markdown @home-assistant/core source/_integrations/bmp280.markdown @belidzs source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe -source/_integrations/bond.markdown @prystupa @joshs85 +source/_integrations/bond.markdown @bdraco @prystupa @joshs85 source/_integrations/bosch_shc.markdown @tschamm source/_integrations/braviatv.markdown @bieniu @Drafteed -source/_integrations/broadlink.markdown @danielhiversen @felipediel +source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am source/_integrations/brother.markdown @bieniu source/_integrations/brunt.markdown @eavanvalkenburg source/_integrations/bsblan.markdown @liudger @@ -104,7 +104,7 @@ source/_integrations/debugpy.markdown @frenck source/_integrations/deconz.markdown @Kane610 source/_integrations/delijn.markdown @bollewolle @Emilv2 source/_integrations/demo.markdown @home-assistant/core -source/_integrations/denonavr.markdown @scarface-4711 @starkillerOG +source/_integrations/denonavr.markdown @ol-iver @starkillerOG source/_integrations/derivative.markdown @afaucogney source/_integrations/device_automation.markdown @home-assistant/core source/_integrations/devolo_home_control.markdown @2Fake @Shutgun @@ -127,7 +127,7 @@ source/_integrations/ecovacs.markdown @OverloadUT source/_integrations/edl21.markdown @mtdcr source/_integrations/efergy.markdown @tkdrob source/_integrations/egardia.markdown @jeroenterheerdt -source/_integrations/eight_sleep.markdown @mezz64 +source/_integrations/eight_sleep.markdown @mezz64 @raman325 source/_integrations/elgato.markdown @frenck source/_integrations/elkm1.markdown @gwww @bdraco source/_integrations/elv.markdown @majuss @@ -139,13 +139,12 @@ source/_integrations/enigma2.markdown @fbradyirl source/_integrations/enocean.markdown @bdurrer source/_integrations/enphase_envoy.markdown @gtdiehl source/_integrations/entur_public_transport.markdown @hfurubotten -source/_integrations/environment_canada.markdown @michaeldavie +source/_integrations/environment_canada.markdown @gwww @michaeldavie source/_integrations/ephember.markdown @ttroy50 source/_integrations/epson.markdown @pszafer source/_integrations/epsonworkforce.markdown @ThaStealth source/_integrations/eq3btsmart.markdown @rytilahti source/_integrations/esphome.markdown @OttoWinter @jesserockz -source/_integrations/essent.markdown @TheLastProject source/_integrations/evohome.markdown @zxdavb source/_integrations/ezviz.markdown @RenierM26 @baqs source/_integrations/faa_delays.markdown @ntilley905 @@ -162,6 +161,7 @@ source/_integrations/flo.markdown @dmulcahey source/_integrations/flock.markdown @fabaff source/_integrations/flume.markdown @ChrisMandich @bdraco source/_integrations/flunearyou.markdown @bachya +source/_integrations/flux_led.markdown @icemanch source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck source/_integrations/forked_daapd.markdown @uvjustin source/_integrations/fortios.markdown @kimfrellsen @@ -169,7 +169,7 @@ source/_integrations/foscam.markdown @skgsergio source/_integrations/freebox.markdown @hacf-fr @Quentame source/_integrations/freedompro.markdown @stefano055415 source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74 -source/_integrations/fritzbox.markdown @mib1185 +source/_integrations/fritzbox.markdown @mib1185 @flabbamann source/_integrations/fronius.markdown @nielstron source/_integrations/frontend.markdown @home-assistant/frontend source/_integrations/garages_amsterdam.markdown @klaasnicolaas @@ -196,6 +196,7 @@ source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlan source/_integrations/guardian.markdown @bachya source/_integrations/habitica.markdown @ASMfreaK @leikoilja source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan +source/_integrations/hassio.markdown @home-assistant/supervisor source/_integrations/heatmiser.markdown @andylockran source/_integrations/heos.markdown @andrewsayre source/_integrations/here_travel_time.markdown @eifinger @@ -215,7 +216,7 @@ source/_integrations/honeywell.markdown @rdfurman source/_integrations/http.markdown @home-assistant/core source/_integrations/huawei_lte.markdown @scop @fphammerle source/_integrations/hue.markdown @balloob @frenck -source/_integrations/huisbaasje.markdown @denniss17 +source/_integrations/huisbaasje.markdown @dennisschroer source/_integrations/humidifier.markdown @home-assistant/core @Shulyaka source/_integrations/hunterdouglas_powerview.markdown @bdraco source/_integrations/hvv_departures.markdown @vigonotion @@ -271,6 +272,7 @@ source/_integrations/litterrobot.markdown @natekspencer source/_integrations/local_ip.markdown @issacg source/_integrations/logger.markdown @home-assistant/core source/_integrations/logi_circle.markdown @evanjd +source/_integrations/lookin.markdown @ANMalko source/_integrations/loopenergy.markdown @pavoni source/_integrations/luci.markdown @mzdrale source/_integrations/luftdaten.markdown @fabaff @@ -319,7 +321,6 @@ source/_integrations/nam.markdown @bieniu source/_integrations/nanoleaf.markdown @milanmeu source/_integrations/neato.markdown @dshokouhi @Santobert source/_integrations/nederlandse_spoorwegen.markdown @YarmoM -source/_integrations/nello.markdown @pschmitt source/_integrations/ness_alarm.markdown @nickw444 source/_integrations/nest.markdown @allenporter source/_integrations/netatmo.markdown @cgtobi @@ -344,10 +345,11 @@ source/_integrations/nsw_rural_fire_service_feed.markdown @exxamalte 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 +source/_integrations/nut.markdown @bdraco @ollo69 source/_integrations/nws.markdown @MatthewFlamm source/_integrations/nzbget.markdown @chriscla source/_integrations/obihai.markdown @dshokouhi +source/_integrations/octoprint.markdown @rfleming71 source/_integrations/ohmconnect.markdown @robbiet480 source/_integrations/ombi.markdown @larssont source/_integrations/omnilogic.markdown @oliver84 @djtimca @gentoosu @@ -406,6 +408,7 @@ source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert source/_integrations/rainmachine.markdown @bachya source/_integrations/random.markdown @fabaff source/_integrations/recollect_waste.markdown @bachya +source/_integrations/recorder.markdown @home-assistant/core source/_integrations/rejseplanen.markdown @DarkFox source/_integrations/renault.markdown @epenet source/_integrations/repetier.markdown @MTrab @@ -480,7 +483,7 @@ source/_integrations/srp_energy.markdown @briglx source/_integrations/starline.markdown @anonym-tsk source/_integrations/statistics.markdown @fabaff source/_integrations/stiebel_eltron.markdown @fucm -source/_integrations/stookalert.markdown @fwestenberg +source/_integrations/stookalert.markdown @fwestenberg @frenck source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter source/_integrations/stt.markdown @pvizeli source/_integrations/subaru.markdown @G-Two @@ -516,7 +519,6 @@ source/_integrations/tile.markdown @bachya source/_integrations/time_date.markdown @fabaff source/_integrations/tmb.markdown @alemuro source/_integrations/todoist.markdown @boralyl -source/_integrations/toon.markdown @frenck source/_integrations/totalconnect.markdown @austinmroczek source/_integrations/tplink.markdown @rytilahti @thegardenmonkey source/_integrations/traccar.markdown @ludeeus @@ -526,7 +528,7 @@ source/_integrations/trafikverket_train.markdown @endor-force source/_integrations/trafikverket_weatherstation.markdown @endor-force source/_integrations/transmission.markdown @engrbm87 @JPHutchins source/_integrations/tts.markdown @pvizeli -source/_integrations/tuya.markdown @Tuya @zlinoliver @METISU +source/_integrations/tuya.markdown @Tuya @zlinoliver @METISU @frenck source/_integrations/twentemilieu.markdown @frenck source/_integrations/twinkly.markdown @dr1rrb source/_integrations/ubus.markdown @noltari @@ -544,6 +546,7 @@ source/_integrations/utility_meter.markdown @dgomes source/_integrations/vallox.markdown @andre-richter source/_integrations/velbus.markdown @Cereal2nd @brefra source/_integrations/velux.markdown @Julius2342 +source/_integrations/venstar.markdown @garbled1 source/_integrations/vera.markdown @pavoni source/_integrations/verisure.markdown @frenck source/_integrations/versasense.markdown @flamm3blemuff1n @@ -553,7 +556,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 @dmcc +source/_integrations/vlc_telnet.markdown @rodripf @dmcc @MartinHjelmare source/_integrations/volkszaehler.markdown @fabaff source/_integrations/volumio.markdown @OnFreund source/_integrations/wake_on_lan.markdown @ntilley905 diff --git a/_config.yml b/_config.yml index 35843df6e7a..cd2d8868e02 100644 --- a/_config.yml +++ b/_config.yml @@ -107,9 +107,9 @@ social: # Home Assistant release details current_major_version: 2021 -current_minor_version: 10 -current_patch_version: 7 -date_released: 2021-11-01 +current_minor_version: 11 +current_patch_version: 2 +date_released: 2021-11-09 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index ebee59a7a14..129b5507689 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -26,7 +26,7 @@ An automation can be triggered by an event, with a certain entity state, at a gi ## Trigger ID -All triggers can be assigned an optional `id`. If the ID is omitted, it will instead be set to the index of the trigger. The `id` can be referenced from trigger conditions and actions. The `id` does not have to be unique for each trigger, and it can be used to group similar triggers for use later in the automation (i.e., several triggers of different types that should all turn some entity on). +All triggers can be assigned an optional `id`. If the ID is omitted, it will instead be set to the index of the trigger. The `id` can be referenced from [trigger conditions and actions](/docs/scripts/conditions/#trigger-condition). The `id` does not have to be unique for each trigger, and it can be used to group similar triggers for use later in the automation (i.e., several triggers of different types that should all turn some entity on). ```yaml automation: diff --git a/source/_docs/backend/database.markdown b/source/_docs/backend/database.markdown index 5b261ac78c9..eb329f51cc3 100644 --- a/source/_docs/backend/database.markdown +++ b/source/_docs/backend/database.markdown @@ -3,7 +3,7 @@ title: "Database" description: "Details about the database used by Home Assistant." --- -Home Assistant uses database to store events and parametersis for history and tracking. The default database used is [SQLite](https://www.sqlite.org/) and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/). +Home Assistant uses database to store events and parameters for history and tracking. The default database used is [SQLite](https://www.sqlite.org/) and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/). To work with SQLite database manually from the command-line, you will need an [installation](https://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](https://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands. First load your database with `sqlite3`: diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index 0e81810c7d2..d39470930b5 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -187,7 +187,7 @@ If you have issues checkout `home-assistant.log` in the configuration directory ## Debugging configuration files -If you have many configuration files, Home Assistant provides a CLI that allows you to see how it interprets them, each installation type has it's own section in the common-tasks about this: +If you have many configuration files, Home Assistant provides a CLI that allows you to see how it interprets them, each installation type has its own section in the common-tasks about this: - [Operating System](/common-tasks/os/#configuration-check) - [Container](/common-tasks/container/#configuration-check) diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown index a19d25c3f32..27f42970739 100644 --- a/source/_docs/configuration/troubleshooting.markdown +++ b/source/_docs/configuration/troubleshooting.markdown @@ -19,7 +19,7 @@ If you have incorrect entries in your configuration files you can use the config One of the most common problems with Home Assistant is an invalid `configuration.yaml` or other configuration file. -- Home Assistant provides a CLI that allows you to see how it interprets them, each installation type has it's own section in the common-tasks about this: +- Home Assistant provides a CLI that allows you to see how it interprets them, each installation type has its own section in the common-tasks about this: - [Operating System](/common-tasks/os/#configuration-check) - [Container](/common-tasks/container/#configuration-check) - [Core](/common-tasks/core/#configuration-check) diff --git a/source/_faq/component.markdown b/source/_faq/component.markdown index 950d2472e22..0c0dd67b607 100644 --- a/source/_faq/component.markdown +++ b/source/_faq/component.markdown @@ -6,7 +6,7 @@ ha_category: Configuration When an integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up. -If you have incorrect entries in your configuration files you can use the CLI script to check your configuration, each installation type has it's own section in the common-tasks about this: +If you have incorrect entries in your configuration files you can use the CLI script to check your configuration, each installation type has its own section in the common-tasks about this: - [Operating System](/common-tasks/os/#configuration-check) - [Container](/common-tasks/container/#configuration-check) diff --git a/source/_integrations/advantage_air.markdown b/source/_integrations/advantage_air.markdown index b5ec1ccf862..10965c54883 100644 --- a/source/_integrations/advantage_air.markdown +++ b/source/_integrations/advantage_air.markdown @@ -14,6 +14,7 @@ ha_platforms: - climate - cover - sensor + - select - switch --- diff --git a/source/_integrations/aurora_abb_powerone.markdown b/source/_integrations/aurora_abb_powerone.markdown index 95ece1cefee..03f1f7840cf 100644 --- a/source/_integrations/aurora_abb_powerone.markdown +++ b/source/_integrations/aurora_abb_powerone.markdown @@ -1,5 +1,5 @@ --- -title: Aurora ABB Solar PV +title: Aurora ABB PowerOne Solar PV description: Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant. ha_category: - Sensor @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: aurora_abb_powerone ha_platforms: - sensor +ha_config_flow: true --- This implements a direct RS485 connection to a solar inverter in the diff --git a/source/_integrations/azure_service_bus.markdown b/source/_integrations/azure_service_bus.markdown index 9592459dbe6..2f309cc529f 100644 --- a/source/_integrations/azure_service_bus.markdown +++ b/source/_integrations/azure_service_bus.markdown @@ -93,7 +93,7 @@ automation: custom_field: 123 custom_object: trigger_more: true - explain: "Its starting to get dark" + explain: "It's starting to get dark" ``` The message that can be retrieved from a queue or topic subscription: @@ -106,7 +106,7 @@ The message that can be retrieved from a queue or topic subscription: "custom_field": 123, "custom_object": { "trigger_more": true, - "explain": "Its starting to get dark" + "explain": "It's starting to get dark" } } ``` diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown index edaab8fc2a2..5f77aac02d1 100644 --- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown +++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown @@ -38,7 +38,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra #### Motion ```yaml -- alias: "If there is motion and its dark turn on the gateway light" +- alias: "If there is motion and it's dark turn on the gateway light" trigger: platform: state entity_id: binary_sensor.motion_sensor_158d000xxxxxc2 diff --git a/source/_integrations/bond.markdown b/source/_integrations/bond.markdown index 308d9d1e7d2..f57d85d4fa1 100644 --- a/source/_integrations/bond.markdown +++ b/source/_integrations/bond.markdown @@ -11,6 +11,7 @@ ha_iot_class: Local Push ha_release: 0.113 ha_domain: bond ha_codeowners: + - '@bdraco' - '@prystupa' - '@joshs85' ha_config_flow: true diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown index 089482ebd1e..8a403d769a8 100644 --- a/source/_integrations/broadlink.markdown +++ b/source/_integrations/broadlink.markdown @@ -10,9 +10,11 @@ ha_iot_class: Local Polling ha_codeowners: - '@danielhiversen' - '@felipediel' + - '@L-I-Am' ha_domain: broadlink ha_config_flow: true ha_platforms: + - light - remote - sensor - switch diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index 98cf981de0b..fd9123a6aed 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -29,6 +29,7 @@ ha_platforms: - fan - light - lock + - number - scene - sensor - siren diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index 2870ac6d642..68130e8d6fa 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -7,7 +7,7 @@ ha_iot_class: Local Polling ha_release: 0.7.2 ha_domain: denonavr ha_codeowners: - - '@scarface-4711' + - '@ol-iver' - '@starkillerOG' ha_config_flow: true ha_ssdp: true diff --git a/source/_integrations/device_tracker.mqtt.markdown b/source/_integrations/device_tracker.mqtt.markdown index dcadd46692f..e1611f4d41a 100644 --- a/source/_integrations/device_tracker.mqtt.markdown +++ b/source/_integrations/device_tracker.mqtt.markdown @@ -210,7 +210,7 @@ value_template: ## Discovery Example -You can use the discovery protocol to create a new device tracker and set it's state using the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. +You can use the discovery protocol to create a new device tracker and set its state using the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. To create the device_tracker: diff --git a/source/_integrations/dlna_dmr.markdown b/source/_integrations/dlna_dmr.markdown index e5f61e1c15f..2a3fc1721e8 100644 --- a/source/_integrations/dlna_dmr.markdown +++ b/source/_integrations/dlna_dmr.markdown @@ -12,6 +12,7 @@ ha_codeowners: ha_domain: dlna_dmr ha_platforms: - media_player +ha_ssdp: true --- The `dlna_dmr` platform allows you to control a [DLNA Digital Media Renderer](https://www.dlna.org/), such as DLNA enabled TVs or radios. diff --git a/source/_integrations/eight_sleep.markdown b/source/_integrations/eight_sleep.markdown index a8564b7bb39..c0eed2c3ab3 100644 --- a/source/_integrations/eight_sleep.markdown +++ b/source/_integrations/eight_sleep.markdown @@ -9,6 +9,7 @@ ha_release: 0.44 ha_iot_class: Cloud Polling ha_codeowners: - '@mezz64' + - '@raman325' ha_domain: eight_sleep ha_platforms: - binary_sensor diff --git a/source/_integrations/energy.markdown b/source/_integrations/energy.markdown new file mode 100644 index 00000000000..c067745c554 --- /dev/null +++ b/source/_integrations/energy.markdown @@ -0,0 +1,11 @@ +--- +title: Energy +ha_category: + - Energy +ha_iot_class: Calculated +ha_release: 2021.8 +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' +ha_domain: energy +--- diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown index 5d31182b406..e0504bf76be 100644 --- a/source/_integrations/environment_canada.markdown +++ b/source/_integrations/environment_canada.markdown @@ -12,8 +12,8 @@ ha_platforms: ha_release: 0.95 ha_iot_class: Cloud Polling ha_codeowners: - - '@michaeldavie' - '@gwww' + - '@michaeldavie' ha_domain: environment_canada ha_config_flow: true --- diff --git a/source/_integrations/fireservicerota.markdown b/source/_integrations/fireservicerota.markdown index d63bbeaf708..d85b7981633 100644 --- a/source/_integrations/fireservicerota.markdown +++ b/source/_integrations/fireservicerota.markdown @@ -46,7 +46,7 @@ The following entity types are created: ### Incidents Sensor -This is the main entity of the integration containing the incident message as it's `value`, it has several attributes which are described below. +This is the main entity of the integration containing the incident message as its `value`, it has several attributes which are described below. | Attribute | Description | | --------- | ----------- | diff --git a/source/_integrations/fjaraskupan.markdown b/source/_integrations/fjaraskupan.markdown index 725e52f23f2..bd64c000128 100644 --- a/source/_integrations/fjaraskupan.markdown +++ b/source/_integrations/fjaraskupan.markdown @@ -15,6 +15,7 @@ ha_platforms: - binary_sensor - fan - light + - number - sensor --- diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown index 2ed2322f910..0741ecc4502 100644 --- a/source/_integrations/flux_led.markdown +++ b/source/_integrations/flux_led.markdown @@ -1,5 +1,5 @@ --- -title: Flux LED/MagicLight +title: Flux LED/MagicHome description: Instructions on how to setup Flux led/MagicHome/MagicLight within Home Assistant. ha_category: - Light @@ -10,6 +10,11 @@ ha_domain: flux_led ha_platforms: - light - switch +ha_codeowners: + - '@icemanch' +ha_quality_scale: platinum +ha_config_flow: true +ha_dhcp: true --- The Flux LED integration supports several brands of switches, bulbs, and controllers that use the same protocol and have the HF-LPB100 chipset in common. Chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work with this integration if you can control the device with the MagicHome app. @@ -79,4 +84,3 @@ colors: speed_pct: 80 transition: "jump" ``` - diff --git a/source/_integrations/fritzbox.markdown b/source/_integrations/fritzbox.markdown index 0549d5b2514..21dd1be7b8e 100644 --- a/source/_integrations/fritzbox.markdown +++ b/source/_integrations/fritzbox.markdown @@ -15,7 +15,7 @@ ha_ssdp: true ha_platforms: - binary_sensor - climate - - Light + - light - sensor - switch ha_codeowners: diff --git a/source/_integrations/github.markdown b/source/_integrations/github.markdown index cd6be014e41..18f7ac9a102 100644 --- a/source/_integrations/github.markdown +++ b/source/_integrations/github.markdown @@ -38,7 +38,7 @@ access_token: required: true type: string url: - description: If you are using a GitHub Enterprise server, add it's URL here. For example, `https://mygithubserver.com` + description: If you are using a GitHub Enterprise server, add its URL here. For example, `https://mygithubserver.com` required: false type: string repositories: diff --git a/source/_integrations/google.markdown b/source/_integrations/google.markdown index 9318be436bd..ae5e1c4d77c 100644 --- a/source/_integrations/google.markdown +++ b/source/_integrations/google.markdown @@ -1,11 +1,13 @@ --- -title: "Google Calendar Event" -description: "Instructions on how to use Google Calendars in Home Assistant." +title: Google Calendars +description: Instructions on how to use Google Calendars in Home Assistant. ha_category: - Calendar ha_iot_class: Cloud Polling ha_release: 0.33 ha_domain: google +ha_platforms: + - calendar --- The `google` calendar platform allows you to connect to your diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown index fd59692e83c..32fb1b35f4c 100644 --- a/source/_integrations/group.markdown +++ b/source/_integrations/group.markdown @@ -12,6 +12,7 @@ ha_domain: group ha_platforms: - binary_sensor - cover + - fan - light - media_player - notify diff --git a/source/_integrations/hassio.markdown b/source/_integrations/hassio.markdown index 4d525e52fbb..d1ce74cf5bc 100644 --- a/source/_integrations/hassio.markdown +++ b/source/_integrations/hassio.markdown @@ -1,5 +1,5 @@ --- -title: Supervisor +title: Home Assistant Supervisor description: Control Supervisor Add-ons and OS from Home Assistant ha_category: - Binary Sensor @@ -10,6 +10,8 @@ ha_domain: hassio ha_platforms: - binary_sensor - sensor +ha_codeowners: + - '@home-assistant/supervisor' --- Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant. diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown index 2425fff940d..fa5b9364ac1 100644 --- a/source/_integrations/homematic.markdown +++ b/source/_integrations/homematic.markdown @@ -579,7 +579,7 @@ interface: required: false type: string value: - description: This is the value that is set on the device. Its device specific. + description: This is the value that is set on the device. It's device specific. required: true type: string {% endconfiguration %} diff --git a/source/_integrations/huisbaasje.markdown b/source/_integrations/huisbaasje.markdown index 459ca2fff2a..402d8e5e742 100644 --- a/source/_integrations/huisbaasje.markdown +++ b/source/_integrations/huisbaasje.markdown @@ -8,7 +8,7 @@ ha_release: 2021.2 ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - - '@denniss17' + - '@dennisschroer' ha_domain: huisbaasje ha_platforms: - sensor diff --git a/source/_integrations/locative.md b/source/_integrations/locative.md index d32064d9107..865e6bb5921 100644 --- a/source/_integrations/locative.md +++ b/source/_integrations/locative.md @@ -15,7 +15,7 @@ Install on your smartphone: - [iOS](https://apps.apple.com/us/app/locative/id725198453?ign-mpt=uo%3D4) -To configure Locative, you must set it up via the integrations panel in the configuration screen. You must set up the app to send a POST request to your Home Assistant instance at the webhook URL provided by the integration during setup. When you enter or exit a geofence, Locative will send the appropriate request to that URL, updating Home Assistant. You are not able to specify a device name in Locative. Instead, you will need to look in your `dev-state` menu for a new device that Locative will have created on it's first `GET`. If you had been or are using Owntracks as well, you will need to update the device name used in the Owntracks setup with the name that Locative generated. +To configure Locative, you must set it up via the integrations panel in the configuration screen. You must set up the app to send a POST request to your Home Assistant instance at the webhook URL provided by the integration during setup. When you enter or exit a geofence, Locative will send the appropriate request to that URL, updating Home Assistant. You are not able to specify a device name in Locative. Instead, you will need to look in your `dev-state` menu for a new device that Locative will have created on its first `GET`. If you had been or are using Owntracks as well, you will need to update the device name used in the Owntracks setup with the name that Locative generated.

diff --git a/source/_integrations/lookin.markdown b/source/_integrations/lookin.markdown index 7a484176faa..3f1383c1bba 100644 --- a/source/_integrations/lookin.markdown +++ b/source/_integrations/lookin.markdown @@ -13,6 +13,7 @@ ha_config_flow: true ha_platforms: - climate - sensor +ha_zeroconf: true --- Integrates LOOKin devices into Home Assistant. @@ -23,4 +24,4 @@ Integrates LOOKin devices into Home Assistant. LOOKin Remote2: internet free Wi-Fi+IR Smart Home Control -{% include integrations/config_flow.md %} \ No newline at end of file +{% include integrations/config_flow.md %} diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown index d47ec63bd1c..5f8681c0af4 100644 --- a/source/_integrations/modbus.markdown +++ b/source/_integrations/modbus.markdown @@ -551,7 +551,7 @@ modbus: scan_interval: 10 ``` -### Example: Modbus cover controlled by a coil, it's state is read from the register +### Example: Modbus cover controlled by a coil, its state is read from the register This example shows a configuration for a Modbus cover controlled using a coil. Actual cover state is read from the `status_register`. We've also specified register values to match with the states open/opening/closed/closing. The cover state is polled from Modbus every 10 seconds. @@ -597,7 +597,7 @@ modbus: state_closed: 4 ``` -### Example: Modbus cover controlled by a holding register, it's state is read from the status register +### Example: Modbus cover controlled by a holding register, its state is read from the status register This example shows a configuration for a Modbus cover controlled using a holding register. However, cover state is read from a `status_register`. In this case, we've specified only values for `state_open` and `state_closed`, for the rest, default values are used. The cover state is polled from Modbus every 10 seconds. diff --git a/source/_integrations/nanoleaf.markdown b/source/_integrations/nanoleaf.markdown index e7bc61bd116..3e365040c8d 100644 --- a/source/_integrations/nanoleaf.markdown +++ b/source/_integrations/nanoleaf.markdown @@ -13,6 +13,7 @@ ha_domain: nanoleaf ha_platforms: - light ha_zeroconf: true +ha_ssdp: true --- The Nanoleaf integration allows you to control and monitor Nanoleaf Light Panels, Canvas, Shapes and Elements. diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown index 23924ddadfb..4fe6c4afa43 100644 --- a/source/_integrations/nut.markdown +++ b/source/_integrations/nut.markdown @@ -9,6 +9,7 @@ ha_domain: nut ha_config_flow: true ha_codeowners: - '@bdraco' + - '@ollo69' ha_zeroconf: true ha_platforms: - sensor diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown index d1b6f5249ed..97c592ce911 100644 --- a/source/_integrations/onkyo.markdown +++ b/source/_integrations/onkyo.markdown @@ -40,7 +40,7 @@ name: required: false type: string max_volume: - description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will set Home Assistant's 100% volume to be this setting on the amp. i.e., if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of it's maximum volume. + description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will set Home Assistant's 100% volume to be this setting on the amp. i.e., if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of its maximum volume. required: false default: 100 type: integer diff --git a/source/_integrations/ozw.markdown b/source/_integrations/ozw.markdown index 9685123f0dd..b5f23e2cf89 100644 --- a/source/_integrations/ozw.markdown +++ b/source/_integrations/ozw.markdown @@ -54,19 +54,6 @@ This integration allows you to utilize OpenZWave's ozwdaemon to control a Z-Wave The secure network key is set in the settings for the ozwdaemon and not in the integration configuration. -## Migrate from Z-Wave integration - -To migrate to the OpenZWave integration from the Z-Wave integration there's a -wizard in the frontend configuration panel of the Z-Wave integration. The wizard -will try to migrate the entity IDs, names, icons and areas of the entities and -devices of your Z-Wave integration to your OpenZWave integration. At the end of -the migration, the Z-Wave integration configuration entry will be removed. - -Make sure you take necessary backups, eg a Supervisor backup, before migrating -to be able to restore the Z-Wave integration. The wizard may not be able to -migrate all entity and device information. It will show you what entity and -device information failed to migrate. - ## Services ### Service `ozw.add_node` @@ -131,11 +118,11 @@ This service will set the specified configuration parameter to the value specifi allow device-specific configurations. Example of this would be setting notification LED colors on switches. -| Service Data Attribute | Required | Description | -| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------- | -| `instance_id` | no | The OZW Instance/Controller to use, defaults to 1. | -| `node_id` | yes | Node id of the device to set configuration parameter to (integer). | -| `parameter` | yes | Parameter number to set (integer). | +| Service Data Attribute | Required | Description | +| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `instance_id` | no | The OZW Instance/Controller to use, defaults to 1. | +| `node_id` | yes | Node id of the device to set configuration parameter to (integer). | +| `parameter` | yes | Parameter number to set (integer). | | `value` | yes | Value to set for parameter. (String or integer value for list, string or boolean for bool parameters, list of dicts for bitset parameters (see example below), integer for others). | diff --git a/source/_integrations/plex.markdown b/source/_integrations/plex.markdown index 34047dab207..8e9343bfeed 100644 --- a/source/_integrations/plex.markdown +++ b/source/_integrations/plex.markdown @@ -14,6 +14,7 @@ ha_domain: plex ha_platforms: - media_player - sensor +ha_zeroconf: true --- The Plex integration allows you to connect Home Assistant to a [Plex Media Server](https://plex.tv). Once configured, actively streaming [Plex Clients](https://www.plex.tv/apps-devices/) show up as [Media Players](/integrations/media_player/) and report playback status and library sizes via [Sensors](/integrations/sensor/) in Home Assistant. Media Players will allow you to control media playback and see the current playing item. diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown index 554160fce14..65ce3309a14 100644 --- a/source/_integrations/rainmachine.markdown +++ b/source/_integrations/rainmachine.markdown @@ -10,7 +10,7 @@ ha_release: 0.69 ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: - - "@bachya" + - '@bachya' ha_domain: rainmachine ha_platforms: - binary_sensor diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index 0eff8d6d93f..a14c71b2423 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -7,6 +7,8 @@ ha_release: pre 0.7 ha_quality_scale: internal ha_domain: recorder ha_iot_class: Local Push +ha_codeowners: + - '@home-assistant/core' --- The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history`](/integrations/history/) integration. @@ -17,9 +19,17 @@ This integration constantly saves data. If you use the default configuration, th -Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/). +Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This makes it possible to use a number of database solutions. -The default database engine is [SQLite](https://www.sqlite.org/) which does not require any configuration. The database is stored in your Home Assistant configuration directory ('/config/') and is named `home-assistant_v2.db`. +The supported database solutions are: +- [MariaDB](https://mariadb.org/) ≥ 10.3 +- [MySQL](https://www.mysql.com/) ≥ 8.0 +- [PostgreSQL](https://www.postgresql.org/) ≥ 12 +- [SQLite](https://www.sqlite.org/) ≥ 3.31.0 + +Although SQLAlchemy supports additional database solutions, it will behave differently on different databases, and features relied on by the recorder may work differently, or not at all, in different databases. + +The default, and recommended, database engine is [SQLite](https://www.sqlite.org/) which does not require any configuration. The database is stored in your Home Assistant configuration directory ('/config/') and is named `home-assistant_v2.db`. To change the defaults for the `recorder` integration in your installation, add the following to your `configuration.yaml` file: @@ -229,10 +239,10 @@ Call the service `recorder.enable` to start again saving events and states to th The following database engines are tested when major changes are made to the recorder. Other database engines do not have an active core maintainer at this time and may require additional work to maintain. -- SQLite 3.32.1+ -- MariaDB 10.3+ -- MySQL 5.7+ -- PostgreSQL 12+ +- SQLite ≥ 3.32.1 +- MariaDB ≥ 10.3 +- MySQL ≥ 8.0 +- PostgreSQL ≥ 12 ## Custom database engines @@ -276,13 +286,6 @@ PostgreSQL (Socket): PostgreSQL (Custom socket dir): description: > `postgresql://@/DB_NAME?host=/path/to/dir` -MS SQL Server: - description: > - `mssql+pyodbc://username:password@SERVER_IP:1433/DB_NAME?charset=utf8&driver=DRIVER` -Oracle: - description: > - `oracle+cx_oracle://username:password@SERVER_IP:1521/DB_NAME?encoding=UTF-8&nencoding=UTF-8` - {% endconfiguration_basic %}

@@ -311,12 +314,6 @@ If you want to use Unix Sockets for PostgreSQL you need to modify the `pg_hba.co
-
- -If you are using the default `FULL` recovery model for MS SQL Server you will need to manually backup your log file to prevent your transaction log from growing too large. It is recommended you change the recovery model to `SIMPLE` unless you are worried about data loss between backups. - -
- ### Database startup If you are running a database server instance on the same server as Home Assistant then you must ensure that this service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) you should edit the service file. @@ -413,28 +410,3 @@ $ sudo -i -u postgres psql -c "SELECT pg_reload_conf();" (1 row) ``` A service restart will work as well. - -### MS SQL Server - -For MS SQL Server you will have to install a few dependencies: - -```bash -sudo apt-get install unixodbc-dev -pip3 install pyodbc -``` - -If you are in a virtual environment, don't forget to activate it before installing the pyodbc package. - -```bash -sudo -u homeassistant -H -s -source /srv/homeassistant/bin/activate -pip3 install pyodbc -``` - -You will also need to install an ODBC Driver. Microsoft ODBC drivers are recommended, however FreeTDS is available for systems that are not supported by Microsoft. Instructions for installing the Microsoft ODBC drivers can be found [here](https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server). - -
- -If you are using Hass.io, FreeTDS is already installed for you. The db_url you need to use is `mssql+pyodbc://username:password@SERVER_IP:1433/DB_NAME?charset=utf8mb4&driver=FreeTDS`. - -
diff --git a/source/_integrations/screenlogic.markdown b/source/_integrations/screenlogic.markdown index c2770291cf1..f94235da592 100644 --- a/source/_integrations/screenlogic.markdown +++ b/source/_integrations/screenlogic.markdown @@ -17,6 +17,7 @@ ha_domain: screenlogic ha_platforms: - binary_sensor - climate + - light - sensor - switch --- diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown index c0373de60a8..01ff56abb80 100644 --- a/source/_integrations/slack.markdown +++ b/source/_integrations/slack.markdown @@ -172,3 +172,23 @@ data: *Average Rating* 1.0 ``` + +Send a message directly to a user by setting the target to their member ID. Here are [instructions](https://www.workast.com/help/articles/61000165203/) to obtain a member ID. + +```yaml +message: "Hello there!" +target: "U12345" +title: "Hi" +data: + blocks: [] +``` + +Send a message to a channel that mentions (@username, highlights a users name in yellow) a user. Here are [instructions](https://www.workast.com/help/articles/61000165203/) to obtain a member ID. + +```yaml +message: "<@U12345> your appointment starts soon" +target: "#general" +title: "Reminder" +data: + blocks: [] +``` diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 8e0cfa3d044..c1d0d2e14ee 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -310,7 +310,7 @@ If the template accesses every state on the system, a rate limit of one update p ### Startup -If you are using the state of a platform that might not be available during startup, the Template Sensor may get an `unknown` state. To avoid this, use `is_state()` function in your template. For example, you would replace {% raw %}`{{ states.cover.source.state == 'open' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an `unknown` result: +If you are using the state of a platform that might not be available during startup, the Template Sensor may get an `unknown` state. To avoid this, use `is_state()` function in your template. For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an `unknown` result: {% raw %} diff --git a/source/_integrations/toon.markdown b/source/_integrations/toon.markdown index cd9b8f0a1f1..9f906c50990 100644 --- a/source/_integrations/toon.markdown +++ b/source/_integrations/toon.markdown @@ -10,8 +10,6 @@ ha_category: ha_release: 0.56 ha_iot_class: Cloud Push ha_config_flow: true -ha_codeowners: - - '@frenck' ha_domain: toon ha_dhcp: true ha_platforms: diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown index f5d63037e0c..cceb1187300 100644 --- a/source/_integrations/tradfri.markdown +++ b/source/_integrations/tradfri.markdown @@ -15,10 +15,10 @@ ha_domain: tradfri ha_homekit: true ha_platforms: - cover + - fan - light - sensor - switch - - fan ha_codeowners: - '@janiversen' --- diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown index e4ee935dad5..593b866a0d8 100644 --- a/source/_integrations/tuya.markdown +++ b/source/_integrations/tuya.markdown @@ -24,7 +24,6 @@ ha_codeowners: - '@Tuya' - '@zlinoliver' - '@METISU' - - '@tsutsuku' - '@frenck' ha_platforms: - binary_sensor @@ -36,11 +35,12 @@ ha_platforms: - light - number - scene - - select - sensor + - select - siren - switch - vacuum +ha_dhcp: true --- The Tuya integration integrates all Powered by Tuya devices you have added to the Tuya Smart and Tuya Smart Life apps. Tuya officially maintains this integration. @@ -126,7 +126,7 @@ Click the created project to enter the `Project Overview` page and get the `Auth "2406: skill id invalid": description: > - - Make sure you use the **Tuya Smart** or **SmartLife** app account to log in. Also, choose the right data center endpoint related to your country region. For more details, please check [Country Regions and Data Center](https://github.com/tuya/tuya-home-assistant/blob/master/docs/regions_dataCenters.md). + - Make sure you use the **Tuya Smart** or **SmartLife** app account to log in. Also, choose the right data center endpoint related to your country region. For more details, please check [Country Regions and Data Center](https://github.com/tuya/tuya-home-assistant/blob/main/docs/regions_dataCenters.md). - Your cloud project on the [Tuya IoT Development Platform](https://iot.tuya.com) should be created after May 25, 2021. Otherwise, you need to create a new project. @@ -149,7 +149,7 @@ Click the created project to enter the `Project Overview` page and get the `Auth ## Related Documents - [Tuya Integration Documentation Page](https://github.com/tuya/tuya-home-assistant) -- [Supported Tuya Device Category](https://github.com/tuya/tuya-home-assistant/blob/master/docs/supported_devices.md) -- [Error Code and Troubleshooting](https://github.com/tuya/tuya-home-assistant/blob/master/docs/error_code.md) -- [Countries/Regions and Tuya Data Center](https://github.com/tuya/tuya-home-assistant/blob/master/docs/regions_dataCenters.md) -- [FAQs](https://github.com/tuya/tuya-home-assistant/blob/master/docs/faq.md) +- [Supported Tuya Device Category](https://github.com/tuya/tuya-home-assistant/blob/main/docs/supported_devices.md) +- [Error Code and Troubleshooting](https://github.com/tuya/tuya-home-assistant/blob/main/docs/error_code.md) +- [Countries/Regions and Tuya Data Center](https://github.com/tuya/tuya-home-assistant/blob/main/docs/regions_dataCenters.md) +- [FAQs](https://github.com/tuya/tuya-home-assistant/blob/main/docs/faq.md) diff --git a/source/_integrations/venstar.markdown b/source/_integrations/venstar.markdown index 166b924e798..220205358c7 100644 --- a/source/_integrations/venstar.markdown +++ b/source/_integrations/venstar.markdown @@ -10,6 +10,9 @@ ha_domain: venstar ha_platforms: - binary_sensor - climate +ha_codeowners: + - '@garbled1' +ha_config_flow: true --- The `venstar` climate platform allows you to control [Venstar](https://www.venstar.com/) thermostats from Home Assistant. diff --git a/source/_integrations/wake_on_lan.markdown b/source/_integrations/wake_on_lan.markdown index 32bbc525740..21c4e33461a 100644 --- a/source/_integrations/wake_on_lan.markdown +++ b/source/_integrations/wake_on_lan.markdown @@ -112,7 +112,7 @@ Here are some real-life examples of how to use the **turn_off** variable. Suggested recipe for letting the `turn_off` script suspend a Linux computer (the **target**) from Home Assistant running on another Linux computer (the **server**). -1. On the **server**, log in as the user account Home Assistant is running under. In this exampleit's `hass`. +1. On the **server**, log in as the user account Home Assistant is running under. In this example it's `hass`. 2. On the **server**, create SSH keys by running `ssh-keygen`. Just press enter on all questions. 3. On the **target**, create a new account that Home Assistant can ssh into: `sudo adduser hass`. Just press enter on all questions except password. It's recommended using the same user name as on the server. If you do, you can leave out `hass@` in the SSH commands below. 4. On the **server**, transfer your public SSH key by `ssh-copy-id hass@TARGET` where TARGET is your target machine's name or IP address. Enter the password you created in step 3. diff --git a/source/_integrations/wallbox.markdown b/source/_integrations/wallbox.markdown index 0f301033b7c..dc99433ae68 100644 --- a/source/_integrations/wallbox.markdown +++ b/source/_integrations/wallbox.markdown @@ -7,8 +7,8 @@ ha_release: 2021.6 ha_iot_class: Cloud Polling ha_domain: wallbox ha_platforms: - - sensor - number + - sensor ha_config_flow: true ha_codeowners: - '@hesselonline' diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown index 5d2ccb0b547..c19dca0628e 100644 --- a/source/_integrations/webostv.markdown +++ b/source/_integrations/webostv.markdown @@ -138,7 +138,7 @@ Any other [actions](/docs/automation/action/) to power on the device can be conf ## Sources -To obtain complete list of available sources currently configured on the TV, once the webOS TV is configured and linked, while its powered on head to the **Developer Tools** > **States**, find your `media_player.` and use the sources listed in `source_list:` remembering to split them per line into your `sources:` configuration. If you leave the `sources:` configuration empty, the `media_player` will offer all sources of the TV. If you list a subset of sources in the configuration, only those will be displayed. +To obtain complete list of available sources currently configured on the TV, once the webOS TV is configured and linked, while it's powered on head to the **Developer Tools** > **States**, find your `media_player.` and use the sources listed in `source_list:` remembering to split them per line into your `sources:` configuration. If you leave the `sources:` configuration empty, the `media_player` will offer all sources of the TV. If you list a subset of sources in the configuration, only those will be displayed. Note: it is normal and expected behavior that for a switched-off TV only the Live TV source is offered in the `media_player`, even if you have configured other sources as well. These will show up as soon as the TV is switched on. diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown index 88cb54679a7..d8126b800d4 100644 --- a/source/_integrations/wled.markdown +++ b/source/_integrations/wled.markdown @@ -15,6 +15,7 @@ ha_domain: wled ha_zeroconf: true ha_platforms: - light + - number - sensor - select - switch diff --git a/source/_integrations/zestimate.markdown b/source/_integrations/zestimate.markdown index 7c1875d4023..43d526f8717 100644 --- a/source/_integrations/zestimate.markdown +++ b/source/_integrations/zestimate.markdown @@ -37,7 +37,7 @@ api_key: required: true type: string zpid: - description: Property IDs to track in the front end. Can be found in it's Zillow URL as described above. Include only the numbers, do not include the "_zpid". + description: Property IDs to track in the front end. Can be found in its Zillow URL as described above. Include only the numbers, do not include the "_zpid". required: true type: list {% endconfiguration %} diff --git a/source/_integrations/zwave.markdown b/source/_integrations/zwave.markdown index aa5f1f89deb..402e54be942 100644 --- a/source/_integrations/zwave.markdown +++ b/source/_integrations/zwave.markdown @@ -785,7 +785,7 @@ Renaming Z-Wave entities is done with the same [customization options](/docs/con #### Node Values -Contains a list of available values of the selected node, and it's instances. +Contains a list of available values of the selected node, and its instances. #### Node group associations diff --git a/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown b/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown index ed46b741cd2..165adc2422f 100644 --- a/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown +++ b/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown @@ -9,7 +9,7 @@ categories: - Core --- -Home Assistant is now using [YAML](http://yaml.org/) for it's configuration file. YAML allows the use of lists, which should make the configuration file a bit more flexible and useful. The new configuration file format is backwards compatible with existing components. Because of this, there is no need for component developers to update their components. +Home Assistant is now using [YAML](http://yaml.org/) for its configuration file. YAML allows the use of lists, which should make the configuration file a bit more flexible and useful. The new configuration file format is backwards compatible with existing components. Because of this, there is no need for component developers to update their components. The new file is named configuration.yaml and if it can't be found in your config directory, Home Assistant will instead try to find the old configuration file, home-assistant.conf. diff --git a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown index 1b2f5a7e659..6935e042344 100644 --- a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown +++ b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown @@ -45,7 +45,7 @@ Another cool addition is the local file camera. This seems very basic at first b ### Breaking change -- The new Netatmo support caused us to change how Netatmo are configured. It's now done via it's own component. +- The new Netatmo support caused us to change how Netatmo are configured. It's now done via its own component. ```yaml netatmo: diff --git a/source/_posts/2017-02-03-hassbian-toybox.markdown b/source/_posts/2017-02-03-hassbian-toybox.markdown index 1a3d79b3c68..753d5f1a652 100644 --- a/source/_posts/2017-02-03-hassbian-toybox.markdown +++ b/source/_posts/2017-02-03-hassbian-toybox.markdown @@ -19,7 +19,7 @@ Currently includes: - Install Libcec. Adds local [HDMI-CEC support][cec]. - Install Mossquitto. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support. - Install OpenZWave. Installs OpenZWave and prepares for using a USB or GPIO ZWave controller. - - Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and it's usage is not recommended if your installation is publicly available. + - Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and its usage is not recommended if your installation is publicly available. All of these scripts are available in the directory `/home/pi/hassbian-scripts/`. This directory is actually a cloned git repository that's cloned on first boot and can be updated to the latest release with ease after. To update the hassbian-scripts directory execute the following command as the `pi` user. diff --git a/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown b/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown index f733a7aa362..e900ebe2258 100644 --- a/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown +++ b/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown @@ -24,7 +24,7 @@ To allow you to customize your installation further, we have included a tool cal - Install Libcec. Adds local [HDMI-CEC support][cec]. - Install Open Z-Wave-pip. Installs Python Open Z-Wave from a pip package. This is the quickest and recommended way of installing Z-Wave support but does not OZWCP pre-installed. - Install Open Z-Wave. Installs Python Open Z-Wave and OZWCP from git. - - Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and it's usage is not recommended if you share your network with others. + - Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and its usage is not recommended if you share your network with others. - Install Tellstick. Installs the Tellstick package for controlling and using a connected Tellstick. - Install Tradfri. Installs dependencies for using IKEA Trådfri. diff --git a/source/_posts/2018-04-14-release-67.markdown b/source/_posts/2018-04-14-release-67.markdown index 419dbdf8d22..d7c5b9475c5 100644 --- a/source/_posts/2018-04-14-release-67.markdown +++ b/source/_posts/2018-04-14-release-67.markdown @@ -15,7 +15,7 @@ og_image: /images/blog/2018-04-0.67/components.png Release 0.67 is here! In case you missed [the announcement from yesterday][ann-ubiquiti], Ubiquiti is paying me to write these release notes. Ooooooh yeah. With more time on my hands I'm going to be focusing on major improvements that we have been postponing for a while, first up will be a user system. -This release includes a security fix. The error log was accessible via the API without requiring authentication in previous releases. Although not a leak on it's own, combined with a faulty component that would log sensitive information to the error log could lead to that being exposed (we don't know of any component that does this). Thanks to [Matt Hamilton](https://github.com/Eriner) for disclosing this issue to us. +This release includes a security fix. The error log was accessible via the API without requiring authentication in previous releases. Although not a leak on its own, combined with a faulty component that would log sensitive information to the error log could lead to that being exposed (we don't know of any component that does this). Thanks to [Matt Hamilton](https://github.com/Eriner) for disclosing this issue to us. ## New Platforms diff --git a/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown b/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown index 62d992d4864..2387e48f08d 100644 --- a/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown +++ b/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown @@ -124,7 +124,7 @@ is great. ### Why not just use the REST API's directly via curl or similar ? -You can most definitely use `curl` or similar to access REST API directly - its +You can most definitely use `curl` or similar to access REST API directly - it's basically what `hass-cli` does behind the scenes. `hass-cli` give though a few advantages. Firstly that you do not need to remember the exact commands, `hass-cli` have contextual help and auto completion to make it super easy to diff --git a/source/_posts/2019-07-17-release-96.markdown b/source/_posts/2019-07-17-release-96.markdown index 583efae84a9..e51d050a1c9 100644 --- a/source/_posts/2019-07-17-release-96.markdown +++ b/source/_posts/2019-07-17-release-96.markdown @@ -23,7 +23,7 @@ Home Assistant has adopted a new [Python support strategy](https://github.com/ho ## Pimp my Sidebar -The sidebar has gotten an improved look! Idea started with [a mockup by @JuanMTech on Twitter](https://twitter.com/JuanMTech/status/1143757213971943424) and grew into a full blown implementation. When visiting Home Assistant on devices with big screens (tablets, laptops, desktops), the sidebar will now always be visible in a minimized mode with the ability to fully hide it via the profile page. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store it's exact state when you navigate away, included the dev tool that is open. We've also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI. +The sidebar has gotten an improved look! Idea started with [a mockup by @JuanMTech on Twitter](https://twitter.com/JuanMTech/status/1143757213971943424) and grew into a full blown implementation. When visiting Home Assistant on devices with big screens (tablets, laptops, desktops), the sidebar will now always be visible in a minimized mode with the ability to fully hide it via the profile page. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store its exact state when you navigate away, included the dev tool that is open. We've also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI. On mobile devices the sidebar will behave like it previously did. Check [the demo](https://demo.home-assistant.io) for a preview. diff --git a/source/_posts/2019-08-06-home-assistant-cast.markdown b/source/_posts/2019-08-06-home-assistant-cast.markdown index 0454e25bdc8..6049c148f9b 100644 --- a/source/_posts/2019-08-06-home-assistant-cast.markdown +++ b/source/_posts/2019-08-06-home-assistant-cast.markdown @@ -15,7 +15,7 @@ og_image: /images/blog/2019-08-home-assistant-cast/social.png Home automation itself has never been a goal of Home Assistant. Instead, it's a tool that allows us to have technology improve our life, and that of the people around us. I wrote about this [3,5 years ago](https://www.home-assistant.io/blog/2016/01/19/perfect-home-automation/), and it's been our guiding principle in building out Home Assistant. -Today we're introducing Home Assistant Cast to help with this. With Home Assistant Cast, people in your house can have quick access to see the state of your house and it's residents, and quickly adjust the most important settings. This is achieved by running on Chromecast powered screens that you already have throughout your house: your Google Nest Hubs and TVs. +Today we're introducing Home Assistant Cast to help with this. With Home Assistant Cast, people in your house can have quick access to see the state of your house and its residents, and quickly adjust the most important settings. This is achieved by running on Chromecast powered screens that you already have throughout your house: your Google Nest Hubs and TVs. You can launch Home Assistant Cast by going to [**the Home Assistant Cast launcher website**](https://cast.home-assistant.io). It works with any version of Home Assistant released in the last year. Home Assistant Cast can show any Lovelace view, including support for custom cards and themes. Got no Lovelace configuration? Don't worry, we'll generate a view and show that instead. diff --git a/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown b/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown index ce96755eabc..7300b12cac7 100644 --- a/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown +++ b/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown @@ -19,7 +19,7 @@ TL;DR: --- -Voice assistants are a great way to interact with your house, ask a quick question, set a timer or control your devices. The more an assistant knows about you, your home and it's other inhabitants, the better it is able to help you. +Voice assistants are a great way to interact with your house, ask a quick question, set a timer or control your devices. The more an assistant knows about you, your home and its other inhabitants, the better it is able to help you. Today's available virtual assistants work great, but they have a big problem: They store your data in the cloud, don't provide APIs to allow other companies to build products on top and are run by companies whose core business is building profiles on their users to help serve ads and product suggestions. diff --git a/source/_posts/2020-02-07-community-highlights.markdown b/source/_posts/2020-02-07-community-highlights.markdown index 8cfb8a84b86..9e0eca36e64 100644 --- a/source/_posts/2020-02-07-community-highlights.markdown +++ b/source/_posts/2020-02-07-community-highlights.markdown @@ -9,7 +9,7 @@ categories: Community og_image: /images/blog/2020-02-07-community-highlights/social.png --- -Thank god, its Friday! For most of us, it means we can tinker with our Home Automation projects again 😃 +Thank god, it's Friday! For most of us, it means we can tinker with our Home Automation projects again 😃 The second edition of the Community Highlights is here to provide you a fresh source of inspiration this weekend. And, if that is not enough, upgrading to the latest release of [Home Assistant Core 0.105](/blog/2020/02/05/release-105/) is definitely a recommendation for your list. It introduces tons of new shiny features for you to play with. diff --git a/source/_posts/2020-04-08-release-108.markdown b/source/_posts/2020-04-08-release-108.markdown index 80c36b77ff2..fa4f4c8a5d2 100644 --- a/source/_posts/2020-04-08-release-108.markdown +++ b/source/_posts/2020-04-08-release-108.markdown @@ -203,7 +203,7 @@ Experiencing issues introduced by this release? Please report them in our [issue ## Breaking Changes -- **Lovelace themes** - We discovered our theme logic was wrong, when you didn't specify a theme for a Lovelace card or view. It would default to the backend selected theme, even when your local theme was different, or your view had a different theme. To fix this we removed the options `default` and `Backend selected` from the Lovelace theme selection, and when there is not theme selected it will not set a theme. This will make sure the element has the same theme as it's parent. +- **Lovelace themes** - We discovered our theme logic was wrong, when you didn't specify a theme for a Lovelace card or view. It would default to the backend selected theme, even when your local theme was different, or your view had a different theme. To fix this we removed the options `default` and `Backend selected` from the Lovelace theme selection, and when there is not theme selected it will not set a theme. This will make sure the element has the same theme as its parent. - **Freebox** - Freebox is now available as an integration from the Integrations UI! You will need to re-authorize Home Assistant to access the Freebox router. - ([@Quentame] - [#30334]) ([freebox docs]) diff --git a/source/_posts/2020-05-20-release-110.markdown b/source/_posts/2020-05-20-release-110.markdown index 41a6ec1b9f4..18d419bebb3 100644 --- a/source/_posts/2020-05-20-release-110.markdown +++ b/source/_posts/2020-05-20-release-110.markdown @@ -262,7 +262,7 @@ Screenshot of an ONVIF camera in Home Assistant. ## Supervisor -Have you seen the new supervisor UI? [@ludeeus] did a great job redoing it's UI! +Have you seen the new supervisor UI? [@ludeeus] did a great job redoing its UI! It now uses the same tabs as the configuration panel. The add-on page is split into multiple tabs, the add-on store is cleaned up and you can view all logs in the system tab now (requires advanced mode). diff --git a/source/_posts/2020-08-05-mobile-apps-new-features.markdown b/source/_posts/2020-08-05-mobile-apps-new-features.markdown index 6ace58687cc..06d5001449c 100644 --- a/source/_posts/2020-08-05-mobile-apps-new-features.markdown +++ b/source/_posts/2020-08-05-mobile-apps-new-features.markdown @@ -74,7 +74,7 @@ Starting with 1.8.0 we have introduced a new [Geocoded sensor](https://companion Screenshot of the Geocoded Sensor.

-The battery level sensor was split in 1.9.0 to include a [battery state sensor](https://companion.home-assistant.io/docs/core/sensors#battery-sensors) so you can see when your device is actively `charging`, `not_charging`, `discharging` and `full`. You can also distinguish whether its `wireless`, `ac` or `usb`. The state now updates immediately upon being plugged in and unplugged to allow for quicker automations. +The battery level sensor was split in 1.9.0 to include a [battery state sensor](https://companion.home-assistant.io/docs/core/sensors#battery-sensors) so you can see when your device is actively `charging`, `not_charging`, `discharging` and `full`. You can also distinguish whether it's `wireless`, `ac` or `usb`. The state now updates immediately upon being plugged in and unplugged to allow for quicker automations. #### Biometrics diff --git a/source/_posts/2020-08-28-android-230-release.markdown b/source/_posts/2020-08-28-android-230-release.markdown index 27e89d90da8..25b8fd60134 100644 --- a/source/_posts/2020-08-28-android-230-release.markdown +++ b/source/_posts/2020-08-28-android-230-release.markdown @@ -9,7 +9,7 @@ categories: Release-Notes og_image: /images/blog/2020-08-28-android-230-release/Companion.png --- -Hey there, its been so long since we last gave an update on our mobile apps we thought it would be time to give you more updates! This time around we will focus on whats new in the Android app. There have been a few releases so were going to cover everything new up until version 2.3.0 which was just released to the Google Play Store. +Hey there, it's been so long since we last gave an update on our mobile apps we thought it would be time to give you more updates! This time around we will focus on whats new in the Android app. There have been a few releases so were going to cover everything new up until version 2.3.0 which was just released to the Google Play Store. ## Manage Sensors diff --git a/source/_posts/2020-09-12-android-240-release.markdown b/source/_posts/2020-09-12-android-240-release.markdown index 1e88bd49007..be03d5af208 100644 --- a/source/_posts/2020-09-12-android-240-release.markdown +++ b/source/_posts/2020-09-12-android-240-release.markdown @@ -11,7 +11,7 @@ categories: og_image: /images/blog/2020-09-12-android-240-release/Companion.png --- -Hey there, I hope everyone has been enjoying the last release of the Android app. We have another update coming up where we felt its time to give everyone a heads up before release. There are several new changes done that you will immediately notice after installing the update to 2.4.0, so we wanted to cover what's new. You can expect this release to be available in the Google Play Store tomorrow. +Hey there, I hope everyone has been enjoying the last release of the Android app. We have another update coming up where we felt it's time to give everyone a heads up before release. There are several new changes done that you will immediately notice after installing the update to 2.4.0, so we wanted to cover what's new. You can expect this release to be available in the Google Play Store tomorrow. ## Current and Future Breaking Changes diff --git a/source/_posts/2020-10-07-release-116.markdown b/source/_posts/2020-10-07-release-116.markdown index cb5db9b13cd..cbca00ad9d6 100644 --- a/source/_posts/2020-10-07-release-116.markdown +++ b/source/_posts/2020-10-07-release-116.markdown @@ -369,7 +369,7 @@ same type as it is in the attribute (instead of as a string). Canary

-Canary is now available for configuration via the UI. This also means its no +Canary is now available for configuration via the UI. This also means it's no longer configured in YAML. Existing configurations should be automatically transitioned to configuration via UI. You can safely remove you Canary YAML configuration after ugprading. YAML support will be fully removed in diff --git a/source/_posts/2020-10-28-release-117.markdown b/source/_posts/2020-10-28-release-117.markdown index 0dc76bc2879..9bf514f8d1b 100644 --- a/source/_posts/2020-10-28-release-117.markdown +++ b/source/_posts/2020-10-28-release-117.markdown @@ -537,7 +537,7 @@ configuration method. Please see the cast documentation on how to set this up.

Cloudflare

-Cloudflare is now available exclusively via the Integrations UI. This means its +Cloudflare is now available exclusively via the Integrations UI. This means it's no longer configured in YAML. Existing configurations are not imported as API Tokens are now used to authenticate. Refer to integration documentation on how to setup via UI. diff --git a/source/_posts/2020-11-06-android-300-release.markdown b/source/_posts/2020-11-06-android-300-release.markdown index ea6e9aebd73..a20b3cf3387 100644 --- a/source/_posts/2020-11-06-android-300-release.markdown +++ b/source/_posts/2020-11-06-android-300-release.markdown @@ -9,9 +9,9 @@ categories: Release-Notes og_image: /images/blog/2020-11-06-android-300-release/Companion.png --- -Hey everyone its been a little while since we last spoke. We have a brand new Home Assistant Companion for Android release that we are excited to get into your hands and will roll out over the next day or so in the Google Play store. +Hey everyone it's been a little while since we last spoke. We have a brand new Home Assistant Companion for Android release that we are excited to get into your hands and will roll out over the next day or so in the Google Play store. -Before we get into the release details I'd like to mention that this month marks the [1 year anniversary](https://youtu.be/tc17q1Zn0Xs?t=3487) of the Home Assistant Companion app being offered in the Google Play Store! Just to think how far along the entire app has come from its initial alpha state to what is currently being offered in today's release. Can you believe its already been a year? +Before we get into the release details I'd like to mention that this month marks the [1 year anniversary](https://youtu.be/tc17q1Zn0Xs?t=3487) of the Home Assistant Companion app being offered in the Google Play Store! Just to think how far along the entire app has come from its initial alpha state to what is currently being offered in today's release. Can you believe it's already been a year? It has been pretty busy over on the Android side of things during Hacktoberfest! We have seen a total of 84 pull requests from a wide range of contributors that we are thankful for, so thank you for all of your efforts! In case you missed it we actually had a release shortly after version 2.4.0 but as we did not have an accompanying blog post, we'll cover whats new since we last spoke in this post. All of the features listed below are already documented on the [Companion](https://companion.home-assistant.io/) site, please be sure to check in there for greater details. Before we continue with what's new lets go over the breaking changes for this release. diff --git a/source/_posts/2021-04-07-release-20214.markdown b/source/_posts/2021-04-07-release-20214.markdown index 77e54019a19..9c65e839a4d 100644 --- a/source/_posts/2021-04-07-release-20214.markdown +++ b/source/_posts/2021-04-07-release-20214.markdown @@ -111,7 +111,7 @@ Today we introduce: Home Assistant Analytics. Opt-in, privacy-aware, public and open source. Just as it all should be for our project. [@ludeeus] did a fantastic job writing this new integration. You decide if you -turn it on or not; however, we guarantee its privacy-aware. Doubt it? Review it! +turn it on or not; however, we guarantee it's privacy-aware. Doubt it? Review it! Everything is open source! Not open enough for you? We are publishing the result for everybody to see: @@ -1032,7 +1032,7 @@ modbus: The `reporting` and `include_used_components` configuration options have now been deprecated, the `updater` integration will no longer report any analytics. -The analytics has moved to it's own integration. +The analytics has moved to its own integration. See the [`analytics` integration](/integrations/analytics) for more details on how to configure it. diff --git a/source/_posts/2021-05-05-release-20215.markdown b/source/_posts/2021-05-05-release-20215.markdown index f06bb85d864..bda25e8d924 100644 --- a/source/_posts/2021-05-05-release-20215.markdown +++ b/source/_posts/2021-05-05-release-20215.markdown @@ -839,7 +839,7 @@ Database migrations are now done in the background and no longer prevent Home Assistant from starting. The migration is started shortly after the started event since they are CPU -intensive (mostly just sqlite since its in the same process) and we do not want +intensive (mostly just sqlite since it's in the same process) and we do not want to compete with startup. Events created by your system are queued and processed when the migration is diff --git a/source/_posts/2021-11-03-release-202111.markdown b/source/_posts/2021-11-03-release-202111.markdown new file mode 100644 index 00000000000..841bcc63b66 --- /dev/null +++ b/source/_posts/2021-11-03-release-202111.markdown @@ -0,0 +1,3209 @@ +--- +layout: post +title: "2021.11: Icon picker, device links and entity categories" +description: "This release adds a beautiful icon picker, quick links to visit a device or service web interface, and new organization categories for entities!" +date: 2021-11-03 00:00:00 +date_formatted: "November 3, 2021" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: +- Release-Notes +- Core +og_image: /images/blog/2021-11/social.png +--- + + + +Point eleven (`.11`), which means it is November! 🥶 (or 🏖 depending on where +you are in this world, of course.) + +It also means: This is the second last release of the year... + +Hacktoberfest is over! In the month October, people +contribute to projects (like Home Assistant) to celebrate open source. +I've seen lots of new faces and new contributors this month. To those I want +to say: Welcome! Thanks for contributing your free spare time; Thanks for +being a hero! ❤️ + +And, there is more! Something that isn't really visible. In the background, +an army of contributors are improving a tremendous amount of Home +Assistant code, which improves stability, readability, and maintainability of +our project's codebase. As a matter of fact, because of this incredible work, +counted by the number of contributions, this release might just as well be one +of the biggest ever. Work, you generally don't notice, but is still done. +Weird huh? Another group of heroes! ❤️ + +For me personally, this has been a crazy month. After the last release, I was +sad to read about issues people had with the new Tuya integration. I went to +different stores, bought many Tuya devices, and spent a lot of time improving +the experience by extending device support. Hopefully, I've been able to do +enough to make the Tuya integration acceptable. + +This release... a long-time wishlist item of mine is in: The icon picker! 😍 +So cool to see this happening, it is amazing, beautiful, super helpful, +and it also supports third-party icon sets! 🤩 + +Oh, to spoil some inside information, you might want to block your +agenda for the Home Assistant State of the Union 2021 on Saturday 11 December, +8 pm (CET)! + +Enjoy the release! + +../Frenck + +- [Daylight saving time bug](#daylight-saving-time-bug) +- [Visit devices and services](#visit-devices-and-services) +- [Entity categorization](#entity-categorization) +- [The icon picker](#the-icon-picker) +- [Tuya update](#tuya-update) +- [Some nice new template filters](#some-nice-new-template-filters) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New Integrations](#new-integrations) +- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [Release 2021.11.1 - November 5](#release-2021111---november-5) +- [Release 2021.11.2 - November 9](#release-2021112---november-9) +- [If you need help...](#if-you-need-help) +- [Breaking Changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +## Daylight saving time bug + +If you have already transitioned daylight saving time (DST), you might have +experienced it already. If you have not switched yet, this message is extra +important for you. + +Last weekend we experienced a bug with daylight saving time transitioning, +causing Home Assistant to crash or have higher CPU loads than usual. +If you experience this, restarting Home Assistant will resolve this issue. + +This release has a more permanent fix for the issue, preventing it from +happening. If you can't upgrade to 2021.11 right now, we have also published +Home Assistant 2021.10.7, which has the same bugfix included. + +So if you still have to transition to a new summer/winter time, be sure to +upgrade! + +## Visit devices and services + +Your device has a web interface, but you don't remember the (IP) address it +has on your network... So you start guessing a couple of addresses; And end up +checking your router, looking it up in an app, or scanning the network... +Sounds familiar? Annoying, right? + +Well, as of today, integrations can provide the URLs to devices or services +where the device can be managed or configured. + +

+Screenshot of WLED that now has a button that links to the WLED web interface of the device directly +Screenshot of WLED that now has a button that links to the WLED web interface of the device directly. +

+ +If an integration provides a single web interface to configure multiple devices, +it can even deep-link to the specific device page for that device. + +Over **50!** integrations have already added support for this feature, which is +fantastic! Just to name a few integrations: MQTT, Tasmota, WLED, Synology, Plex, +Netatmo, Pi-hole, RainMachine, Plugwise, Sure Petcare, Axis, UniFi Controller, +FRITZ!Box, and many more! + +If you are a custom integration developer, you can add support for this feature +too; [Read all about it on our developer blog](https://developers.home-assistant.io/blog/2021/10/26/config-entity#device-configuration-url). + +## Entity categorization + +Since we introduced the concept of devices, we have been seeing more and +more entities being created, which is great! It means we can automate on a lot +more device features. However, this does impose other issues, like: +clutter on a generated dashboard, unused entities exposed to voice assistants, +or turn on/off things in areas as a side-effect. Let me try to explain the +latter issue with an example. + +Let's consider a wall plug. It can be turned on/off using a switch entity, +however, my wall plug also has a switch to enable a child lock that controls +its physical button. Now, if I had this device in my living room area and +turned off all switches in my living room, it would turn off the switch and +the child lock! This is not what we want, right? + +To resolve issues like these (and more), we introduce: Entity categories. + +Entities without a category are now considered primary entities: The entities +we daily use and expect from a device, i.e., the power on/off switch. +Furthermore, entities can be categorized as configuration or diagnostic entities. +A configuration entity provides a setting/configuration option for the device, +while a diagnostic entity provides information about the device. + +Take a light bulb as an example. The light entity itself is a primary entity. +However, the select entity that provides the power on behavior configuration of +the bulb is a setting of the device and thus a configuration entity. While the +sensor providing the signal strength of the light bulb is a diagnostic entity. + +Another, more visual example, from the device page of a Sonos Move speaker: + +

+Screenshot of the Sonos device page that now has entities categorized +Screenshot of the Sonos device page that now has entities categorized. +

+ +In the above screen, you can see the Sonos speaker itself is a primary control +entity, while the entities that provide device configuration options and +entities that provide diagnostic information about the device itself are now +separated nicely. + +With entities that are non-primary (so are either configuration or +diagnostic entities), we now do the following: + +- Non-primary entities are hidden from generated Lovelace dashboards. This + reduces the clutter and makes the generated dashboards more useful for daily + use. +- Non-primary entities are, by default, not exposed to Amazon Alexa or + Google Assistant. You, of course, still can expose them, but by default, + we don't send them to these voice assistants. +- Non-primary entities are not called by service calls that target the device + or area the device is in. They are only called if explicitly called by their + entity ID. + +Please note, the above-listed points are breaking changes, also listed in +the breaking changes section of these release notes. + +Like the previous visit device or service feature, this new organization +capability has been adopted by many of our maintainers: 60+ integrations! +To name a few: Sonos, Z-Wave JS, Shelly, SwitchBot, deCONZ, Neato, Netatmo, +August, MQTT, Hue, Roomba, Tibber, AirVisual, KNX, motionEye, and many more. +Oh, and soon, we can add ESPHome to that list! + +If you are a custom integration developer, you can add support for this feature +too; [Read all about it on our developer blog](https://developers.home-assistant.io/blog/2021/10/26/config-entity#entity-categories). + +## The icon picker + +Adding nice and matching icons to your entities, makes all the difference for +how your Home Assistant interface looks and feels. + +Finding those icons was somewhat clumsy. You'd go to the +[Material Design Icons](https://materialdesignicons.com/) website to find one, +remember its code and add the `mdi:` to your entity. Not a great +experience, especially with the number of icons available your browser doesn't +always like that website. + +Thanks to the great work of [@piitaya](https://github.com/piitaya), we now have +a beautiful, super easy, smart and fast icon picker! Yes, you can now search +and choose icons, straight from the Home Assistant interface. + +

+Screen capture showing the new icon picker in action +Screen capture showing the new icon picker in action. +

+ +When you start typing, it not only looks for icons that match the MDI code, it +also looks for aliases and categories of the icons. That way, you'll always +find the icon you're looking for. + +Third-party custom icon sets can also utilize this feature; however, the author +of that set needs to add compatibility for it. For example, the +[Hue icons](https://github.com/arallsopp/hass-hue-icons) by [arallsopp](https://github.com/arallsopp) +added support for this feature already. + +## Tuya update + +Our previous release included an update to the Tuya integration, making it use +the official API instead of a soon-to-be-removed API. Sadly, this update did +not live up to our standards, for which we want to apologize. + +Tuya had initially planned to deprecate the old API in December, giving users +2 months to migrate. That’s not a lot of time, so we decided to move forward +with releasing the updated integration. Tuya pushed back the timeline for +sunsetting the old API with 6 months; but it was too late for us to change course +and ship the old integration. + +The updated Tuya integration had some bugs and also was missing some features +compared to the previous integration and various available custom components. +This caused some users to have a poor experience. To make up for this, [@frenck] +spent a good chunk of time on bringing the Tuya integration up to the latest +standards and adding [a ton of new features and bug fixes](https://github.com/home-assistant/core/pulls?q=is%3Apr+sort%3Aupdated-desc+author%3Afrenck+label%3A%22integration%3A+tuya%22+is%3Aclosed). + +Almost all Home Assistant entity platforms are supported now, including +(binary) sensors, covers, vacuums, and even cameras! However, be aware that +Tuya has a lot of devices and variations, so there is still work left to be +done; We have done everything we can to provide a solid base this release. + +As a final note: Some people complained about that this integration relies +on the cloud. We have always supported integrations with both local and +cloud APIs. Integrations with cloud APIs allow people to adopt Home Assistant +without having to replace all devices in their house. Although we recommend +local, using devices that require the cloud, or are fully local, +is a choice everyone should make for themselves. + +## Some nice new template filters + +For some of our more advanced users, this release has some helpful template +improvements included as well! + +Let's start with the new `today_at` filter/function that [@Petro31] added. It +allows you to quickly get a DateTime at a certain time of today. This can be +really helpful if you need to compare against another DateTime. For example: + +{% raw %} + +```yaml +# Is the current time past 10:15? +{{ now() > today_at("10:15") }} +``` + +{% endraw %} + +Next up is [@raman325], who added the `area_entities` and `area_devices` filters +and functions which allow you to get all devices or entities that are in an area. +The methods return a list, which you can loop on. + +{% raw %} + +```yaml +{{ area_entities('Living Room') }} # ['light.ceiling', 'media_player.tv', ...] +``` + +{% endraw %} + +Lastly, [@Petro31] added another one: the `average` filter and function. It does +what you think it does... It calculates the average of a list of items you pass +to it. + +{% raw %} + +```yaml +{{ [1, 2, 3, 4, 5] | average }} # Result: 3 +``` + +{% endraw %} + +## Other noteworthy changes + +There is much more juice in this release; here are some of the other +noteworthy changes this release: + +- Debug traces of automations and scripts are now stored! So you no longer + lose them when you restart Home Assistant. Thanks [@emontnemery] +- [@frenck] adjusted the number entity and it can now be displayed as a slider + instead of an input box. Home Assistant will automatically figure out which + is the best to use. +- Add support for fan groups! Thanks [@bdraco]! +- Thanks to [@ludeeus], the Supervisor integration now has binary sensors that + can tell you which add-on is running or not. +- [@allenporter] blew our minds this release by adding initial support for + WebRTC streams and cameras to Home Assistant. +- But had a good reason, he added support for Nest Battery Cameras + and Nest battery Doorbell Cameras to Home Assistant! Thanks [@allenporter]! +- When you log in to Home Assistant, there is now a "Keep me logged in" + checkbox! Awesome [@MartinTuroci](http://github.com/MartinTuroci) +- [@goyney](https://github.com/goyney) updated the Material Design Icon to + version v6.4.95 ensuring we have all the latest icons available in our new + beautiful icon picker. +- Sure PetCare now supports the Felaqua devices, thanks [@benleb]! +- The MQTT number platform now has support for providing a unit of measurement + and resetting the number field (by [@frenck] and [@emontnemery]). +- The Broadlink integration added sensors for voltage, current, overload, + and total consumption. Thanks [@felipediel]! +- WLED now has the much requested sliders for speed & intensity controls. + Thanks, [@rytilahti]! +- OpenGarage has seen lots of updates and love from [@Danielhiversen], adding + lots of sensors in the process. +- With the recent improvements made to the VLC media player integration and + add-on, there is now a way to get TTS working by connecting some speakers to + your Blue, ODROID or Raspberry Pi. Thanks, [@mib1185] & [@MartinHjelmare]! + +Adding support for long-term statistics is a much requested feature; This +release adds support for long-term statistics to the following integrations: + +- AEMET (thanks [@Noltari]) +- Efery (thanks [@tkdrob]) +- EnOcean (thanks [@davidlb]) +- Gogogate2 (thanks [@thomas-svrts]) +- Huisbaasje (thanks [@dennisschroer]) +- Nest (thanks [@allenporter]) +- Ondilo ICO (thanks [@TheNogl]) +- OpenWeatherMap (thanks [@dkt01]) +- Plugwise (thanks [@bouwew]) +- REST (thanks [@koying]) +- Scrape sensor (thanks [@lukas-hetzenecker]) +- Tado (thanks [@Noltari]) +- Tado sensors (thanks [#58111]) +- WAQI (thanks [@davidlb]) + +## New Integrations + +We welcome the following new integration this release: + +- [LOOKin][lookin docs], done by [@ANMalko] + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [Aurora ABB Solar PV][aurora_abb_powerone docs], done by [@davet2001] +- [Efergy][efergy docs], done by [@tkdrob] +- [Flux LED][flux_led docs], done by [@icemanch] and [@bdraco] +- [OctoPrint][octoprint docs], done by [@rfleming71] +- [Stookalert][stookalert docs], done by [@frenck] +- [Venstar][venstar docs], done by [@garbled1] +- [VLC Media Player Telnet][vlc_telnet docs], done by [@MartinHjelmare] + +## Release 2021.11.1 - November 5 + +- Swap sharkiq vacuum is_docked with is_charging ([@tomgie] - [#58975]) ([sharkiq docs]) +- Fix mop attribute for unified mop and water box in Xiaomi Miio ([@OGKevin] - [#58990]) ([xiaomi_miio docs]) +- Fix timedelta-based sensors for xiaomi_miio ([@rytilahti] - [#58995]) ([xiaomi_miio docs]) +- Bump aiopvpc to 2.2.1 ([@azogue] - [#59008]) ([pvpc_hourly_pricing docs]) +- Accept all roborock vacuum models for xiaomi_miio ([@rytilahti] - [#59018]) ([xiaomi_miio docs]) +- Fix Nut resources option migration ([@ollo69] - [#59020]) ([nut docs]) +- Environment Canada config_flow fix ([@gwww] - [#59029]) ([environment_canada docs]) +- Bump velbus-aio to 2021.11.0 ([@Cereal2nd] - [#59040]) ([velbus docs]) +- Constrain urllib3 to >=1.26.5 ([@frenck] - [#59043]) +- Correct migration to recorder schema 22 ([@emontnemery] - [#59048]) ([recorder docs]) +- Increase time to authorize OctoPrint ([@frenck] - [#59051]) ([octoprint docs]) +- Remove use_time sensor from mjjsq humidifers ([@rytilahti] - [#59066]) ([xiaomi_miio docs]) +- Change minimum supported SQLite version to 3.31.0 ([@emontnemery] - [#59073]) ([recorder docs]) +- Correct rescheduling of ExternalStatisticsTask ([@emontnemery] - [#59076]) ([recorder docs]) +- Bump flux_led to 0.24.14 ([@bdraco] - [#59121]) ([flux_led docs]) + +[#58975]: https://github.com/home-assistant/core/pull/58975 +[#58990]: https://github.com/home-assistant/core/pull/58990 +[#58995]: https://github.com/home-assistant/core/pull/58995 +[#59008]: https://github.com/home-assistant/core/pull/59008 +[#59018]: https://github.com/home-assistant/core/pull/59018 +[#59020]: https://github.com/home-assistant/core/pull/59020 +[#59029]: https://github.com/home-assistant/core/pull/59029 +[#59040]: https://github.com/home-assistant/core/pull/59040 +[#59043]: https://github.com/home-assistant/core/pull/59043 +[#59048]: https://github.com/home-assistant/core/pull/59048 +[#59051]: https://github.com/home-assistant/core/pull/59051 +[#59066]: https://github.com/home-assistant/core/pull/59066 +[#59073]: https://github.com/home-assistant/core/pull/59073 +[#59076]: https://github.com/home-assistant/core/pull/59076 +[#59121]: https://github.com/home-assistant/core/pull/59121 +[@Cereal2nd]: https://github.com/Cereal2nd +[@OGKevin]: https://github.com/OGKevin +[@azogue]: https://github.com/azogue +[@bdraco]: https://github.com/bdraco +[@emontnemery]: https://github.com/emontnemery +[@frenck]: https://github.com/frenck +[@gwww]: https://github.com/gwww +[@ollo69]: https://github.com/ollo69 +[@rytilahti]: https://github.com/rytilahti +[@tomgie]: https://github.com/tomgie +[environment_canada docs]: /integrations/environment_canada/ +[flux_led docs]: /integrations/flux_led/ +[nut docs]: /integrations/nut/ +[octoprint docs]: /integrations/octoprint/ +[pvpc_hourly_pricing docs]: /integrations/pvpc_hourly_pricing/ +[recorder docs]: /integrations/recorder/ +[sharkiq docs]: /integrations/sharkiq/ +[velbus docs]: /integrations/velbus/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ + +## Release 2021.11.2 - November 9 + +- Bump total_connect_client to 2021.11.2 ([@austinmroczek] - [#58818]) ([totalconnect docs]) +- Adjust frag_duration setting in stream ([@uvjustin] - [#59135]) ([stream docs]) +- Bump flux_led to 0.24.15 ([@bdraco] - [#59159]) ([flux_led docs]) +- Bump aioguardian to 2021.11.0 ([@bachya] - [#59161]) ([guardian docs]) +- Guard against flaky SimpliSafe API calls ([@bachya] - [#59175]) ([simplisafe docs]) +- Guard against missing data in ReCollect Waste ([@bachya] - [#59177]) ([recollect_waste docs]) +- Change ReCollect Waste device class to date ([@bachya] - [#59180]) ([recollect_waste docs]) +- bump aioshelly to 1.0.4 ([@mib1185] - [#59209]) ([shelly docs]) +- Bump flux_led to 0.24.17 ([@bdraco] - [#59211]) ([flux_led docs]) +- Fix tradfri group reachable access ([@janiversen] - [#59217]) ([tradfri docs]) +- Increase timeout for fetching camera data on Synology DSM ([@mib1185] - [#59237]) ([synology_dsm docs]) +- Add Battery sensor regardless if the battery_percent_remaining attribute is supported or not ([@Adminiuga] - [#59264]) ([zha docs]) +- Fix condition for fritz integration ([@chemelli74] - [#59281]) ([fritz docs]) +- Remove illuminance sensor ([@bieniu] - [#59305]) ([xiaomi_miio docs]) +- Revert "Use DeviceInfo in shelly (#58520)" ([@thecode] - [#59315]) ([shelly docs]) +- Support generic xiaomi_miio vacuums ([@OGKevin] - [#59317]) ([xiaomi_miio docs]) +- Bump paho-mqtt to 1.6.1 ([@emontnemery] - [#59339]) ([mqtt docs]) ([shiftr docs]) +- Bump velbusaio to 2021.11.6 ([@Cereal2nd] - [#59353]) ([velbus docs]) +- Update frontend to 20211108.0 ([@bramkragten] - [#59364]) ([frontend docs]) + +[#58818]: https://github.com/home-assistant/core/pull/58818 +[#59135]: https://github.com/home-assistant/core/pull/59135 +[#59159]: https://github.com/home-assistant/core/pull/59159 +[#59161]: https://github.com/home-assistant/core/pull/59161 +[#59175]: https://github.com/home-assistant/core/pull/59175 +[#59177]: https://github.com/home-assistant/core/pull/59177 +[#59180]: https://github.com/home-assistant/core/pull/59180 +[#59209]: https://github.com/home-assistant/core/pull/59209 +[#59211]: https://github.com/home-assistant/core/pull/59211 +[#59217]: https://github.com/home-assistant/core/pull/59217 +[#59237]: https://github.com/home-assistant/core/pull/59237 +[#59264]: https://github.com/home-assistant/core/pull/59264 +[#59281]: https://github.com/home-assistant/core/pull/59281 +[#59305]: https://github.com/home-assistant/core/pull/59305 +[#59315]: https://github.com/home-assistant/core/pull/59315 +[#59317]: https://github.com/home-assistant/core/pull/59317 +[#59339]: https://github.com/home-assistant/core/pull/59339 +[#59353]: https://github.com/home-assistant/core/pull/59353 +[#59364]: https://github.com/home-assistant/core/pull/59364 +[@Adminiuga]: https://github.com/Adminiuga +[@Cereal2nd]: https://github.com/Cereal2nd +[@OGKevin]: https://github.com/OGKevin +[@austinmroczek]: https://github.com/austinmroczek +[@bachya]: https://github.com/bachya +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@bramkragten]: https://github.com/bramkragten +[@chemelli74]: https://github.com/chemelli74 +[@emontnemery]: https://github.com/emontnemery +[@janiversen]: https://github.com/janiversen +[@mib1185]: https://github.com/mib1185 +[@thecode]: https://github.com/thecode +[@uvjustin]: https://github.com/uvjustin +[flux_led docs]: /integrations/flux_led/ +[fritz docs]: /integrations/fritz/ +[frontend docs]: /integrations/frontend/ +[guardian docs]: /integrations/guardian/ +[mqtt docs]: /integrations/mqtt/ +[recollect_waste docs]: /integrations/recollect_waste/ +[shelly docs]: /integrations/shelly/ +[shiftr docs]: /integrations/shiftr/ +[simplisafe docs]: /integrations/simplisafe/ +[stream docs]: /integrations/stream/ +[synology_dsm docs]: /integrations/synology_dsm/ +[totalconnect docs]: /integrations/totalconnect/ +[tradfri docs]: /integrations/tradfri/ +[velbus docs]: /integrations/velbus/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[zha docs]: /integrations/zha/ + +## 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 "All Service Calls" %} + +Entities that are now shown on the device page on the `configuration` or `diagnostic` +section, will **no longer be targeted and called** by service calls that target +the specific device or area the device or entity is in. + +If you need to make a service call to these entities, you will need to call +them by their entity ID explicitly. + +Please note: This does not apply to entity groups, as groups are explicitly +based on entities (unlike areas) and thus still work as before. + +([@emontnemery] - [#57671]) + +{% enddetails %} + +{% details "Amazon Alexa / Google Assistant" %} + +Entities that are now shown on the device page on the `configuration` or `diagnostic` +section, will **no longer be exposed** by default to Amazon Alexa or Google Assistant. + +If you want to expose these entities, you'll need to expose them explicitly. + +([@emontnemery]) + +{% enddetails %} + +{% details "Recorder / Databases" %} + +The Home Assistant project has now explicitly defined a set of databases +that are supported by the recorder. + +We now support the following databases: + +- MariaDB ≥ 10.3 +- MySQL ≥ 8.0 +- PostgreSQL ≥ 12 +- SQLite ≥ 3.32.1 + +All other databases and database versions are now deprecated. + +If your used or configured database doesn't match any of the above requirements, +a warning will be logged. As of Home Assistant 2022.1, the recorder will +no longer connect to an unsupported database. + +([@emontnemery] - [#58161]) ([recorder docs]) + +--- + +It is no longer possible to filter out `state_changed` events from the +recorder's `event_types` exclude filter. + +A warning will be logged in Home Assistant Core 2021.11 and the configuration +will be rejected in Home Assistant Core 2022.2. + +{% enddetails %} + +{% details "Python 3.8: Deprecation warning" %} + +Python 3.8 has been deprecated because Python 3.10 has been released. +Support will be dropped in Home Assistant 2022.1. + +Support for Python 3.10 hasn't completed yet, however we aim to complete +that before the 3.8 deprecation period has ended. It is advised to upgrade +to Python 3.9 at this point. + +If you run Home Assistant OS, Supervised or the Container installation type: +No action is required from your end, we will take care of this for you. + +([@balloob] - [#57079]) + +{% enddetails %} + +{% details "Aurora ABB Solar PV" %} + +The Aurora ABB Solar PV integration migrated to configuration via the UI. +Configuring Aurora ABB Solar PV via YAML configuration has been deprecated +and will be removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this +release; and thus can be safely removed from your YAML configuration after upgrading. + +([@davet2001] - [#36300]) ([aurora_abb_powerone docs]) + +{% enddetails %} + +{% details "AVM FRITZ!Box Tools" %} + +AVM FRITZ!Box Tools services now ask for a `device_id` and no longer for an `entity_id`. +Please review your automation and scripts accordingly. + +([@chemelli74] - [#58005]) ([fritz docs]) + +{% enddetails %} + +{% details "DLNA Digital Media Renderer" %} + +The DLNA Digital Media Renderer integration migrated to configuration via the UI. Configuring +DLNA Digital Media Renderer via YAML configuration has been deprecated and will be removed in a +future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this release; +Please check the integrations configuration page for imported DLNA-DMR configuration. +Once it has been migrated, it can be safely removed from your YAML configuration. + +([@chishm] - [#56886]) ([dlna_dmr docs]) + +{% enddetails %} + +{% details "Efergy" %} + +The Efergy integration has been migrated to configuration via the UI. +Configuring Efergy via YAML configuration has now been deprecated and will be +removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this release; +and thus can be safely removed from your YAML configuration after upgrading. + +Additionally, the following sensor names have changed: + +- Energy Usage is now Power Usage. +- Any configured energy period, for example, monthly was Energy Consumed is now Monthly Consumption. +- Any configured cost period, for example, monthly was Energy Cost is now Monthly Energy Cost. +- Per-Device Usage is now Power Usage with the sensor id trailing. + +([@tkdrob] - [#56890]) ([efergy docs]) + +{% enddetails %} + +{% details "Environment Canada" %} + +The Environment Canada integration has been migrated to configuration via the UI. +Configuring Environment Canada via YAML configuration has now been deprecated and will be +removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this release; +and thus can be safely removed from your YAML configuration after upgrading. + +Additionally, non-loop radar images are no longer supported; Sensor entities +now have the location of the station as a part of the sensor's entity name. + +([@gwww] - [#57127]) ([environment_canada docs]) + +{% enddetails %} + +{% details "Flux LED/MagicLight" %} + +The Flux LED integration has been migrated to configuration via the UI. +Configuring Flux LED via YAML configuration has now been deprecated and will be +removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this release; +and thus can be safely removed from your YAML configuration after upgrading. + +([@icemanch] - [#56354]) ([flux_led docs]) + +{% enddetails %} + +{% details "HomeKit" %} + +The previously deprecated HomeKit configuration options `safe_mode`, +`zeroconf_default_interface`, and `auto_start` have now been removed. + +If you still have these options in your YAML configuration, you must be remove them +from your YAML configuration. + +([@bdraco] - [#58320]) + +{% enddetails %} + +{% details "Input Select / Dropdown Helper" %} + +When the option list of a Dropdown helper / `input_select` is updated, +it will try to maintain the currently selected option, if the selected +option also is present in the new options provided; otherwise it will +reset to the first option from the newly provided list. + +Previously, when a new list of options was provided, it would always +reset to the first item of the list. + +([@frenck] - [#53334]) ([input_select docs]) + +{% enddetails %} + +{% details "IQVIA" %} + +Previously, IQVIA supported long-term statistics for the `Asthma Index: Tomorrow` +sensor. This is incorrect: long-term statistics are meant for actual, +current measurements (not future forecasts). Therefore, long-term statistics +support has been removed for this sensor. + +([@bachya] - [#57687]) ([iqvia docs]) + +{% enddetails %} + +{% details "Itho Daalderop Spider" %} + +The Itho Daalderop Spider integration previously migrated to configuration via the UI. +Configuring Itho Daalderop Spider via YAML configuration has now been deprecated +and will be removed in a future Home Assistant release. + +Your existing YAML configuration has been automatically imported; +and thus can be safely removed from your YAML configuration after upgrading. + +([@peternijssen] - [#57974]) ([spider docs]) + +{% enddetails %} + +{% details "Microsoft Text-to-Speech (TTS)" %} + + +The default voice is changed to `JennyNeural`; The previous default `ZiraRUS` +(Standard Voice) is no longer supported in eastus or any other region that +has rolled out GA neural voices as Standard voices become deprecated. + +([@tylergibson] - [#58499]) ([microsoft docs]) + +{% enddetails %} + +{% details "OctoPrint" %} + +The OctoPrint integration migrated to configuration via the UI. Configuring +OctoPrint via YAML configuration has been deprecated and will be removed in +a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this +release; and thus can be safely removed from your YAML configuration after upgrading. + +The following sensors have been removed: + +- `sensor._time_remaining` +- `sensor._time_elapsed` + +The following sensors have been added: + +- `sensor.octoprint_start_time` +- `sensor.octoprint_estimated_finish_time` + +([@rfleming71] - [#58040]) ([octoprint docs]) + +{% enddetails %} + +{% details "OpenGarage" %} + +The attributes (`wifi_signal ` and `distance_sensor`) for OpenGarage covers +are removed and replaced by individual sensors. + +Also, `door_state` is removed as an attribute, but you can use the state +directly instead. + +Please update any automations or scripts that depend on the removed attributes. + +([@Danielhiversen] - [#57976]) ([opengarage docs]) + +{% enddetails %} + +{% details "OpenZWave" %} + +The OpenZWave (`ozw`) integration is being marked as deprecated. The upstream +project is not currently being maintained, and has not reached stable status. + +We recommend transitioning to the [Z-Wave JS integration](/integrations/zwave_js). + +While the integration is not currently slated for removal, it will no longer +be receiving updates and may be removed at a later date. + +See the [Z-Wave JS migration documentation](/integrations/zwave_js/#migrating-from-previous-z-wave-implementations) +for more information. + +{% enddetails %} + +{% details "Pentair ScreenLogic" %} + +Screenlogic lights have moved to the light platform. The switches that +previously represented these lights will need to manually be deleted in +`Configuration >> Entities`. If you are using these switch entities in +your automation or scripts, you will need to update those to use the new +light entities instead. + +The state is now refreshed with a short delay to ensure the toggles +do not flip/flop between states as the controller takes ~600ms to make the change. + +([@bdraco] - [#55467]) ([screenlogic docs]) + +{% enddetails %} + +{% details "Phone Modem" %} + +The sensor state attributes of `modem_callerid` integration are now only +populated when the values are known. + +If you use these attributes in your automations or scripts, you'll need to +adjust those to be able to handle missing attributes. + +([@tkdrob] - [#57774]) ([modem_callerid docs]) + +{% enddetails %} + +{% details "Rainforest Eagle" %} + +The previously deprecated YAML configuration of the Rainforest Eagle integration has been removed. + +Rainforest Eagle is now configured via the UI, any existing YAML configuration has been imported +in previous releases and can now be safely removed from your YAML configuration files. + +([@frenck] - [#57636]) ([rainforest_eagle docs]) + +{% enddetails %} + +{% details "RainMachine" %} + +RainMachine services have been reorganized and now utilize a Home Assistant +target (entity ID) or selector (device ID) instead of using an internal +RainMachine identifier. + +Additionally, services are restricted to only the targets that apply: + +**Device Services (i.e., must be provided a device ID)** + +- `pause_watering` +- `stop_all` +- `unpause_watering` + +**Entity Services (i.e., must be provided an associated switch entity ID +[either a program or a zone])** + +- `disable_program` +- `disable_zone` +- `enable_program` +- `enable_zone` +- `start_program` +- `start_zone` +- `stop_program` +- `stop_zone` + +([@bachya] - [#57145]) ([rainmachine docs]) + +{% enddetails %} + +{% details "Renault" %} + +The `last_update` state attribute has been moved to a stand-alone entity +(and dropped from battery and location entities). If you used this attribute +in your scripts or automations; you'll need to adjust those to this change. + +([@epenet] - [#57750]) ([renault docs]) + +{% enddetails %} + +{% details "SimpliSafe" %} + +SimpliSafe requires a new web-based authentication method. When starting up, +Home Assistant will automatically prompt you to re-authorize your instance. + +([@bachya] - [#57212]) ([simplisafe docs]) + +{% enddetails %} + +{% details "SolarEdge" %} + +The SolarEdge integration now provides unique IDs for its entities, so the +entities are now visible and customizable in the Home Assistant frontend. + +Some names have been corrected as they had incorrect descriptions. This may +cause some of your entity IDs provided by SolarEdge to have changed this release. + +In case you have been using these entities in your automations, scripts, or +dashboards, you can either rename those entity IDs to the old entity ID +or adjust the places you've used them accordingly. + +Additionally, if a sensor you used disappeared, it might have been disabled by +default during upgrade. Please be sure to check if the entity is +enabled in that case. + +([@terminet85] - [#55902]) - ([@purcell-lab] - [#58773]) + +{% enddetails %} + +{% details "Sonos" %} + +The `sonos.set_option` service has been removed and replaced with +individual `switch` entities which both control the features and display +if currently enabled. + +The `night_sound` and `speech_enhance` attributes on the +Sonos `media_player` entities are also removed. + +If you are using those in your automations or scripts, you'll need to replace +these with the new `switch` entities. + +([@jjlawren] - [#54502]) ([sonos docs]) + +{% enddetails %} + +{% details "Stookalert" %} + +The Stookalert integration has been migrated to configuration via the UI. +Configuring Stookalert via YAML configuration has now been deprecated and will be +removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this release; +and thus can be safely removed from your YAML configuration after upgrading. + +([@frenck] - [#57119]) ([stookalert docs]) + +{% enddetails %} + +{% details "Supervisor" %} + +The 2021.09 release deprecated the usage of "snapshot" in the Supervisor (`hassio`) +integration and was scheduled to be removed in 2021.11, that is now. + +Old services and service data that contained "snapshot" has now been removed, +and you need to update your configuration if you use any of these to continue to use it. + +Old service name | New service name +-- | -- +`hassio.snapshot_partial` | `hassio.backup_partial` +`hassio.snapshot_full` | `hassio.backup_full` + +If you used the `snapshot` argument for the restore services you now have to replace that with `slug` + +Example: + +```yaml +# Old name +service: hassio.restore_full +data: + snapshot: sn2321 + +# New name +service: hassio.restore_full +data: + slug: sn2321 +``` + +([@ludeeus] - [#57652]) ([hassio docs]) + +{% enddetails %} + +{% details "UptimeRobot" %} + +The previously deprecated YAML configuration of the UptimeRobot integration has been removed. + +UptimeRobot is now configured via the UI, any existing YAML configuration has been imported +in previous releases and can now be safely removed from your YAML configuration files. + +([@ludeeus] - [#57761]) ([uptimerobot docs]) + +{% enddetails %} + +{% details "Utility Meter" %} + +The `offset` parameter for `utility_meter` sensors is now limited to at most +27 days. If you used more then 27 days you must now migrate to `cron`. + +([@dgomes] - [#55625]) ([utility_meter docs]) + +{% enddetails %} + +{% details "Venstar" %} + +The Venstar integration migrated to configuration via the UI. +Configuring Venstar via YAML configuration has been deprecated +and will be removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this +release; and thus can be safely removed from your YAML configuration after upgrading. + +The humidifer and timeout options have been removed, and thus ignored when +importing your YAML configuration into the UI. + +([@garbled1] - [#58152]) ([venstar docs]) + +{% enddetails %} + +{% details "Viessmann ViCare" %} + +Due to upstream library updates, a breaking change was introduced that required +changes to `sensor` and `binary_sensor` entities. + +Circuit, Burner and Compressor have been separated out from the "main" device. +Multiple circuits and burners now allow "duplicate sensors", we've added the +circuit or burner number as suffix. + +Most of you should not see a difference, but complex installations +(with more than one circuit and/or burner), will have multiple entities, +suffixed with their burner or entity IDs. + +For example, if you have two circuits instead of a single `climate.vicare` +entity you will now instead have two entities: + +- `climate.vicare_1` +- `climate.vicare_2` + +This will provide you more control, but requires you to adapt your existing +scripts and automations to use the new entity IDs. + +The same has been done for `sensor`, `binary_sensor` and `water_heater` entities. + +Also, note that binary sensors might be created twice since the unique IDs for +those entities have changed. Please remove the old disabled `binary_sensor` +entities, in case you encounter this. + +([@oischinger] - [#57700]) ([vicare docs]) + +{% enddetails %} + +{% details "VLC media player Telnet" %} + +The VLC media player Telnet integration migrated to configuration via the UI. +Configuring VLC media player Telnet via YAML configuration has been deprecated +and will be removed in a future Home Assistant release. + +Your existing YAML configuration is automatically imported on upgrade to this +release; and thus can be safely removed from your YAML configuration after upgrading. + +([@MartinHjelmare] - [#57513]) ([vlc_telnet docs]) + +{% enddetails %} + +{% details "Xiaomi Miio" %} + +Attributes from the vacuum entities have been replaced with sensors. + +This means that all your references to these attributes must be replaced with +its sensor in your automations, scripts and dashboards. + +Some sensors have been disabled by default and need manual enablement, +once the integration has been set up. For example, the attribute +`mop_attached: true` has now been replaced with +`binary_sensor._mop_attached`. + +([@OGKevin] - [#54990]) ([xiaomi_miio docs]) + +{% enddetails %} + +{% details "Yeelight" %} + +The option to override the Yeelight model will only appear if the detected +model is not in the database. Otherwise, it will be hidden. + +([@bdraco] - [#56967]) ([yeelight docs]) + +{% enddetails %} + +## Farewell to the following + +The following integrations are no longer available as of this release: + +- **Essent** has been removed. The API is no longer usable for this integration + and has therefore been removed. ([@TheLastProject] - [#56991]) +- **Lyft** has been previously deprecated and now removed. API keys are no longer + being provided. ([@frenck] - [#57638]) +- **Nello** has been removed. The services are no longer available, + and have been offline for over 6 months. ([@pattyland] - [#57926]) +- **Huawei Router** has been removed. It relies on web scraping, which is no + longer allowed. ([@yuvalabou] - [#57136]) +- **Wink** has been previously deprecated and now removed. ([@frenck] - [#57634]) + +## All changes + +{% details "Click to see all changes!" %} + +- Bump version to 2021.11.0dev0 ([@frenck] - [#56835]) +- Strictly type Nanoleaf ([@milanmeu] - [#56852]) ([nanoleaf docs]) +- Add Device Info to Nanoleaf ([@milanmeu] - [#56856]) ([nanoleaf docs]) +- Add long-term statistics support for rain sensors ([@cgtobi] - [#56847]) ([netatmo docs]) +- removing excess variable ([@lanrat] - [#56849]) ([keyboard_remote docs]) +- Rename state to value_fn - picnic sensor ([@cdce8p] - [#56889]) ([picnic docs]) +- Deduplicate controls of UniFi services ([@Kane610] - [#56834]) ([unifi docs]) +- Add kPa as a pressure unit ([@gwww] - [#56885]) +- Remove some redundant code from trace ([@emontnemery] - [#56883]) ([trace docs]) +- Use HTTPStatus instead of HTTP_* consts in aiohttp web response statuses ([@scop] - [#56541]) +- Enable template icons for template numbers ([@JeffLIrion] - [#56154]) ([template docs]) +- Improve deCONZ services code quality ([@Kane610] - [#56904]) ([deconz docs]) +- Use HTTPStatus instead of HTTP_* constants in various test mocks ([@scop] - [#56543]) +- Bump fritzconnection to 1.7.0 ([@chemelli74] - [#56924]) ([fritz docs]) ([fritzbox_callmonitor docs]) +- Add SSDP discovery to Nanoleaf ([@milanmeu] - [#56907]) ([nanoleaf docs]) +- Get min and max color temperature for Nanoleaf light from library ([@milanmeu] - [#56863]) ([nanoleaf docs]) +- Upgrade watchdog to 2.1.6 ([@frenck] - [#56933]) ([folder_watcher docs]) +- Update denonavr codeowner ([@ol-iver] - [#56940]) ([denonavr docs]) +- Use NamedTuple - iqvia Rating ([@cdce8p] - [#56943]) ([iqvia docs]) +- Log when Nanoleaf is unavailable ([@milanmeu] - [#56921]) ([nanoleaf docs]) +- Remove injected logger in Ambient PWS and OpenUV ([@bachya] - [#56920]) ([openuv docs]) ([ambient_station docs]) +- Flux led config flow ([@icemanch] - [#56354]) ([flux_led docs]) (breaking-change) +- Remove icon if device_class is defined - homekit_controller ([@cdce8p] - [#56946]) ([homekit_controller docs]) +- Sia package update to 3.0.2 ([@eavanvalkenburg] - [#56896]) ([sia docs]) +- ZHA support for additional entities on ElectricalMeasurement ZCL cluster ([@Adminiuga] - [#56909]) ([zha docs]) +- Add strict typing to Tractive integration ([@bieniu] - [#56948]) ([tractive docs]) +- Bump gios library to 2.1.0 ([@bieniu] - [#56984]) ([gios docs]) +- Update surepetcare test ([@Danielhiversen] - [#56871]) ([surepetcare docs]) +- Update pyhomematic to 0.1.75 ([@danielperna84] - [#56995]) ([homematic docs]) +- Support connecting to ElkM1 over TLS 1.2 ([@gwww] - [#56887]) ([elkm1 docs]) +- Bump nettigo_air_monitor library to version 1.1.0 ([@bieniu] - [#56952]) ([nam docs]) +- Use Final type only when needed in Tractive ([@bieniu] - [#57000]) ([tractive docs]) +- Minor improvements to deCONZ light platform ([@Kane610] - [#56953]) ([deconz docs]) +- Use EntityDescription - homekit_controller ([@cdce8p] - [#56945]) ([homekit_controller docs]) +- Fix tractive flaky test ([@balloob] - [#57026]) ([tractive docs]) +- Remove Essent integration ([@TheLastProject] - [#56991]) ([essent docs]) (breaking-change) +- Prevent opening of sockets in kira tests ([@emontnemery] - [#57038]) ([kira docs]) +- Use NamedTuple for homekit valve type + service info ([@cdce8p] - [#56944]) ([homekit docs]) +- Use hass_client_no_auth test fixture in additional tests ([@emontnemery] - [#57037]) +- Use NamedTuple for darksky condition picture ([@cdce8p] - [#56942]) ([darksky docs]) +- Upgrade coverage to 6.0 ([@frenck] - [#57041]) +- Mock out network.util.async_get_source_ip in tests ([@emontnemery] - [#57039]) ([local_ip docs]) +- Fix multiline lambda formatting - homekit_controller ([@cdce8p] - [#57046]) ([homekit_controller docs]) +- Use NamedTuple for repetier API methods ([@cdce8p] - [#56941]) ([repetier docs]) +- Add ZHA HVAC Action sensor ([@Adminiuga] - [#57021]) ([zha docs]) +- Prevent tplink from opening sockets in tests ([@bdraco] - [#57058]) ([tplink docs]) +- Prevent dlna_dmr from opening sockets in tests ([@bdraco] - [#57059]) ([dlna_dmr docs]) +- Activate mypy for rpi_power ([@Misiu] - [#57047]) ([rpi_power docs]) +- Bump nest 0.3.7 to prepare for WebRTC support ([@allenporter] - [#57089]) ([nest docs]) +- Deprecate Python 3.8 ([@balloob] - [#57079]) (breaking-change) +- Additional place to use isinstance rather than do a string compare ([@Kane610] - [#57094]) ([deconz docs]) +- Upgrade jinja2 to 3.0.2 ([@frenck] - [#57095]) +- Upgrade sentry-sdk to 1.4.3 ([@frenck] - [#57096]) ([sentry docs]) +- Upgrade debugpy to 1.5.0 ([@frenck] - [#57098]) ([debugpy docs]) +- Prevent opening of sockets in mqtt tests ([@emontnemery] - [#57101]) ([mqtt docs]) +- Fix color util links to Philips Hue documentation ([@bokub] - [#57099]) +- Add additional properties to node_status WS cmd ([@raman325] - [#56927]) ([zwave_js docs]) +- Use current config entry standards for OpenUV ([@bachya] - [#57137]) ([openuv docs]) +- Add support for POLY and RLY in Coinbase ([@TomBrien] - [#57144]) ([coinbase docs]) +- Add additional devices to flux_led discovery ([@bdraco] - [#57086]) ([flux_led docs]) +- Block tests from opening sockets ([@emontnemery] - [#55516]) +- Write flux_led state after turning on/off ([@bdraco] - [#57152]) ([flux_led docs]) +- Add sw_version and model to flux_led device info ([@bdraco] - [#56958]) ([flux_led docs]) +- Add missing return type to async_unload_entry and async_setup_entry ([@Misiu] - [#57115]) +- Add home-assistant/core as codeowner for recorder ([@emontnemery] - [#57224]) ([recorder docs]) +- Upgrade coverage to 6.0.1 ([@frenck] - [#57235]) +- Toon, support Energy dashboard by default ([@frenck] - [#57233]) ([toon docs]) +- Ensure that WattTime is strictly typed ([@bachya] - [#57130]) +- Improve deCONZ signal strings ([@Kane610] - [#57140]) ([deconz docs]) +- Refactor persistent notification to no longer route all data via a service ([@balloob] - [#57157]) ([persistent_notification docs]) (breaking-change) +- Allow resetting an MQTT number ([@emontnemery] - [#57161]) ([mqtt docs]) +- Use EntityDescription - darksky ([@cdce8p] - [#57083]) ([darksky docs]) +- Enable template icons for template selects ([@JeffLIrion] - [#57092]) ([template docs]) +- Refactor Xiaomi vacuum to sensors ([@OGKevin] - [#54990]) ([xiaomi_miio docs]) (breaking-change) +- Upgrade ambee to 0.4.0 ([@frenck] - [#57264]) ([ambee docs]) +- Use current config entry standards for Ambient PWS ([@bachya] - [#57133]) ([ambient_station docs]) +- Improve dlna_dmr code quality ([@chishm] - [#56886]) ([dlna_dmr docs]) (breaking-change) +- Motion_blinds fix up button not available for unidirection blinds ([@starkillerOG] - [#57266]) ([motion_blinds docs]) +- Add WebSocket API for intiting a WebRTC stream ([@allenporter] - [#57034]) ([camera docs]) +- Use _attr in 17track ([@yuvalabou] - [#57187]) ([seventeentrack docs]) +- Add config flow to Stookalert ([@frenck] - [#57119]) ([stookalert docs]) (breaking-change) +- Drop more persistent notification patches ([@balloob] - [#57295]) ([dlna_dmr docs]) ([waze_travel_time docs]) ([google_travel_time docs]) ([vizio docs]) ([climacell docs]) +- Disconnect websockets after token is revoked ([@dboslee] - [#57091]) ([websocket_api docs]) +- Reorganize RainMachine services ([@bachya] - [#57145]) ([rainmachine docs]) (breaking-change) +- Add device info to nws ([@MatthewFlamm] - [#57153]) ([nws docs]) +- Use built-in logic for options handler in AirVisual ([@bachya] - [#57131]) ([airvisual docs]) +- Use current config entry standards for SimpliSafe ([@bachya] - [#57141]) ([simplisafe docs]) +- Bump greeclimate to 0.11.9 ([@cmroche] - [#57358]) ([gree docs]) +- Handle prepare timeout in websocket API ([@balloob] - [#55989]) ([websocket_api docs]) +- Add Sure Petcare Felaqua device ([@benleb] - [#56823]) ([surepetcare docs]) +- Add Shelly config entry reload on device config change ([@thecode] - [#57356]) ([shelly docs]) +- Create devices for Growatt ([@indykoning] - [#57068]) ([growatt_server docs]) +- Add -9999 error fix back in Xiaomi Miio ([@bieniu] - [#57399]) ([xiaomi_miio docs]) +- Add System Bridge display sensors ([@timmo001] - [#57019]) ([system_bridge docs]) +- Improve Whirlpool component code quality ([@abmantis] - [#57357]) ([whirlpool docs]) +- Flux led color support ([@icemanch] - [#57353]) ([flux_led docs]) +- Convert flux_led to use asyncio ([@bdraco] - [#57440]) ([flux_led docs]) +- Update pyfronius to 0.7.0 ([@farmio] - [#57279]) ([fronius docs]) +- Bump aiodiscover to 2.4.5 ([@bdraco] - [#57439]) ([dhcp docs]) +- Upgrade rvx to 0.7.0 ([@spahlimi] - [#57430]) ([yamaha docs]) +- Bump pytautulli to 21.10.0 ([@tkdrob] - [#57449]) ([tautulli docs]) +- Add config flow for efergy ([@tkdrob] - [#56890]) ([efergy docs]) (breaking-change) +- Use _attr for Suez water ([@yuvalabou] - [#57278]) ([suez_water docs]) +- Add test of lazy_error in modbus ([@janiversen] - [#57170]) ([modbus docs]) +- Update somecomfort library to 0.7.0 ([@rdfurman] - [#57214]) ([honeywell docs]) +- Add Netgear ssid and conn_ap_mac sensors ([@starkillerOG] - [#57226]) ([netgear docs]) +- Bump Daikin version, catch new exception during config_flow ([@fredrike] - [#57080]) ([daikin docs]) +- Add xiaomi vacuum -9999 fix back ([@OGKevin] - [#57473]) ([xiaomi_miio docs]) +- Add energy management for efergy ([@tkdrob] - [#57472]) ([efergy docs]) +- Don't override methods marked as final ([@cdce8p] - [#57477]) +- Use EntityDescription - openweathermap ([@cdce8p] - [#56888]) ([openweathermap docs]) +- Add dhcp support for tplink KP401 ([@bdraco] - [#57456]) ([tplink docs]) +- Use current config entry standards for AirVisual ([@bachya] - [#57132]) ([airvisual docs]) +- Bump `nettigo_air_monitor` library to version 1.1.1 ([@bieniu] - [#57483]) ([nam docs]) +- Switch to config_flow for Environment Canada ([@gwww] - [#57127]) ([environment_canada docs]) (breaking-change) +- Add the switch platform to flux_led ([@bdraco] - [#57444]) ([flux_led docs]) (new-platform) +- Add DHCP discovery for additional Zengge devices, generic magichome strips ([@bdraco] - [#57408]) ([flux_led docs]) +- Use entity description for Ezviz sensors ([@RenierM26] - [#56634]) ([ezviz docs]) +- Streamline modbus before 100% coverage. ([@janiversen] - [#57478]) ([modbus docs]) +- Add ability to re-auth WattTime ([@bachya] - [#56582]) ([watttime docs]) +- Fix watttime config flow and tests ([@MartinHjelmare] - [#57498]) ([watttime docs]) +- Move attribution attribute to Entity base class ([@frenck] - [#57492]) ([weather docs]) ([air_quality docs]) +- Allow MQTT discovery availability shortcut ([@jbouwh] - [#57479]) ([mqtt docs]) +- Override the jinja2 int filter ([@emontnemery] - [#57470]) +- Fix Tuya error when removing device ([@frenck] - [#57512]) ([tuya docs]) +- Pass device manager directly in Tuya registry cleanup ([@frenck] - [#57511]) ([tuya docs]) +- Entity attributes cleanup in Tuya base entity ([@frenck] - [#57510]) ([tuya docs]) +- Migrate attribution attribute for Picnic ([@frenck] - [#57507]) ([picnic docs]) +- Migrate attribution attribute for AmberElectric ([@frenck] - [#57505]) ([amberelectric docs]) +- Migrate attribution attribute for UptimeRobot ([@frenck] - [#57508]) ([uptimerobot docs]) +- Migrate attribution attribute for Arlo ([@frenck] - [#57504]) ([arlo docs]) +- Migrate attribution attribute for Stookalert ([@frenck] - [#57503]) ([stookalert docs]) +- Upgrade flake8-comprehensions to 3.7.0 ([@frenck] - [#57520]) +- Upgrade coverage to 6.0.2 ([@frenck] - [#57518]) +- Add statistics support to nest sensors ([@allenporter] - [#57393]) ([nest docs]) +- Bump `accuweather` library to version 0.3.0 ([@bieniu] - [#57497]) ([accuweather docs]) +- MQTT rework constants ([@jbouwh] - [#57529]) ([mqtt docs]) +- Move all Tuya device handling into device listener class ([@frenck] - [#57523]) ([tuya docs]) +- Move Tuya remap method from base to light entity class ([@frenck] - [#57527]) ([tuya docs]) +- Use EntityDescription - bmw_connected_drive ([@cdce8p] - [#56861]) ([bmw_connected_drive docs]) +- Alphabetize parts of device registry code ([@emontnemery] - [#57532]) ([config docs]) +- Tweaks to Tuya base entity ([@frenck] - [#57526]) ([tuya docs]) +- Use Tuya endpoints values from upstream library ([@frenck] - [#57537]) ([tuya docs]) +- Bump pytradfri to 7.0.7 ([@janiversen] - [#57543]) ([tradfri docs]) +- Update flake8 related packages ([@cdce8p] - [#57538]) +- Add service to Rainmachine to push weather data from Home Assistant ([@shbatm] - [#57354]) ([rainmachine docs]) +- Refactor Tuya device handling ([@frenck] - [#57545]) ([tuya docs]) +- Search for areas, devices and entities in script choose actions ([@emontnemery] - [#57554]) +- Add statistics tests for sensor with changing device class ([@emontnemery] - [#57317]) ([sensor docs]) +- Replace all Tuya device property constants with an Enum ([@frenck] - [#57559]) ([tuya docs]) +- Always include start point for statistics ([@emontnemery] - [#57182]) ([recorder docs]) ([sensor docs]) +- Refresh the bond token if it has changed and available ([@bdraco] - [#57583]) ([bond docs]) +- Fix single channel controllers with flux_led ([@bdraco] - [#57458]) ([flux_led docs]) +- Use a human readable model name in flux_led ([@bdraco] - [#57519]) ([flux_led docs]) +- Warn user if Gateway is already paired ([@janiversen] - [#57530]) ([tradfri docs]) +- Add Nest WebRTC and support Nest Battery Camera and Nest Battery Doorbell ([@allenporter] - [#57299]) ([camera docs]) ([nest docs]) +- Add a use_time sensor for Xiaomi_miio humidifiers ([@jbouwh] - [#57560]) ([xiaomi_miio docs]) +- Add unique_id support for eq3btsmart ([@lkempf] - [#57603]) ([eq3btsmart docs]) +- Add support for multiple Whirlpool airconditioners ([@abmantis] - [#57588]) ([whirlpool docs]) +- Improve warning prints for sensor statistics ([@emontnemery] - [#57605]) ([sensor docs]) +- Bump version ([@Cereal2nd] - [#57607]) ([velbus docs]) +- Use gather ipv wait to remove credentials to catch exceptions ([@balloob] - [#57596]) +- Guard linking credential that is already linked ([@balloob] - [#57595]) ([auth docs]) +- Prevent event loop delay / instability from discovery ([@bdraco] - [#57463]) ([zeroconf docs]) ([ssdp docs]) +- Clarify that only HTTPS can be used in fitbit ([@ammgws] - [#57116]) ([fitbit docs]) +- ESPHome move ReconnectLogic to aioesphomeapi ([@OttoWinter] - [#57601]) ([esphome docs]) +- Provide device_id in hue_event ([@krys1976] - [#56982]) ([hue docs]) +- Refactor Tuya climate platform ([@frenck] - [#57609]) ([climate docs]) ([tuya docs]) +- Modbus baseplatform.py and Validators.py 100% coverage (activate coverage) ([@janiversen] - [#57546]) ([modbus docs]) +- Use EntityDescription in Tuya Switch platform ([@frenck] - [#57581]) ([tuya docs]) +- Remove debug log ([@balloob] - [#57619]) +- Add binary sensor platform to Tuya ([@frenck] - [#57623]) ([tuya docs]) (new-platform) +- Update tests searching for areas referenced in automations ([@emontnemery] - [#57558]) +- Remove myself as code owner from Toon ([@frenck] - [#57625]) ([toon docs]) +- Use classmethod in Tuya TypeData classes ([@frenck] - [#57627]) ([tuya docs]) +- Prettify Tuya entity class names ([@frenck] - [#57629]) ([tuya docs]) +- Use entity_registry_enabled_default for Nut sensors ([@ollo69] - [#56854]) ([nut docs]) +- Remove deprecated Wink integration ([@frenck] - [#57634]) ([discovery docs]) ([wink docs]) (breaking-change) +- Nut: Use coordinator data, code cleanup and add test coverage ([@ollo69] - [#57643]) ([nut docs]) +- Correct state classes for systemmonitor sensors ([@mib1185] - [#57615]) ([systemmonitor docs]) +- Remove YAML configuration from Rainforest Eagle ([@frenck] - [#57636]) ([rainforest_eagle docs]) (breaking-change) +- Use HTTPStatus instead of HTTP_* int constants in mobile_app responses ([@scop] - [#56418]) ([mobile_app docs]) +- Use reference strings in soma ([@jasonmadigan] - [#57564]) ([soma docs]) +- Upgrade pyyaml to 6.0 ([@frenck] - [#57648]) +- Remove snapshot from hassio integration ([@ludeeus] - [#57652]) ([hassio docs]) (breaking-change) +- Add config and diagnostic entities ([@emontnemery] - [#57528]) ([config docs]) +- Bump flux_led to 0.24.5 ([@bdraco] - [#57653]) ([flux_led docs]) +- Late review comments. ([@janiversen] - [#57654]) ([modbus docs]) +- Migrate attribution attribute for bbox ([@frenck] - [#57650]) ([bbox docs]) +- Migrate attribution attribute for bitcoin ([@frenck] - [#57651]) ([bitcoin docs]) +- Migrate attribution attribute for Aftership ([@frenck] - [#57649]) ([aftership docs]) +- Remove deprecated Lyft integration ([@frenck] - [#57638]) ([lyft docs]) (breaking-change) +- Only pass libav logger messages when stream logger is set to debug ([@uvjustin] - [#57616]) ([stream docs]) +- Add select platform to Tuya ([@frenck] - [#57674]) ([tuya docs]) +- Clean up unused loggers ([@tkdrob] - [#57662]) +- Update xknx to version 0.18.10 ([@marvin-w] - [#57635]) ([knx docs]) +- Add support for device configuration URL ([@emontnemery] - [#57539]) ([config docs]) +- Fix lint issue ([@balloob] - [#57694]) +- Add sensor platform to Tuya ([@frenck] - [#57668]) ([tuya docs]) (new-platform) +- Port unmerged fixes from tuya_v2 ([@pabigot] - [#57624]) ([tuya docs]) +- Add number platform to Tuya ([@frenck] - [#57672]) ([tuya docs]) +- Add entity category to WLED ([@balloob] - [#57693]) ([wled docs]) +- Add service configuration URL to Stookalert ([@frenck] - [#57697]) ([stookalert docs]) +- Add device configuration URL to Plugwise ([@frenck] - [#57696]) ([plugwise docs]) +- Add service configuration URL to Spotify ([@frenck] - [#57701]) ([spotify docs]) +- Bump frontend to 20211014.0 ([@balloob] - [#57706]) ([frontend docs]) +- Add support for entity categories to NUT entities ([@mib1185] - [#57689]) ([nut docs]) +- Add support for entity categories to Synology DSM entities ([@mib1185] - [#57690]) ([synology_dsm docs]) +- Optimize update calls for AVM Fritz!Smarthome devices ([@mib1185] - [#57579]) ([fritzbox docs]) +- Skip auto-update when fqdn and ssl-verfiy is used for Synology DSM ([@mib1185] - [#57568]) ([synology_dsm docs]) +- Add url to CO2signal ([@balloob] - [#57703]) ([co2signal docs]) +- Add configuration url to Synology DSM ([@mib1185] - [#57704]) ([synology_dsm docs]) +- Add state_class to EnOcean sensors ([@davidlb] - [#57666]) ([enocean docs]) +- Remove long-term statistics from IQVIA forecast sensor ([@bachya] - [#57687]) ([iqvia docs]) (breaking-change) +- Add entity category to Shelly ([@bieniu] - [#57705]) ([shelly docs]) +- Add strict typing to goalzero ([@tkdrob] - [#57680]) ([goalzero docs]) +- Add configuration_url to Uptime Robot ([@ludeeus] - [#57709]) ([uptimerobot docs]) +- push motionblinds to 0.5.6 ([@starkillerOG] - [#57707]) ([motion_blinds docs]) +- Add service configuration URL to Verisure ([@frenck] - [#57713]) ([verisure docs]) +- Add service configuration URL to Speedtest.net ([@frenck] - [#57715]) ([speedtestdotnet docs]) +- Fix platform typo in Tuya const ([@ludeeus] - [#57716]) ([tuya docs]) +- Add device configuration URL to WLED ([@frenck] - [#57692]) ([wled docs]) +- Change name from Uptime Robot to UptimeRobot ([@ludeeus] - [#57714]) ([uptimerobot docs]) +- Xiaomi Miio appropriatly raise ConfigEntryAuthFailed/ConfigEntryNotReady ([@starkillerOG] - [#54696]) ([xiaomi_miio docs]) +- Add entity category to Xiaomi Miio ([@bieniu] - [#57719]) ([xiaomi_miio docs]) +- Add entity category to Tractive ([@bieniu] - [#57720]) ([tractive docs]) +- Add entity category to Brother ([@bieniu] - [#57728]) ([brother docs]) +- Add service configuration URL to MQTT ([@frenck] - [#57731]) ([mqtt docs]) +- Add Shelly "installed version" extra state attribute to Gen2 firmware update sensor ([@thecode] - [#57722]) ([shelly docs]) +- Add configuration url to Pi hole ([@mib1185] - [#57718]) ([pi_hole docs]) +- Add configuration_url to gogogate2 ([@bdraco] - [#57739]) ([gogogate2 docs]) +- Add configuration url to nexia ([@bdraco] - [#57740]) ([nexia docs]) +- Add discovery support for single channel magichome controllers ([@bdraco] - [#57736]) ([flux_led docs]) +- COnvert DATA_TYPE to enum. ([@janiversen] - [#57699]) ([modbus docs]) +- Add entity category to cloud ([@balloob] - [#57747]) ([cloud docs]) +- Add onewire support for DS2413 ([@ronalterde] - [#55921]) ([onewire docs]) +- Fix WLED exception on close ([@balloob] - [#57752]) ([wled docs]) +- Fix signature for hassio.restore_partial service ([@avee87] - [#57735]) ([hassio docs]) +- Add documentation link for Supervisor integration ([@avee87] - [#57733]) ([hassio docs]) +- Centralize entity naming for Tuya entities ([@frenck] - [#57755]) ([tuya docs]) +- Add configuration URL to Brother ([@bieniu] - [#57726]) ([brother docs]) +- Minor tweak of entityfilter typing ([@emontnemery] - [#57756]) +- Activate strict typing for nfandroidtv ([@tkdrob] - [#57743]) ([nfandroidtv docs]) +- Move Tuya value scaling into IntegerTypeData ([@frenck] - [#57757]) ([tuya docs]) +- Add configuration url to rachio ([@bdraco] - [#57738]) ([rachio docs]) +- Renamed variables in Tuya ([@frenck] - [#57759]) ([tuya docs]) +- Add entity category to Nettigo Air Monitor entities ([@bieniu] - [#57698]) ([nam docs]) +- Remove YAML import from UptimeRobot ([@ludeeus] - [#57761]) ([uptimerobot docs]) (breaking-change) +- Swap order of int template helper kwargs ([@Petro31] - [#57729]) +- Add support for entity categories to MQTT entities ([@emontnemery] - [#57656]) ([mqtt docs]) +- Add renault last activity sensors ([@epenet] - [#57750]) ([renault docs]) (breaking-change) +- Don't add indirectly referenced config entities to service calls ([@emontnemery] - [#57671]) ([homekit docs]) ([homeassistant docs]) (breaking-change) +- Don't expose config or diagnostic entities to Amazon Alexa by default ([@emontnemery] - [#57770]) ([alexa docs]) +- Don't expose config or diagnostic entities to Google Assistant ([@emontnemery] - [#57669]) ([google_assistant docs]) (breaking-change) +- Don't expose config or diagnostic entities to cloud ([@emontnemery] - [#57771]) ([cloud docs]) (breaking-change) +- Fix modem_callerid test warning ([@MartinHjelmare] - [#57760]) ([modem_callerid docs]) +- Clean startup of modbus by moving service schemas ([@janiversen] - [#57763]) ([modbus docs]) +- Add device class to temperature sensors for octoprint ([@firstof9] - [#56997]) ([octoprint docs]) +- Merge bmw_connected_drive metric and imperial sensor types ([@cdce8p] - [#56910]) ([bmw_connected_drive docs]) +- Add PIR Detector (pir) device support to Tuya ([@frenck] - [#57784]) ([tuya docs]) +- Identify onetime listeners ([@balloob] - [#57751]) +- Add vlc telnet config flow ([@MartinHjelmare] - [#57513]) ([vlc_telnet docs]) (breaking-change) +- Add Emergency Button (sos) device support to Tuya ([@frenck] - [#57794]) ([tuya docs]) +- Use assignment expressions 10 ([@cdce8p] - [#57791]) ([emulated_hue docs]) ([fan docs]) ([group docs]) ([google_assistant docs]) ([device_automation docs]) +- Add siren platform to Tuya ([@frenck] - [#57780]) ([tuya docs]) +- Add Luminance Sensor (ldcg) device support to Tuya ([@frenck] - [#57797]) ([tuya docs]) +- Don't use cast when possible for goalzero ([@tkdrob] - [#57742]) ([goalzero docs]) +- Add float32 test to modbus ([@janiversen] - [#57805]) ([modbus docs]) +- Add configuration URL to RainMachine ([@bachya] - [#57732]) ([rainmachine docs]) +- Discover plex via zeroconf ([@bdraco] - [#57825]) ([plex docs]) +- Add configuration_url to Sense ([@bdraco] - [#57814]) ([sense docs]) +- Avoid exposing effects to flux_led lights that do not support them ([@bdraco] - [#57810]) ([flux_led docs]) +- Add myself as codeowner for Tuya ([@frenck] - [#57837]) ([tuya docs]) +- Fix vlc_telnet disconnect on unload ([@MartinHjelmare] - [#57836]) ([vlc_telnet docs]) +- Make sure Tile data storage conforms to standards ([@bachya] - [#57818]) ([tile docs]) +- Make sure ReCollect Waste data storage conforms to standards ([@bachya] - [#57817]) ([recollect_waste docs]) +- Add configuration URL to Efergy ([@tkdrob] - [#57839]) ([efergy docs]) +- Add support for device configuration URL to Nettigo Air Monitor integration ([@bieniu] - [#57695]) ([nam docs]) +- Bump pytradfri to v.7.1.0 ([@janiversen] - [#57861]) ([tradfri docs]) +- Add support for 'freeze' mode in Tuya thermostats (wk) ([@frenck] - [#57851]) ([tuya docs]) +- Add new mac vendor to sense DHCP ([@tkdrob] - [#57858]) ([sense docs]) +- Add tamper device class for binary sensor ([@frenck] - [#57632]) ([binary_sensor docs]) +- Use DeviceInfo class ([@Danielhiversen] - [#57868]) ([tibber docs]) ([surepetcare docs]) ([mill docs]) ([opengarage docs]) ([tractive docs]) +- Restore dhcp discovery support to tuya ([@bdraco] - [#57826]) ([tuya docs]) +- Avoid probing brother devices that have an existing config entry ([@bdraco] - [#57829]) ([brother docs]) +- Set state class in JuiceNet component ([@b-pass] - [#57870]) ([juicenet docs]) +- Add hassio discovery to VLC telnet ([@mib1185] - [#57815]) ([vlc_telnet docs]) +- Add camera platform to Tuya ([@frenck] - [#57865]) ([tuya docs]) (new-platform) +- Use separate weather condition for clear night in MetOffice forecasts ([@avee87] - [#55135]) ([metoffice docs]) +- Decrease `timeout` and `update_interval` in Xiaomi Miio integration ([@bieniu] - [#57339]) ([xiaomi_miio docs]) +- Add additional models to flux_led DHCP discovery ([@bdraco] - [#57881]) ([flux_led docs]) +- Add use time sensor for air purifiers ([@bieniu] - [#57775]) ([xiaomi_miio docs]) +- Make sure AirVisual data storage conforms to standards ([@bachya] - [#57806]) ([airvisual docs]) +- Make sure OpenUV data storage conforms to standards ([@bachya] - [#57813]) ([openuv docs]) +- Make sure Notion data storage conforms to standards ([@bachya] - [#57812]) ([notion docs]) +- Update xknx to 0.18.11 and fix flaky test ([@marvin-w] - [#57877]) ([knx docs]) +- Add sensor category for rssi and battery ([@elupus] - [#57848]) ([rfxtrx docs]) +- Bump pymodbus to 2.5.3. ([@janiversen] - [#57887]) ([modbus docs]) +- Bump pypoint ([@fredrike] - [#57888]) ([point docs]) +- Improve lutron caseta error reporting when bridge is offline ([@bdraco] - [#57832]) ([lutron_caseta docs]) +- Do not probe `nam` device if the host is already configured ([@bieniu] - [#57843]) ([nam docs]) +- Bump `brother` library to version 1.1.0 ([@bieniu] - [#57892]) ([brother docs]) +- Fix mode_callerid attributes ([@tkdrob] - [#57774]) ([modem_callerid docs]) (breaking-change) +- push motionblinds to 0.5.7 ([@starkillerOG] - [#57902]) ([motion_blinds docs]) +- Fix order of arguments in rainmachine sensors ([@bdraco] - [#57895]) ([rainmachine docs]) +- Add the correct device class to deCONZ Tamper entity ([@Kane610] - [#57834]) ([deconz docs]) +- Add unit/device_class validation and normalization to Tuya ([@frenck] - [#57913]) ([tuya docs]) +- Add category diagnostic to Tibber signal sensor ([@Danielhiversen] - [#57840]) ([tibber docs]) +- Add category diagnostic to Surepetcare battery sensor ([@Danielhiversen] - [#57852]) ([surepetcare docs]) +- Add category diagnostic to Switchbot battery and signal sensor ([@Danielhiversen] - [#57854]) ([switchbot docs]) +- Airthings entity category diagnostic ([@Danielhiversen] - [#57850]) ([airthings docs]) +- Add device info to Adax ([@Danielhiversen] - [#57907]) ([adax docs]) +- Use attr_device_info and add init tests for nut ([@ollo69] - [#57725]) ([nut docs]) +- Set `nest` camera always on STATE_STREAMING ([@allenporter] - [#57882]) ([nest docs]) +- Improve nest error handling for websocket streams ([@allenporter] - [#57885]) ([nest docs]) +- Add category diagnostic to Surepetcare binary sensor ([@Danielhiversen] - [#57908]) ([surepetcare docs]) +- Opengarage dataupdater ([@Danielhiversen] - [#56931]) ([opengarage docs]) +- Fix bond reloading on zeroconf discovery when host has not changed ([@bdraco] - [#57799]) ([bond docs]) +- Use assignment expressions 05 ([@cdce8p] - [#57785]) +- Use assignment expressions 08 ([@cdce8p] - [#57788]) +- Use assignment expressions 06 ([@cdce8p] - [#57786]) +- Use assignment expressions 03 ([@cdce8p] - [#57710]) +- Use assignment expressions 11 ([@cdce8p] - [#57792]) +- Use assignment expressions 09 ([@cdce8p] - [#57790]) +- Use assignment expressions 07 ([@cdce8p] - [#57787]) +- Add support for push updates to flux_led ([@bdraco] - [#57890]) ([flux_led docs]) +- Adax attr ([@Danielhiversen] - [#57867]) ([adax docs]) +- Add Vibration Sensor (zd) device support to Tuya ([@frenck] - [#57795]) ([tuya docs]) +- Use EntityDescription - bmw_connected_drive sensor ([@cdce8p] - [#57796]) ([bmw_connected_drive docs]) +- Fix additional nest camera_sdm_tests to use STATE_STREAMING ([@allenporter] - [#57920]) ([nest docs]) +- Bump broadlink to 0.18.0 ([@felipediel] - [#57929]) ([broadlink docs]) +- Rename `stream_type` to `frontend_stream_type` ([@allenporter] - [#57923]) ([camera docs]) ([nest docs]) +- New service reconnect_client for UniFi integration ([@Kane610] - [#57570]) ([unifi docs]) +- Bump actions/checkout from 2.3.4 to 2.3.5 (@dependabot - [#57947]) +- Tuya tweaks to entity category, registry enabled, icons & device classes ([@frenck] - [#57949]) ([tuya docs]) +- Use pytest fixtures on Renault tests ([@epenet] - [#57955]) ([renault docs]) +- Use assignment expressions 15 ([@cdce8p] - [#57961]) +- Add configuration url to Tasmota ([@emontnemery] - [#57957]) ([tasmota docs]) +- Use assignment expressions 19 ([@cdce8p] - [#57968]) +- Use assignment expressions 18 ([@cdce8p] - [#57967]) +- Bump hatasmota to 0.2.21 ([@emontnemery] - [#57966]) ([tasmota docs]) +- Support device and state classes for WAQI sensor ([@davidlb] - [#57762]) ([waqi docs]) +- Bump flux_led to 0.24.8 ([@bdraco] - [#57934]) ([flux_led docs]) +- Mark spider YAML configuration as deprecated ([@peternijssen] - [#57974]) ([spider docs]) (breaking-change) +- Use pytest fixtures on Onewire tests ([@epenet] - [#57973]) ([onewire docs]) +- Add Nut missing tests for config flow ([@ollo69] - [#57964]) ([nut docs]) +- Refactor Tuya light platform ([@frenck] - [#57980]) ([tuya docs]) +- Bump pysma to 0.6.7 ([@rklomp] - [#57978]) ([sma docs]) +- Bump pychromecast to 9.3.0 ([@emontnemery] - [#57991]) ([cast docs]) +- Bump fjaraskupan to 1.0.2 ([@elupus] - [#57992]) ([fjaraskupan docs]) +- Pickup codeowner for bond ([@bdraco] - [#57995]) ([bond docs]) +- Add vacuum platform to Tuya ([@frenck] - [#57996]) ([tuya docs]) (new-platform) +- Motion blinds add interface and wait_for_push options ([@starkillerOG] - [#50067]) ([motion_blinds docs]) +- Add to the Broadlink integration support for voltage, current, overload and total consumption sensors ([@felipediel] - [#53628]) ([broadlink docs]) +- Add configuration url to Juicenet ([@jesserockz] - [#57999]) ([juicenet docs]) +- Bump flux_led to 0.24.9 ([@bdraco] - [#58006]) ([flux_led docs]) +- BMW: Fix check_control_message short description ([@rikroe] - [#57998]) ([bmw_connected_drive docs]) +- Include webhook_id in mobile_app's notify registration_info ([@zacwest] - [#58007]) ([mobile_app docs]) +- Add configuration_url and entity_category to Fritz ([@chemelli74] - [#58004]) ([fritz docs]) +- Mark Tasmota status sensors as diagnostic sensors ([@emontnemery] - [#57958]) ([tasmota docs]) +- Use assignment expressions 16 ([@cdce8p] - [#57962]) +- Change warning to info when modbus is ready ([@janiversen] - [#57953]) ([modbus docs]) +- Log unhandled loop exception traces when asyncio debug is on ([@bdraco] - [#57602]) +- Add support for daily and monthly statistics ([@emontnemery] - [#57576]) ([recorder docs]) ([sensor docs]) +- Fix issue parsing color effect None in flux_led ([@brianegge] - [#57979]) ([flux_led docs]) +- Add service to stop air conditioning to bmw_connected_drive ([@rikroe] - [#57772]) ([bmw_connected_drive docs]) +- Add init tests for agent dvr ([@tkdrob] - [#57022]) ([agent_dvr docs]) +- Preventing working with incomplete discoveries from user config flow in upnp ([@StevenLooman] - [#57994]) ([upnp docs]) +- Open garage sensor ([@Danielhiversen] - [#57976]) ([opengarage docs]) (breaking-change) (new-platform) +- Rework Onewire tests to enable disabled entities ([@epenet] - [#58014]) ([onewire docs]) +- Store automation and script traces ([@emontnemery] - [#56894]) ([automation docs]) ([script docs]) ([trace docs]) +- Remove device category filtering from Tuya init ([@frenck] - [#58019]) ([tuya docs]) +- MQTT Alarm control panel - Enable remote code validation ([@jbouwh] - [#57764]) ([mqtt docs]) +- Deprecate OpenZWave in manifest ([@MartinHjelmare] - [#57987]) ([ozw docs]) (breaking-change) +- Add humidifier platform to Tuya ([@frenck] - [#58025]) ([tuya docs]) +- Add entity category to Hue ([@balloob] - [#58011]) ([hue docs]) +- Rewrite test for feedreader ([@briglx] - [#57292]) ([feedreader docs]) +- Add configuration url to Airthings ([@Danielhiversen] - [#58041]) ([airthings docs]) +- Add cover platform to Tuya ([@frenck] - [#58045]) ([tuya docs]) (new-platform) +- Add configuration url to Tractive ([@Danielhiversen] - [#58038]) ([tractive docs]) +- Add configuration url to Surepetcare ([@Danielhiversen] - [#58039]) ([surepetcare docs]) +- Add more info to OpenGarage device info ([@Danielhiversen] - [#58037]) ([opengarage docs]) +- Add MWh as an energy unit ([@emontnemery] - [#58034]) ([sensor docs]) +- Add Water Detector (sj) device support to Tuya ([@frenck] - [#58049]) ([tuya docs]) +- Add more sensors to Opengarage ([@Danielhiversen] - [#58042]) ([opengarage docs]) +- Clean up self references from Tuya climate platform constructor ([@frenck] - [#58051]) ([tuya docs]) +- Add entity category and state class to mobile app ([@balloob] - [#58012]) ([mobile_app docs]) +- Use constants in Onewire tests ([@epenet] - [#58017]) ([onewire docs]) +- Add support for kPa to sensor statistics ([@emontnemery] - [#58032]) ([sensor docs]) +- Fix clickatell send_error error check ([@scop] - [#57985]) ([clickatell docs]) +- Migrate SimpliSafe to new web-based authentication ([@bachya] - [#57212]) ([simplisafe docs]) (breaking-change) +- Rework RainMachine entity ID generation ([@bachya] - [#58055]) ([rainmachine docs]) +- Add Human Presence Sensor (hps) device support to Tuya ([@frenck] - [#58054]) ([tuya docs]) +- Bump flux_led to 0.24.11 ([@bdraco] - [#58020]) ([flux_led docs]) +- Add volume_up and volume_down to musiccast ([@vigonotion] - [#57919]) ([yamaha_musiccast docs]) +- Bump flux_led to 0.24.12 ([@bdraco] - [#58071]) ([flux_led docs]) +- Remove legacy tests in onewire ([@epenet] - [#58075]) ([onewire docs]) +- Assign entity category diagnostics to deCONZ battery sensors ([@Kane610] - [#58077]) ([deconz docs]) +- Bump pychromecast to 9.3.1 ([@emontnemery] - [#58035]) ([cast docs]) +- Address late review of unifi ([@Kane610] - [#58080]) ([unifi docs]) +- Don't use deprecated methods of retrieving registries in deCONZ ([@Kane610] - [#58081]) ([deconz docs]) +- Add deCONZ number config entity for Hue motion sensor delay ([@Kane610] - [#58076]) ([deconz docs]) +- Cleanup duplicate code in Onewire tests ([@epenet] - [#58082]) ([onewire docs]) +- Don't use deprecated ways of retrieving registries in Axis ([@Kane610] - [#58083]) ([axis docs]) +- Patch for Alexa percentage_step to precision ([@jbouwh] - [#58062]) ([alexa docs]) +- Fix supported_features behaviour for fan platform ([@jbouwh] - [#58065]) ([template docs]) +- Activate tradfri in coverage and clean conftest for tradfri ([@janiversen] - [#58058]) ([tradfri docs]) +- Please pylint for modbus test ([@janiversen] - [#58089]) ([modbus docs]) +- Add CO2 Detector (co2bj) device support to Tuya ([@frenck] - [#58093]) ([tuya docs]) +- Add state_class to current bandwith sensors for bbox integration ([@davidlb] - [#58086]) ([bbox docs]) +- Simplify signalling for updating available property of deCONZ entities ([@Kane610] - [#58078]) ([deconz docs]) +- Bump ismartgate to 4.0.3 ([@bdraco] - [#58073]) ([gogogate2 docs]) +- bitwise and for test supported_features ([@jbouwh] - [#58097]) ([template docs]) +- Report orphaned statistics in statistic validation ([@emontnemery] - [#57324]) ([recorder docs]) ([sensor docs]) +- Report all unrecorded sensors in statistics tool ([@emontnemery] - [#58092]) ([sensor docs]) +- Purge short term statistics ([@emontnemery] - [#58028]) ([recorder docs]) +- Fix issue where Number still would send force_update to super method ([@Kane610] - [#58110]) ([deconz docs]) +- Use assignment expressions 17 ([@cdce8p] - [#57963]) +- Fix referenced before assignment error in sonos speaker ([@tkdrob] - [#57924]) ([sonos docs]) +- Use assignment expressions 21 ([@cdce8p] - [#57970]) +- Complete Ceiling Light (xdd) device support for Tuya ([@frenck] - [#58095]) ([tuya docs]) +- Complete Switch/Socket/Power Strip device support for Tuya ([@frenck] - [#58106]) ([tuya docs]) +- Ensure lutron_caseta triggers can still be attached in setup retry state ([@bdraco] - [#57873]) ([lutron_caseta docs]) +- Bump hdate to 0.10.4 ([@yuvalabou] - [#58121]) ([jewish_calendar docs]) +- Assign entity category diagnostics to deCONZ tampering sensors ([@Kane610] - [#58112]) ([deconz docs]) +- Add entity categories for appropriate SimpliSafe entities ([@bachya] - [#58108]) ([simplisafe docs]) +- Add configuration url to Sonarr ([@jesserockz] - [#58085]) ([sonarr docs]) +- Correct unit_of_measurement for statistics sensor ([@emontnemery] - [#58023]) ([statistics docs]) +- Use assignment expressions 20 ([@cdce8p] - [#57969]) ([mqtt docs]) ([zha docs]) ([buienradar docs]) ([upb docs]) ([debugpy docs]) +- Add Formaldehyde Detector (jqbj) device support to Tuya ([@frenck] - [#58118]) ([tuya docs]) +- Add Dimmer Switch (tgkg) device support to Tuya ([@frenck] - [#58134]) ([tuya docs]) +- Use assignment expressions 12 ([@cdce8p] - [#57937]) +- Add entity categories for appropriate RainMachine entities ([@bachya] - [#58107]) ([rainmachine docs]) +- Add entity categories for appropriate Notion entities ([@bachya] - [#58105]) ([notion docs]) +- Add entity categories for appropriate Guardian entities ([@bachya] - [#58104]) ([guardian docs]) +- Add entity categories for appropriate Ambient PWS entities ([@bachya] - [#58100]) ([ambient_station docs]) +- Report modbus buffer too small or too big to unpack ([@janiversen] - [#57838]) ([modbus docs]) +- Fix connect_fail test and modbus.py 100% coverage ([@janiversen] - [#57894]) ([modbus docs]) +- Add entity categories for appropriate AirVisual entities ([@bachya] - [#58102]) ([airvisual docs]) +- Add `configuration_url` to Denon AVR integration ([@bieniu] - [#58116]) ([denonavr docs]) +- Move Screenlogic lights to the light platform ([@bdraco] - [#55467]) ([screenlogic docs]) (breaking-change) (new-platform) +- Run tests with -X dev and -bb ([@scop] - [#58079]) +- Bump frontend to 20211020.0 ([@balloob] - [#58139]) ([frontend docs]) +- Add auto slider/box mode to number entity ([@frenck] - [#57737]) ([demo docs]) ([number docs]) +- Add `configuration_url` to Sonos devices ([@jjlawren] - [#58148]) ([sonos docs]) +- Add `configuration_url` to Plex integration ([@jjlawren] - [#58149]) ([plex docs]) +- Add missing names for notify service fields ([@spacegaier] - [#58154]) ([notify docs]) +- Remove accidental blanks from Shelly trigger type translations ([@spacegaier] - [#58151]) ([shelly docs]) +- Update pyhomematic to 0.1.76 ([@danielperna84] - [#58136]) ([homematic docs]) +- input_datetime: Move has_date, has_time to capability_attributes ([@balloob] - [#58138]) ([input_datetime docs]) +- Use assignment expressions 14 ([@cdce8p] - [#57939]) +- Use assignment expressions 13 ([@cdce8p] - [#57938]) +- Add entity categories to goalzero ([@tkdrob] - [#57906]) ([goalzero docs]) +- Use assignment expressions 22 ([@cdce8p] - [#57971]) +- Add Device Type Energy to Srp Energy Sensor ([@briglx] - [#58147]) ([srp_energy docs]) +- Address late review for Fritz entity_category ([@chemelli74] - [#58141]) ([fritz docs]) +- Clean up SimpliSafe entity inheritance structure ([@bachya] - [#58063]) ([simplisafe docs]) +- Revert "Swap order of int template helper kwargs (#57729)" ([@emontnemery] - [#58015]) +- Add long-term statistics for AEMET sensors ([@Noltari] - [#57844]) ([aemet docs]) +- Add LOOKin integration ([@ANMalko] - [#58125]) ([lookin docs]) (new-integration) +- Improve SSDP discovery compatibility when device was discovery through an SSDP advertisement ([@StevenLooman] - [#58133]) ([ssdp docs]) +- Bump async-upnp-client to 0.22.9 ([@bdraco] - [#58185]) ([upnp docs]) ([yeelight docs]) ([dlna_dmr docs]) ([ssdp docs]) +- Add climate platform to lookin ([@ANMalko] - [#58175]) ([lookin docs]) (new-platform) +- Move notify setup to legacy ([@MartinHjelmare] - [#58033]) ([notify docs]) +- Remove unreachable code in data_entry_flow.py ([@bdraco] - [#58193]) +- Allow setting the nexia run mode with the hvac mode ([@bdraco] - [#57940]) ([nexia docs]) +- Cleanup lookin entity MRO and inheritance ([@bdraco] - [#58194]) ([lookin docs]) +- Tweak energy validator ([@emontnemery] - [#58018]) ([energy docs]) +- Fjaraskupan entity categories ([@elupus] - [#57846]) ([fjaraskupan docs]) +- Add long-term statistics for Tado sensors ([@Noltari] - [#58111]) ([tado docs]) +- Add `configuration_url` to AsusWrt integration ([@bieniu] - [#58172]) ([asuswrt docs]) +- Add support for device configuration URL to Axis devices ([@Kane610] - [#58176]) ([axis docs]) +- Use assignment expressions 23 ([@cdce8p] - [#58180]) +- Add `configuration_url` to Netatmo devices ([@cgtobi] - [#58160]) ([netatmo docs]) +- Use assignment expressions 27 ([@cdce8p] - [#58188]) +- Use assignment expressions 26 ([@cdce8p] - [#58187]) +- Use DeviceInfo on zha ([@epenet] - [#58202]) ([zha docs]) +- Use assignment expressions 25 ([@cdce8p] - [#58182]) +- Use DeviceInfo on zwave ([@epenet] - [#58183]) ([zwave docs]) +- Bump google-nest-sdm to 0.3.8 ([@allenporter] - [#58186]) ([nest docs]) +- Fix registration UI to work for Israel devices ([@tomer-w] - [#58192]) ([tuya docs]) +- Cleanup device registration in Onewire ([@epenet] - [#58101]) ([onewire docs]) +- Use DeviceInfo on components with via_device (H) ([@epenet] - [#58211]) ([hive docs]) ([hue docs]) ([homematicip_cloud docs]) ([hunterdouglas_powerview docs]) +- Remove black color name for light dropdowns ([@TomBrien] - [#58207]) ([light docs]) +- Make sure IQVIA data storage conforms to standards ([@bachya] - [#57811]) ([iqvia docs]) +- Use DeviceInfo on components with via_device (A-G) ([@epenet] - [#58210]) ([deconz docs]) ([elkm1 docs]) ([freebox docs]) ([directv docs]) ([fritz docs]) ([acmeda docs]) ([guardian docs]) ([bosch_shc docs]) +- Make sure RainMachine data storage conforms to standards ([@bachya] - [#57816]) ([rainmachine docs]) +- Make sure Ambient PWS data storage conforms to standards ([@bachya] - [#57807]) ([ambient_station docs]) +- Add memory/cpu percentage to Supervisor addons entities ([@avee87] - [#57468]) ([hassio docs]) +- Make sure Guardian data storage conforms to standards ([@bachya] - [#57809]) ([guardian docs]) +- Use DeviceInfo on components with via_device (I-T) ([@epenet] - [#58212]) +- Use DeviceInfo on components with via_device (R-X) ([@epenet] - [#58213]) ([tado docs]) ([toon docs]) ([xiaomi_aqara docs]) ([simplisafe docs]) ([somfy docs]) ([xiaomi_miio docs]) ([synology_dsm docs]) ([wilight docs]) ([sia docs]) ([roon docs]) ([ruckus_unleashed docs]) +- Use assignment expressions 28 ([@cdce8p] - [#58189]) +- Use assignment expressions 24 ([@cdce8p] - [#58181]) +- Add Smoke Detector (ywbj) device support to Tuya ([@regevbr] - [#58170]) ([tuya docs]) +- Enable long-term statistics for OpenWeatherMap sensors ([@dkt01] - [#57781]) ([openweathermap docs]) +- Use HTTPStatus instead of HTTP_ consts and magic values in components/a* ([@scop] - [#57988]) +- Gogogate2 add statistics ([@thomas-svrts] - [#58178]) ([gogogate2 docs]) +- Warn if state_changed events are excluded from recorder ([@emontnemery] - [#58021]) ([recorder docs]) (breaking-change) +- Support for Fritz!DECT 500 lightbulbs ([@flabbamann] - [#52830]) ([fritzbox docs]) (new-platform) +- Switch Fritz to device selector for services ([@chemelli74] - [#58005]) ([fritz docs]) (breaking-change) +- Rework octoprint ([@rfleming71] - [#58040]) ([octoprint docs]) (breaking-change) +- Use HTTPStatus instead of HTTP_ consts and magic values in comp.../[de]* ([@scop] - [#57990]) +- Use DeviceInfo class - A ([@tkdrob] - [#57859]) +- Use DeviceInfo Class D ([@tkdrob] - [#58218]) +- Use DeviceInfo on components with via_device ([@epenet] - [#58222]) ([tellduslive docs]) ([homekit_controller docs]) ([myq docs]) ([onewire docs]) ([ozw docs]) ([bond docs]) +- Fix fritzbox tests ([@flabbamann] - [#58227]) ([fritzbox docs]) +- Use DeviceInfo on components with configuration_url ([@epenet] - [#58223]) +- Add strict typing to efergy ([@tkdrob] - [#57682]) +- Consolidate ESPHome icon-handling code into EsphomeEntity ([@paulmonigatti] - [#57744]) ([esphome docs]) +- Fix unit of measurement for P1 Montior ([@klaasnicolaas] - [#57495]) ([p1_monitor docs]) +- Bump pylgnetcast to 0.3.4 ([@Drafteed] - [#58233]) ([lg_netcast docs]) +- Fix plugwise longterm statistics ([@bouwew] - [#58127]) ([plugwise docs]) +- Use value_fn for bmw_connected_drive binary_sensor ([@cdce8p] - [#57540]) ([bmw_connected_drive docs]) +- Index in-progress flows to avoid linear search ([@bdraco] - [#58146]) ([zha docs]) ([auth docs]) ([point docs]) ([smartthings docs]) ([withings docs]) +- Add product ID to model for Tuya ([@frenck] - [#58235]) ([tuya docs]) +- Add support for device configuration URL to deCONZ gateway ([@Kane610] - [#58184]) ([deconz docs]) +- Use HTTPStatus instead of HTTP_ consts and magic values in comp.../[bc]* ([@scop] - [#57989]) +- Update naming scheme for Renault entities ([@epenet] - [#57922]) ([renault docs]) +- Add datetime_today template method ([@Petro31] - [#57435]) +- Add area_entities and area_devices template functions/filters ([@raman325] - [#55228]) +- Add support for device configuration URL to UniFi Controller ([@Kane610] - [#58237]) ([unifi docs]) +- Add warning when entity used in template doesn't exist ([@avee87] - [#57316]) +- Enable strict typing in lookin ([@bdraco] - [#58238]) ([lookin docs]) +- Add support for min/max dimmer brightness in Tuya ([@frenck] - [#58165]) ([tuya docs]) +- Restore the previous state of a KNX binary sensor ([@marvin-w] - [#57891]) ([knx docs]) +- Nello removal ([@pattyland] - [#57926]) ([nello docs]) (breaking-change) +- Use attributes octoprint ([@cdce8p] - [#58241]) ([octoprint docs]) +- Add statistics support to Huisbaasje ([@dennisschroer] - [#54651]) ([huisbaasje docs]) +- Add strict typing to modem_callerid ([@tkdrob] - [#57683]) ([modem_callerid docs]) +- Fix Fibaro light features ([@rik-v] - [#56385]) ([fibaro docs]) +- Use http.HTTPStatus in components/f* ([@scop] - [#58244]) +- Bump arcam library to 0.12 with new series support ([@elupus] - [#53843]) ([arcam_fmj docs]) +- ISS cleanup ([@yuvalabou] - [#55801]) ([iss docs]) +- Discovery ignores DLNA DMR devices when they are better supported by another integration ([@chishm] - [#57363]) ([dlna_dmr docs]) ([ssdp docs]) +- Add state_class support to Rest ([@koying] - [#58026]) ([rest docs]) +- Use http.HTTPStatus in components/[ikl]* ([@scop] - [#58248]) +- Improve Discord notifier ([@nihaals] - [#52523]) ([discord docs]) +- Fully type Jewish Calendar ([@yuvalabou] - [#56232]) ([jewish_calendar docs]) +- Apple TV power management ([@itairaz1] - [#51520]) ([apple_tv docs]) +- Spelling & grammar improvements to bug_report.yml ([@JJJ] - [#56800]) +- Add additional nest stream test coverage ([@allenporter] - [#58013]) ([nest docs]) +- Allow different voices in Watson TTS calls ([@drinfernoo] - [#56811]) ([watson_tts docs]) +- Use http.HTTPStatus in components/m* ([@scop] - [#58251]) +- Add grid services active sensor to telsa powerwall integration ([@some-guy-in-oz] - [#56317]) ([powerwall docs]) +- Bump velbusaio to 2021.10.6 ([@Cereal2nd] - [#58168]) ([velbus docs]) +- Update ismartgate dependency ([@NickM-27] - [#58259]) ([gogogate2 docs]) +- Change precision of Nest sensors ([@michaeldavie] - [#56993]) ([nest docs]) +- Fix format bug in nest log statement ([@allenporter] - [#58263]) ([nest docs]) +- Fix a bug in a nest test that causes side effects for other tests ([@allenporter] - [#58264]) ([nest docs]) +- Rename tests filenames to conform to Home Assistant standards ([@allenporter] - [#58266]) ([nest docs]) +- Bump greeclimate to 0.12.2 ([@cmroche] - [#58256]) ([gree docs]) +- Fix yandex captcha detecting ([@devbis] - [#56132]) ([yandex_transport docs]) +- Use DeviceInfo Class B-C ([@tkdrob] - [#58217]) +- Use DeviceInfo Class E ([@tkdrob] - [#58230]) +- Use DeviceInfo Class F-G ([@tkdrob] - [#58255]) +- Use DeviceInfo on components with suggested_area ([@epenet] - [#58225]) ([tado docs]) ([nuheat docs]) ([august docs]) ([roku docs]) ([sonos docs]) ([hunterdouglas_powerview docs]) ([devolo_home_control docs]) +- Address Watson TTS review comment ([@frenck] - [#58277]) ([watson_tts docs]) +- Use regex instead of partition to section package definition ([@ludeeus] - [#58278]) +- Bump awesomeversion from 21.8.1 to 21.10.1 ([@ludeeus] - [#58258]) +- Ensure all devices show up in Tuya ([@frenck] - [#58280]) ([tuya docs]) +- Fix modem callerid callback ([@tkdrob] - [#58275]) ([modem_callerid docs]) +- Update tesla_powerwall to 0.3.12 ([@jrester] - [#58284]) ([powerwall docs]) +- Use DeviceInfo Class H ([@tkdrob] - [#58276]) +- Update aiolookin to 0.0.3 version ([@ANMalko] - [#58249]) ([lookin docs]) +- Add CO Detector (cobj) device support to Tuya ([@frenck] - [#58292]) ([tuya docs]) +- Add Gas Detector (rqbj) device support to Tuya ([@frenck] - [#58293]) ([tuya docs]) +- Add Pressure Sensor (ylcg) device support to Tuya ([@frenck] - [#58294]) ([tuya docs]) +- Complete Heater (qn) device support to Tuya ([@frenck] - [#58296]) ([tuya docs]) +- Make sure Flu Near You data storage conforms to standards ([@bachya] - [#57808]) ([flunearyou docs]) +- Use http.HTTPStatus in components/[gh]* ([@scop] - [#58246]) +- Use DeviceInfo Class I-K ([@tkdrob] - [#58300]) +- Use http.HTTPStatus in components/s* ([@scop] - [#58291]) +- Ensure zeroconf uses the newest non-link local address in discovery ([@bdraco] - [#58257]) ([zeroconf docs]) +- Use http.HTTPStatus in components/r* ([@scop] - [#58288]) +- Use HTTPStatus in components/[nop]* ([@scop] - [#58279]) +- Add new attribute constants for DeviceInfo registration ([@epenet] - [#58289]) ([netatmo docs]) ([isy994 docs]) ([apple_tv docs]) ([plugwise docs]) ([bond docs]) ([zwave_js docs]) +- Allow service data template to return a dict ([@koying] - [#57105]) +- Complete Smart Camera (sp) device support to Tuya ([@frenck] - [#58301]) ([tuya docs]) +- Add switch platform to Tuya Light (dj) devices ([@fOmey] - [#58196]) ([tuya docs]) +- OpenGarage binary sensor ([@Danielhiversen] - [#58030]) ([opengarage docs]) (new-platform) +- Bump pylitterbot to 2021.10.1 ([@natekspencer] - [#58307]) ([litterrobot docs]) +- Expose Sonos features as switch entities ([@jjlawren] - [#54502]) ([sonos docs]) (breaking-change) +- Filter by connections instead of identifiers for Shelly ([@chemelli74] - [#58305]) ([shelly docs]) +- Configurable mode for KNX number entity ([@farmio] - [#58268]) ([knx docs]) +- Use http.HTTPStatus in components/[tuv]* ([@scop] - [#58325]) +- Pull configuration_url from library in gogogate2 ([@bdraco] - [#58318]) ([gogogate2 docs]) +- Use DeviceInfo Class N-O ([@tkdrob] - [#58314]) +- Move `configuration_url` abbreviation to MQTT `DEVICE_ABBREVIATIONS` const ([@bieniu] - [#58313]) ([mqtt docs]) +- Fix bug in MediaSource definintion and enable strict type checking ([@allenporter] - [#58321]) ([netatmo docs]) ([media_source docs]) ([xbox docs]) +- Complete removal of auto_start, zeroconf_default_interface, and safe_mode from HomeKit ([@bdraco] - [#58320]) (breaking-change) +- Complete Solar Light (tyndj) device support to Tuya ([@frenck] - [#58302]) ([tuya docs]) +- Add long-term statistics for Ondilo ICO ([@TheNogl] - [#58290]) ([ondilo_ico docs]) +- Add VOC Sensor (voc) device support to Tuya ([@frenck] - [#58332]) ([tuya docs]) +- Add Methane Detector (jwbj) device support to Tuya ([@frenck] - [#58328]) ([tuya docs]) +- Add PM2.5 Sensor (pm25) device support to Tuya ([@frenck] - [#58329]) ([tuya docs]) +- Add more Huawei LTE sensor state classes ([@scop] - [#57983]) ([huawei_lte docs]) +- Use http.HTTPStatus in components/[wxyz]* ([@scop] - [#58330]) +- Support suburban railways stations in yandex transport ([@devbis] - [#58281]) ([yandex_transport docs]) +- Extend Tuya Humidifier ([@alexanv1] - [#58260]) ([tuya docs]) +- Pin pytest-github-actions-annotate-failures to fix broken CI ([@frenck] - [#58351]) +- add BitronVideo AV2021 ZHA stick ([@javicalle] - [#58337]) ([zha docs]) +- feat: Add unit of measurement to KNX number platform ([@marvin-w] - [#58353]) ([knx docs]) +- Fix lookin device validation in config flow ([@bdraco] - [#58349]) ([lookin docs]) +- Use DataUpdateCoordinator in Vallox ([@andre-richter] - [#56966]) ([vallox docs]) +- Allow advanced Plex `play_media` search options ([@jjlawren] - [#56226]) ([plex docs]) +- Fix lookin push updates when sensor entities disabled ([@bdraco] - [#58346]) ([lookin docs]) +- Add warning if Sonos not linked to Plex ([@jjlawren] - [#58150]) ([plex docs]) +- Set Sonos alarm and battery entity categories ([@jjlawren] - [#58340]) ([sonos docs]) +- Add Cell State sensor to Vallox ([@andre-richter] - [#58358]) ([vallox docs]) +- Add support for entity category for necessary KNX platforms ([@marvin-w] - [#58357]) ([knx docs]) +- Fix EXT-X-PROGRAM-DATE-TIME in stream ([@uvjustin] - [#58036]) ([stream docs]) +- Add entity category to MyQ ([@balloob] - [#58377]) ([myq docs]) +- Initial support for Tradfri STARKVIND Air purifier ([@ggravlingen] - [#58295]) ([tradfri docs]) (new-platform) +- Fix configuration url in gogogate2 ([@bdraco] - [#58365]) ([gogogate2 docs]) +- Bump pytradfri to 7.1.1 ([@janiversen] - [#58379]) ([tradfri docs]) +- Add entity category to august ([@bdraco] - [#58359]) ([august docs]) +- Add entity category to roomba ([@bdraco] - [#58362]) ([roomba docs]) +- Add entity category to gogogate2 ([@bdraco] - [#58366]) ([gogogate2 docs]) +- Add entity category to elkm1 ([@bdraco] - [#58364]) ([elkm1 docs]) +- Add Temperature and Humidity Sensor (wsdcg) device support to Tuya ([@frenck] - [#58335]) ([tuya docs]) +- Add configuration_url to isy994 ([@bdraco] - [#58372]) ([isy994 docs]) +- Add entity category to Neato ([@chemelli74] - [#58367]) ([neato docs]) +- Add support for unit of measurement in MQTT number platform ([@frenck] - [#58343]) ([mqtt docs]) +- Upgrade youless library to fix LS110 power total is not a number ([@gjong] - [#58333]) ([youless docs]) +- Minor cleanups for Vallox ([@andre-richter] - [#58384]) ([vallox docs]) +- Adjust DeviceInfo registration on zwave_js ([@epenet] - [#58391]) ([zwave_js docs]) +- Upgrade Tuya IoT Python SDK to 0.6.3 ([@frenck] - [#58240]) ([tuya docs]) +- Bump async-upnp-client to 0.22.10 ([@StevenLooman] - [#58387]) ([upnp docs]) ([yeelight docs]) ([dlna_dmr docs]) ([ssdp docs]) +- Use DeviceInfo in control4 ([@epenet] - [#58388]) ([control4 docs]) +- Use DeviceInfo on accuweather ([@epenet] - [#58394]) ([accuweather docs]) +- Add entity categories to Netatmo ([@cgtobi] - [#58383]) ([netatmo docs]) +- Run nuki bidge.info() on executor ([@sagioto] - [#58345]) ([nuki docs]) +- Add entity category to nut battery ([@bdraco] - [#58363]) ([nut docs]) +- Add entity category to hunterdouglas_powerview ([@bdraco] - [#58368]) ([hunterdouglas_powerview docs]) +- Add entity category to MotionEye ([@chemelli74] - [#58370]) ([motioneye docs]) +- Add entity category to Advantage Air ([@Bre77] - [#58371]) ([advantage_air docs]) +- Use DeviceInfo on awair ([@epenet] - [#58395]) ([awair docs]) +- Use DeviceInfo on hassio ([@epenet] - [#58397]) ([hassio docs]) +- Use DeviceInfo on esphome ([@epenet] - [#58396]) ([esphome docs]) +- Use DeviceInfo in huawei-lte ([@epenet] - [#58398]) ([huawei_lte docs]) +- Add configuration_url to upnp device ([@StevenLooman] - [#58385]) ([upnp docs]) +- Update PyVicare to 2.13.0 ([@oischinger] - [#57700]) ([vicare docs]) (breaking-change) +- Use DeviceInfo in mqtt ([@epenet] - [#58389]) ([mqtt docs]) +- Allow extra keys in MQTT discovery messages ([@emontnemery] - [#58390]) ([mqtt docs]) +- Add Smart Kettle (bh) device support to Tuya ([@frenck] - [#58347]) ([tuya docs]) +- Drop unused ATTR_ENTRY_TYPE constant ([@epenet] - [#58400]) ([forecast_solar docs]) +- Use DeviceInfo in asuswrt ([@epenet] - [#58399]) ([asuswrt docs]) +- Advantage Air fix logic for motion sensors ([@Bre77] - [#58376]) ([advantage_air docs]) +- Use constants in renault tests ([@epenet] - [#58406]) ([renault docs]) +- Use ATTR_VIA_DEVICE constant in onewire tests ([@epenet] - [#58405]) ([onewire docs]) +- Meteofrance - Add state_class to appropriate sensors ([@davidlb] - [#58401]) ([meteo_france docs]) +- Bump up ZHA dependencies ([@Adminiuga] - [#58409]) ([zha docs]) +- Log correct ZHA channel initialization step ([@Adminiuga] - [#58410]) ([zha docs]) +- Add state_class/entity_category to Verisure ([@frenck] - [#58403]) ([verisure docs]) +- Add zwave_js sensor entity categories ([@MartinHjelmare] - [#58416]) ([zwave_js docs]) (breaking-change) +- Use DeviceInfo Class P-R ([@tkdrob] - [#58324]) +- Update PyVicare to 2.13.1 ([@oischinger] - [#58422]) ([vicare docs]) +- bump pylgnetcast to 0.3.5 ([@Drafteed] - [#58419]) ([lg_netcast docs]) +- Switch to UpdateCoordinator for eight sleep ([@raman325] - [#52614]) ([eight_sleep docs]) +- Complete Air Conditioner (kt) device support for Tuya ([@frenck] - [#58417]) ([tuya docs]) +- Add running device class to binary sensor ([@ludeeus] - [#58423]) ([binary_sensor docs]) +- Use DeviceInfo Class L-M ([@tkdrob] - [#58312]) +- Fix updating sensor on unlinked Plex server ([@jjlawren] - [#58418]) ([plex docs]) +- Add config flow to venstar ([@garbled1] - [#58152]) ([venstar docs]) (breaking-change) +- Add WattTime config option for showing the monitored location on the map ([@bachya] - [#57129]) ([watttime docs]) +- Set entity_category for node status sensor ([@raman325] - [#58434]) ([zwave_js docs]) +- Add binary sensor to add-ons to show if they are running ([@ludeeus] - [#58120]) ([hassio docs]) +- Re-add support for realtime SimpliSafe websocket ([@bachya] - [#58061]) ([simplisafe docs]) +- Ensure domain is correct format ([@balloob] - [#58429]) +- dlna_dmr won't support devices that don't provide all DMR services ([@chishm] - [#58374]) ([dlna_dmr docs]) ([ssdp docs]) +- Aurora abb (solar) configflow ([@davet2001] - [#36300]) ([aurora_abb_powerone docs]) (breaking-change) +- Use class attribute instead of property decorator ([@raman325] - [#58448]) ([zwave_js docs]) +- Fix flux_led with RGB/W bulbs (model 0x44) ([@bdraco] - [#58438]) ([flux_led docs]) +- Refactor input_select ([@frenck] - [#53334]) ([input_select docs]) (breaking-change) +- Fix Aurora abb incorrect attr ([@tkdrob] - [#58450]) ([aurora_abb_powerone docs]) +- Add typehints to eight_sleep ([@raman325] - [#58442]) ([eight_sleep docs]) +- Add all kraken entities on startup ([@eifinger] - [#58027]) ([kraken docs]) +- Add speed & intensity controls to wled ([@rytilahti] - [#56862]) ([wled docs]) +- Add support for external statistics ([@emontnemery] - [#56607]) ([recorder docs]) ([sensor docs]) +- Add support for fan groups ([@bdraco] - [#57941]) ([group docs]) (new-platform) +- Allow homeassistant prefix for device info configuration url ([@ludeeus] - [#58414]) ([hassio docs]) +- Remove redundant value test in KNX Number entity ([@farmio] - [#58455]) ([knx docs]) +- Fix velbus climate ([@Cereal2nd] - [#58408]) ([velbus docs]) +- Use NamedTuple in Vallox service_to_method mapping ([@andre-richter] - [#58361]) ([vallox docs]) +- Automatic spider supported fan speed and hvac ([@peternijssen] - [#58308]) ([spider docs]) +- Address late review of velbus ([@Cereal2nd] - [#58463]) ([velbus docs]) +- Use http.HTTPStatus in util.aiohttp ([@scop] - [#58456]) +- Clean up rounding in Ecobee integration ([@bjpetit] - [#56319]) ([ecobee docs]) +- Add device_class and state_class as optional attributes to the scrape sensor, to support statistics ([@lukas-hetzenecker] - [#58164]) ([scrape docs]) +- Warn when recorder connects to an unsupported database ([@emontnemery] - [#58161]) ([recorder docs]) (breaking-change) +- Use async_on_unload in Netatmo ([@cgtobi] - [#58461]) ([netatmo docs]) +- Corrections for external statistics ([@emontnemery] - [#58469]) ([recorder docs]) +- Validate device automation capablities WS calls ([@balloob] - [#58444]) +- Add entity_category to SmartThings sensors ([@allenporter] - [#58375]) ([smartthings docs]) +- Add offset support to time trigger ([@RobertMe] - [#56838]) ([homeassistant docs]) +- Add reauth for Netatmo when token or token scope is invalid ([@cgtobi] - [#57487]) ([netatmo docs]) +- Register Coinbase service in Device Registry and provide configuration URL ([@TomBrien] - [#58472]) ([coinbase docs]) +- Publish nest event ids in camera related events ([@allenporter] - [#58299]) ([nest docs]) +- Add some more required/optional tags to condition schemas ([@balloob] - [#58424]) +- Fjaraskupan number entity for periodic venting ([@elupus] - [#58179]) ([fjaraskupan docs]) +- Add vlc telnet error handler decorator ([@MartinHjelmare] - [#58468]) ([vlc_telnet docs]) +- Fix mysensors metric/non-metric gateway ([@MartinHjelmare] - [#58476]) ([mysensors docs]) +- Limit add-on stats to add-ons that are running ([@ludeeus] - [#58479]) ([hassio docs]) +- Support Energy Sensor and Statistics in Homematic IP Cloud Integration ([@FlavorFx] - [#57734]) ([homematicip_cloud docs]) +- dlna_dmr will gracefully handle device's rejection of subscription attempt ([@chishm] - [#58451]) ([dlna_dmr docs]) +- Bump ZHA quirks version to 0.0.63 ([@dmulcahey] - [#58478]) ([zha docs]) +- Add entity category to UniFi sensors and switches ([@Kane610] - [#58484]) ([unifi docs]) +- Enable type checking - bmw_connected_drive ([@cdce8p] - [#58310]) ([bmw_connected_drive docs]) +- Remove Huawei Router (ADR-0004) ([@yuvalabou] - [#57136]) ([huawei_router docs]) (breaking-change) +- Bump pyotp to 2.6.0 ([@chrillebile] - [#58413]) ([otp docs]) +- Add translations for binary_sensor device classes ([@spacegaier] - [#58471]) ([binary_sensor docs]) +- Fix overriding the yeelight model if it is not known ([@bdraco] - [#56967]) ([yeelight docs]) (breaking-change) +- Add Mill Sense Air sensors ([@Danielhiversen] - [#57776]) ([mill docs]) +- Allow data sources to affect client tracker state after reconnecting to UniFi controller ([@Kane610] - [#58269]) ([unifi docs]) +- Fix device_info for xiaomi_aqara ([@epenet] - [#58465]) ([xiaomi_aqara docs]) +- Minor cleanup on stream ([@uvjustin] - [#58486]) ([stream docs]) +- Fix flaky UPNP test ([@emontnemery] - [#58493]) ([upnp docs]) +- Add average template function and filter ([@Petro31] - [#57727]) +- Bump frontend to 20211026.0 ([@balloob] - [#58500]) ([frontend docs]) +- Add async lib and DataUpdateCoordinator for environment_canada ([@gwww] - [#57746]) ([environment_canada docs]) (breaking-change) +- Bump aioambient to 2021.10.0 ([@bachya] - [#58494]) ([ambient_station docs]) +- Add entity categories to esphome ([@jesserockz] - [#58495]) ([esphome docs]) +- Add Select platform to Advantage Air ([@Bre77] - [#54747]) ([advantage_air docs]) +- Broadlink Integration add support for LB1 ([@L-I-Am] - [#50953]) ([broadlink docs]) (new-platform) +- Fix endpoints issues for Tuya Integration ([@zlinoliver] - [#58411]) ([tuya docs]) +- Fix Microsoft tts defaults to resolve broken settings ([@tylergibson] - [#58499]) ([microsoft docs]) (breaking-change) +- Fix min_humidity and max_humidity in homekit_controller ([@yeahme49] - [#58507]) ([homekit_controller docs]) +- Bump quantum_gateway to v0.0.6 ([@cisasteelersfan] - [#58452]) ([quantum_gateway docs]) +- Retry yeelight setup later if first update fails ([@bdraco] - [#58446]) ([yeelight docs]) +- Add myStrom LED Strip support extending rgblamp bulb_type ([@asansano] - [#57322]) ([mystrom docs]) +- Fix issue where UniFi DPI groups state wasn't being updated ([@Kane610] - [#58502]) ([unifi docs]) +- Use PyAV fork and set hvc1 codec tag for H.265 ([@uvjustin] - [#58309]) ([stream docs]) +- Refactor Growatt sensor types ([@muppet3000] - [#56544]) ([growatt_server docs]) +- Fix available for Mill ([@Danielhiversen] - [#58510]) ([mill docs]) +- Use constants for device registry checks ([@epenet] - [#58514]) ([nest docs]) ([arcam_fmj docs]) +- Fritz clean device_tracker service ([@chemelli74] - [#56535]) ([fritz docs]) +- Adjust onewire device manufacturer ([@epenet] - [#58515]) ([onewire docs]) +- Fix media_player grouping while media_player is off ([@vigonotion] - [#58070]) ([media_player docs]) +- Use DeviceInfo in screenlogic ([@epenet] - [#58518]) ([screenlogic docs]) +- Use DeviceInfo in sharkiq ([@epenet] - [#58519]) ([sharkiq docs]) +- Use DeviceInfo in shelly ([@epenet] - [#58520]) ([shelly docs]) +- Move WLED palette to config entity category ([@frenck] - [#58517]) ([wled docs]) +- Use DeviceInfo in sms ([@epenet] - [#58525]) ([sms docs]) +- Use DeviceInfo in smarttub ([@epenet] - [#58524]) ([smarttub docs]) +- Use DeviceInfo in smartthings ([@epenet] - [#58523]) ([smappee docs]) +- Use DeviceInfo in sma ([@epenet] - [#58521]) ([sma docs]) +- Handle accessories without a serial number in homekit_controller ([@bdraco] - [#58498]) ([homekit_controller docs]) +- Simplify utility_meter code base with croniter ([@dgomes] - [#55625]) ([utility_meter docs]) (breaking-change) +- Revert "Add warning when entity used in template doesn't exist" ([@frenck] - [#58527]) +- Use DeviceInfo in solarlog ([@epenet] - [#58526]) ([solarlog docs]) +- Fix Vicare unique_ids ([@oischinger] - [#58531]) ([vicare docs]) +- Increase setMode flexibility ([@oischinger] - [#58491]) ([vicare docs]) +- Use DeviceInfo in smappee ([@epenet] - [#58522]) ([smappee docs]) +- Add new orange pi boards to orangepi integration ([@drizzle1] - [#58392]) ([orangepi_gpio docs]) +- Simplify recorder PgSQL version checks ([@emontnemery] - [#58533]) ([recorder docs]) +- Allow specifying a super template for async_track_template_result ([@emontnemery] - [#58477]) ([websocket_api docs]) ([template docs]) ([universal docs]) ([bayesian docs]) +- Correct changes in Allow extra keys in MQTT discovery messages ([@emontnemery] - [#58534]) ([mqtt docs]) +- Add Solar Edge entity device and state class ([@terminet85] - [#55902]) (breaking-change) +- Add kWh as cost option for gas ([@ColinRobbins] - [#58426]) ([energy docs]) +- When tradfri device goes offline set attr_available false ([@janiversen] - [#58487]) ([tradfri docs]) +- Fix energy cost sensor for MWh + improve tests ([@emontnemery] - [#58540]) ([energy docs]) +- Allow storing picture in area registry ([@balloob] - [#58539]) ([config docs]) +- Add multi-partition support for TotalConnect ([@austinmroczek] - [#55429]) ([totalconnect docs]) +- Adjust onewire device model ([@epenet] - [#58516]) ([onewire docs]) +- Enable strict typing - bmw_connected_drive ([@cdce8p] - [#58506]) ([bmw_connected_drive docs]) +- Serialize dates and times to isoformat ([@emontnemery] - [#58157]) +- Add Number platform to Wallbox ([@hesselonline] - [#52786]) ([wallbox docs]) +- Blink arm camera ([@yeahme49] - [#56474]) ([blink docs]) +- Support ViCare energy units ([@oischinger] - [#58433]) ([vicare docs]) +- Update frontend to 20211027.0 ([@bramkragten] - [#58545]) ([frontend docs]) +- Fix ZeroDivisionError on freebox/sensor ([@davelowper] - [#57077]) ([freebox docs]) (beta fix) +- Allow initialized callback to have arguments ([@inytar] - [#58129]) ([hdmi_cec docs]) (beta fix) +- Add an image placeholder for Nest WebRTC cameras ([@allenporter] - [#58250]) ([nest docs]) (beta fix) +- Reduce rainmachine intervals to avoid device overload ([@bdraco] - [#58319]) ([rainmachine docs]) (beta fix) +- Return the real MAC address for LIFX bulbs with newer firmware ([@Djelibeybi] - [#58511]) ([lifx docs]) (beta fix) +- Add tplink KP303 to discovery ([@bdraco] - [#58548]) ([tplink docs]) (beta fix) +- Add service configuration URL to Doorbird ([@Tommatheussen] - [#58549]) ([doorbird docs]) (beta fix) +- Add entity category to ZHA battery ([@balloob] - [#58553]) ([zha docs]) (beta fix) +- Add `configuration_url` to Freebox integration ([@Quentame] - [#58555]) ([freebox docs]) (beta fix) +- Add `configuration_url` to iCloud integration ([@Quentame] - [#58557]) ([icloud docs]) (beta fix) +- Allow configuration_url to be removed/nullified from device registry ([@jesserockz] - [#58564]) (beta fix) +- Add configuration_url to ESPHome ([@jesserockz] - [#58565]) ([esphome docs]) (beta fix) +- Fix default value for host in octoprint config flow ([@balloob] - [#58568]) ([octoprint docs]) (beta fix) +- Add `configuration_url` to Huawei LTE integration ([@chmielowiec] - [#58584]) ([huawei_lte docs]) (beta fix) +- Add ROCKROBO_S5_MAX to xiaomi_miio vacuum models ([@OGKevin] - [#58591]) ([xiaomi_miio docs]) (beta fix) +- Add configuration_url to devolo Home Control ([@Shutgun] - [#58594]) ([devolo_home_control docs]) (beta fix) +- Fix missing config string in sense ([@tkdrob] - [#58597]) ([sense docs]) (beta fix) +- Fix uncaught exception in sense and retry later ([@bdraco] - [#58623]) ([sense docs]) (beta fix) +- Add entity category for load sensors to AsusWRT ([@Chen-IL] - [#58625]) ([asuswrt docs]) (beta fix) +- Add package constraint to websockets ([@bdraco] - [#58626]) (beta fix) +- Fix missing triggered state in SimpliSafe alarm control panel ([@bachya] - [#58628]) ([simplisafe docs]) (beta fix) +- Update frontend to 20211028.0 ([@bramkragten] - [#58629]) ([frontend docs]) (beta fix) +- Improve ViCare energy units ([@oischinger] - [#58630]) ([vicare docs]) (beta fix) +- Migrate Tuya unique IDs for switches & lights ([@frenck] - [#58631]) ([tuya docs]) (beta fix) +- Fix incorrect RainMachine service helper ([@bachya] - [#58633]) ([rainmachine docs]) (beta fix) +- Bump greeclimate to 0.12.3 ([@cmroche] - [#58635]) ([gree docs]) (beta fix) +- Fix missing temperature level on Tuya Heater (qn) devices ([@frenck] - [#58643]) ([tuya docs]) (beta fix) +- Bump pyhik to 0.3.0 ([@mezz64] - [#58659]) ([hikvision docs]) (beta fix) +- Update light turn_on schema to coerce colors to tuple before asserting sequence type ([@emontnemery] - [#58670]) ([group docs]) (beta fix) +- Convert RGBW and RGBWW colors in light turn_on calls ([@emontnemery] - [#58680]) ([light docs]) (beta fix) +- Fix regression in MQTT discovery ([@emontnemery] - [#58684]) ([mqtt docs]) (beta fix) +- Fix spelling of OctoPrint ([@frenck] - [#58686]) ([octoprint docs]) (beta fix) +- Fix OctoPrint config flow schema ([@frenck] - [#58688]) ([octoprint docs]) (beta fix) +- Fix round - wallbox ([@cdce8p] - [#58689]) ([wallbox docs]) (beta fix) +- Fix OctoPrint SSDP URL parsing and discovered values ([@frenck] - [#58698]) ([octoprint docs]) (beta fix) +- Avoid doorbird device probe during discovery for known devices ([@bdraco] - [#58701]) ([doorbird docs]) (beta fix) +- Disable polling Sonos switches by default ([@jjlawren] - [#58705]) ([sonos docs]) (beta fix) +- Bump aioambient to 2021.10.1 ([@bachya] - [#58708]) ([ambient_station docs]) (beta fix) +- reload service: remove entities before disconnection ([@farmio] - [#58712]) ([knx docs]) (beta fix) +- Fix bug with volumes in SimpliSafe set_system_properties service ([@bachya] - [#58721]) ([simplisafe docs]) (beta fix) +- Improve handling of invalid serial numbers in HomeKit Controller ([@bdraco] - [#58723]) ([homekit_controller docs]) (beta fix) +- Add configuration url to AVM Fritz!Smarthome ([@mib1185] - [#57711]) ([fritzbox docs]) (beta fix) +- Mobile app to update entity registry on re-register sensors ([@balloob] - [#58378]) ([mobile_app docs]) (beta fix) +- Coerce to tuple before asserting the sequence ([@emontnemery] - [#58672]) ([opencv docs]) ([lifx docs]) ([yeelight docs]) ([flux_led docs]) (beta fix) +- Add ROCKROBO_S4 to xiaomi_miio vaccum models ([@OGKevin] - [#58682]) ([xiaomi_miio docs]) (beta fix) +- Set Netatmo max default temperature ([@cgtobi] - [#58718]) ([netatmo docs]) (beta fix) +- Fix bluesound player internally used id ([@thrawnarn] - [#58732]) ([bluesound docs]) (beta fix) +- Add additional test coverage for RYSE smartbridges with HK ([@bdraco] - [#58746]) ([homekit_controller docs]) (beta fix) +- Bump nad_receiver to version 0.3.0 ([@Kapernicus] - [#58751]) ([nad docs]) (beta fix) +- Add configuration_url to OctoPrint ([@frenck] - [#58753]) ([octoprint docs]) (beta fix) +- Bump zeroconf 0.36.11 ([@bdraco] - [#58755]) ([zeroconf docs]) (beta fix) +- Fix channel.send in Discord ([@mib1185] - [#58756]) ([discord docs]) (beta fix) +- Fix solaredge energy sensor names ([@purcell-lab] - [#58773]) ([solaredge docs]) (breaking-change) (beta fix) +- Workaround brightness transition delay from off in older yeelight models ([@bdraco] - [#58774]) ([yeelight docs]) (beta fix) +- dlna_dmr: less eager discovery ([@chishm] - [#58780]) ([dlna_dmr docs]) (beta fix) +- Add ROCKROBO_E2 to supported vacuums for xiaomi_miio ([@OGKevin] - [#58817]) ([xiaomi_miio docs]) (beta fix) +- Fix Plugwise not updating config entry with discovery information ([@frenck] - [#58819]) ([plugwise docs]) (beta fix) +- Bump pyefergy to 0.1.3 ([@tkdrob] - [#58821]) ([efergy docs]) (beta fix) +- Improve part metadata in stream ([@uvjustin] - [#58822]) ([stream docs]) (beta fix) +- Add `configuration_url` to GIOS integration ([@bieniu] - [#58840]) ([gios docs]) (beta fix) +- Fix OpenWeatherMap options not being initialized the first time ([@mback2k] - [#58736]) ([openweathermap docs]) (beta fix) +- Add ROCKROBO_S4_MAX to supported xiaomi vacuums ([@OGKevin] - [#58826]) ([xiaomi_miio docs]) (beta fix) +- Fix renamed solaredge sensor keys ([@purcell-lab] - [#58875]) ([solaredge docs]) (beta fix) +- Handle `None` values in Xiaomi Miio integration ([@bieniu] - [#58880]) ([xiaomi_miio docs]) (beta fix) +- Fix find_next_time_expression_time ([@OttoWinter] - [#58894]) (beta fix) +- Fix color temp selection when brightness changed in Tuya light ([@pabigot] - [#58341]) ([tuya docs]) (beta fix) +- Fix incorrect entity category in Advantage Air ([@frenck] - [#58754]) ([advantage_air docs]) (beta fix) +- Add ROCKROBO_S6_PURE to supported vacuums for xiaomi_miio ([@OGKevin] - [#58901]) ([xiaomi_miio docs]) (beta fix) +- Bump pyinsteon to 1.0.13 ([@teharris1] - [#58908]) ([insteon docs]) (beta fix) +- Add `configuration_url` to Airly integration ([@bieniu] - [#58911]) ([airly docs]) (beta fix) +- Fix recursive limit in find_next_time_expression_time ([@bdraco] - [#58914]) (beta fix) +- Add libav.mpegts to logging filter ([@uvjustin] - [#58937]) ([stream docs]) (beta fix) +- Revert "Add offset support to time trigger" ([@emontnemery] - [#58947]) ([homeassistant docs]) (beta fix) +- Extend Tuya Dimmer (tgq) support ([@frenck] - [#58951]) ([tuya docs]) (beta fix) +- Add support for IoT Switches (tdq) in Tuya ([@frenck] - [#58952]) ([tuya docs]) (beta fix) +- Add device configuration URL to Solar-Log ([@Ernst79] - [#58954]) ([solarlog docs]) (beta fix) +- Fix unique_id of derived sent-sensors ([@kodsnutten] - [#58298]) ([upnp docs]) (breaking-change) (beta fix) +- Aurora abb energy metering ([@davet2001] - [#58454]) ([aurora_abb_powerone docs]) (beta fix) +- Aurora abb defer unique_id assignment during yaml import ([@davet2001] - [#58887]) ([aurora_abb_powerone docs]) (beta fix) +- Add missing ZMW currency ([@tkdrob] - [#58959]) (beta fix) +- Fix broken ViCare burner & compressor sensors ([@oischinger] - [#58962]) ([vicare docs]) (beta fix) +- Bump pyMill to 0.7.4 ([@Danielhiversen] - [#58977]) ([mill docs]) (beta fix) +- Fix battery_is_charging sensor on system bridge ([@arksega] - [#58980]) ([system_bridge docs]) (beta fix) +- Update frontend to 20211103.0 ([@bramkragten] - [#58988]) ([frontend docs]) (beta fix) + +{% enddetails %} + +[#36300]: https://github.com/home-assistant/core/pull/36300 +[#50067]: https://github.com/home-assistant/core/pull/50067 +[#50953]: https://github.com/home-assistant/core/pull/50953 +[#51520]: https://github.com/home-assistant/core/pull/51520 +[#52523]: https://github.com/home-assistant/core/pull/52523 +[#52614]: https://github.com/home-assistant/core/pull/52614 +[#52786]: https://github.com/home-assistant/core/pull/52786 +[#52830]: https://github.com/home-assistant/core/pull/52830 +[#53334]: https://github.com/home-assistant/core/pull/53334 +[#53628]: https://github.com/home-assistant/core/pull/53628 +[#53843]: https://github.com/home-assistant/core/pull/53843 +[#54502]: https://github.com/home-assistant/core/pull/54502 +[#54651]: https://github.com/home-assistant/core/pull/54651 +[#54696]: https://github.com/home-assistant/core/pull/54696 +[#54747]: https://github.com/home-assistant/core/pull/54747 +[#54990]: https://github.com/home-assistant/core/pull/54990 +[#55135]: https://github.com/home-assistant/core/pull/55135 +[#55228]: https://github.com/home-assistant/core/pull/55228 +[#55429]: https://github.com/home-assistant/core/pull/55429 +[#55467]: https://github.com/home-assistant/core/pull/55467 +[#55516]: https://github.com/home-assistant/core/pull/55516 +[#55625]: https://github.com/home-assistant/core/pull/55625 +[#55801]: https://github.com/home-assistant/core/pull/55801 +[#55902]: https://github.com/home-assistant/core/pull/55902 +[#55921]: https://github.com/home-assistant/core/pull/55921 +[#55989]: https://github.com/home-assistant/core/pull/55989 +[#56132]: https://github.com/home-assistant/core/pull/56132 +[#56154]: https://github.com/home-assistant/core/pull/56154 +[#56226]: https://github.com/home-assistant/core/pull/56226 +[#56232]: https://github.com/home-assistant/core/pull/56232 +[#56317]: https://github.com/home-assistant/core/pull/56317 +[#56319]: https://github.com/home-assistant/core/pull/56319 +[#56354]: https://github.com/home-assistant/core/pull/56354 +[#56385]: https://github.com/home-assistant/core/pull/56385 +[#56418]: https://github.com/home-assistant/core/pull/56418 +[#56474]: https://github.com/home-assistant/core/pull/56474 +[#56535]: https://github.com/home-assistant/core/pull/56535 +[#56541]: https://github.com/home-assistant/core/pull/56541 +[#56543]: https://github.com/home-assistant/core/pull/56543 +[#56544]: https://github.com/home-assistant/core/pull/56544 +[#56582]: https://github.com/home-assistant/core/pull/56582 +[#56607]: https://github.com/home-assistant/core/pull/56607 +[#56634]: https://github.com/home-assistant/core/pull/56634 +[#56800]: https://github.com/home-assistant/core/pull/56800 +[#56811]: https://github.com/home-assistant/core/pull/56811 +[#56823]: https://github.com/home-assistant/core/pull/56823 +[#56834]: https://github.com/home-assistant/core/pull/56834 +[#56835]: https://github.com/home-assistant/core/pull/56835 +[#56838]: https://github.com/home-assistant/core/pull/56838 +[#56847]: https://github.com/home-assistant/core/pull/56847 +[#56849]: https://github.com/home-assistant/core/pull/56849 +[#56852]: https://github.com/home-assistant/core/pull/56852 +[#56854]: https://github.com/home-assistant/core/pull/56854 +[#56856]: https://github.com/home-assistant/core/pull/56856 +[#56861]: https://github.com/home-assistant/core/pull/56861 +[#56862]: https://github.com/home-assistant/core/pull/56862 +[#56863]: https://github.com/home-assistant/core/pull/56863 +[#56871]: https://github.com/home-assistant/core/pull/56871 +[#56883]: https://github.com/home-assistant/core/pull/56883 +[#56885]: https://github.com/home-assistant/core/pull/56885 +[#56886]: https://github.com/home-assistant/core/pull/56886 +[#56887]: https://github.com/home-assistant/core/pull/56887 +[#56888]: https://github.com/home-assistant/core/pull/56888 +[#56889]: https://github.com/home-assistant/core/pull/56889 +[#56890]: https://github.com/home-assistant/core/pull/56890 +[#56894]: https://github.com/home-assistant/core/pull/56894 +[#56896]: https://github.com/home-assistant/core/pull/56896 +[#56904]: https://github.com/home-assistant/core/pull/56904 +[#56907]: https://github.com/home-assistant/core/pull/56907 +[#56909]: https://github.com/home-assistant/core/pull/56909 +[#56910]: https://github.com/home-assistant/core/pull/56910 +[#56920]: https://github.com/home-assistant/core/pull/56920 +[#56921]: https://github.com/home-assistant/core/pull/56921 +[#56924]: https://github.com/home-assistant/core/pull/56924 +[#56927]: https://github.com/home-assistant/core/pull/56927 +[#56931]: https://github.com/home-assistant/core/pull/56931 +[#56933]: https://github.com/home-assistant/core/pull/56933 +[#56940]: https://github.com/home-assistant/core/pull/56940 +[#56941]: https://github.com/home-assistant/core/pull/56941 +[#56942]: https://github.com/home-assistant/core/pull/56942 +[#56943]: https://github.com/home-assistant/core/pull/56943 +[#56944]: https://github.com/home-assistant/core/pull/56944 +[#56945]: https://github.com/home-assistant/core/pull/56945 +[#56946]: https://github.com/home-assistant/core/pull/56946 +[#56948]: https://github.com/home-assistant/core/pull/56948 +[#56952]: https://github.com/home-assistant/core/pull/56952 +[#56953]: https://github.com/home-assistant/core/pull/56953 +[#56958]: https://github.com/home-assistant/core/pull/56958 +[#56966]: https://github.com/home-assistant/core/pull/56966 +[#56967]: https://github.com/home-assistant/core/pull/56967 +[#56982]: https://github.com/home-assistant/core/pull/56982 +[#56984]: https://github.com/home-assistant/core/pull/56984 +[#56991]: https://github.com/home-assistant/core/pull/56991 +[#56993]: https://github.com/home-assistant/core/pull/56993 +[#56995]: https://github.com/home-assistant/core/pull/56995 +[#56997]: https://github.com/home-assistant/core/pull/56997 +[#57000]: https://github.com/home-assistant/core/pull/57000 +[#57019]: https://github.com/home-assistant/core/pull/57019 +[#57021]: https://github.com/home-assistant/core/pull/57021 +[#57022]: https://github.com/home-assistant/core/pull/57022 +[#57026]: https://github.com/home-assistant/core/pull/57026 +[#57034]: https://github.com/home-assistant/core/pull/57034 +[#57037]: https://github.com/home-assistant/core/pull/57037 +[#57038]: https://github.com/home-assistant/core/pull/57038 +[#57039]: https://github.com/home-assistant/core/pull/57039 +[#57041]: https://github.com/home-assistant/core/pull/57041 +[#57046]: https://github.com/home-assistant/core/pull/57046 +[#57047]: https://github.com/home-assistant/core/pull/57047 +[#57058]: https://github.com/home-assistant/core/pull/57058 +[#57059]: https://github.com/home-assistant/core/pull/57059 +[#57068]: https://github.com/home-assistant/core/pull/57068 +[#57077]: https://github.com/home-assistant/core/pull/57077 +[#57079]: https://github.com/home-assistant/core/pull/57079 +[#57080]: https://github.com/home-assistant/core/pull/57080 +[#57083]: https://github.com/home-assistant/core/pull/57083 +[#57086]: https://github.com/home-assistant/core/pull/57086 +[#57089]: https://github.com/home-assistant/core/pull/57089 +[#57091]: https://github.com/home-assistant/core/pull/57091 +[#57092]: https://github.com/home-assistant/core/pull/57092 +[#57094]: https://github.com/home-assistant/core/pull/57094 +[#57095]: https://github.com/home-assistant/core/pull/57095 +[#57096]: https://github.com/home-assistant/core/pull/57096 +[#57098]: https://github.com/home-assistant/core/pull/57098 +[#57099]: https://github.com/home-assistant/core/pull/57099 +[#57101]: https://github.com/home-assistant/core/pull/57101 +[#57105]: https://github.com/home-assistant/core/pull/57105 +[#57115]: https://github.com/home-assistant/core/pull/57115 +[#57116]: https://github.com/home-assistant/core/pull/57116 +[#57119]: https://github.com/home-assistant/core/pull/57119 +[#57127]: https://github.com/home-assistant/core/pull/57127 +[#57129]: https://github.com/home-assistant/core/pull/57129 +[#57130]: https://github.com/home-assistant/core/pull/57130 +[#57131]: https://github.com/home-assistant/core/pull/57131 +[#57132]: https://github.com/home-assistant/core/pull/57132 +[#57133]: https://github.com/home-assistant/core/pull/57133 +[#57136]: https://github.com/home-assistant/core/pull/57136 +[#57137]: https://github.com/home-assistant/core/pull/57137 +[#57140]: https://github.com/home-assistant/core/pull/57140 +[#57141]: https://github.com/home-assistant/core/pull/57141 +[#57144]: https://github.com/home-assistant/core/pull/57144 +[#57145]: https://github.com/home-assistant/core/pull/57145 +[#57152]: https://github.com/home-assistant/core/pull/57152 +[#57153]: https://github.com/home-assistant/core/pull/57153 +[#57157]: https://github.com/home-assistant/core/pull/57157 +[#57161]: https://github.com/home-assistant/core/pull/57161 +[#57170]: https://github.com/home-assistant/core/pull/57170 +[#57182]: https://github.com/home-assistant/core/pull/57182 +[#57187]: https://github.com/home-assistant/core/pull/57187 +[#57212]: https://github.com/home-assistant/core/pull/57212 +[#57214]: https://github.com/home-assistant/core/pull/57214 +[#57224]: https://github.com/home-assistant/core/pull/57224 +[#57226]: https://github.com/home-assistant/core/pull/57226 +[#57233]: https://github.com/home-assistant/core/pull/57233 +[#57235]: https://github.com/home-assistant/core/pull/57235 +[#57264]: https://github.com/home-assistant/core/pull/57264 +[#57266]: https://github.com/home-assistant/core/pull/57266 +[#57278]: https://github.com/home-assistant/core/pull/57278 +[#57279]: https://github.com/home-assistant/core/pull/57279 +[#57292]: https://github.com/home-assistant/core/pull/57292 +[#57295]: https://github.com/home-assistant/core/pull/57295 +[#57299]: https://github.com/home-assistant/core/pull/57299 +[#57316]: https://github.com/home-assistant/core/pull/57316 +[#57317]: https://github.com/home-assistant/core/pull/57317 +[#57322]: https://github.com/home-assistant/core/pull/57322 +[#57324]: https://github.com/home-assistant/core/pull/57324 +[#57339]: https://github.com/home-assistant/core/pull/57339 +[#57353]: https://github.com/home-assistant/core/pull/57353 +[#57354]: https://github.com/home-assistant/core/pull/57354 +[#57356]: https://github.com/home-assistant/core/pull/57356 +[#57357]: https://github.com/home-assistant/core/pull/57357 +[#57358]: https://github.com/home-assistant/core/pull/57358 +[#57363]: https://github.com/home-assistant/core/pull/57363 +[#57393]: https://github.com/home-assistant/core/pull/57393 +[#57399]: https://github.com/home-assistant/core/pull/57399 +[#57408]: https://github.com/home-assistant/core/pull/57408 +[#57430]: https://github.com/home-assistant/core/pull/57430 +[#57435]: https://github.com/home-assistant/core/pull/57435 +[#57439]: https://github.com/home-assistant/core/pull/57439 +[#57440]: https://github.com/home-assistant/core/pull/57440 +[#57444]: https://github.com/home-assistant/core/pull/57444 +[#57449]: https://github.com/home-assistant/core/pull/57449 +[#57456]: https://github.com/home-assistant/core/pull/57456 +[#57458]: https://github.com/home-assistant/core/pull/57458 +[#57463]: https://github.com/home-assistant/core/pull/57463 +[#57468]: https://github.com/home-assistant/core/pull/57468 +[#57470]: https://github.com/home-assistant/core/pull/57470 +[#57472]: https://github.com/home-assistant/core/pull/57472 +[#57473]: https://github.com/home-assistant/core/pull/57473 +[#57477]: https://github.com/home-assistant/core/pull/57477 +[#57478]: https://github.com/home-assistant/core/pull/57478 +[#57479]: https://github.com/home-assistant/core/pull/57479 +[#57483]: https://github.com/home-assistant/core/pull/57483 +[#57487]: https://github.com/home-assistant/core/pull/57487 +[#57492]: https://github.com/home-assistant/core/pull/57492 +[#57495]: https://github.com/home-assistant/core/pull/57495 +[#57497]: https://github.com/home-assistant/core/pull/57497 +[#57498]: https://github.com/home-assistant/core/pull/57498 +[#57503]: https://github.com/home-assistant/core/pull/57503 +[#57504]: https://github.com/home-assistant/core/pull/57504 +[#57505]: https://github.com/home-assistant/core/pull/57505 +[#57507]: https://github.com/home-assistant/core/pull/57507 +[#57508]: https://github.com/home-assistant/core/pull/57508 +[#57510]: https://github.com/home-assistant/core/pull/57510 +[#57511]: https://github.com/home-assistant/core/pull/57511 +[#57512]: https://github.com/home-assistant/core/pull/57512 +[#57513]: https://github.com/home-assistant/core/pull/57513 +[#57518]: https://github.com/home-assistant/core/pull/57518 +[#57519]: https://github.com/home-assistant/core/pull/57519 +[#57520]: https://github.com/home-assistant/core/pull/57520 +[#57523]: https://github.com/home-assistant/core/pull/57523 +[#57526]: https://github.com/home-assistant/core/pull/57526 +[#57527]: https://github.com/home-assistant/core/pull/57527 +[#57528]: https://github.com/home-assistant/core/pull/57528 +[#57529]: https://github.com/home-assistant/core/pull/57529 +[#57530]: https://github.com/home-assistant/core/pull/57530 +[#57532]: https://github.com/home-assistant/core/pull/57532 +[#57537]: https://github.com/home-assistant/core/pull/57537 +[#57538]: https://github.com/home-assistant/core/pull/57538 +[#57539]: https://github.com/home-assistant/core/pull/57539 +[#57540]: https://github.com/home-assistant/core/pull/57540 +[#57543]: https://github.com/home-assistant/core/pull/57543 +[#57545]: https://github.com/home-assistant/core/pull/57545 +[#57546]: https://github.com/home-assistant/core/pull/57546 +[#57554]: https://github.com/home-assistant/core/pull/57554 +[#57558]: https://github.com/home-assistant/core/pull/57558 +[#57559]: https://github.com/home-assistant/core/pull/57559 +[#57560]: https://github.com/home-assistant/core/pull/57560 +[#57564]: https://github.com/home-assistant/core/pull/57564 +[#57568]: https://github.com/home-assistant/core/pull/57568 +[#57570]: https://github.com/home-assistant/core/pull/57570 +[#57576]: https://github.com/home-assistant/core/pull/57576 +[#57579]: https://github.com/home-assistant/core/pull/57579 +[#57581]: https://github.com/home-assistant/core/pull/57581 +[#57583]: https://github.com/home-assistant/core/pull/57583 +[#57588]: https://github.com/home-assistant/core/pull/57588 +[#57595]: https://github.com/home-assistant/core/pull/57595 +[#57596]: https://github.com/home-assistant/core/pull/57596 +[#57601]: https://github.com/home-assistant/core/pull/57601 +[#57602]: https://github.com/home-assistant/core/pull/57602 +[#57603]: https://github.com/home-assistant/core/pull/57603 +[#57605]: https://github.com/home-assistant/core/pull/57605 +[#57607]: https://github.com/home-assistant/core/pull/57607 +[#57609]: https://github.com/home-assistant/core/pull/57609 +[#57615]: https://github.com/home-assistant/core/pull/57615 +[#57616]: https://github.com/home-assistant/core/pull/57616 +[#57619]: https://github.com/home-assistant/core/pull/57619 +[#57623]: https://github.com/home-assistant/core/pull/57623 +[#57624]: https://github.com/home-assistant/core/pull/57624 +[#57625]: https://github.com/home-assistant/core/pull/57625 +[#57627]: https://github.com/home-assistant/core/pull/57627 +[#57629]: https://github.com/home-assistant/core/pull/57629 +[#57632]: https://github.com/home-assistant/core/pull/57632 +[#57634]: https://github.com/home-assistant/core/pull/57634 +[#57635]: https://github.com/home-assistant/core/pull/57635 +[#57636]: https://github.com/home-assistant/core/pull/57636 +[#57638]: https://github.com/home-assistant/core/pull/57638 +[#57643]: https://github.com/home-assistant/core/pull/57643 +[#57648]: https://github.com/home-assistant/core/pull/57648 +[#57649]: https://github.com/home-assistant/core/pull/57649 +[#57650]: https://github.com/home-assistant/core/pull/57650 +[#57651]: https://github.com/home-assistant/core/pull/57651 +[#57652]: https://github.com/home-assistant/core/pull/57652 +[#57653]: https://github.com/home-assistant/core/pull/57653 +[#57654]: https://github.com/home-assistant/core/pull/57654 +[#57656]: https://github.com/home-assistant/core/pull/57656 +[#57662]: https://github.com/home-assistant/core/pull/57662 +[#57666]: https://github.com/home-assistant/core/pull/57666 +[#57668]: https://github.com/home-assistant/core/pull/57668 +[#57669]: https://github.com/home-assistant/core/pull/57669 +[#57671]: https://github.com/home-assistant/core/pull/57671 +[#57672]: https://github.com/home-assistant/core/pull/57672 +[#57674]: https://github.com/home-assistant/core/pull/57674 +[#57680]: https://github.com/home-assistant/core/pull/57680 +[#57682]: https://github.com/home-assistant/core/pull/57682 +[#57683]: https://github.com/home-assistant/core/pull/57683 +[#57687]: https://github.com/home-assistant/core/pull/57687 +[#57689]: https://github.com/home-assistant/core/pull/57689 +[#57690]: https://github.com/home-assistant/core/pull/57690 +[#57692]: https://github.com/home-assistant/core/pull/57692 +[#57693]: https://github.com/home-assistant/core/pull/57693 +[#57694]: https://github.com/home-assistant/core/pull/57694 +[#57695]: https://github.com/home-assistant/core/pull/57695 +[#57696]: https://github.com/home-assistant/core/pull/57696 +[#57697]: https://github.com/home-assistant/core/pull/57697 +[#57698]: https://github.com/home-assistant/core/pull/57698 +[#57699]: https://github.com/home-assistant/core/pull/57699 +[#57700]: https://github.com/home-assistant/core/pull/57700 +[#57701]: https://github.com/home-assistant/core/pull/57701 +[#57703]: https://github.com/home-assistant/core/pull/57703 +[#57704]: https://github.com/home-assistant/core/pull/57704 +[#57705]: https://github.com/home-assistant/core/pull/57705 +[#57706]: https://github.com/home-assistant/core/pull/57706 +[#57707]: https://github.com/home-assistant/core/pull/57707 +[#57709]: https://github.com/home-assistant/core/pull/57709 +[#57710]: https://github.com/home-assistant/core/pull/57710 +[#57711]: https://github.com/home-assistant/core/pull/57711 +[#57713]: https://github.com/home-assistant/core/pull/57713 +[#57714]: https://github.com/home-assistant/core/pull/57714 +[#57715]: https://github.com/home-assistant/core/pull/57715 +[#57716]: https://github.com/home-assistant/core/pull/57716 +[#57718]: https://github.com/home-assistant/core/pull/57718 +[#57719]: https://github.com/home-assistant/core/pull/57719 +[#57720]: https://github.com/home-assistant/core/pull/57720 +[#57722]: https://github.com/home-assistant/core/pull/57722 +[#57725]: https://github.com/home-assistant/core/pull/57725 +[#57726]: https://github.com/home-assistant/core/pull/57726 +[#57727]: https://github.com/home-assistant/core/pull/57727 +[#57728]: https://github.com/home-assistant/core/pull/57728 +[#57729]: https://github.com/home-assistant/core/pull/57729 +[#57731]: https://github.com/home-assistant/core/pull/57731 +[#57732]: https://github.com/home-assistant/core/pull/57732 +[#57733]: https://github.com/home-assistant/core/pull/57733 +[#57734]: https://github.com/home-assistant/core/pull/57734 +[#57735]: https://github.com/home-assistant/core/pull/57735 +[#57736]: https://github.com/home-assistant/core/pull/57736 +[#57737]: https://github.com/home-assistant/core/pull/57737 +[#57738]: https://github.com/home-assistant/core/pull/57738 +[#57739]: https://github.com/home-assistant/core/pull/57739 +[#57740]: https://github.com/home-assistant/core/pull/57740 +[#57742]: https://github.com/home-assistant/core/pull/57742 +[#57743]: https://github.com/home-assistant/core/pull/57743 +[#57744]: https://github.com/home-assistant/core/pull/57744 +[#57746]: https://github.com/home-assistant/core/pull/57746 +[#57747]: https://github.com/home-assistant/core/pull/57747 +[#57750]: https://github.com/home-assistant/core/pull/57750 +[#57751]: https://github.com/home-assistant/core/pull/57751 +[#57752]: https://github.com/home-assistant/core/pull/57752 +[#57755]: https://github.com/home-assistant/core/pull/57755 +[#57756]: https://github.com/home-assistant/core/pull/57756 +[#57757]: https://github.com/home-assistant/core/pull/57757 +[#57759]: https://github.com/home-assistant/core/pull/57759 +[#57760]: https://github.com/home-assistant/core/pull/57760 +[#57761]: https://github.com/home-assistant/core/pull/57761 +[#57762]: https://github.com/home-assistant/core/pull/57762 +[#57763]: https://github.com/home-assistant/core/pull/57763 +[#57764]: https://github.com/home-assistant/core/pull/57764 +[#57770]: https://github.com/home-assistant/core/pull/57770 +[#57771]: https://github.com/home-assistant/core/pull/57771 +[#57772]: https://github.com/home-assistant/core/pull/57772 +[#57774]: https://github.com/home-assistant/core/pull/57774 +[#57775]: https://github.com/home-assistant/core/pull/57775 +[#57776]: https://github.com/home-assistant/core/pull/57776 +[#57780]: https://github.com/home-assistant/core/pull/57780 +[#57781]: https://github.com/home-assistant/core/pull/57781 +[#57784]: https://github.com/home-assistant/core/pull/57784 +[#57785]: https://github.com/home-assistant/core/pull/57785 +[#57786]: https://github.com/home-assistant/core/pull/57786 +[#57787]: https://github.com/home-assistant/core/pull/57787 +[#57788]: https://github.com/home-assistant/core/pull/57788 +[#57790]: https://github.com/home-assistant/core/pull/57790 +[#57791]: https://github.com/home-assistant/core/pull/57791 +[#57792]: https://github.com/home-assistant/core/pull/57792 +[#57794]: https://github.com/home-assistant/core/pull/57794 +[#57795]: https://github.com/home-assistant/core/pull/57795 +[#57796]: https://github.com/home-assistant/core/pull/57796 +[#57797]: https://github.com/home-assistant/core/pull/57797 +[#57799]: https://github.com/home-assistant/core/pull/57799 +[#57805]: https://github.com/home-assistant/core/pull/57805 +[#57806]: https://github.com/home-assistant/core/pull/57806 +[#57807]: https://github.com/home-assistant/core/pull/57807 +[#57808]: https://github.com/home-assistant/core/pull/57808 +[#57809]: https://github.com/home-assistant/core/pull/57809 +[#57810]: https://github.com/home-assistant/core/pull/57810 +[#57811]: https://github.com/home-assistant/core/pull/57811 +[#57812]: https://github.com/home-assistant/core/pull/57812 +[#57813]: https://github.com/home-assistant/core/pull/57813 +[#57814]: https://github.com/home-assistant/core/pull/57814 +[#57815]: https://github.com/home-assistant/core/pull/57815 +[#57816]: https://github.com/home-assistant/core/pull/57816 +[#57817]: https://github.com/home-assistant/core/pull/57817 +[#57818]: https://github.com/home-assistant/core/pull/57818 +[#57825]: https://github.com/home-assistant/core/pull/57825 +[#57826]: https://github.com/home-assistant/core/pull/57826 +[#57829]: https://github.com/home-assistant/core/pull/57829 +[#57832]: https://github.com/home-assistant/core/pull/57832 +[#57834]: https://github.com/home-assistant/core/pull/57834 +[#57836]: https://github.com/home-assistant/core/pull/57836 +[#57837]: https://github.com/home-assistant/core/pull/57837 +[#57838]: https://github.com/home-assistant/core/pull/57838 +[#57839]: https://github.com/home-assistant/core/pull/57839 +[#57840]: https://github.com/home-assistant/core/pull/57840 +[#57843]: https://github.com/home-assistant/core/pull/57843 +[#57844]: https://github.com/home-assistant/core/pull/57844 +[#57846]: https://github.com/home-assistant/core/pull/57846 +[#57848]: https://github.com/home-assistant/core/pull/57848 +[#57850]: https://github.com/home-assistant/core/pull/57850 +[#57851]: https://github.com/home-assistant/core/pull/57851 +[#57852]: https://github.com/home-assistant/core/pull/57852 +[#57854]: https://github.com/home-assistant/core/pull/57854 +[#57858]: https://github.com/home-assistant/core/pull/57858 +[#57859]: https://github.com/home-assistant/core/pull/57859 +[#57861]: https://github.com/home-assistant/core/pull/57861 +[#57865]: https://github.com/home-assistant/core/pull/57865 +[#57867]: https://github.com/home-assistant/core/pull/57867 +[#57868]: https://github.com/home-assistant/core/pull/57868 +[#57870]: https://github.com/home-assistant/core/pull/57870 +[#57873]: https://github.com/home-assistant/core/pull/57873 +[#57877]: https://github.com/home-assistant/core/pull/57877 +[#57881]: https://github.com/home-assistant/core/pull/57881 +[#57882]: https://github.com/home-assistant/core/pull/57882 +[#57885]: https://github.com/home-assistant/core/pull/57885 +[#57887]: https://github.com/home-assistant/core/pull/57887 +[#57888]: https://github.com/home-assistant/core/pull/57888 +[#57890]: https://github.com/home-assistant/core/pull/57890 +[#57891]: https://github.com/home-assistant/core/pull/57891 +[#57892]: https://github.com/home-assistant/core/pull/57892 +[#57894]: https://github.com/home-assistant/core/pull/57894 +[#57895]: https://github.com/home-assistant/core/pull/57895 +[#57902]: https://github.com/home-assistant/core/pull/57902 +[#57906]: https://github.com/home-assistant/core/pull/57906 +[#57907]: https://github.com/home-assistant/core/pull/57907 +[#57908]: https://github.com/home-assistant/core/pull/57908 +[#57913]: https://github.com/home-assistant/core/pull/57913 +[#57919]: https://github.com/home-assistant/core/pull/57919 +[#57920]: https://github.com/home-assistant/core/pull/57920 +[#57922]: https://github.com/home-assistant/core/pull/57922 +[#57923]: https://github.com/home-assistant/core/pull/57923 +[#57924]: https://github.com/home-assistant/core/pull/57924 +[#57926]: https://github.com/home-assistant/core/pull/57926 +[#57929]: https://github.com/home-assistant/core/pull/57929 +[#57934]: https://github.com/home-assistant/core/pull/57934 +[#57937]: https://github.com/home-assistant/core/pull/57937 +[#57938]: https://github.com/home-assistant/core/pull/57938 +[#57939]: https://github.com/home-assistant/core/pull/57939 +[#57940]: https://github.com/home-assistant/core/pull/57940 +[#57941]: https://github.com/home-assistant/core/pull/57941 +[#57947]: https://github.com/home-assistant/core/pull/57947 +[#57949]: https://github.com/home-assistant/core/pull/57949 +[#57953]: https://github.com/home-assistant/core/pull/57953 +[#57955]: https://github.com/home-assistant/core/pull/57955 +[#57957]: https://github.com/home-assistant/core/pull/57957 +[#57958]: https://github.com/home-assistant/core/pull/57958 +[#57961]: https://github.com/home-assistant/core/pull/57961 +[#57962]: https://github.com/home-assistant/core/pull/57962 +[#57963]: https://github.com/home-assistant/core/pull/57963 +[#57964]: https://github.com/home-assistant/core/pull/57964 +[#57966]: https://github.com/home-assistant/core/pull/57966 +[#57967]: https://github.com/home-assistant/core/pull/57967 +[#57968]: https://github.com/home-assistant/core/pull/57968 +[#57969]: https://github.com/home-assistant/core/pull/57969 +[#57970]: https://github.com/home-assistant/core/pull/57970 +[#57971]: https://github.com/home-assistant/core/pull/57971 +[#57973]: https://github.com/home-assistant/core/pull/57973 +[#57974]: https://github.com/home-assistant/core/pull/57974 +[#57976]: https://github.com/home-assistant/core/pull/57976 +[#57978]: https://github.com/home-assistant/core/pull/57978 +[#57979]: https://github.com/home-assistant/core/pull/57979 +[#57980]: https://github.com/home-assistant/core/pull/57980 +[#57983]: https://github.com/home-assistant/core/pull/57983 +[#57985]: https://github.com/home-assistant/core/pull/57985 +[#57987]: https://github.com/home-assistant/core/pull/57987 +[#57988]: https://github.com/home-assistant/core/pull/57988 +[#57989]: https://github.com/home-assistant/core/pull/57989 +[#57990]: https://github.com/home-assistant/core/pull/57990 +[#57991]: https://github.com/home-assistant/core/pull/57991 +[#57992]: https://github.com/home-assistant/core/pull/57992 +[#57994]: https://github.com/home-assistant/core/pull/57994 +[#57995]: https://github.com/home-assistant/core/pull/57995 +[#57996]: https://github.com/home-assistant/core/pull/57996 +[#57998]: https://github.com/home-assistant/core/pull/57998 +[#57999]: https://github.com/home-assistant/core/pull/57999 +[#58004]: https://github.com/home-assistant/core/pull/58004 +[#58005]: https://github.com/home-assistant/core/pull/58005 +[#58006]: https://github.com/home-assistant/core/pull/58006 +[#58007]: https://github.com/home-assistant/core/pull/58007 +[#58011]: https://github.com/home-assistant/core/pull/58011 +[#58012]: https://github.com/home-assistant/core/pull/58012 +[#58013]: https://github.com/home-assistant/core/pull/58013 +[#58014]: https://github.com/home-assistant/core/pull/58014 +[#58015]: https://github.com/home-assistant/core/pull/58015 +[#58017]: https://github.com/home-assistant/core/pull/58017 +[#58018]: https://github.com/home-assistant/core/pull/58018 +[#58019]: https://github.com/home-assistant/core/pull/58019 +[#58020]: https://github.com/home-assistant/core/pull/58020 +[#58021]: https://github.com/home-assistant/core/pull/58021 +[#58023]: https://github.com/home-assistant/core/pull/58023 +[#58025]: https://github.com/home-assistant/core/pull/58025 +[#58026]: https://github.com/home-assistant/core/pull/58026 +[#58027]: https://github.com/home-assistant/core/pull/58027 +[#58028]: https://github.com/home-assistant/core/pull/58028 +[#58030]: https://github.com/home-assistant/core/pull/58030 +[#58032]: https://github.com/home-assistant/core/pull/58032 +[#58033]: https://github.com/home-assistant/core/pull/58033 +[#58034]: https://github.com/home-assistant/core/pull/58034 +[#58035]: https://github.com/home-assistant/core/pull/58035 +[#58036]: https://github.com/home-assistant/core/pull/58036 +[#58037]: https://github.com/home-assistant/core/pull/58037 +[#58038]: https://github.com/home-assistant/core/pull/58038 +[#58039]: https://github.com/home-assistant/core/pull/58039 +[#58040]: https://github.com/home-assistant/core/pull/58040 +[#58041]: https://github.com/home-assistant/core/pull/58041 +[#58042]: https://github.com/home-assistant/core/pull/58042 +[#58045]: https://github.com/home-assistant/core/pull/58045 +[#58049]: https://github.com/home-assistant/core/pull/58049 +[#58051]: https://github.com/home-assistant/core/pull/58051 +[#58054]: https://github.com/home-assistant/core/pull/58054 +[#58055]: https://github.com/home-assistant/core/pull/58055 +[#58058]: https://github.com/home-assistant/core/pull/58058 +[#58061]: https://github.com/home-assistant/core/pull/58061 +[#58062]: https://github.com/home-assistant/core/pull/58062 +[#58063]: https://github.com/home-assistant/core/pull/58063 +[#58065]: https://github.com/home-assistant/core/pull/58065 +[#58070]: https://github.com/home-assistant/core/pull/58070 +[#58071]: https://github.com/home-assistant/core/pull/58071 +[#58073]: https://github.com/home-assistant/core/pull/58073 +[#58075]: https://github.com/home-assistant/core/pull/58075 +[#58076]: https://github.com/home-assistant/core/pull/58076 +[#58077]: https://github.com/home-assistant/core/pull/58077 +[#58078]: https://github.com/home-assistant/core/pull/58078 +[#58079]: https://github.com/home-assistant/core/pull/58079 +[#58080]: https://github.com/home-assistant/core/pull/58080 +[#58081]: https://github.com/home-assistant/core/pull/58081 +[#58082]: https://github.com/home-assistant/core/pull/58082 +[#58083]: https://github.com/home-assistant/core/pull/58083 +[#58085]: https://github.com/home-assistant/core/pull/58085 +[#58086]: https://github.com/home-assistant/core/pull/58086 +[#58089]: https://github.com/home-assistant/core/pull/58089 +[#58092]: https://github.com/home-assistant/core/pull/58092 +[#58093]: https://github.com/home-assistant/core/pull/58093 +[#58095]: https://github.com/home-assistant/core/pull/58095 +[#58097]: https://github.com/home-assistant/core/pull/58097 +[#58100]: https://github.com/home-assistant/core/pull/58100 +[#58101]: https://github.com/home-assistant/core/pull/58101 +[#58102]: https://github.com/home-assistant/core/pull/58102 +[#58104]: https://github.com/home-assistant/core/pull/58104 +[#58105]: https://github.com/home-assistant/core/pull/58105 +[#58106]: https://github.com/home-assistant/core/pull/58106 +[#58107]: https://github.com/home-assistant/core/pull/58107 +[#58108]: https://github.com/home-assistant/core/pull/58108 +[#58110]: https://github.com/home-assistant/core/pull/58110 +[#58111]: https://github.com/home-assistant/core/pull/58111 +[#58112]: https://github.com/home-assistant/core/pull/58112 +[#58116]: https://github.com/home-assistant/core/pull/58116 +[#58118]: https://github.com/home-assistant/core/pull/58118 +[#58120]: https://github.com/home-assistant/core/pull/58120 +[#58121]: https://github.com/home-assistant/core/pull/58121 +[#58125]: https://github.com/home-assistant/core/pull/58125 +[#58127]: https://github.com/home-assistant/core/pull/58127 +[#58129]: https://github.com/home-assistant/core/pull/58129 +[#58133]: https://github.com/home-assistant/core/pull/58133 +[#58134]: https://github.com/home-assistant/core/pull/58134 +[#58136]: https://github.com/home-assistant/core/pull/58136 +[#58138]: https://github.com/home-assistant/core/pull/58138 +[#58139]: https://github.com/home-assistant/core/pull/58139 +[#58141]: https://github.com/home-assistant/core/pull/58141 +[#58146]: https://github.com/home-assistant/core/pull/58146 +[#58147]: https://github.com/home-assistant/core/pull/58147 +[#58148]: https://github.com/home-assistant/core/pull/58148 +[#58149]: https://github.com/home-assistant/core/pull/58149 +[#58150]: https://github.com/home-assistant/core/pull/58150 +[#58151]: https://github.com/home-assistant/core/pull/58151 +[#58152]: https://github.com/home-assistant/core/pull/58152 +[#58154]: https://github.com/home-assistant/core/pull/58154 +[#58157]: https://github.com/home-assistant/core/pull/58157 +[#58160]: https://github.com/home-assistant/core/pull/58160 +[#58161]: https://github.com/home-assistant/core/pull/58161 +[#58164]: https://github.com/home-assistant/core/pull/58164 +[#58165]: https://github.com/home-assistant/core/pull/58165 +[#58168]: https://github.com/home-assistant/core/pull/58168 +[#58170]: https://github.com/home-assistant/core/pull/58170 +[#58172]: https://github.com/home-assistant/core/pull/58172 +[#58175]: https://github.com/home-assistant/core/pull/58175 +[#58176]: https://github.com/home-assistant/core/pull/58176 +[#58178]: https://github.com/home-assistant/core/pull/58178 +[#58179]: https://github.com/home-assistant/core/pull/58179 +[#58180]: https://github.com/home-assistant/core/pull/58180 +[#58181]: https://github.com/home-assistant/core/pull/58181 +[#58182]: https://github.com/home-assistant/core/pull/58182 +[#58183]: https://github.com/home-assistant/core/pull/58183 +[#58184]: https://github.com/home-assistant/core/pull/58184 +[#58185]: https://github.com/home-assistant/core/pull/58185 +[#58186]: https://github.com/home-assistant/core/pull/58186 +[#58187]: https://github.com/home-assistant/core/pull/58187 +[#58188]: https://github.com/home-assistant/core/pull/58188 +[#58189]: https://github.com/home-assistant/core/pull/58189 +[#58192]: https://github.com/home-assistant/core/pull/58192 +[#58193]: https://github.com/home-assistant/core/pull/58193 +[#58194]: https://github.com/home-assistant/core/pull/58194 +[#58196]: https://github.com/home-assistant/core/pull/58196 +[#58202]: https://github.com/home-assistant/core/pull/58202 +[#58207]: https://github.com/home-assistant/core/pull/58207 +[#58210]: https://github.com/home-assistant/core/pull/58210 +[#58211]: https://github.com/home-assistant/core/pull/58211 +[#58212]: https://github.com/home-assistant/core/pull/58212 +[#58213]: https://github.com/home-assistant/core/pull/58213 +[#58217]: https://github.com/home-assistant/core/pull/58217 +[#58218]: https://github.com/home-assistant/core/pull/58218 +[#58222]: https://github.com/home-assistant/core/pull/58222 +[#58223]: https://github.com/home-assistant/core/pull/58223 +[#58225]: https://github.com/home-assistant/core/pull/58225 +[#58227]: https://github.com/home-assistant/core/pull/58227 +[#58230]: https://github.com/home-assistant/core/pull/58230 +[#58233]: https://github.com/home-assistant/core/pull/58233 +[#58235]: https://github.com/home-assistant/core/pull/58235 +[#58237]: https://github.com/home-assistant/core/pull/58237 +[#58238]: https://github.com/home-assistant/core/pull/58238 +[#58240]: https://github.com/home-assistant/core/pull/58240 +[#58241]: https://github.com/home-assistant/core/pull/58241 +[#58244]: https://github.com/home-assistant/core/pull/58244 +[#58246]: https://github.com/home-assistant/core/pull/58246 +[#58248]: https://github.com/home-assistant/core/pull/58248 +[#58249]: https://github.com/home-assistant/core/pull/58249 +[#58250]: https://github.com/home-assistant/core/pull/58250 +[#58251]: https://github.com/home-assistant/core/pull/58251 +[#58255]: https://github.com/home-assistant/core/pull/58255 +[#58256]: https://github.com/home-assistant/core/pull/58256 +[#58257]: https://github.com/home-assistant/core/pull/58257 +[#58258]: https://github.com/home-assistant/core/pull/58258 +[#58259]: https://github.com/home-assistant/core/pull/58259 +[#58260]: https://github.com/home-assistant/core/pull/58260 +[#58263]: https://github.com/home-assistant/core/pull/58263 +[#58264]: https://github.com/home-assistant/core/pull/58264 +[#58266]: https://github.com/home-assistant/core/pull/58266 +[#58268]: https://github.com/home-assistant/core/pull/58268 +[#58269]: https://github.com/home-assistant/core/pull/58269 +[#58275]: https://github.com/home-assistant/core/pull/58275 +[#58276]: https://github.com/home-assistant/core/pull/58276 +[#58277]: https://github.com/home-assistant/core/pull/58277 +[#58278]: https://github.com/home-assistant/core/pull/58278 +[#58279]: https://github.com/home-assistant/core/pull/58279 +[#58280]: https://github.com/home-assistant/core/pull/58280 +[#58281]: https://github.com/home-assistant/core/pull/58281 +[#58284]: https://github.com/home-assistant/core/pull/58284 +[#58288]: https://github.com/home-assistant/core/pull/58288 +[#58289]: https://github.com/home-assistant/core/pull/58289 +[#58290]: https://github.com/home-assistant/core/pull/58290 +[#58291]: https://github.com/home-assistant/core/pull/58291 +[#58292]: https://github.com/home-assistant/core/pull/58292 +[#58293]: https://github.com/home-assistant/core/pull/58293 +[#58294]: https://github.com/home-assistant/core/pull/58294 +[#58295]: https://github.com/home-assistant/core/pull/58295 +[#58296]: https://github.com/home-assistant/core/pull/58296 +[#58298]: https://github.com/home-assistant/core/pull/58298 +[#58299]: https://github.com/home-assistant/core/pull/58299 +[#58300]: https://github.com/home-assistant/core/pull/58300 +[#58301]: https://github.com/home-assistant/core/pull/58301 +[#58302]: https://github.com/home-assistant/core/pull/58302 +[#58305]: https://github.com/home-assistant/core/pull/58305 +[#58307]: https://github.com/home-assistant/core/pull/58307 +[#58308]: https://github.com/home-assistant/core/pull/58308 +[#58309]: https://github.com/home-assistant/core/pull/58309 +[#58310]: https://github.com/home-assistant/core/pull/58310 +[#58312]: https://github.com/home-assistant/core/pull/58312 +[#58313]: https://github.com/home-assistant/core/pull/58313 +[#58314]: https://github.com/home-assistant/core/pull/58314 +[#58318]: https://github.com/home-assistant/core/pull/58318 +[#58319]: https://github.com/home-assistant/core/pull/58319 +[#58320]: https://github.com/home-assistant/core/pull/58320 +[#58321]: https://github.com/home-assistant/core/pull/58321 +[#58324]: https://github.com/home-assistant/core/pull/58324 +[#58325]: https://github.com/home-assistant/core/pull/58325 +[#58328]: https://github.com/home-assistant/core/pull/58328 +[#58329]: https://github.com/home-assistant/core/pull/58329 +[#58330]: https://github.com/home-assistant/core/pull/58330 +[#58332]: https://github.com/home-assistant/core/pull/58332 +[#58333]: https://github.com/home-assistant/core/pull/58333 +[#58335]: https://github.com/home-assistant/core/pull/58335 +[#58337]: https://github.com/home-assistant/core/pull/58337 +[#58340]: https://github.com/home-assistant/core/pull/58340 +[#58341]: https://github.com/home-assistant/core/pull/58341 +[#58343]: https://github.com/home-assistant/core/pull/58343 +[#58345]: https://github.com/home-assistant/core/pull/58345 +[#58346]: https://github.com/home-assistant/core/pull/58346 +[#58347]: https://github.com/home-assistant/core/pull/58347 +[#58349]: https://github.com/home-assistant/core/pull/58349 +[#58351]: https://github.com/home-assistant/core/pull/58351 +[#58353]: https://github.com/home-assistant/core/pull/58353 +[#58357]: https://github.com/home-assistant/core/pull/58357 +[#58358]: https://github.com/home-assistant/core/pull/58358 +[#58359]: https://github.com/home-assistant/core/pull/58359 +[#58361]: https://github.com/home-assistant/core/pull/58361 +[#58362]: https://github.com/home-assistant/core/pull/58362 +[#58363]: https://github.com/home-assistant/core/pull/58363 +[#58364]: https://github.com/home-assistant/core/pull/58364 +[#58365]: https://github.com/home-assistant/core/pull/58365 +[#58366]: https://github.com/home-assistant/core/pull/58366 +[#58367]: https://github.com/home-assistant/core/pull/58367 +[#58368]: https://github.com/home-assistant/core/pull/58368 +[#58370]: https://github.com/home-assistant/core/pull/58370 +[#58371]: https://github.com/home-assistant/core/pull/58371 +[#58372]: https://github.com/home-assistant/core/pull/58372 +[#58374]: https://github.com/home-assistant/core/pull/58374 +[#58375]: https://github.com/home-assistant/core/pull/58375 +[#58376]: https://github.com/home-assistant/core/pull/58376 +[#58377]: https://github.com/home-assistant/core/pull/58377 +[#58378]: https://github.com/home-assistant/core/pull/58378 +[#58379]: https://github.com/home-assistant/core/pull/58379 +[#58383]: https://github.com/home-assistant/core/pull/58383 +[#58384]: https://github.com/home-assistant/core/pull/58384 +[#58385]: https://github.com/home-assistant/core/pull/58385 +[#58387]: https://github.com/home-assistant/core/pull/58387 +[#58388]: https://github.com/home-assistant/core/pull/58388 +[#58389]: https://github.com/home-assistant/core/pull/58389 +[#58390]: https://github.com/home-assistant/core/pull/58390 +[#58391]: https://github.com/home-assistant/core/pull/58391 +[#58392]: https://github.com/home-assistant/core/pull/58392 +[#58394]: https://github.com/home-assistant/core/pull/58394 +[#58395]: https://github.com/home-assistant/core/pull/58395 +[#58396]: https://github.com/home-assistant/core/pull/58396 +[#58397]: https://github.com/home-assistant/core/pull/58397 +[#58398]: https://github.com/home-assistant/core/pull/58398 +[#58399]: https://github.com/home-assistant/core/pull/58399 +[#58400]: https://github.com/home-assistant/core/pull/58400 +[#58401]: https://github.com/home-assistant/core/pull/58401 +[#58403]: https://github.com/home-assistant/core/pull/58403 +[#58405]: https://github.com/home-assistant/core/pull/58405 +[#58406]: https://github.com/home-assistant/core/pull/58406 +[#58408]: https://github.com/home-assistant/core/pull/58408 +[#58409]: https://github.com/home-assistant/core/pull/58409 +[#58410]: https://github.com/home-assistant/core/pull/58410 +[#58411]: https://github.com/home-assistant/core/pull/58411 +[#58413]: https://github.com/home-assistant/core/pull/58413 +[#58414]: https://github.com/home-assistant/core/pull/58414 +[#58416]: https://github.com/home-assistant/core/pull/58416 +[#58417]: https://github.com/home-assistant/core/pull/58417 +[#58418]: https://github.com/home-assistant/core/pull/58418 +[#58419]: https://github.com/home-assistant/core/pull/58419 +[#58422]: https://github.com/home-assistant/core/pull/58422 +[#58423]: https://github.com/home-assistant/core/pull/58423 +[#58424]: https://github.com/home-assistant/core/pull/58424 +[#58426]: https://github.com/home-assistant/core/pull/58426 +[#58429]: https://github.com/home-assistant/core/pull/58429 +[#58433]: https://github.com/home-assistant/core/pull/58433 +[#58434]: https://github.com/home-assistant/core/pull/58434 +[#58438]: https://github.com/home-assistant/core/pull/58438 +[#58442]: https://github.com/home-assistant/core/pull/58442 +[#58444]: https://github.com/home-assistant/core/pull/58444 +[#58446]: https://github.com/home-assistant/core/pull/58446 +[#58448]: https://github.com/home-assistant/core/pull/58448 +[#58450]: https://github.com/home-assistant/core/pull/58450 +[#58451]: https://github.com/home-assistant/core/pull/58451 +[#58452]: https://github.com/home-assistant/core/pull/58452 +[#58454]: https://github.com/home-assistant/core/pull/58454 +[#58455]: https://github.com/home-assistant/core/pull/58455 +[#58456]: https://github.com/home-assistant/core/pull/58456 +[#58461]: https://github.com/home-assistant/core/pull/58461 +[#58463]: https://github.com/home-assistant/core/pull/58463 +[#58465]: https://github.com/home-assistant/core/pull/58465 +[#58468]: https://github.com/home-assistant/core/pull/58468 +[#58469]: https://github.com/home-assistant/core/pull/58469 +[#58471]: https://github.com/home-assistant/core/pull/58471 +[#58472]: https://github.com/home-assistant/core/pull/58472 +[#58476]: https://github.com/home-assistant/core/pull/58476 +[#58477]: https://github.com/home-assistant/core/pull/58477 +[#58478]: https://github.com/home-assistant/core/pull/58478 +[#58479]: https://github.com/home-assistant/core/pull/58479 +[#58484]: https://github.com/home-assistant/core/pull/58484 +[#58486]: https://github.com/home-assistant/core/pull/58486 +[#58487]: https://github.com/home-assistant/core/pull/58487 +[#58491]: https://github.com/home-assistant/core/pull/58491 +[#58493]: https://github.com/home-assistant/core/pull/58493 +[#58494]: https://github.com/home-assistant/core/pull/58494 +[#58495]: https://github.com/home-assistant/core/pull/58495 +[#58498]: https://github.com/home-assistant/core/pull/58498 +[#58499]: https://github.com/home-assistant/core/pull/58499 +[#58500]: https://github.com/home-assistant/core/pull/58500 +[#58502]: https://github.com/home-assistant/core/pull/58502 +[#58506]: https://github.com/home-assistant/core/pull/58506 +[#58507]: https://github.com/home-assistant/core/pull/58507 +[#58510]: https://github.com/home-assistant/core/pull/58510 +[#58511]: https://github.com/home-assistant/core/pull/58511 +[#58514]: https://github.com/home-assistant/core/pull/58514 +[#58515]: https://github.com/home-assistant/core/pull/58515 +[#58516]: https://github.com/home-assistant/core/pull/58516 +[#58517]: https://github.com/home-assistant/core/pull/58517 +[#58518]: https://github.com/home-assistant/core/pull/58518 +[#58519]: https://github.com/home-assistant/core/pull/58519 +[#58520]: https://github.com/home-assistant/core/pull/58520 +[#58521]: https://github.com/home-assistant/core/pull/58521 +[#58522]: https://github.com/home-assistant/core/pull/58522 +[#58523]: https://github.com/home-assistant/core/pull/58523 +[#58524]: https://github.com/home-assistant/core/pull/58524 +[#58525]: https://github.com/home-assistant/core/pull/58525 +[#58526]: https://github.com/home-assistant/core/pull/58526 +[#58527]: https://github.com/home-assistant/core/pull/58527 +[#58531]: https://github.com/home-assistant/core/pull/58531 +[#58533]: https://github.com/home-assistant/core/pull/58533 +[#58534]: https://github.com/home-assistant/core/pull/58534 +[#58539]: https://github.com/home-assistant/core/pull/58539 +[#58540]: https://github.com/home-assistant/core/pull/58540 +[#58545]: https://github.com/home-assistant/core/pull/58545 +[#58548]: https://github.com/home-assistant/core/pull/58548 +[#58549]: https://github.com/home-assistant/core/pull/58549 +[#58553]: https://github.com/home-assistant/core/pull/58553 +[#58555]: https://github.com/home-assistant/core/pull/58555 +[#58557]: https://github.com/home-assistant/core/pull/58557 +[#58564]: https://github.com/home-assistant/core/pull/58564 +[#58565]: https://github.com/home-assistant/core/pull/58565 +[#58568]: https://github.com/home-assistant/core/pull/58568 +[#58584]: https://github.com/home-assistant/core/pull/58584 +[#58591]: https://github.com/home-assistant/core/pull/58591 +[#58594]: https://github.com/home-assistant/core/pull/58594 +[#58597]: https://github.com/home-assistant/core/pull/58597 +[#58623]: https://github.com/home-assistant/core/pull/58623 +[#58625]: https://github.com/home-assistant/core/pull/58625 +[#58626]: https://github.com/home-assistant/core/pull/58626 +[#58628]: https://github.com/home-assistant/core/pull/58628 +[#58629]: https://github.com/home-assistant/core/pull/58629 +[#58630]: https://github.com/home-assistant/core/pull/58630 +[#58631]: https://github.com/home-assistant/core/pull/58631 +[#58633]: https://github.com/home-assistant/core/pull/58633 +[#58635]: https://github.com/home-assistant/core/pull/58635 +[#58643]: https://github.com/home-assistant/core/pull/58643 +[#58659]: https://github.com/home-assistant/core/pull/58659 +[#58670]: https://github.com/home-assistant/core/pull/58670 +[#58672]: https://github.com/home-assistant/core/pull/58672 +[#58680]: https://github.com/home-assistant/core/pull/58680 +[#58682]: https://github.com/home-assistant/core/pull/58682 +[#58684]: https://github.com/home-assistant/core/pull/58684 +[#58686]: https://github.com/home-assistant/core/pull/58686 +[#58688]: https://github.com/home-assistant/core/pull/58688 +[#58689]: https://github.com/home-assistant/core/pull/58689 +[#58698]: https://github.com/home-assistant/core/pull/58698 +[#58701]: https://github.com/home-assistant/core/pull/58701 +[#58705]: https://github.com/home-assistant/core/pull/58705 +[#58708]: https://github.com/home-assistant/core/pull/58708 +[#58712]: https://github.com/home-assistant/core/pull/58712 +[#58718]: https://github.com/home-assistant/core/pull/58718 +[#58721]: https://github.com/home-assistant/core/pull/58721 +[#58723]: https://github.com/home-assistant/core/pull/58723 +[#58732]: https://github.com/home-assistant/core/pull/58732 +[#58736]: https://github.com/home-assistant/core/pull/58736 +[#58746]: https://github.com/home-assistant/core/pull/58746 +[#58751]: https://github.com/home-assistant/core/pull/58751 +[#58753]: https://github.com/home-assistant/core/pull/58753 +[#58754]: https://github.com/home-assistant/core/pull/58754 +[#58755]: https://github.com/home-assistant/core/pull/58755 +[#58756]: https://github.com/home-assistant/core/pull/58756 +[#58773]: https://github.com/home-assistant/core/pull/58773 +[#58774]: https://github.com/home-assistant/core/pull/58774 +[#58780]: https://github.com/home-assistant/core/pull/58780 +[#58817]: https://github.com/home-assistant/core/pull/58817 +[#58819]: https://github.com/home-assistant/core/pull/58819 +[#58821]: https://github.com/home-assistant/core/pull/58821 +[#58822]: https://github.com/home-assistant/core/pull/58822 +[#58826]: https://github.com/home-assistant/core/pull/58826 +[#58840]: https://github.com/home-assistant/core/pull/58840 +[#58875]: https://github.com/home-assistant/core/pull/58875 +[#58880]: https://github.com/home-assistant/core/pull/58880 +[#58887]: https://github.com/home-assistant/core/pull/58887 +[#58894]: https://github.com/home-assistant/core/pull/58894 +[#58901]: https://github.com/home-assistant/core/pull/58901 +[#58908]: https://github.com/home-assistant/core/pull/58908 +[#58911]: https://github.com/home-assistant/core/pull/58911 +[#58914]: https://github.com/home-assistant/core/pull/58914 +[#58937]: https://github.com/home-assistant/core/pull/58937 +[#58947]: https://github.com/home-assistant/core/pull/58947 +[#58951]: https://github.com/home-assistant/core/pull/58951 +[#58952]: https://github.com/home-assistant/core/pull/58952 +[#58954]: https://github.com/home-assistant/core/pull/58954 +[#58959]: https://github.com/home-assistant/core/pull/58959 +[#58962]: https://github.com/home-assistant/core/pull/58962 +[#58977]: https://github.com/home-assistant/core/pull/58977 +[#58980]: https://github.com/home-assistant/core/pull/58980 +[#58988]: https://github.com/home-assistant/core/pull/58988 +[@ANMalko]: https://github.com/ANMalko +[@Adminiuga]: https://github.com/Adminiuga +[@Bre77]: https://github.com/Bre77 +[@Cereal2nd]: https://github.com/Cereal2nd +[@Chen-IL]: https://github.com/Chen-IL +[@ColinRobbins]: https://github.com/ColinRobbins +[@Danielhiversen]: https://github.com/Danielhiversen +[@Djelibeybi]: https://github.com/Djelibeybi +[@Drafteed]: https://github.com/Drafteed +[@Ernst79]: https://github.com/Ernst79 +[@FlavorFx]: https://github.com/FlavorFx +[@JJJ]: https://github.com/JJJ +[@JeffLIrion]: https://github.com/JeffLIrion +[@Kane610]: https://github.com/Kane610 +[@Kapernicus]: https://github.com/Kapernicus +[@L-I-Am]: https://github.com/L-I-Am +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MatthewFlamm]: https://github.com/MatthewFlamm +[@Misiu]: https://github.com/Misiu +[@NickM-27]: https://github.com/NickM-27 +[@Noltari]: https://github.com/Noltari +[@OGKevin]: https://github.com/OGKevin +[@OttoWinter]: https://github.com/OttoWinter +[@Petro31]: https://github.com/Petro31 +[@Quentame]: https://github.com/Quentame +[@RenierM26]: https://github.com/RenierM26 +[@RobertMe]: https://github.com/RobertMe +[@Shutgun]: https://github.com/Shutgun +[@StevenLooman]: https://github.com/StevenLooman +[@TheLastProject]: https://github.com/TheLastProject +[@TheNogl]: https://github.com/TheNogl +[@TomBrien]: https://github.com/TomBrien +[@Tommatheussen]: https://github.com/Tommatheussen +[@abmantis]: https://github.com/abmantis +[@alexanv1]: https://github.com/alexanv1 +[@allenporter]: https://github.com/allenporter +[@ammgws]: https://github.com/ammgws +[@andre-richter]: https://github.com/andre-richter +[@arksega]: https://github.com/arksega +[@asansano]: https://github.com/asansano +[@austinmroczek]: https://github.com/austinmroczek +[@avee87]: https://github.com/avee87 +[@b-pass]: https://github.com/b-pass +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@benleb]: https://github.com/benleb +[@bieniu]: https://github.com/bieniu +[@bjpetit]: https://github.com/bjpetit +[@bokub]: https://github.com/bokub +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@brianegge]: https://github.com/brianegge +[@briglx]: https://github.com/briglx +[@cdce8p]: https://github.com/cdce8p +[@cgtobi]: https://github.com/cgtobi +[@chemelli74]: https://github.com/chemelli74 +[@chishm]: https://github.com/chishm +[@chmielowiec]: https://github.com/chmielowiec +[@chrillebile]: https://github.com/chrillebile +[@cisasteelersfan]: https://github.com/cisasteelersfan +[@cmroche]: https://github.com/cmroche +[@danielperna84]: https://github.com/danielperna84 +[@davelowper]: https://github.com/davelowper +[@davet2001]: https://github.com/davet2001 +[@davidlb]: https://github.com/davidlb +[@dboslee]: https://github.com/dboslee +[@dennisschroer]: https://github.com/dennisschroer +[@devbis]: https://github.com/devbis +[@dgomes]: https://github.com/dgomes +[@dkt01]: https://github.com/dkt01 +[@dmulcahey]: https://github.com/dmulcahey +[@drinfernoo]: https://github.com/drinfernoo +[@drizzle1]: https://github.com/drizzle1 +[@eavanvalkenburg]: https://github.com/eavanvalkenburg +[@eifinger]: https://github.com/eifinger +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@fOmey]: https://github.com/fOmey +[@farmio]: https://github.com/farmio +[@felipediel]: https://github.com/felipediel +[@firstof9]: https://github.com/firstof9 +[@flabbamann]: https://github.com/flabbamann +[@fredrike]: https://github.com/fredrike +[@frenck]: https://github.com/frenck +[@garbled1]: https://github.com/garbled1 +[@ggravlingen]: https://github.com/ggravlingen +[@gjong]: https://github.com/gjong +[@gwww]: https://github.com/gwww +[@hesselonline]: https://github.com/hesselonline +[@icemanch]: https://github.com/icemanch +[@indykoning]: https://github.com/indykoning +[@inytar]: https://github.com/inytar +[@itairaz1]: https://github.com/itairaz1 +[@janiversen]: https://github.com/janiversen +[@jasonmadigan]: https://github.com/jasonmadigan +[@javicalle]: https://github.com/javicalle +[@jbouwh]: https://github.com/jbouwh +[@jesserockz]: https://github.com/jesserockz +[@jjlawren]: https://github.com/jjlawren +[@jrester]: https://github.com/jrester +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@kodsnutten]: https://github.com/kodsnutten +[@koying]: https://github.com/koying +[@krys1976]: https://github.com/krys1976 +[@lanrat]: https://github.com/lanrat +[@lkempf]: https://github.com/lkempf +[@ludeeus]: https://github.com/ludeeus +[@lukas-hetzenecker]: https://github.com/lukas-hetzenecker +[@marvin-w]: https://github.com/marvin-w +[@mback2k]: https://github.com/mback2k +[@mezz64]: https://github.com/mezz64 +[@mib1185]: https://github.com/mib1185 +[@michaeldavie]: https://github.com/michaeldavie +[@milanmeu]: https://github.com/milanmeu +[@muppet3000]: https://github.com/muppet3000 +[@natekspencer]: https://github.com/natekspencer +[@nihaals]: https://github.com/nihaals +[@oischinger]: https://github.com/oischinger +[@ol-iver]: https://github.com/ol-iver +[@ollo69]: https://github.com/ollo69 +[@pabigot]: https://github.com/pabigot +[@pattyland]: https://github.com/pattyland +[@paulmonigatti]: https://github.com/paulmonigatti +[@peternijssen]: https://github.com/peternijssen +[@purcell-lab]: https://github.com/purcell-lab +[@raman325]: https://github.com/raman325 +[@rdfurman]: https://github.com/rdfurman +[@regevbr]: https://github.com/regevbr +[@rfleming71]: https://github.com/rfleming71 +[@rik-v]: https://github.com/rik-v +[@rikroe]: https://github.com/rikroe +[@rklomp]: https://github.com/rklomp +[@ronalterde]: https://github.com/ronalterde +[@rytilahti]: https://github.com/rytilahti +[@sagioto]: https://github.com/sagioto +[@scop]: https://github.com/scop +[@shbatm]: https://github.com/shbatm +[@some-guy-in-oz]: https://github.com/some-guy-in-oz +[@spacegaier]: https://github.com/spacegaier +[@spahlimi]: https://github.com/spahlimi +[@starkillerOG]: https://github.com/starkillerOG +[@teharris1]: https://github.com/teharris1 +[@terminet85]: https://github.com/terminet85 +[@thecode]: https://github.com/thecode +[@thomas-svrts]: https://github.com/thomas-svrts +[@thrawnarn]: https://github.com/thrawnarn +[@timmo001]: https://github.com/timmo001 +[@tkdrob]: https://github.com/tkdrob +[@tomer-w]: https://github.com/tomer-w +[@tylergibson]: https://github.com/tylergibson +[@uvjustin]: https://github.com/uvjustin +[@vigonotion]: https://github.com/vigonotion +[@yeahme49]: https://github.com/yeahme49 +[@yuvalabou]: https://github.com/yuvalabou +[@zacwest]: https://github.com/zacwest +[@zlinoliver]: https://github.com/zlinoliver +[accuweather docs]: /integrations/accuweather/ +[acmeda docs]: /integrations/acmeda/ +[adax docs]: /integrations/adax/ +[advantage_air docs]: /integrations/advantage_air/ +[aemet docs]: /integrations/aemet/ +[aftership docs]: /integrations/aftership/ +[agent_dvr docs]: /integrations/agent_dvr/ +[air_quality docs]: /integrations/air_quality/ +[airly docs]: /integrations/airly/ +[airthings docs]: /integrations/airthings/ +[airvisual docs]: /integrations/airvisual/ +[alexa docs]: /integrations/alexa/ +[ambee docs]: /integrations/ambee/ +[amberelectric docs]: /integrations/amberelectric/ +[ambient_station docs]: /integrations/ambient_station/ +[apple_tv docs]: /integrations/apple_tv/ +[arcam_fmj docs]: /integrations/arcam_fmj/ +[arlo docs]: /integrations/arlo/ +[asuswrt docs]: /integrations/asuswrt/ +[august docs]: /integrations/august/ +[aurora_abb_powerone docs]: /integrations/aurora_abb_powerone/ +[auth docs]: /integrations/auth/ +[automation docs]: /integrations/automation/ +[awair docs]: /integrations/awair/ +[axis docs]: /integrations/axis/ +[bayesian docs]: /integrations/bayesian/ +[bbox docs]: /integrations/bbox/ +[binary_sensor docs]: /integrations/binary_sensor/ +[bitcoin docs]: /integrations/bitcoin/ +[blink docs]: /integrations/blink/ +[bluesound docs]: /integrations/bluesound/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[bond docs]: /integrations/bond/ +[bosch_shc docs]: /integrations/bosch_shc/ +[broadlink docs]: /integrations/broadlink/ +[brother docs]: /integrations/brother/ +[buienradar docs]: /integrations/buienradar/ +[camera docs]: /integrations/camera/ +[cast docs]: /integrations/cast/ +[clickatell docs]: /integrations/clickatell/ +[climacell docs]: /integrations/climacell/ +[climate docs]: /integrations/climate/ +[cloud docs]: /integrations/cloud/ +[co2signal docs]: /integrations/co2signal/ +[coinbase docs]: /integrations/coinbase/ +[config docs]: /integrations/config/ +[control4 docs]: /integrations/control4/ +[daikin docs]: /integrations/daikin/ +[darksky docs]: /integrations/darksky/ +[debugpy docs]: /integrations/debugpy/ +[deconz docs]: /integrations/deconz/ +[demo docs]: /integrations/demo/ +[denonavr docs]: /integrations/denonavr/ +[device_automation docs]: /integrations/device_automation/ +[devolo_home_control docs]: /integrations/devolo_home_control/ +[dhcp docs]: /integrations/dhcp/ +[directv docs]: /integrations/directv/ +[discord docs]: /integrations/discord/ +[discovery docs]: /integrations/discovery/ +[dlna_dmr docs]: /integrations/dlna_dmr/ +[doorbird docs]: /integrations/doorbird/ +[ecobee docs]: /integrations/ecobee/ +[efergy docs]: /integrations/efergy/ +[eight_sleep docs]: /integrations/eight_sleep/ +[elkm1 docs]: /integrations/elkm1/ +[emulated_hue docs]: /integrations/emulated_hue/ +[energy docs]: /integrations/energy/ +[enocean docs]: /integrations/enocean/ +[environment_canada docs]: /integrations/environment_canada/ +[eq3btsmart docs]: /integrations/eq3btsmart/ +[esphome docs]: /integrations/esphome/ +[essent docs]: /integrations/essent/ +[ezviz docs]: /integrations/ezviz/ +[fan docs]: /integrations/fan/ +[feedreader docs]: /integrations/feedreader/ +[fibaro docs]: /integrations/fibaro/ +[fitbit docs]: /integrations/fitbit/ +[fjaraskupan docs]: /integrations/fjaraskupan/ +[flunearyou docs]: /integrations/flunearyou/ +[flux_led docs]: /integrations/flux_led/ +[folder_watcher docs]: /integrations/folder_watcher/ +[forecast_solar docs]: /integrations/forecast_solar/ +[freebox docs]: /integrations/freebox/ +[fritz docs]: /integrations/fritz/ +[fritzbox docs]: /integrations/fritzbox/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[fronius docs]: /integrations/fronius/ +[frontend docs]: /integrations/frontend/ +[gios docs]: /integrations/gios/ +[goalzero docs]: /integrations/goalzero/ +[gogogate2 docs]: /integrations/gogogate2/ +[google_assistant docs]: /integrations/google_assistant/ +[google_travel_time docs]: /integrations/google_travel_time/ +[gree docs]: /integrations/gree/ +[group docs]: /integrations/group/ +[growatt_server docs]: /integrations/growatt_server/ +[guardian docs]: /integrations/guardian/ +[hassio docs]: /integrations/hassio/ +[hdmi_cec docs]: /integrations/hdmi_cec/ +[hikvision docs]: /integrations/hikvision/ +[hive docs]: /integrations/hive/ +[homeassistant docs]: /integrations/homeassistant/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homematic docs]: /integrations/homematic/ +[homematicip_cloud docs]: /integrations/homematicip_cloud/ +[honeywell docs]: /integrations/honeywell/ +[huawei_lte docs]: /integrations/huawei_lte/ +[huawei_router docs]: /integrations/huawei_router/ +[hue docs]: /integrations/hue/ +[huisbaasje docs]: /integrations/huisbaasje/ +[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/ +[icloud docs]: /integrations/icloud/ +[input_datetime docs]: /integrations/input_datetime/ +[input_select docs]: /integrations/input_select/ +[insteon docs]: /integrations/insteon/ +[iqvia docs]: /integrations/iqvia/ +[iss docs]: /integrations/iss/ +[isy994 docs]: /integrations/isy994/ +[jewish_calendar docs]: /integrations/jewish_calendar/ +[juicenet docs]: /integrations/juicenet/ +[keyboard_remote docs]: /integrations/keyboard_remote/ +[kira docs]: /integrations/kira/ +[knx docs]: /integrations/knx/ +[kraken docs]: /integrations/kraken/ +[lg_netcast docs]: /integrations/lg_netcast/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litterrobot docs]: /integrations/litterrobot/ +[local_ip docs]: /integrations/local_ip/ +[lookin docs]: /integrations/lookin/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[lyft docs]: /integrations/lyft/ +[media_player docs]: /integrations/media_player/ +[media_source docs]: /integrations/media_source/ +[meteo_france docs]: /integrations/meteo_france/ +[metoffice docs]: /integrations/metoffice/ +[microsoft docs]: /integrations/microsoft/ +[mill docs]: /integrations/mill/ +[mobile_app docs]: /integrations/mobile_app/ +[modbus docs]: /integrations/modbus/ +[modem_callerid docs]: /integrations/modem_callerid/ +[motion_blinds docs]: /integrations/motion_blinds/ +[motioneye docs]: /integrations/motioneye/ +[mqtt docs]: /integrations/mqtt/ +[myq docs]: /integrations/myq/ +[mysensors docs]: /integrations/mysensors/ +[mystrom docs]: /integrations/mystrom/ +[nad docs]: /integrations/nad/ +[nam docs]: /integrations/nam/ +[nanoleaf docs]: /integrations/nanoleaf/ +[neato docs]: /integrations/neato/ +[nello docs]: /integrations/nello/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[netgear docs]: /integrations/netgear/ +[nexia docs]: /integrations/nexia/ +[nfandroidtv docs]: /integrations/nfandroidtv/ +[notify docs]: /integrations/notify/ +[notion docs]: /integrations/notion/ +[nuheat docs]: /integrations/nuheat/ +[nuki docs]: /integrations/nuki/ +[number docs]: /integrations/number/ +[nut docs]: /integrations/nut/ +[nws docs]: /integrations/nws/ +[octoprint docs]: /integrations/octoprint/ +[ondilo_ico docs]: /integrations/ondilo_ico/ +[onewire docs]: /integrations/onewire/ +[opencv docs]: /integrations/opencv/ +[opengarage docs]: /integrations/opengarage/ +[openuv docs]: /integrations/openuv/ +[openweathermap docs]: /integrations/openweathermap/ +[orangepi_gpio docs]: /integrations/orangepi_gpio/ +[otp docs]: /integrations/otp/ +[ozw docs]: /integrations/ozw/ +[p1_monitor docs]: /integrations/p1_monitor/ +[persistent_notification docs]: /integrations/persistent_notification/ +[pi_hole docs]: /integrations/pi_hole/ +[picnic docs]: /integrations/picnic/ +[plex docs]: /integrations/plex/ +[plugwise docs]: /integrations/plugwise/ +[point docs]: /integrations/point/ +[powerwall docs]: /integrations/powerwall/ +[quantum_gateway docs]: /integrations/quantum_gateway/ +[rachio docs]: /integrations/rachio/ +[rainforest_eagle docs]: /integrations/rainforest_eagle/ +[rainmachine docs]: /integrations/rainmachine/ +[recollect_waste docs]: /integrations/recollect_waste/ +[recorder docs]: /integrations/recorder/ +[renault docs]: /integrations/renault/ +[repetier docs]: /integrations/repetier/ +[rest docs]: /integrations/rest/ +[rfxtrx docs]: /integrations/rfxtrx/ +[roku docs]: /integrations/roku/ +[roomba docs]: /integrations/roomba/ +[roon docs]: /integrations/roon/ +[rpi_power docs]: /integrations/rpi_power/ +[ruckus_unleashed docs]: /integrations/ruckus_unleashed/ +[scrape docs]: /integrations/scrape/ +[screenlogic docs]: /integrations/screenlogic/ +[script docs]: /integrations/script/ +[sense docs]: /integrations/sense/ +[sensor docs]: /integrations/sensor/ +[sentry docs]: /integrations/sentry/ +[seventeentrack docs]: /integrations/seventeentrack/ +[sharkiq docs]: /integrations/sharkiq/ +[shelly docs]: /integrations/shelly/ +[sia docs]: /integrations/sia/ +[simplisafe docs]: /integrations/simplisafe/ +[sma docs]: /integrations/sma/ +[smappee docs]: /integrations/smappee/ +[smartthings docs]: /integrations/smartthings/ +[smarttub docs]: /integrations/smarttub/ +[sms docs]: /integrations/sms/ +[solaredge docs]: /integrations/solaredge/ +[solarlog docs]: /integrations/solarlog/ +[soma docs]: /integrations/soma/ +[somfy docs]: /integrations/somfy/ +[sonarr docs]: /integrations/sonarr/ +[sonos docs]: /integrations/sonos/ +[speedtestdotnet docs]: /integrations/speedtestdotnet/ +[spider docs]: /integrations/spider/ +[spotify docs]: /integrations/spotify/ +[srp_energy docs]: /integrations/srp_energy/ +[ssdp docs]: /integrations/ssdp/ +[statistics docs]: /integrations/statistics/ +[stookalert docs]: /integrations/stookalert/ +[stream docs]: /integrations/stream/ +[suez_water docs]: /integrations/suez_water/ +[surepetcare docs]: /integrations/surepetcare/ +[switchbot docs]: /integrations/switchbot/ +[synology_dsm docs]: /integrations/synology_dsm/ +[system_bridge docs]: /integrations/system_bridge/ +[systemmonitor docs]: /integrations/systemmonitor/ +[tado docs]: /integrations/tado/ +[tasmota docs]: /integrations/tasmota/ +[tautulli docs]: /integrations/tautulli/ +[tellduslive docs]: /integrations/tellduslive/ +[template docs]: /integrations/template/ +[tibber docs]: /integrations/tibber/ +[tile docs]: /integrations/tile/ +[toon docs]: /integrations/toon/ +[totalconnect docs]: /integrations/totalconnect/ +[tplink docs]: /integrations/tplink/ +[trace docs]: /integrations/trace/ +[tractive docs]: /integrations/tractive/ +[tradfri docs]: /integrations/tradfri/ +[tuya docs]: /integrations/tuya/ +[unifi docs]: /integrations/unifi/ +[universal docs]: /integrations/universal/ +[upb docs]: /integrations/upb/ +[upnp docs]: /integrations/upnp/ +[uptimerobot docs]: /integrations/uptimerobot/ +[utility_meter docs]: /integrations/utility_meter/ +[vallox docs]: /integrations/vallox/ +[velbus docs]: /integrations/velbus/ +[venstar docs]: /integrations/venstar/ +[verisure docs]: /integrations/verisure/ +[vicare docs]: /integrations/vicare/ +[vizio docs]: /integrations/vizio/ +[vlc_telnet docs]: /integrations/vlc_telnet/ +[wallbox docs]: /integrations/wallbox/ +[waqi docs]: /integrations/waqi/ +[watson_tts docs]: /integrations/watson_tts/ +[watttime docs]: /integrations/watttime/ +[waze_travel_time docs]: /integrations/waze_travel_time/ +[weather docs]: /integrations/weather/ +[websocket_api docs]: /integrations/websocket_api/ +[whirlpool docs]: /integrations/whirlpool/ +[wilight docs]: /integrations/wilight/ +[wink docs]: /integrations/wink/ +[withings docs]: /integrations/withings/ +[wled docs]: /integrations/wled/ +[xbox docs]: /integrations/xbox/ +[xiaomi_aqara docs]: /integrations/xiaomi_aqara/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[yamaha docs]: /integrations/yamaha/ +[yamaha_musiccast docs]: /integrations/yamaha_musiccast/ +[yandex_transport docs]: /integrations/yandex_transport/ +[yeelight docs]: /integrations/yeelight/ +[youless docs]: /integrations/youless/ +[zeroconf docs]: /integrations/zeroconf/ +[zha docs]: /integrations/zha/ +[zwave docs]: /integrations/zwave/ +[zwave_js docs]: /integrations/zwave_js/ diff --git a/source/_redirects b/source/_redirects index 26dc2d16f5b..863a734c368 100644 --- a/source/_redirects +++ b/source/_redirects @@ -9,7 +9,7 @@ # Redirect for Energy /energy /home-energy-management -/integrations/energy /docs/energy +/integrations/energy /docs/energy 301! /amber https://www.crowdsupply.com/nabu-casa/home-assistant-amber diff --git a/source/images/blog/2021-11/entity-categories.png b/source/images/blog/2021-11/entity-categories.png new file mode 100644 index 00000000000..97ba5f4fc25 Binary files /dev/null and b/source/images/blog/2021-11/entity-categories.png differ diff --git a/source/images/blog/2021-11/icon-picker.gif b/source/images/blog/2021-11/icon-picker.gif new file mode 100644 index 00000000000..f68bc164339 Binary files /dev/null and b/source/images/blog/2021-11/icon-picker.gif differ diff --git a/source/images/blog/2021-11/social.png b/source/images/blog/2021-11/social.png new file mode 100644 index 00000000000..c71a62e6893 Binary files /dev/null and b/source/images/blog/2021-11/social.png differ diff --git a/source/images/blog/2021-11/visit-device.png b/source/images/blog/2021-11/visit-device.png new file mode 100644 index 00000000000..2d1e4adab6c Binary files /dev/null and b/source/images/blog/2021-11/visit-device.png differ