diff --git a/CODEOWNERS b/CODEOWNERS index 5d7872e0d3f..b8a9da76f02 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -30,7 +30,6 @@ source/_integrations/alert.markdown @home-assistant/core source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy source/_integrations/almond.markdown @gcampax @balloob -source/_integrations/ambee.markdown @frenck source/_integrations/amberelectric.markdown @madpilot source/_integrations/ambiclimate.markdown @danielhiversen source/_integrations/ambient_station.markdown @bachya @@ -41,6 +40,7 @@ source/_integrations/android_ip_webcam.markdown @engrbm87 source/_integrations/androidtv.markdown @JeffLIrion @ollo69 source/_integrations/anthemav.markdown @hyralex source/_integrations/apache_kafka.markdown @bachya +source/_integrations/apcupsd.markdown @yuxincs source/_integrations/api.markdown @home-assistant/core source/_integrations/apple_tv.markdown @postlund source/_integrations/application_credentials.markdown @home-assistant/core @@ -69,6 +69,7 @@ source/_integrations/azure_service_bus.markdown @hfurubotten source/_integrations/backup.markdown @home-assistant/core source/_integrations/baf.markdown @bdraco @jfroy source/_integrations/balboa.markdown @garbled1 +source/_integrations/bayesian.markdown @HarvsG source/_integrations/beewi_smartclim.markdown @alemuro source/_integrations/binary_sensor.markdown @home-assistant/core source/_integrations/bizkaibus.markdown @UgaitzEtxebarria @@ -76,6 +77,7 @@ source/_integrations/blebox.markdown @bbx-a @riokuu source/_integrations/blink.markdown @fronzbot source/_integrations/bliss_automation.markdown @starkillerOG source/_integrations/bloc_blinds.markdown @starkillerOG +source/_integrations/bluemaestro.markdown @bdraco source/_integrations/blueprint.markdown @home-assistant/core source/_integrations/bluesound.markdown @thrawnarn source/_integrations/bluetooth.markdown @bdraco @@ -88,8 +90,11 @@ source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am source/_integrations/brother.markdown @bieniu source/_integrations/brunt.markdown @eavanvalkenburg source/_integrations/bsblan.markdown @liudger +source/_integrations/bswitch.markdown @jafar-atili source/_integrations/bt_smarthub.markdown @jxwolstenholme source/_integrations/bthome.markdown @Ernst79 +source/_integrations/bticino.markdown @cgtobi +source/_integrations/bubendorff.markdown @cgtobi source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221 source/_integrations/button.markdown @home-assistant/core source/_integrations/calendar.markdown @home-assistant/core @@ -148,7 +153,7 @@ source/_integrations/dnsip.markdown @gjohansson-ST source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket source/_integrations/dooya.markdown @starkillerOG source/_integrations/dsmr.markdown @Robbie1221 @frenck -source/_integrations/dsmr_reader.markdown @depl0y +source/_integrations/dsmr_reader.markdown @depl0y @glodenox source/_integrations/dunehd.markdown @bieniu source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 source/_integrations/dynalite.markdown @ziv1234 @@ -190,6 +195,7 @@ source/_integrations/fan.markdown @home-assistant/core source/_integrations/fastdotcom.markdown @rohankapoorcom source/_integrations/fibaro.markdown @rappenze source/_integrations/file.markdown @fabaff +source/_integrations/file_upload.markdown @home-assistant/core source/_integrations/filesize.markdown @gjohansson-ST source/_integrations/filter.markdown @dgomes source/_integrations/fireservicerota.markdown @cyberjunky @@ -201,7 +207,6 @@ source/_integrations/flick_electric.markdown @ZephireNZ source/_integrations/flipr.markdown @cnico source/_integrations/flo.markdown @dmulcahey source/_integrations/flume.markdown @ChrisMandich @bdraco @jeeftor -source/_integrations/flunearyou.markdown @bachya source/_integrations/flux_led.markdown @icemanch @bdraco source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck source/_integrations/forked_daapd.markdown @uvjustin @@ -237,6 +242,7 @@ source/_integrations/goodwe.markdown @mletenay @starkillerOG source/_integrations/google.markdown @allenporter source/_integrations/google_assistant.markdown @home-assistant/cloud source/_integrations/google_cloud.markdown @lufton +source/_integrations/google_sheets.markdown @tkdrob source/_integrations/google_travel_time.markdown @eifinger source/_integrations/govee_ble.markdown @bdraco source/_integrations/gpsd.markdown @fabaff @@ -246,6 +252,7 @@ source/_integrations/group.markdown @home-assistant/core source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant source/_integrations/guardian.markdown @bachya source/_integrations/habitica.markdown @ASMfreaK @leikoilja +source/_integrations/hardware.markdown @home-assistant/core source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan source/_integrations/hassio.markdown @home-assistant/supervisor source/_integrations/hdmi_cec.markdown @inytar @@ -281,6 +288,7 @@ source/_integrations/hyperion.markdown @dermotduffy source/_integrations/ialarm.markdown @RyuzakiKK source/_integrations/iammeter.markdown @lewei50 source/_integrations/iaqualink.markdown @flz +source/_integrations/ibeacon.markdown @bdraco source/_integrations/icloud.markdown @Quentame @nzapponi source/_integrations/ign_sismologia.markdown @exxamalte source/_integrations/image.markdown @home-assistant/core @@ -318,7 +326,9 @@ source/_integrations/kaleidescape.markdown @SteveEasley source/_integrations/keba.markdown @dannerph source/_integrations/keenetic_ndms2.markdown @foxel source/_integrations/kef.markdown @basnijholt +source/_integrations/kegtron.markdown @Ernst79 source/_integrations/keyboard_remote.markdown @bendavid @lanrat +source/_integrations/keymitt_ble.markdown @spycle source/_integrations/kmtronic.markdown @dgomes source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w source/_integrations/kodi.markdown @OnFreund @cgtobi @@ -333,8 +343,10 @@ source/_integrations/launch_library.markdown @ludeeus @DurgNomis-drol source/_integrations/laundrify.markdown @xLarry source/_integrations/lcn.markdown @alengwenus source/_integrations/led_ble.markdown @bdraco +source/_integrations/legrand.markdown @cgtobi source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave source/_integrations/lg_netcast.markdown @Drafteed +source/_integrations/lidarr.markdown @tkdrob source/_integrations/life360.markdown @pnbruckner source/_integrations/lifx.markdown @bdraco @Djelibeybi source/_integrations/light.markdown @home-assistant/core @@ -411,12 +423,14 @@ source/_integrations/nextbus.markdown @vividboarder source/_integrations/nextcloud.markdown @meichthys source/_integrations/nextdns.markdown @bieniu source/_integrations/nfandroidtv.markdown @tkdrob +source/_integrations/nibe_heatpump.markdown @elupus source/_integrations/nightscout.markdown @marciogranzotto source/_integrations/nilu.markdown @hfurubotten source/_integrations/nina.markdown @DeerMaximum source/_integrations/nissan_leaf.markdown @filcole source/_integrations/nmbs.markdown @thibmaek source/_integrations/noaa_tides.markdown @jdelaney72 +source/_integrations/nobo_hub.markdown @echoromeo @oyvindwe source/_integrations/notify.markdown @home-assistant/core source/_integrations/notify_events.markdown @matrozov @papajojo source/_integrations/notion.markdown @bachya @@ -480,13 +494,14 @@ source/_integrations/pushover.markdown @engrbm87 source/_integrations/pvoutput.markdown @frenck source/_integrations/pvpc_hourly_pricing.markdown @azogue source/_integrations/qbittorrent.markdown @geoffreylagaisse -source/_integrations/qingping.markdown @bdraco +source/_integrations/qingping.markdown @bdraco @skgsergio source/_integrations/qld_bushfire.markdown @exxamalte source/_integrations/qnap_qsw.markdown @Noltari source/_integrations/quantum_gateway.markdown @cisasteelersfan source/_integrations/qvr_pro.markdown @oblogic7 source/_integrations/qwikswitch.markdown @kellerza source/_integrations/rachio.markdown @bdraco +source/_integrations/radarr.markdown @tkdrob source/_integrations/radio_browser.markdown @frenck source/_integrations/radiotherm.markdown @bdraco @vinnyfuria source/_integrations/rainbird.markdown @konikvranik @@ -566,6 +581,7 @@ source/_integrations/smappee.markdown @bsmappee source/_integrations/smart_blinds.markdown @starkillerOG source/_integrations/smart_home.markdown @starkillerOG source/_integrations/smart_meter_texas.markdown @grahamwetzler +source/_integrations/smarther.markdown @cgtobi source/_integrations/smartthings.markdown @andrewsayre source/_integrations/smarttub.markdown @mdz source/_integrations/smarty.markdown @z0mbieprocess @@ -606,6 +622,7 @@ source/_integrations/swiss_hydrological_data.markdown @fabaff source/_integrations/swiss_public_transport.markdown @fabaff source/_integrations/switch.markdown @home-assistant/core source/_integrations/switch_as_x.markdown @home-assistant/core +source/_integrations/switchbee.markdown @jafar-atili source/_integrations/switchbot.markdown @bdraco @danielhiversen @RenierM26 @murtas @Eloston source/_integrations/switcher_kis.markdown @tomerfi @thecode source/_integrations/switchmate.markdown @danielhiversen @qiz-li @@ -632,6 +649,7 @@ source/_integrations/thethingsnetwork.markdown @fabaff source/_integrations/threshold.markdown @fabaff source/_integrations/tibber.markdown @danielhiversen source/_integrations/tile.markdown @bachya +source/_integrations/tilt_ble.markdown @apt-itude source/_integrations/time_date.markdown @fabaff source/_integrations/tmb.markdown @alemuro source/_integrations/todoist.markdown @boralyl diff --git a/_config.yml b/_config.yml index 9436666b35c..a380693072c 100644 --- a/_config.yml +++ b/_config.yml @@ -106,9 +106,9 @@ social: # Home Assistant release details current_major_version: 2022 -current_minor_version: 9 -current_patch_version: 7 -date_released: 2022-09-26 +current_minor_version: 10 +current_patch_version: 0 +date_released: 2022-10-05 # 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/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index 7d19ceda7da..08bc04a69da 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -685,8 +685,8 @@ max: type: [integer, float] required: true step: - description: The step value of the number value. - type: [integer, float] + description: The step size of the number value. Set to `"any"` to allow any number. + type: [integer, float, "any"] required: false default: 1 unit_of_measurement: diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 375859dafe3..8fd9bd0aecb 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -548,6 +548,23 @@ Example using `is_defined` to parse a JSON payload: This will throw an error `UndefinedError: 'value_json' is undefined` if the JSON payload has no `val` attribute. +### Version + +- `version()` Returns a [AwesomeVersion object](https://github.com/ludeeus/awesomeversion) for the value given inside the brackets. + - This is also available as a filter (`| version`). + +Examples: + +{% raw %} + +- `{{ version("2099.9.9") > "2000.0.0" }}` Will return `True` +- `{{ version("2099.9.9") < "2099.10" }}` Will return `True` +- `{{ "2099.9.9" | version < "2099.10" }}` Will return `True` +- `{{ (version("2099.9.9") - "2100.9.10").major }}` Will return `True` +- `{{ (version("2099.9.9") - "2099.10.9").minor }}` Will return `True` +- `{{ (version("2099.9.9") - "2099.9.10").patch }}` Will return `True` + +{% endraw %} ### Distance @@ -556,6 +573,7 @@ Not supported in [limited templates](#limited-templates). - `distance()` will measure the distance in kilometers between home, entity, coordinates. - `closest()` will find the closest entity. + #### Distance examples If only one location is passed in, Home Assistant will measure the distance from home. diff --git a/source/_includes/integrations/config_flow.md b/source/_includes/integrations/config_flow.md index 7b44475ace4..3d0c39967a5 100644 --- a/source/_includes/integrations/config_flow.md +++ b/source/_includes/integrations/config_flow.md @@ -8,14 +8,14 @@ interface, by using this My button: {% my config_flow_start badge domain=domain %} -{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %} +{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf or page.ha_mqtt %} {{ name }} can be auto-discovered by Home Assistant. If an instance was found, it will be shown as _"Discovered"_, which you can select to set it up right away. {% endif %} {% details "Manual configuration steps" %} -{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %} +{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf or page.ha_mqtt %} If there wasn't any discovered automatically, don't worry! You can set up a manual integration entry: {% else %} diff --git a/source/_integrations/air_quality.markdown b/source/_integrations/air_quality.markdown index 711bebf05d0..b1e34800140 100644 --- a/source/_integrations/air_quality.markdown +++ b/source/_integrations/air_quality.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The `air_quality` base platform allows other integrations to process information about air quality and pollution details. It is used by integrations that provide an `air_quality` sensor - you can find those under the `health` [integrations](/integrations/#health). diff --git a/source/_integrations/alarm_control_panel.markdown b/source/_integrations/alarm_control_panel.markdown index 5df97f48acd..97f603c22bd 100644 --- a/source/_integrations/alarm_control_panel.markdown +++ b/source/_integrations/alarm_control_panel.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: alarm_control_panel ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Home Assistant can give you an interface which is similar to a classic alarm system. diff --git a/source/_integrations/ambee.markdown b/source/_integrations/ambee.markdown deleted file mode 100644 index dd082e0e67d..00000000000 --- a/source/_integrations/ambee.markdown +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Ambee -description: Instructions on how to integrate Ambee within Home Assistant. -ha_category: - - Environment - - Health -ha_release: 2021.7 -ha_iot_class: Cloud Polling -ha_config_flow: true -ha_codeowners: - - '@frenck' -ha_domain: ambee -ha_platforms: - - sensor -ha_quality_scale: platinum -ha_integration_type: integration ---- - -
- This integration is pending removal from Home Assistant and will be no longer available as of Home Assistant 2022.10. -
- -The Ambee integration integrates the [Ambee](https://www.getambee.com/) API -platform with Home Assistant. - -Ambee fuses the power of thousands of on-ground sensor data and hundreds of -remote imagery from satellites. Their state-of-the-art AI and ML techniques with -proprietary models analyze environmental factors such as air quality, soil, -micro weather, pollen, and more to help millions worldwide say safe and protect -themselves. - -## Prerequisites - -To use the Ambee integration, you will need to obtain an API key from Ambee. -Ambee provides free evulation API keys, that are limited to 50,000 credits -and for a period of 30 days. After that, you will need to sign up for a -paid enterprise plan in order to continue using Ambee. - -[Sign up for an Ambee account](https://api-dashboard.getambee.com/#/signup). -Once you have completed the sign up and logged in for the first time, the -API token will be displayed on the top of your -[Ambee dashboard](https://api-dashboard.getambee.com/#/). Make sure you select -both the Air Quality API and the Pollen API. - -{% include integrations/config_flow.md %} - -## Sensors - -The Ambee platform mainly provides sensors that you can use in your automations. - -### Air Quality - -Polluted air affects planetary well-being with disruption to our ecosystem and -various health risks. The following sensors from Ambee are available on this: - -- Air Quality Index (AQI) -- Carbon Monoxide (CO) -- Nitrogen Dioxide (NO2) -- Ozone -- Particulate Matter < 10 μm -- Particulate Matter < 2.5 μm -- Sulphur Dioxide (SO2) - -### Pollen - -Pollen is a fine powder produced by trees and plants. Pollen can severely affect -people, especially those with different ailments such as asthma and respiratory -issues. This integration provides a lot of sensors to monitor pollen counts and -risks. - -Generic pollen count sensors (in pollen/m3) -and as risk level (low, moderate, high, very high): - -- Grass -- Tree -- Weed - -Additionally, sensors for specific pollen from specific grasses, -trees or weeds, in pollen/m3, are provided. These are disabled by default. -Enable those entities in the user interface if you like to use these: - -- Alder Tree -- Birch Tree -- Chenopod Weed -- Cypress Tree -- Elm Tree -- Hazel Tree -- Mugwort Weed -- Nettle Weed -- Oak Tree -- Pine Tree -- Plane Tree -- Poaceae Grass -- Poplar Tree -- Ragweed diff --git a/source/_integrations/analytics.markdown b/source/_integrations/analytics.markdown index cf99e2843cf..b3804f367d7 100644 --- a/source/_integrations/analytics.markdown +++ b/source/_integrations/analytics.markdown @@ -10,7 +10,7 @@ ha_codeowners: - '@home-assistant/core' - '@ludeeus' ha_domain: analytics -ha_integration_type: integration +ha_integration_type: system --- {% assign current_version = site.current_major_version | append: "." | append: site.current_minor_version | append: "." | append: site.current_patch_version %} diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index 6fade1a6494..59028c877a2 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -1,7 +1,6 @@ --- -title: apcupsd +title: APC UPS Daemon description: Instructions on how to integrate apcupsd status with Home Assistant. -logo: apcupsd.png ha_category: - Binary Sensor - Sensor @@ -9,18 +8,21 @@ ha_category: ha_release: 0.13 ha_iot_class: Local Polling ha_domain: apcupsd +ha_config_flow: true +ha_codeowners: + - '@yuxincs' ha_platforms: - binary_sensor - sensor ha_integration_type: integration --- -[Apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device. +[apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device. There is currently support for the following device types within Home Assistant: - [Binary Sensor](#binary-sensor) -- [Sensor](#sensor) +- [Sensor](#sensors) ## Home Assistant add-on installation @@ -28,136 +30,94 @@ Install this [unofficial add-on](https://github.com/korylprince/hassio-apcupsd/) After installation, follow the instructions on the GitHub page to configure the plugin. Then continue to follow the integration configurations below. -## Configuration - -To enable this sensor, add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -apcupsd: -``` - -{% configuration %} -host: - description: The hostname/IP address on which the apcupsd NIS is being served. - required: false - type: string - default: localhost -port: - description: The port on which the apcupsd NIS is listening. - required: false - type: integer - default: 3551 -{% endconfiguration %} +{% include integrations/config_flow.md %}
-If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [Apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addresses will not connect. +If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addresses will not connect. + +
- ## Binary sensor -In addition to the [Apcupsd Sensor](#sensor) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times. +This integration provides a binary sensor for the following information from apcupsd: -### Configuration +- UPS status -To enable this sensor, you first have to set up apcupsd integration (above), and add the following lines to your `configuration.yaml` file: +## Sensors -```yaml -# Example configuration.yaml entry -binary_sensor: - - platform: apcupsd -``` +This integration provides sensors for the following information from apcupsd based on their availability. Each sensor is listed here along with their corresponding resource name obtained from `apcaccess`. -{% configuration %} -name: - description: Name to use in the frontend. - required: false - type: string - default: UPS Online Status -{% endconfiguration %} +
-## Sensor +Some sensors are disabled by default, since they provide information that is only useful for advanced users. You can manually enable them in **{% my entities title="Settings -> Devices & Services -> Entities" %}** -> the sensor entity you want to enable -> Advanced settings -> Enabled. - The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](https://linux.die.net/man/8/apcaccess) command. +
-### Configuration - -To use this sensor platform, you first have to set up apcupsd integration (above), and add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: apcupsd - resources: - - bcharge - - linev -``` - -{% configuration %} -resources: - description: Contains all entries to display. - required: true - type: list -{% endconfiguration %} - -### Example - -Given the following output from `apcaccess`: - -```yaml -APC : 001,051,1149 -DATE : 2016-02-09 17:13:31 +0000 -HOSTNAME : localhost -VERSION : 3.14.12 (29 March 2014) redhat -UPSNAME : netrack -CABLE : Custom Cable Smart -DRIVER : APC Smart UPS (any) -UPSMODE : Stand Alone -STARTTIME: 2016-02-09 16:06:47 +0000 -MODEL : SMART-UPS 1400 -STATUS : TRIM ONLINE -LINEV : 247.0 Volts -LOADPCT : 13.0 Percent -BCHARGE : 100.0 Percent -TIMELEFT : 104.0 Minutes -MBATTCHG : 5 Percent -MINTIMEL : 3 Minutes -MAXTIME : 0 Seconds -MAXLINEV : 249.6 Volts -MINLINEV : 244.4 Volts -OUTPUTV : 218.4 Volts -[...] -``` - -Use the values from the left hand column (lower case required). - -Full Example Configuration: - -```yaml -sensor: - - platform: apcupsd - resources: - - apc - - date - - hostname - - version - - upsname - - cable - - driver - - upsmode - - starttime - - model - - status - - linev - - loadpct - - bcharge - - timeleft - - mbattchg - - mintimel - - maxtime - - maxlinev - - minlinev - - outputv -``` +- UPS Alarm Delay (ALARMDEL) +- UPS Ambient Temperature (AMBTEMP) +- UPS Status Data (APC) +- UPS Model (APCMODEL) +- UPS Bad Batteries (BADBATTS) +- UPS Battery Replaced (BATTDATE) +- UPS Battery Status (BATTSTAT) +- UPS Battery Voltage (BATTV) +- UPS Battery (BCHARGE) +- UPS Cable Type (CABLE) +- UPS Total Time on Battery (CUMONBATT) +- UPS Status Date (DATE) +- UPS Dip Switch Settings (DIPSW) +- UPS Low Battery Signal (DLOWBATT) +- UPS Driver (DRIVER) +- UPS Shutdown Delay (DSHUTD) +- UPS Wake Delay (DWAKE) +- UPS Date and Time (END APC) +- UPS External Batteries (EXTBATTS) +- UPS Firmware Version (FIRMWARE) +- UPS Transfer High (HITRANS) +- UPS Hostname (HOSTNAME) +- UPS Ambient Humidity (HUMIDITY) +- UPS Internal Temperature (ITEMP) +- UPS Last Transfer (LASTXFER) +- UPS Input Voltage Status (LINEFAIL) +- UPS Line Frequency (LINEFREQ) +- UPS Input Voltage (LINEV) +- UPS Load (LOADPCT) +- UPS Load Apparent Power (LOADAPNT) +- UPS Transfer Low (LOTRANS) +- UPS Manufacture Date (MANDATE) +- UPS Master Update (MASTERUPD) +- UPS Input Voltage High (MAXLINEV) +- UPS Battery Timeout (MAXTIME) +- UPS Battery Shutdown (MBATTCHG) +- UPS Input Voltage Low (MINLINEV) +- UPS Shutdown Time (MINTIMEL) +- UPS Model (MODEL) +- UPS Battery Nominal Voltage (NOMBATTV) +- UPS Nominal Input Voltage (NOMINV) +- UPS Nominal Output Voltage (NOMOUTV) +- UPS Nominal Output Power (NOMPOWER) +- UPS Nominal Apparent Power (NOMAPNT) +- UPS Transfer Count (NUMXFERS) +- UPS Output Current (OUTCURNT) +- UPS Output Voltage (OUTPUTV) +- UPS Register 1 Fault (REG1) +- UPS Register 2 Fault (REG2) +- UPS Register 3 Fault (REG3) +- UPS Restore Requirement (RETPCT) +- UPS Last Self Test (SELFTEST) +- UPS Sensitivity (SENSE) +- UPS Serial Number (SERIALNO) +- UPS Startup Time (STARTTIME) +- UPS Status Flag (STATFLAG) +- UPS Status (STATUS) +- UPS Self Test Interval (STESTI) +- UPS Time Left (TIMELEFT) +- UPS Time on Battery (TONBATT) +- UPS Mode (UPSMODE) +- UPS Name (UPSNAME) +- UPS Daemon Info (VERSION) +- UPS Transfer from Battery (XOFFBAT) +- UPS Transfer from Battery (XOFFBATT) +- UPS Transfer to Battery (XONBATT) diff --git a/source/_integrations/api.markdown b/source/_integrations/api.markdown index ad7249b74f3..fdbe918fe26 100644 --- a/source/_integrations/api.markdown +++ b/source/_integrations/api.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: api -ha_integration_type: integration +ha_integration_type: system --- The `api` integration exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [HTTP integration](/integrations/http/). diff --git a/source/_integrations/application_credentials.markdown b/source/_integrations/application_credentials.markdown index 7c6d32d1833..d0e8dd07a75 100644 --- a/source/_integrations/application_credentials.markdown +++ b/source/_integrations/application_credentials.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- The Application Credentials integration is used by integrations that use OAuth2 to link your account to Home Assistant. The most common and preferred approach is using account linking with Home Assistant Cloud, however not all cloud providers support that and integrations can use Application Credentials instead. Additionally, users may use Application Credentials if preferred instead of Home Assistant Cloud Account Linking. diff --git a/source/_integrations/august_ble.markdown b/source/_integrations/august_ble.markdown index 32be8196ffc..f82dab10e08 100644 --- a/source/_integrations/august_ble.markdown +++ b/source/_integrations/august_ble.markdown @@ -1,6 +1,6 @@ --- title: August Bluetooth -description: Instructions on how to integrate August Bluetooth locks into Home Assistant. +description: Connect and control your August Bluetooth devices using the Yale Access Bluetooth integration ha_category: - Binary Sensor - Lock @@ -25,4 +25,4 @@ Integrates [August](https://august.com/) locks over Bluetooth into Home Assistan Following Assa Abloy, Yale's parent company, purchasing August in 2017, most newer devices use the Yale Access branding. -{% include integrations/supported_brand.md %} \ No newline at end of file +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/auth.markdown b/source/_integrations/auth.markdown index 0f7d00ed37f..ac8e2e4a122 100644 --- a/source/_integrations/auth.markdown +++ b/source/_integrations/auth.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: auth -ha_integration_type: integration +ha_integration_type: system --- This integration creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant. diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown index 75298852a97..00d0c84e613 100644 --- a/source/_integrations/automation.markdown +++ b/source/_integrations/automation.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: automation -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index d88272c2b6f..4500fa674de 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -9,7 +9,7 @@ ha_domain: backup ha_codeowners: - '@home-assistant/core' ha_iot_class: Calculated -ha_integration_type: integration +ha_integration_type: system --- The Backup integration allow you to create and download backups for your Home Assistant Core and Home Assistant Container installations. This backup file can be used if you migrate to Home Assistant Operating System. diff --git a/source/_integrations/bayesian.markdown b/source/_integrations/bayesian.markdown index 035a235533b..d2adc35eadc 100644 --- a/source/_integrations/bayesian.markdown +++ b/source/_integrations/bayesian.markdown @@ -11,6 +11,8 @@ ha_domain: bayesian ha_platforms: - binary_sensor ha_integration_type: integration +ha_codeowners: + - '@HarvsG' --- The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`. diff --git a/source/_integrations/binary_sensor.markdown b/source/_integrations/binary_sensor.markdown index 014d97cc6c2..6ff50c7b6ef 100644 --- a/source/_integrations/binary_sensor.markdown +++ b/source/_integrations/binary_sensor.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: binary_sensor ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Binary sensors are similar to other [sensors](/integrations/sensor) in that they diff --git a/source/_integrations/blueprint.markdown b/source/_integrations/blueprint.markdown index c6555f766e9..d00536cd540 100644 --- a/source/_integrations/blueprint.markdown +++ b/source/_integrations/blueprint.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: blueprint -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown index a1a0955823f..51a4d14898e 100644 --- a/source/_integrations/braviatv.markdown +++ b/source/_integrations/braviatv.markdown @@ -2,6 +2,7 @@ title: Sony Bravia TV description: Instructions on how to integrate a Sony Bravia TV into Home Assistant. ha_category: + - Button - Media Player - Remote ha_release: 0.23 @@ -12,8 +13,10 @@ ha_codeowners: ha_domain: braviatv ha_config_flow: true ha_platforms: + - button - media_player - remote +ha_ssdp: true ha_integration_type: integration --- @@ -23,11 +26,20 @@ Almost all [Sony Bravia TV 2013 and newer](https://info.tvsideview.sony.net/en_w {% include integrations/config_flow.md %} +## Authentication + +The Bravia TV integration supports two types of authentication: + +- **PSK (Pre-Shared-Key)** is a user-defined secret key used for access control. This authentication method is recommended as more reliable and stable. To set up and enable PSK on your TV, go to: **Settings -> Network -> Home Network Setup -> IP Control**. +- **PIN Code** authentication is easier and does not require additional settings. + +For more information, see [IP Control Authentication](https://pro-bravia.sony.net/develop/integrate/ip-control/index.html#ip-control-authentication). + ## Common Issues ### TV does not generate new pin -If you have previously set up your TV with any Home Assistant instances, you must remove Home Assistant from your TV in order for your TV to generate a new pin. To do this, you must do **one** of the following: +If you have previously set up your TV with any Home Assistant instances via PIN code, you must remove Home Assistant from your TV in order for your TV to generate a new pin. To do this, you must do **one** of the following: - On your TV, go to: **Settings** -> **Network** -> **Remote device settings** -> **Deregister remote device**. Disable and re-enable the **Control remotely** after. Menu titles may differ slightly between models. If needed, refer to your specific model's [manual](https://www.sony.com/electronics/support/manuals) for additional guidance. - Reset your TV to factory condition. @@ -65,6 +77,10 @@ The commands that can be sent to the TV depends on the model of your TV. To disp {% enddetails %} +## Buttons + +The integration supports `button` platform and allows you to reboot the device or terminate all running applications. + {% include integrations/option_flow.md %} The integration allows you to customize the list of ignored sources. diff --git a/source/_integrations/bswitch.markdown b/source/_integrations/bswitch.markdown new file mode 100644 index 00000000000..e1ecd617d48 --- /dev/null +++ b/source/_integrations/bswitch.markdown @@ -0,0 +1,23 @@ +--- +title: BSwitch +description: Connect and control your BSwitch devices using the SwitchBee integration +ha_category: + - Button + - Light + - Switch +ha_domain: bswitch +ha_codeowners: + - '@jafar-atili' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - button + - light + - switch +ha_iot_class: Local Polling +ha_supporting_domain: switchbee +ha_supporting_integration: SwitchBee +ha_release: '2022.10' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/bthome.markdown b/source/_integrations/bthome.markdown index c9dbf369e90..987ecbeca4c 100644 --- a/source/_integrations/bthome.markdown +++ b/source/_integrations/bthome.markdown @@ -1,6 +1,6 @@ --- title: BTHome -description: Instructions on how to integrate BThome BLE devices into Home Assistant. +description: Instructions on how to integrate BTHome BLE devices into Home Assistant. ha_category: - Sensor ha_bluetooth: true @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: bthome ha_config_flow: true ha_platforms: + - binary_sensor - sensor ha_integration_type: integration --- @@ -23,10 +24,6 @@ The BTHome BLE integration will automatically discover devices once the [Bluetoo BTHome is an energy effective but flexible BLE format to broadcast data with Bluetooth and allows you to create your own DIY BLE sensors. More information about the BTHome BLE format and projects that use the format can be found on the [BTHome website](https://bthome.io/). -## Supported sensor measurements - -The current release only supports sensors, no binary sensors. - ## Bindkey When using encryption for your BTHome sensor, you will promted to enter your 32 character hexadecimal (16 bytes) encryption key. This key is called the bindkey. More information about the bindkey can be found in the [specifications](https://bthome.io/#encryption). diff --git a/source/_integrations/bticino.markdown b/source/_integrations/bticino.markdown new file mode 100644 index 00000000000..7dfb86efd0e --- /dev/null +++ b/source/_integrations/bticino.markdown @@ -0,0 +1,36 @@ +--- +title: BTicino +description: Connect and control your BTicino devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: bticino +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/bubendorff.markdown b/source/_integrations/bubendorff.markdown new file mode 100644 index 00000000000..b4ad3290b67 --- /dev/null +++ b/source/_integrations/bubendorff.markdown @@ -0,0 +1,36 @@ +--- +title: Bubendorff +description: Connect and control your Bubendorff devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: bubendorff +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/button.markdown b/source/_integrations/button.markdown index 5e4a2138ff4..a31186ab804 100644 --- a/source/_integrations/button.markdown +++ b/source/_integrations/button.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: button ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- A button entity is an entity that can fire an event / trigger an action towards diff --git a/source/_integrations/calendar.markdown b/source/_integrations/calendar.markdown index 413fec848f4..dff15ca5397 100644 --- a/source/_integrations/calendar.markdown +++ b/source/_integrations/calendar.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The calendar integration allows you to integrate your calendars into Home Assistant. Calendars are shown on the calendar dashboard, and can be used with automations. diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown index bc701a974f6..04afffb19b1 100644 --- a/source/_integrations/camera.markdown +++ b/source/_integrations/camera.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_domain: camera ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity ha_platforms: - diagnostics --- diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown index f9b853c4854..15b1422686a 100644 --- a/source/_integrations/climate.markdown +++ b/source/_integrations/climate.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: climate ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats. diff --git a/source/_integrations/config.markdown b/source/_integrations/config.markdown index 237bc4c003a..614fec55893 100644 --- a/source/_integrations/config.markdown +++ b/source/_integrations/config.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: config ha_platforms: - scene -ha_integration_type: integration +ha_integration_type: system --- The `config` integration is designed to display panels in the frontend to configure and manage parts of Home Assistant. diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown index 866fd97f503..56d4614d4b9 100644 --- a/source/_integrations/configurator.markdown +++ b/source/_integrations/configurator.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: configurator -ha_integration_type: integration +ha_integration_type: system ---
diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown index e74fd581c75..f1038151e18 100644 --- a/source/_integrations/conversation.markdown +++ b/source/_integrations/conversation.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push ha_codeowners: - '@home-assistant/core' ha_domain: conversation -ha_integration_type: integration +ha_integration_type: system --- The conversation integration allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` service with the transcribed text. diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown index 553e955ef63..57a5cba4ee1 100644 --- a/source/_integrations/cover.markdown +++ b/source/_integrations/cover.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: cover -ha_integration_type: integration +ha_integration_type: entity --- Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors. diff --git a/source/_integrations/default_config.markdown b/source/_integrations/default_config.markdown index 47932673362..128a9e31885 100644 --- a/source/_integrations/default_config.markdown +++ b/source/_integrations/default_config.markdown @@ -8,7 +8,7 @@ ha_domain: default_config ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This integration is a meta-component and configures a default set of integrations for Home Assistant to load. The integrations that will be loaded are: diff --git a/source/_integrations/device_automation.markdown b/source/_integrations/device_automation.markdown index 1858ed9a418..b0a76975430 100644 --- a/source/_integrations/device_automation.markdown +++ b/source/_integrations/device_automation.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: device_automation -ha_integration_type: integration +ha_integration_type: system --- Device Automations is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions. diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown index 8fa6abe0b7b..50e7d8bee73 100644 --- a/source/_integrations/device_tracker.markdown +++ b/source/_integrations/device_tracker.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: device_tracker ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The device tracker allows you to track devices in Home Assistant. This can happen by querying your wireless router or by having applications push location info. diff --git a/source/_integrations/dhcp.markdown b/source/_integrations/dhcp.markdown index 126dd7a7a15..672b46e183b 100644 --- a/source/_integrations/dhcp.markdown +++ b/source/_integrations/dhcp.markdown @@ -9,7 +9,7 @@ ha_domain: dhcp ha_quality_scale: internal ha_codeowners: - '@bdraco' -ha_integration_type: integration +ha_integration_type: system --- The `dhcp` "DHCP Discovery" integration will watch the network for DHCP requests for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. diff --git a/source/_integrations/diagnostics.markdown b/source/_integrations/diagnostics.markdown index 7923f863f4f..6f66df09c17 100644 --- a/source/_integrations/diagnostics.markdown +++ b/source/_integrations/diagnostics.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: diagnostics ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- The diagnostics integration provides a way to download diagnostic data from diff --git a/source/_integrations/discovery.markdown b/source/_integrations/discovery.markdown index d0597f536ab..96330a9ea15 100644 --- a/source/_integrations/discovery.markdown +++ b/source/_integrations/discovery.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: discovery ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This is the legacy discovery integration for Home Assistant. It's use is no longer recommended. Use the [SSDP](/integrations/ssdp/), [Zeroconf](/integrations/zeroconf/) and [USB](/integrations/usb/) integrations instead. diff --git a/source/_integrations/dsmr_reader.markdown b/source/_integrations/dsmr_reader.markdown index 4fb0e38d954..15a200173ec 100644 --- a/source/_integrations/dsmr_reader.markdown +++ b/source/_integrations/dsmr_reader.markdown @@ -5,9 +5,12 @@ ha_category: - Energy - Sensor ha_iot_class: Local Push +ha_config_flow: true +ha_mqtt: true ha_release: 0.103 ha_codeowners: - '@depl0y' + - '@glodenox' ha_domain: dsmr_reader ha_platforms: - sensor @@ -18,24 +21,18 @@ The `dsmr_reader` sensor integration allows you to easily add all sensors that [ ## Prerequisites -- DSMR Reader -- MQTT broker +To use this DSMR Reader sensor integration, you need to have a DSMR Reader instance running and an MQTT broker to send sensor data through. -## Setup - -1. Configure the MQTT broker in DSMR Reader which Home Assistant also connects to -2. Enable the following data sources in DSMR Reader with the default mapping: +1. Add the MQTT broker integration in Home Assistant, if you haven't done so already +2. Configure the MQTT broker in the DSMR Reader application +3. Enable the following data sources in the DSMR Reader administration pages with the default mappings: - Day consumption: Split topic - Gas consumption: Split topic - Meter Statistics: Split topic - Telegram: Split topic -## Configuration +{% include integrations/config_flow.md %} -To use this integration in your installation, add the following to your `configuration.yaml` file: +## Difference with the DSMR integration -```yaml -# Example configuration.yaml entry -sensor: - - platform: dsmr_reader -``` +This integration relies on the presence of an existing DSMR Reader application setup. It processes the events triggered by the MQTT publishing feature to create sensor entities within Home Assistant. This integration uses the data published on the MQTT broker, no matter how or where the application is installed. By comparison, the [DSMR](/integrations/dsmr/) integration adds a full instance of the DSMR Reader application within Home Assistant. It is possible to have both integrations installed at the same time and working together, but this is not required. diff --git a/source/_integrations/energy.markdown b/source/_integrations/energy.markdown index 774f3504fc5..110179319dd 100644 --- a/source/_integrations/energy.markdown +++ b/source/_integrations/energy.markdown @@ -10,5 +10,5 @@ ha_codeowners: ha_domain: energy ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/fan.markdown b/source/_integrations/fan.markdown index 0f6c51f2187..8e0380ca187 100644 --- a/source/_integrations/fan.markdown +++ b/source/_integrations/fan.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: fan ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The Fan integration allows you to control and monitor Fan devices. diff --git a/source/_integrations/file_upload.markdown b/source/_integrations/file_upload.markdown index 1d0773de331..cab53d08fb5 100644 --- a/source/_integrations/file_upload.markdown +++ b/source/_integrations/file_upload.markdown @@ -4,9 +4,10 @@ description: File upload integration supports various frontend features within H ha_release: 2022.9 ha_quality_scale: internal ha_domain: file_upload -ha_integration_type: integration +ha_integration_type: system ha_codeowners: - '@home-assistant/core' +ha_category: [] --- The file upload integration allows various features in the frontend to upload files. diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown deleted file mode 100644 index 4eda32f7dc7..00000000000 --- a/source/_integrations/flunearyou.markdown +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Flu Near You -description: Instructions on how to use Flu Near You data within Home Assistant -ha_category: - - Health -ha_release: 0.83 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@bachya' -ha_domain: flunearyou -ha_config_flow: true -ha_platforms: - - diagnostics - - sensor -ha_integration_type: integration ---- - -
- This integration is pending removal from Home Assistant and will be no longer available as of Home Assistant 2022.10. -
- -The `flunearyou` sensor platform allows users in the United States and its -territories to get information regarding reported flu symptoms from [Flu Near -You](https://flunearyou.org/). The platform can return user-reported information as well reports from the -Center for Disease Control (CDC). - -{% include integrations/config_flow.md %} - -## Sensor Types - -### User Report - -* Number of reported cases of [Avian Flu](https://www.cdc.gov/flu/avianflu/index.htm) symptoms -* Number of reported cases of [Dengue](https://www.cdc.gov/dengue/index.html) symptoms -* Number of reported cases of [Flu](https://www.cdc.gov/flu/) symptoms -* Number of reported cases of [Flu-like](https://en.wikipedia.org/wiki/Influenza-like_illness) symptoms -* Number of reported cases of [Leptospirosis](https://www.cdc.gov/leptospirosis/index.html) symptoms -* Total number of reported cases with symptoms -* Number of reported cases with no symptoms - -### CDC Report - -* Current CDC level for the state -* Current CDC "Level 2" for the state diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index 91d981cb386..14f6138f393 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/frontend' ha_domain: frontend -ha_integration_type: integration +ha_integration_type: system --- This offers the official frontend to control Home Assistant. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: diff --git a/source/_integrations/geo_location.markdown b/source/_integrations/geo_location.markdown index b67a1fa90ff..dc09f3f06fc 100644 --- a/source/_integrations/geo_location.markdown +++ b/source/_integrations/geo_location.markdown @@ -8,7 +8,7 @@ ha_domain: geo_location ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Geolocation aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes. diff --git a/source/_integrations/google.markdown b/source/_integrations/google.markdown index a78b9497cc9..34293376d7a 100644 --- a/source/_integrations/google.markdown +++ b/source/_integrations/google.markdown @@ -1,5 +1,5 @@ --- -title: Google Calendars +title: Google Calendar description: Instructions on how to use Google Calendars in Home Assistant. ha_category: - Calendar diff --git a/source/_integrations/google_sheets.markdown b/source/_integrations/google_sheets.markdown new file mode 100644 index 00000000000..00a2e2374ab --- /dev/null +++ b/source/_integrations/google_sheets.markdown @@ -0,0 +1,86 @@ +--- +title: Google Sheets +description: Instructions on how to use Google Sheets in Home Assistant. +ha_category: + - Utility +ha_iot_class: Cloud Polling +ha_release: '2022.10' +ha_config_flow: true +ha_domain: google_sheets +ha_codeowners: + - '@tkdrob' +ha_integration_type: integration +--- + +The Google Sheets integration allows you to connect your [Google Drive](https://drive.google.com) to Home Assistant. The integration adds a service to allow you to append rows to a Sheets document. The idea is that you can store data on there for further processing. When you set up a config entry, your drive will have a new sheet called Home Assistant. You can then rename this to whatever you like. + +**Note**: +The integration currently only has access to that one document that is created during setup. + +## Prerequisites + +You need to configure developer credentials to allow Home Assistant to access your Google Account. +These credentials are the same as the ones for [Nest](/integrations/nest). +If you have already set up credentials, you can do step 1 and then skip to step 13 on the below instructions. + +{% details "Generate Client ID and Client Secret" %} + +This section explains how to generate a Client ID and Client Secret on +[Google Developers Console](https://console.developers.google.com/start/api?id=drive). + +1. First go to the [Google Developers Console](https://console.developers.google.com/start/api?id=drive) +2. The wizard will ask you to choose a project to manage your application. Select a project and click continue. +3. Verify that your drive API was enabled and click 'Go to credentials' +4. Navigate to APIs & Services (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials) +5. Click on the field on the left of the screen, **OAuth Consent Screen**. +6. Select **External** and **Create**. +7. Set the *App Name* (the name of the application asking for consent) to anything you want e.g. *Home Assistant*. +8. You then need to select a *Support email*. To do this, simply click the drop down box and select your email address. +9. You finally need to complete the section: *Developer contact information*. To do this, simply enter your email address (same as above is fine). +10. Scroll to the bottom and click **Save and Continue**. Don't have to fill out anything else or it may enable additional review. +11. You will then be automatically taken to the Scopes page. You do not need to add any scopes here so click Save and Continue to move to the Optional info page. You do not need to add anything to the Optional info page so click Save and Continue which will take you to the Summary page. Click Back to Dashboard. +12. Click **OAuth consent screen** again and set *Publish Status* to **Production** otherwise your credentials will expire every 7 days. +13. Make sure **Publishing status** is set to production. +14. Click **Credentials** in the menu on the left hand side of the screen, then click **Create credentials** (at the top of the screen), then select *OAuth client ID*. +15. Set the Application type to *Web application* and give this credential set a name (like "Home Assistant Credentials"). +16. Add https://my.home-assistant.io/redirect/oauth to *Authorized redirect URIs* then click **Create**. +17. You will then be presented with a pop-up saying *OAuth client created* showing *Your Client ID* and *Your Client Secret*. Make a note of these (for example, copy and paste them into a text editor) as you will need these shortly. Once you have noted these strings, click **OK**. If you need to find these credentials again at any point then simply navigate to *APIs & Services > Credentials* and you will see *Home Assistant Credentials* (or whatever you named them in the previous step) under *OAuth 2.0 Client IDs*. To view both the *Client ID* and *Client secret*, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page. +18. Double check that the *Google Drive API* has been automatically enabled. To do this, select **Library** from the menu, then search for *Google Drive API*. If it is enabled you will see *API Enabled* with a green tick next to it. If it is not enabled, then enable it. + +{% enddetails %} + +{% include integrations/config_flow.md %} + +The integration setup will next give you instructions to enter the [Application Credentials](/integrations/application_credentials/) (OAuth Client ID and Client Secret) and authorize Home Assistant to access your Google Sheets. + +{% details "OAuth and Device Authorization steps" %} + +1. Continue through the steps of selecting the account you want to authorize. + +2. **NOTE**: You may get a message telling you that the app has not been verified and you will need to acknowledge that in order to proceed. + +3. You can now see the details of what you are authorizing Home Assistant to access with two options at the bottom. Click **Continue**. + +4. The page will now display *Link account to Home Assistant?*, note *Your instance URL*. If this is not correct, please refer to [My Home Assistant](/integrations/my). If everything looks good, click **Link Account**. + +5. You may close the window, and return back to Home Assistant where you should see a *Success!* message from Home Assistant. + +{% enddetails %} + +## Troubleshooting + +If you have an error with your credentials you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface. + +### Service `google_sheets.append_sheet` + +You can use the service `google_sheets.append_sheet` to add a row of data to the Sheets document created at setup. + +{% details "Create Event Service details" %} + +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------- | --------| +| `config_entry` | no | Config entry to use. +| `worksheet` | yes | Name of the worksheet. Defaults to the first one in the document. | Sheet1 +| `data` | no | Data to be appended to the worksheet. This puts the data on a new row, one value per column. | ["foo"] + +{% enddetails %} diff --git a/source/_integrations/guardian.markdown b/source/_integrations/guardian.markdown index 7276adccc93..74562bbed95 100644 --- a/source/_integrations/guardian.markdown +++ b/source/_integrations/guardian.markdown @@ -37,14 +37,6 @@ There is currently support for the following device types within Home Assistant: ## Services -### `guardian.disable_ap` - -Disable the device's onboard access point. - -### `guardian.enable_ap` - -Enable the device's onboard access point. - ### `guardian.pair_sensor` Add a new paired sensor to the valve controller. diff --git a/source/_integrations/hardware.markdown b/source/_integrations/hardware.markdown index 4105ed5c5e8..d811411bfa7 100644 --- a/source/_integrations/hardware.markdown +++ b/source/_integrations/hardware.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: hardware -ha_integration_type: integration +ha_integration_type: system --- The Hardware integration provides an API which offers information about certain board types, USB dongles, and resource usage. diff --git a/source/_integrations/hassio.markdown b/source/_integrations/hassio.markdown index 1bc143ec49c..f5624335ae2 100644 --- a/source/_integrations/hassio.markdown +++ b/source/_integrations/hassio.markdown @@ -16,7 +16,7 @@ ha_platforms: - update ha_codeowners: - '@home-assistant/supervisor' -ha_integration_type: integration +ha_integration_type: system --- Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant. diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index 39093a02cec..6025e7555fb 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: history -ha_integration_type: integration +ha_integration_type: system --- The `history` integration will track everything that is going on within Home diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown index e7210d89153..eb0d1023a0b 100644 --- a/source/_integrations/homeassistant.markdown +++ b/source/_integrations/homeassistant.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: homeassistant ha_platforms: - scene -ha_integration_type: integration +ha_integration_type: system --- The Home Assistant integration provides generic implementations like the generic `homeassistant.turn_on`. diff --git a/source/_integrations/homeassistant_alerts.markdown b/source/_integrations/homeassistant_alerts.markdown index 68d8c2a1dea..f98ba10ee55 100644 --- a/source/_integrations/homeassistant_alerts.markdown +++ b/source/_integrations/homeassistant_alerts.markdown @@ -4,11 +4,11 @@ description: Home Assistant Alerts notifies you about alerts put out by the Home ha_release: 2022.8 ha_category: - Other -ha_iot_class: internal ha_codeowners: - '@home-assistant/core' ha_domain: homeassistant_alerts ha_integration_type: integration +ha_quality_scale: internal --- The Home Assistant Alerts integration integrates the diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown index 780f8aff903..dcf62044bde 100644 --- a/source/_integrations/homekit_controller.markdown +++ b/source/_integrations/homekit_controller.markdown @@ -83,6 +83,14 @@ HomeKit controller will poll your devices, but it will also automatically enable HomeKit Controller will automatically discover Bluetooth devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. Bluetooth devices may take significantly longer to pair than IP devices. Battery-powered devices may require pressing a button on the device to wake it before pairing can be successful. +## Thread device support + +In order to use HomeKit over Thread you need a working border router (like a HomePod mini). Your Home Assistant instance will need to be on the same VLAN as the border router. + +HomeKit Controller will automatically discover supported Thread devices using the [Zeroconf](/integrations/zeroconf) integration. Battery powered devices may go to sleep and require a button pressing to wake them up before pairing works. + +In order to provision a Thread device onto a mesh network using a HomePod as a border router, first pair it with an iOS device. Then unpair it from the Home app. Don't reset it. This will leave the Thread network details on the device. Home Assistant can now pair with it over Thread. + ## 'Stateless' switches and sensors Some HomeKit devices (like buttons, remotes and doorbells) don't have sensors that can be read like a normal HomeKit device - they only inform Home Assistant when something happens. This means Home Assistant can't show an entity for them, as they have no state. But they are available for use as [device automations](/integrations/device_automation/). diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown index 0936c6535b4..e7b9b78fdb1 100644 --- a/source/_integrations/http.markdown +++ b/source/_integrations/http.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: http -ha_integration_type: integration +ha_integration_type: system --- The `http` integration serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings. diff --git a/source/_integrations/humidifier.markdown b/source/_integrations/humidifier.markdown index 2d3ad9557d3..b191bea12bc 100644 --- a/source/_integrations/humidifier.markdown +++ b/source/_integrations/humidifier.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' - '@Shulyaka' -ha_integration_type: integration +ha_integration_type: entity --- The `humidifier` integration is built for the controlling and monitoring of humidifiers, dehumidifiers, and hygrostat devices. diff --git a/source/_integrations/ibeacon.markdown b/source/_integrations/ibeacon.markdown new file mode 100644 index 00000000000..814401a6526 --- /dev/null +++ b/source/_integrations/ibeacon.markdown @@ -0,0 +1,93 @@ +--- +title: iBeacon Tracker +description: Instructions on how to integrate iBeacon devices into Home Assistant. +ha_category: + - Device Tracker + - Presence Detection + - Sensor +ha_release: '2022.10' +ha_iot_class: Local Push +ha_domain: ibeacon +ha_platforms: + - device_tracker + - sensor +ha_bluetooth: true +ha_config_flow: true +ha_integration_type: integration +ha_codeowners: + - '@bdraco' +--- + +{% include integrations/config_flow.md %} + +iBeacons are Bluetooth-enabled devices that advertise identifiers to announce their location. For example, an iBeacon attached to a trash can be used to determine if the trash can is in the garage or on the street. Home Assistant can estimate the distance of an iBeacon device in proximity to the nearest Bluetooth adapter. + +iBeacon devices will be automatically detected and added as they are discovered once the integration has been added via the UI and the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +iBeacon Devices are tracked by a combination of the following data: + +- UUID (universally unique identifier) is a 128-bit identifier that is generally set the same for all iBeacons at the same physical location. +- Major is an integer to differentiate between iBeacons with the same UUID. +- Minor is an integer to differentiate between iBeacons with the same UUID and Major value. +- MAC address (except for devices with a randomized MAC address) + +Consider setting up your iBeacons with a schema similar to the following: + +- uuid=UUID major=1000 minor=1000 Downstairs Front Room +- uuid=UUID major=1000 minor=1001 Downstairs Bathroom +- uuid=UUID major=2000 minor=1001 Upstairs Main Bedroom +- uuid=UUID major=2000 minor=1002 Upstairs Guest Bedroom +- uuid=UUID major=3000 minor=1000 Attic + +iBeacon devices that do not have stable Major and Minor values are not supported. The system automatically removes iBeacon devices with unstable Major and Minor values once ten (10) or more Major and Minor values have been seen with the same UUID from an iBeacon device with a fixed MAC address. + +## Fixed MAC addresses + +iBeacons with a fixed MAC address will get their own set of entities for each UUID, major, minor, and MAC address combination, enabling distance and presence detection per physical device basis. In this type of setup, it is permissible to have multiple iBeacons broadcasting the same UUID, Major, and Minor combination as long as you do not exceed five devices. + +## Randomized MAC addresses + +iBeacons with a randomized MAC address will be combined into a single set of entities once the integration discovers the same UUID, Major, and Minor combination has been seen coming from 10 or more MAC addresses. This allows distance and presence detection based on the last reporting data. When using randomized MAC addresses, only one device must broadcast the unique UUID, Major, and Minor combination. + +## Sensors + +The integration will create an Estimated Distance sensor by default. This estimated distance assumes perfect RF conditions and line of sight between the iBeacon and the Bluetooth adapter. Estimated distance is generally only helpful to tell if the iBeacon is in the immediate vicinity, near, or far away from the adapter. If the system has multiple adapters, the adapter with the best RSSI value for the iBeacon will be the one reporting the distance. As this can change, checking the source attribute when considering the distance is essential. + +## Known working devices + +- [Blue Charm Beacons BC011-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-multi-beacon-bc011/) +- [Blue Charm Beacons BC021-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc021-multibeacon-with-button-trigger-and-motion-sensor/) +- [Blue Charm Beacons BC037G-GeoPattern-iBeacon](https://bluecharmbeacons.com/product/blue-charm-bc037-ibeacon/) +- [Blue Charm Beacons BC037S-SmoothPattern-iBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc037s-ibeacon/) +- [Blue Charm Beacons BC08-MultiBeacon](https://bluecharmbeacons.com/product/blue-charm-beacons-bluetooth-ble-ibeacon-bc08-multibeacon-w-motion-sensor-and-button-trigger-ble-5-0/) +- [Feasycom FSC-BP103B](https://www.feasycom.com/bluetooth-ibeacon-da14531) +- [Feasycom FSC-BP104D](https://www.feasycom.com/dialog-da14531-bluetooth-low-energy-beacon) +- [Feasycom FSC-BP108](https://www.feasycom.com/bluetooth-5-1-waterproof-bluetooth-beacon) +- [Pawscout Tag](https://pawscout.com/shop/pawscout-tag/) + +## Example automation + +```yaml +alias: "The black trash can has left the building" +mode: single +trigger: + - platform: state + entity_id: sensor.black_trash_bin_estimated_distance + to: "unavailable" + for: + hours: 0 + minutes: 5 + seconds: 0 + - platform: numeric_state + entity_id: sensor.black_trash_bin_estimated_distance + for: + hours: 0 + minutes: 5 + seconds: 0 + above: 20 +action: + - service: notify.notify + data: + message: "The black trash can has left the building" + title: "The black trash can has left the building" +``` diff --git a/source/_integrations/image.markdown b/source/_integrations/image.markdown index 801b8407981..59e1ba847ed 100644 --- a/source/_integrations/image.markdown +++ b/source/_integrations/image.markdown @@ -8,7 +8,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: image ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The Image integration allows Home Assistant to handle image assets in Home Assistant, for example, diff --git a/source/_integrations/image_processing.markdown b/source/_integrations/image_processing.markdown index 0571186a5ad..bce1b363b72 100644 --- a/source/_integrations/image_processing.markdown +++ b/source/_integrations/image_processing.markdown @@ -8,7 +8,7 @@ ha_domain: image_processing ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Image processing enables Home Assistant to process images from [cameras](/integrations/#camera). Only camera entities are supported as sources. diff --git a/source/_integrations/intellifire.markdown b/source/_integrations/intellifire.markdown index 72f791e03bc..febcf3b74d4 100644 --- a/source/_integrations/intellifire.markdown +++ b/source/_integrations/intellifire.markdown @@ -4,6 +4,7 @@ description: Instructions on the IntelliFire Fireplace integration for Home Assi ha_category: - Binary Sensor - Climate + - Fan - Sensor - Switch ha_iot_class: Local Polling @@ -15,6 +16,7 @@ ha_config_flow: true ha_platforms: - binary_sensor - climate + - fan - sensor - switch ha_dhcp: true @@ -39,6 +41,10 @@ The following controllable entities are available: - **Flame** - Turn fireplace on/off. - **Pilot Light** - Turn pilot light on/off. +### Fan + +- **Fan** - If your unit is equipped with a fan - this entry will be present. There are 4 fan speeds (1-4), with 0 being off. + ### Climate - **Thermostat** - This entity will be present if your unit has thermostatic control. diff --git a/source/_integrations/kegtron.markdown b/source/_integrations/kegtron.markdown new file mode 100644 index 00000000000..e70aabfb7c7 --- /dev/null +++ b/source/_integrations/kegtron.markdown @@ -0,0 +1,24 @@ +--- +title: Kegtron +description: Instructions on how to integrate Kegtron Smart Keg Monitor (Gen 1) into Home Assistant. +ha_category: + - Sensor +ha_bluetooth: true +ha_release: '2022.10' +ha_iot_class: Local Push +ha_codeowners: + - '@Ernst79' +ha_domain: kegtron +ha_config_flow: true +ha_platforms: + - sensor +ha_integration_type: integration +--- + +Integrates [Kegtron](https://kegtron.com/) Smart Keg Monitor (Gen 1) devices into Home Assistant. + +{% include integrations/config_flow.md %} + +The Kegtron integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +The integration only supports Smart Keg Monitor devices of the 1st generation (KT-100 and KT-200), which communicate data with Bluetooth LE. diff --git a/source/_integrations/keymitt_ble.markdown b/source/_integrations/keymitt_ble.markdown new file mode 100644 index 00000000000..4505fc4d03a --- /dev/null +++ b/source/_integrations/keymitt_ble.markdown @@ -0,0 +1,61 @@ +--- +title: Keymitt MicroBot Push +description: Instructions on how to set up the MicroBot Push. +ha_category: + - Switch +ha_release: '2022.10' +ha_iot_class: Assumed State +ha_codeowners: + - '@spycle' +ha_domain: keymitt_ble +ha_bluetooth: true +ha_platforms: + - switch +ha_config_flow: true +ha_integration_type: integration +--- + +This integration allows you to locally control a MicroBot Push (previously manufactured by Naran but now under the Keymitt brand). + +### Prerequisites + +In order to use this integration, it is required to have working [Bluetooth](/integrations/blueooth) set up on the device running Home Assistant. A Naran/Keymitt hub is not required. + +The device will need to be in pairing mode before adding to Home Assistant. To reset the MicroBot Push, turn it off, then back on, and immediately hold the push button while the LED is red. After approximately 5 seconds, the LED will flash rapidly, at which point release the button. The LED will blink blue if the pairing mode has been successfully activated. + +If you have multiple devices, you will need to know the BTLE MAC address of your device to tell them apart. + +Please note, that devices cannot remain paired to the MicroBot app for this integration to function. They will be paired to Home Assistant exclusively. + +{% include integrations/config_flow.md %} + +### Supported Devices + +This Integration is for the MicroBot Push only. The Keymitt lock is not supported. + +### Service `keymitt_ble.calibrate` + +The Calibration service will locally set the MicroBot Push depth, duration, and mode. + +Please note: The push arm will extend or retract (dependent on the mode set) after the service call is invoked. The mode and depth will be demonstrated, but not the duration. The setting is, however, stored and can be confirmed by manually operating the device. + +| Service Data Attribute | Required | Description | +| ---------------------- | -------- | --------------------------------------------------------------------------------------------- | +| `depth` | yes | How far (in percent) to extend the push arm. | +| `duration` | yes | Duration (in seconds) to hold the arm extended. | +| `mode` | yes |'Normal' - extend and retract the arm. | +| | |'Invert' - retract then extend the arm. | +| | |'Toggle' - toggle between extend and retract. | + +### Error codes and troubleshooting + +The integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +Due to the device going into deep sleep after prelonged disuse, the response time can be up to a minute in extreme cases. On average it will be much quicker. + +{% configuration_basic %} +"Failed to pair": + description: Make sure your devices are powered on, in range, and in pairing mode. Pressing the button on the MicroBot Push to take it out of deep sleep may also be beneficial. +"No unconfigured devices found": + description: Make sure your devices are powered on, in range, and in pairing mode. Pressing the button on the MicroBot Push to take it out of deep sleep may also be beneficial. +{% endconfiguration_basic %} diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 3924e9d3847..a8701a7ebf3 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -18,6 +18,7 @@ ha_platforms: ha_integration_type: integration ha_config_flow: true ha_ssdp: true +ha_dhcp: true --- [LaMetric TIME](https://lametric.com/) is a smart clock that can be used to access applications, listen to web radio and display notifications. diff --git a/source/_integrations/legrand.markdown b/source/_integrations/legrand.markdown new file mode 100644 index 00000000000..f7bf94dec16 --- /dev/null +++ b/source/_integrations/legrand.markdown @@ -0,0 +1,36 @@ +--- +title: Legrand +description: Connect and control your Legrand devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: legrand +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/lidarr.markdown b/source/_integrations/lidarr.markdown new file mode 100644 index 00000000000..94f2a3d14fe --- /dev/null +++ b/source/_integrations/lidarr.markdown @@ -0,0 +1,29 @@ +--- +title: Lidarr +description: Instructions on how to integrate Lidarr with Home Assistant +ha_category: + - Downloading +ha_release: '2022.10' +ha_iot_class: Local Polling +ha_domain: lidarr +ha_config_flow: true +ha_codeowners: + - '@tkdrob' +ha_platforms: + - sensor +ha_integration_type: integration +--- + +The Lidarr integration pulls data from a given [Lidarr](https://lidarr.audio/) instance. + +{% include integrations/config_flow.md %} + +To retrieve your API key, open your Lidarr web interface and navigate to Settings, then General tab. Your Lidarr API Key will be listed on this page under the Security section. + +## Sensors + +The Lidarr integration will add the following sensors: + +- Available disk space for each root folder. +- The number of episodes in the queue. +- The number of albums still wanted. diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index 621365f6715..2c7f089e94b 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -13,6 +13,7 @@ ha_platforms: - binary_sensor - button - light + - select ha_integration_type: integration ha_codeowners: - '@bdraco' @@ -40,13 +41,26 @@ Change the light to a new state. | `entity_id` | String or list of strings that point at `entity_id`s of lights. Use `entity_id: all` to target all. | `transition` | Duration (in seconds) for the light to fade to the new state. | `zones` | List of integers for the zone numbers to affect (each LIFX Z strip has 8 zones, starting at 0). -| `infrared` | Automatic infrared level (0..255) when light brightness is low (for compatible bulbs). | `power` | Turn the light on (`True`) or off (`False`). Leave out to keep the power as it is. | `...` | Use `color_name`, `brightness` etc. from [`light.turn_on`](/integrations/light/#service-lightturn_on) to specify the new state. +## Set HEV cycle state + +You can control the HEV LEDs in LIFX Clean bulbs using the `set_hev_cycle_state` service. The service can start or stop a HEV (or "Clean") cycle either using the default duration configured on the bulb or for a custom duration specified when calling the service. Home Assistant will return or log an error if an incompatible bulb is specified when calling the service. + +To determine whether or not a HEV cycle is currently running, Home Assistant exposes a Clean Cycle binary sensor for all HEV-enabled bulbs. This sensor can be used to trigger automations to occur when a HEV cycle starts or stops. To reduce network load, HEV cycle status is only checked every 10 seconds so this sensor may not update instantaneously. + +### Service `lifx.set_hev_cycle_state` + +| Service data attribute | Description | +| ---------------------- | ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of LIFX Clean bulbs. +| `power` | Start a HEV cycle (`True`) or stop a cycle (`False`). +| `duration` | Duration (in seconds) for the HEV cycle. The default duration of two hours (7200 seconds) is used if this attribute is omitted. + ## Light effects -The LIFX platform supports several light effects. You can start these effects with default options by using the `effect` attribute of the normal [`light.turn_on`](/integrations/light/#service-lightturn_on) service, for example like this: +The LIFX platform supports several software-controlled light effects and one hardware based effect. You can start these effects with default options by using the `effect` attribute of the normal [`light.turn_on`](/integrations/light/#service-lightturn_on) service, for example like this: ```yaml automation: @@ -78,7 +92,9 @@ script:          change: 35 ``` -The available light effects and their options are listed below. +The `lifx.effect_move` effect is hardware effect that is only available on LIFX multizone devices like the LIFX Z, Lightstrip or Beam. Note that if all the LEDs of the multizone device are set to the same color, the effect will not be visible. The effect can be stopped and started regardless of the power state of the device, but the default is to turn the device on when starting the effect. Set the `power_on` attribute of the `lifx.effect_move` service to `false` to override the default. + +All the available light effects and their options are listed below. ### Service `lifx.effect_pulse` @@ -109,23 +125,40 @@ Run an effect with colors looping around the color wheel. All participating ligh | `spread` | Maximum color difference between participating lights, in degrees on a color wheel (ranges from 0 to 359). | `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True). +### Service `lifx.effect_move` + +A harware-based effect available on LIFX multizone devices that creates a movement animation of the colors currently set on the device. The direction and speed of the animation are controlled by the `speed` and `direction` attributes. You can change the colors of the effect while it is running using the `lifx.set_state` service. + +The effect will not be visible if all LEDs on the device are set to the same color and is ignored by unsupported devices. + +| Service data attribute | Description | +| ---------------------- | ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of multizone lights. +| `speed` | Duration in seconds for the effect to travel the length of the device (min: 0.1s, max: 60s) +| `direction` | The direction in which the effect will travel, either "right" or "left" (default: right) +| `power_on` | Whether to turn the light on before starting the effect (optional, default: true) + ### Service `lifx.effect_stop` -Run an effect that does nothing, thereby stopping any other effect that might be running. +Run an effect that does nothing, thereby stopping any software or hardware effect that might be running. | Service data attribute | Description | | ---------------------- | ----------- | | `entity_id` | String or list of strings that point at `entity_id`s of lights. Use `entity_id: all` to target all. +## Infrared brightness + +Home Assistant will automatically create an Infrared Brightness configuration entity for LIFX Night Vision bulbs. Changing the state of this entity will change the brightness of the LEDs on the bulb. + ## Buttons The LIFX button platform creates two buttons for each LIFX device. -### Identify Button +### Identify button The Identify button will flash the bulb three times at maximum brightness then return the bulb to the state it was in prior. Successful identification requires the bulb to be powered on and already configured in Home Assistant. -### Restart Button +### Restart button The Restart button triggers the bulb to restart in exactly the same way as a physical power cycle, which makes it ideal for triggering a new DHCP request from the bulb. diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown index f5c5e864f46..c3b8c33141b 100644 --- a/source/_integrations/light.markdown +++ b/source/_integrations/light.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: light ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- This integration allows you to track and control various light bulbs. Read the integration documentation for your particular light hardware to learn how to enable it. diff --git a/source/_integrations/litterrobot.markdown b/source/_integrations/litterrobot.markdown index adf1a2a3e1d..a916853e4b5 100644 --- a/source/_integrations/litterrobot.markdown +++ b/source/_integrations/litterrobot.markdown @@ -7,7 +7,7 @@ ha_category: - Sensor - Switch - Vacuum -ha_iot_class: Cloud Polling +ha_iot_class: Cloud Push ha_release: 2021.3 ha_config_flow: true ha_codeowners: @@ -16,6 +16,7 @@ ha_codeowners: ha_domain: litterrobot ha_dhcp: true ha_platforms: + - binary_sensor - button - select - sensor @@ -40,6 +41,7 @@ You will need a Litter-Robot account as well as a Wi-Fi-enabled Litter-Robot or | Night Light Mode | `switch` | When turned on, automatically turns on the night light in darker settings. | | Panel Lockout | `switch` | When turned on, disables the buttons on the unit to prevent changes to settings. | | Last Seen | `sensor` | Displays the time the unit was last seen / reported an update. | +| Litter level | `sensor` | Displays the litter level, only for Litter-Robot 4. | | Pet weight | `sensor` | Displays the last measured pet weight, only for Litter-Robot 4. | | Sleep Mode Start Time | `sensor` | When sleep mode is enabled, displays the current or next sleep mode start time. | | Sleep Mode End Time | `sensor` | When sleep mode is enabled, displays the current or last sleep mode end time. | diff --git a/source/_integrations/lock.markdown b/source/_integrations/lock.markdown index d784c440932..5db9a2e29ce 100644 --- a/source/_integrations/lock.markdown +++ b/source/_integrations/lock.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: lock ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track which locks are in your environment, their state and allows you to control them. diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index 9f205556a78..3d0d711e922 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -8,7 +8,7 @@ ha_domain: logbook ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- diff --git a/source/_integrations/logger.markdown b/source/_integrations/logger.markdown index 7c353245c07..6d852e3d606 100644 --- a/source/_integrations/logger.markdown +++ b/source/_integrations/logger.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: logger -ha_integration_type: integration +ha_integration_type: system --- The `logger` integration lets you define the level of logging activities in Home diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index bbde0afcc7c..44e4756145f 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -33,9 +33,19 @@ ha_integration_type: integration [Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches, shades, and sensors. It will also communicate with the Lutron Radio RA2 Main Repeater for the [RA2 Select](http://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RA2Select/Overview.aspx) product line of dimmers, switches, shades, and sensors. -This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. The Smart Bridge (L-BDG2-WH), Smart Bridge PRO (L-BDGPRO2-WH), and RA2 Select (RR-SEL-REP2-BL) models are supported. For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/). +This integration supports the [Caséta](https://www.casetawireless.com/), [RA2 Select](https://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RA2Select/Overview.aspx), [RadioRA 3](https://radiora3.lutron.com/), and [Homeworks QSX](https://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/Homeworks/Overview.aspx) **(not QS)** lines of products. -The currently supported Caseta and RA2 Select devices are: +Supports Bridges: + +- Lutron Caséta Smart Hub (L-BDG2-WH) +- Lutron Caséta Smart Bridge PRO (L-BDGPRO2-WH) +- RA2 Select Main Repeaters (RR-SEL-REP2-BL) +- QSX Processor (HQP7) +- RadioRA 3 All-in-One Processor (RR-PROC3) + +For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/). + +The currently supported devices are: - Wall and plug-in dimmers as [lights](#light) - Wall switches as [switches](#switch) @@ -128,6 +138,8 @@ After setup, scenes will appear in Home Assistant using an `entity_id` based on For more information on working with scenes in Home Assistant, see the [Scenes component](/integrations/scene/). +Scenes are not currently supported on RA3 and QSX models. + Available services: `scene.turn_on`. ## Switch diff --git a/source/_integrations/mailbox.markdown b/source/_integrations/mailbox.markdown index fa51c5758cc..2b060fe92c0 100644 --- a/source/_integrations/mailbox.markdown +++ b/source/_integrations/mailbox.markdown @@ -5,7 +5,7 @@ ha_release: 0.51 ha_domain: mailbox ha_quality_scale: internal ha_category: [] -ha_integration_type: integration +ha_integration_type: entity --- Mailboxes provide a list of messages with short information about each. Mailbox messages appear on a separate panel in the frontend. diff --git a/source/_integrations/media_player.markdown b/source/_integrations/media_player.markdown index e87fbc103f4..4d5381233c4 100644 --- a/source/_integrations/media_player.markdown +++ b/source/_integrations/media_player.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: media_player ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Interacts with media players on your network. diff --git a/source/_integrations/media_source.markdown b/source/_integrations/media_source.markdown index 51629ea0ae3..d4745da15a6 100644 --- a/source/_integrations/media_source.markdown +++ b/source/_integrations/media_source.markdown @@ -8,7 +8,7 @@ ha_domain: media_source ha_codeowners: - '@hunterjm' ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The Media Source integration platform allows integrations to expose media for diff --git a/source/_integrations/melnor.markdown b/source/_integrations/melnor.markdown index 81434fa489b..f69941bf072 100644 --- a/source/_integrations/melnor.markdown +++ b/source/_integrations/melnor.markdown @@ -2,6 +2,7 @@ title: Melnor Bluetooth description: Instructions on setting up Melnor Bluetooth devices within Home Assistant. ha_category: + - Sensor - Switch ha_iot_class: Local Polling ha_bluetooth: true @@ -11,6 +12,8 @@ ha_codeowners: - '@vanstinator' ha_domain: melnor ha_platforms: + - number + - sensor - switch ha_integration_type: integration --- diff --git a/source/_integrations/min_max.markdown b/source/_integrations/min_max.markdown index 41564708cc5..6b45731b1b5 100644 --- a/source/_integrations/min_max.markdown +++ b/source/_integrations/min_max.markdown @@ -17,7 +17,7 @@ ha_platforms: ha_integration_type: helper --- -The Min/Max integration consumes the state from other sensors to determine the minimum, maximum, latest (last), mean and median of the collected states. +The Min/Max integration consumes the state from other sensors to determine the minimum, maximum, latest (last), mean, median, and range of the collected states. The sensor provided by this integration will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/integrations/statistics) first. @@ -30,7 +30,7 @@ Name: Input entities: description: At least two entities to monitor. All entities must use the same unit of measurement. Type: - description: The type of the sensor, this can be either "min", "max", "last", "mean", or "median". + description: The type of the sensor, this can be either "min", "max", "last", "mean", "median", or "range". Precision: description: Round the calculated mean or median value to at most N decimal places. {% endconfiguration_basic %} @@ -57,7 +57,7 @@ entity_ids: required: true type: [list, string] type: - description: "The type of sensor: `min`, `max`, `last`, `mean` or `median`." + description: "The type of sensor: `min`, `max`, `last`, `mean`, `median`, or `range`." required: false default: max type: string diff --git a/source/_integrations/my.markdown b/source/_integrations/my.markdown index 3b100eb6cc9..c7d78ac0b86 100644 --- a/source/_integrations/my.markdown +++ b/source/_integrations/my.markdown @@ -8,7 +8,7 @@ ha_domain: my ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This integration handles redirects from the [My Home Assistant](https://my.home-assistant.io) service. diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index ac12be83ece..a2243a0e5d3 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -1,5 +1,5 @@ --- -title: Nest +title: Google Nest description: Instructions on how to integrate Nest into Home Assistant. ha_category: - Binary Sensor diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index 24e4c08e0e4..07d7538f209 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -4,11 +4,13 @@ description: Instructions on how to integrate Netatmo integration into Home Assi ha_category: - Camera - Climate + - Cover - Environment - Hub - Light - Media Source - Sensor + - Switch - Weather ha_release: '0.20' ha_iot_class: Cloud Polling @@ -20,10 +22,12 @@ ha_homekit: true ha_platforms: - camera - climate + - cover - diagnostics - light - select - sensor + - switch ha_integration_type: integration --- @@ -33,8 +37,10 @@ There is currently support for the following device types within Home Assistant: - [Camera](#camera) - [Climate](#climate) +- [Cover](#cover) - [Light](#light) - [Sensor](#sensor) +- [Switch](#switch) - [Webhook Events](#webhook-events) {% include integrations/config_flow.md %} @@ -49,21 +55,30 @@ To edit an existing area, enter its name and follow the dialog. ## Camera -The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor) or [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera. This integration allows you to view the current live stream created by the camera. +The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell). ## Climate -The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) or [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint. +The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat), [Smart Modulating Thermostat](https://www.netatmo.com/en-gb/energy/modulating-thermostat) and [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint. + +## Cover + +The `netatmo` cover platform provides support for Bubendorff shutters. ## Light The `netatmo` light platform is consuming information provided by a [Netatmo Smart Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera and requires an active webhook. This integration allows you to turn on/off the flood lights. +It further provides support for Legrand/BTicino dimmers. ## Sensor The `netatmo` sensor platform is consuming the information provided by a [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) a [Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) device or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/). +## Switch + +The `netatmo` switch platform provides support for Legrand/BTicino switches and power plugs. + ## Services ### Set Outdoor Camera Light Mode diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown index e9eec3f65c8..c9f36de0cf4 100644 --- a/source/_integrations/netgear.markdown +++ b/source/_integrations/netgear.markdown @@ -35,7 +35,13 @@ Consider_home: {% endconfiguration_basic %} ## Router entities -The NETGEAR router will have the following entities: +The NETGEAR router will have the following entities. + +Note that not all routers support all features, if a router does not support a feature, the corresponding entity will have the unavailable status even when the entity is disabled. + +You might also see the following error in the log `404 service '...', method '...' not found`, to prevent these errors, keep the unsupported entities disabled. + +All possibly unsupported entities are disabled by default. ### Reboot button @@ -49,7 +55,19 @@ Update entity to view current and latest firmware version, and install the lates The total and average amount of downloaded/uploaded data through the router can be tracked per day/week/month. In order for these entities to display the data (instead of 0), the "Traffic Meter" should be enabled in the router settings. -Log into your router > Select **ADVANCED** > **Advanced Setup** > **Traffic Meter** > **Enable Traffic Meter** check box. +Enable the `Traffic Meter` switch entity and turn it on. + +### Router feature switches + +The following router features can be turned on/off, and the status can be read: + +- Access Control +- Traffic Meter +- Parental Control +- Quality of Service +- 2.4G Guest Wifi +- 5G Guest Wifi +- Smart Connect ### Speed test data @@ -77,7 +95,7 @@ Displays if the device is currently connected to the router (Home) or not (Away) Switch that lets you Allow or Block a device on the Network. For this entity to actually Block the device, "Access Control" needs to be turned on in the Router settings. -Log into your router > Select **ADVANCED** > **Security** > **Access Control** > **Turn on Access Control** check box. +Enable the `Access Control` switch entity and turn it on. ### Signal strength diff --git a/source/_integrations/network.markdown b/source/_integrations/network.markdown index 4374c32b3a2..2fd4134e2e1 100644 --- a/source/_integrations/network.markdown +++ b/source/_integrations/network.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- This integration provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/). It is managed by going to **{% my network title="Settings >> System >> Network" %}** and is only available to users that have "Advanced Mode" enabled on their {% my profile title="user profile" %}. diff --git a/source/_integrations/nibe_heatpump.markdown b/source/_integrations/nibe_heatpump.markdown new file mode 100644 index 00000000000..1297a0665b7 --- /dev/null +++ b/source/_integrations/nibe_heatpump.markdown @@ -0,0 +1,77 @@ +--- +title: Nibe Heat Pump +description: Instructions on how to integrate a Nibe Heat Pump into Home Assistant. +ha_category: + - Climate +ha_release: '2022.10' +ha_iot_class: Local Polling +ha_config_flow: true +ha_codeowners: + - '@elupus' +ha_domain: nibe_heatpump +ha_platforms: + - binary_sensor + - number + - select + - sensor + - switch +ha_integration_type: integration +--- + +The Nibe Heat Pump integration allows you to control and monitor [Nibe Heat Pumps](https://www.nibe.eu/en-eu/products/heat-pumps) in Home Assistant. + +Supported devices: + +- F1145 +- F1155 +- F1245 +- F1255 +- F1345 +- F1355 +- F370 +- F470 +- F730 +- F750 +- SMO20 +- SMO40 +- VVM225 +- VVM310 +- VVM320 +- VVM325 +- VVM500 + +{% include integrations/config_flow.md %} + +## Connection Methods + +To communicate with the pump there are a few different connection methods available depending on hardware. At the moment the following methods are supported. + +- [UDP Gateway using NibeGw](#udp-gateway-using-nibegw) + +### UDP Gateway using NibeGw + +The heat pump exposes an RS485 interface for communication with extensions. This can be used to speak to the pump by emulating the Nibe MODBUS40 accessory. + +Since the pump will go into an error state if the accessory is not responding, dedicated hardware running a gateway software is the preferable choice. + +This can be built using a Raspberry Pi with an RS485 hat, an Arduino with RS485 support or an ESP32 with RS485 converters. + +#### ESPHome + +A ESPHome base hardware solution also works well and integrate nicely into Home Assistant. + +- [Homepage](https://github.com/elupus/esphome-nibe) + +#### Arduino + +An Arduino-based solution has been tested by OpenHAB community with Arduino uno + RS485 and Ethernet shields. The ProDiNo NetBoards are also supported. A ProDiNo has an Ethernet and RS-485 port on the board. + +- [Documentation from OpenHAB](https://www.openhab.org/addons/bindings/nibeheatpump/#arduino) +- [Source code in OpenHAB Contrib](https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/NibeGW) + +#### Raspberry Pi / Linux + +A standard Linux application for running the Nibe Gateway software is also available. + +- [Documentation from OpenHAB](https://www.openhab.org/addons/bindings/nibeheatpump/#raspberry-pi-or-other-linux-unix-based-boards) +- [Source code in OpenHAB Contrib](https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/RasPi) diff --git a/source/_integrations/nobo_hub.markdown b/source/_integrations/nobo_hub.markdown new file mode 100644 index 00000000000..abf6654ce3c --- /dev/null +++ b/source/_integrations/nobo_hub.markdown @@ -0,0 +1,53 @@ +--- +title: Nobø Ecohub +description: Instructions on how to integrate Nobø Ecohub into Home Assistant. +ha_category: + - Climate +ha_release: '2022.10' +ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: + - '@echoromeo' + - '@oyvindwe' +ha_domain: nobo_hub +ha_platforms: + - climate +ha_integration_type: integration +--- + +Integrates [Nobø Ecohub](https://www.glendimplex.no/produkter/varmestyring/11123610/noboe-hub/c-77/p-330) +into Home Assistant. This integration is not officially supported or endorsed by Glen Dimplex Nordic AS, +and the authors/maintainers are not official partners of Glen Dimplex Nordic AS. + +To configure the integration, you need the 3 last digits of the serial number of your hub. These are located +on the back of the hub. If the hub is on a different local network than Home Assistant, you also need the +IP address of the hub. + +{% include integrations/config_flow.md %} + +## Operation modes + +As for now you can see and change operation and preset for zones and set eco/comfort temperatures if you have +a supported thermostat. + +The possible operation modes are as follows: + +- "Auto" - In this mode, the zone is in the normal setting and preset shows which state the zone is in right now + (according to calendar setup). +- "Heat" - In this mode the zone in the override setting and in the state selected by preset ("Away", "Eco" + or "Comfort"). + +This can be utilized the following ways: + +- Changing preset to "Away", "Eco", or "Comfort" will automatically change operation to "Heat". +- Changing preset to none will automatically change operation to "Auto" and update preset. +- Changing operation to "Auto" will automatically update preset. +- Changing operation to "Heat" will set preset to "Comfort". + +### No preset "Off" + +Nobø heaters does not support preset "Off". This is not a limitation in the integration, but a safety mechanism in the +Nobø system (maybe they don't want you to accidentally turn off all your heaters and get frozen pipes). "Away" +temperature is fixed to 7°C and cannot be altered. On/off receivers will be off when the zone is in "Away" status. + +For more information, see the [Nobø Ecohub manual](https://help.nobo.no/en/user-manual/before-you-start/what-is-a-weekly-program/). diff --git a/source/_integrations/notify.markdown b/source/_integrations/notify.markdown index cb7a13af816..4fe50b792a7 100644 --- a/source/_integrations/notify.markdown +++ b/source/_integrations/notify.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: notify -ha_integration_type: integration +ha_integration_type: entity --- The `notify` integration makes it possible to send notifications to a wide variety of platforms. To use it you have to setup at least one notification target (notifier), check the [integrations list](/integrations/#notifications) for one that fits your use case. diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown index 79e5c426f8f..718b8624f74 100644 --- a/source/_integrations/number.markdown +++ b/source/_integrations/number.markdown @@ -9,7 +9,7 @@ ha_domain: number ha_codeowners: - '@home-assistant/core' - '@Shulyaka' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track on `number` entities in your environment, their state, and allows you to control them. This integration allows other integrations to get a value input from user within a range. diff --git a/source/_integrations/nutrichef.markdown b/source/_integrations/nutrichef.markdown index 79a5f31a5f0..4aa03dd3ad2 100644 --- a/source/_integrations/nutrichef.markdown +++ b/source/_integrations/nutrichef.markdown @@ -1,6 +1,6 @@ --- title: Nutrichef -description: Instructions on how to integrate Nutrichef devices into Home Assistant. +description: Connect and control your Nutrichef devices using the INKBIRD integration ha_category: - Sensor ha_bluetooth: true diff --git a/source/_integrations/onboarding.markdown b/source/_integrations/onboarding.markdown index a0cb0e27486..a6db35bcc19 100644 --- a/source/_integrations/onboarding.markdown +++ b/source/_integrations/onboarding.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: onboarding -ha_integration_type: integration +ha_integration_type: system --- This integration creates the endpoints for the onboarding that is built into Home Assistant. There are no configuration options for this integration directly. diff --git a/source/_integrations/person.markdown b/source/_integrations/person.markdown index 899769b8276..2409e047824 100644 --- a/source/_integrations/person.markdown +++ b/source/_integrations/person.markdown @@ -7,7 +7,7 @@ ha_release: 0.88 ha_quality_scale: internal ha_domain: person ha_iot_class: Calculated -ha_integration_type: integration +ha_integration_type: system --- The `person` integration allows connecting [device tracker](/integrations/device_tracker/) entities to one or more person entities. The state updates of a connected device tracker will set the state of the person. When multiple device trackers are used, the state of person will be determined in this order: diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index 8707ef244f6..99a53c303a3 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -176,14 +176,14 @@ script: The current implementation of the Python module (Plugwise-Smile) includes: -Adam (zone_control): +Adam (zone_control) with On/Off, OpenTherm, and Loria/Thermastage heating and cooling support: - v3.x - v2.3 - - Devices supported are Anna, Lisa, Jip, Floor, Tom, Koen and Plug - note a Koen always comes with a Plug (the active part) + - Devices supported are Anna, Lisa, Jip, Floor, Tom, Plug, Aqara Smart Plug, and Koen (a Koen always comes with a Plug, the active part) -Anna (thermostat): +Anna (thermostat) with OpenTherm heating, and Elga and Loria/Thermastage with heating and cooling support: - v4.x - v3.x diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index 3e60e8eefdc..1da1383e8d4 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: prusalink ha_integration_type: integration ha_platforms: + - button - camera - sensor ha_dhcp: true diff --git a/source/_integrations/qingping.markdown b/source/_integrations/qingping.markdown index aaac807b064..53c78ce323e 100644 --- a/source/_integrations/qingping.markdown +++ b/source/_integrations/qingping.markdown @@ -9,6 +9,7 @@ ha_release: 2022.9 ha_iot_class: Local Push ha_codeowners: - '@bdraco' + - '@skgsergio' ha_domain: qingping ha_config_flow: true ha_platforms: diff --git a/source/_integrations/radarr.markdown b/source/_integrations/radarr.markdown index dfd7a5186d2..4383e8684a6 100644 --- a/source/_integrations/radarr.markdown +++ b/source/_integrations/radarr.markdown @@ -4,157 +4,30 @@ description: Instructions on how to integrate Radarr sensors with Home Assistant ha_category: - Downloading ha_release: 0.47 +ha_config_flow: true ha_iot_class: Local Polling ha_domain: radarr ha_platforms: + - binary_sensor - sensor +ha_codeowners: + - '@tkdrob' ha_integration_type: integration --- -This `radarr` sensor platform pulls data from a given [Radarr](https://radarr.video/) instance. +This Radarr integration pulls data from a given [Radarr](https://radarr.video/) instance. +Your API key can be found in Settings > General in the Radarr Web UI. -## Configuration +{% include integrations/config_flow.md %} -To use your Radarr sensor in your installation, add the following to your `configuration.yaml` file: +## Integration Entities -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY -``` +Each added configuration entry will create the following binary sensor: -{% configuration %} -api_key: - required: true - type: string - description: Your Radarr API key, found in Settings > General in the Radarr Web UI. -host: - required: false - type: string - description: The host Radarr is running on. - default: "`localhost`" -port: - required: false - type: integer - description: The port Radarr is running on. - default: 7878 -urlbase: - required: false - type: string - description: The base URL Radarr is running under. Defaults to `/`. -monitored_conditions: - required: false - type: list - description: Conditions to display on the frontend. - default: "`movies`" - keys: - movies: - description: The number of movies in Radarr. - upcoming: - description: The number of upcoming movie releases (physical and in cinemas). - commands: - description: The number of commands being run. - diskspace: - description: The available disk space. - status: - description: The current system status information. -days: - required: false - type: integer - description: How many days to look ahead for the upcoming sensor, 1 means today only. - default: 1 -include_paths: - required: false - type: list - description: Array of file paths to include when calculating diskspace. Leave blank to include all. -unit: - required: false - type: string - description: The unit to display disk space in. - default: GB -ssl: - required: false - type: boolean - description: Whether or not to use SSL for Radarr. - default: false -{% endconfiguration %} +- **Health**: Shows if the Radarr instance is healthy. This is determined to have a problem if Radarr cannot communicate with any enabled download clients or no indexers are available for RSS feeds or searches. -## Examples +Each added configuration entry will create the following sensors: -In this section you find some real-life examples of how to use this sensor. - -### Show upcoming movie releases in the next 2 days - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - upcoming - days: 2 -``` - -### Enable SSL - -SSL may run on a different port than the default (7878). The SSL port can be bound to any port in Radarr, so it should be set in the configuration here (unless it is changed to 7878). - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - port: 9898 - monitored_conditions: - - upcoming - days: 2 - ssl: true -``` - -### Get disk space for all storage locations - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - diskspace -``` - -### Get disk space for listed storage locations - -The storage locations Radarr returns are in the system page and in some cases this can list duplicates if sub paths are mounted separately. By listing paths to include, you can choose what data is reported by the sensor. - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - diskspace - include_paths: - - /tank/plex -``` - -### Get disk space in different unit - -The Radarr API returns available space in bytes, but this sensor will default to reporting it in GB to make the number more manageable. This can be overridden if your storage needs require a different unit. All units from bytes (B) to yottabytes (YB) are supported. - -*This calculation is done using base 2 math, and may differ from systems calculating using base 10 math.* - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - diskspace - unit: TB -``` +- **Disk Space**: Shows the disk space available to Radarr. +- **Movies**: Shows the number of movies in the Radarr database. (disabled by default) +- **Start Time**: The time when Radarr was last restarted. diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown index e25eb4a867a..cb5fa3f4f1d 100644 --- a/source/_integrations/rainmachine.markdown +++ b/source/_integrations/rainmachine.markdown @@ -17,6 +17,7 @@ ha_platforms: - binary_sensor - button - diagnostics + - select - sensor - switch - update diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index 5b162a7be8d..f2342556d76 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -9,7 +9,7 @@ ha_domain: recorder ha_iot_class: Local Push ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: system --- The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history`](/integrations/history/) integration. diff --git a/source/_integrations/remote.markdown b/source/_integrations/remote.markdown index a47f1880965..a6adec6984a 100644 --- a/source/_integrations/remote.markdown +++ b/source/_integrations/remote.markdown @@ -8,7 +8,7 @@ ha_category: ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track which remotes are in your environment, their state and allows you to control them. diff --git a/source/_integrations/repairs.markdown b/source/_integrations/repairs.markdown index 25ceb1df7a2..31b0111ccff 100644 --- a/source/_integrations/repairs.markdown +++ b/source/_integrations/repairs.markdown @@ -7,7 +7,8 @@ ha_category: ha_codeowners: - '@home-assistant/core' ha_domain: repairs -ha_integration_type: integration +ha_integration_type: system +ha_quality_scale: internal --- The Home Assistant Repairs integration will inform you about issues it has found diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown index 18133c729eb..ff29cdb4bf0 100644 --- a/source/_integrations/rest.markdown +++ b/source/_integrations/rest.markdown @@ -1,6 +1,6 @@ --- -title: "RESTful" -description: "Instructions on how to integrate REST sensors and binary sensors into Home Assistant." +title: RESTful +description: Instructions on how to integrate REST sensors and binary sensors into Home Assistant. ha_category: - Binary Sensor - Sensor diff --git a/source/_integrations/risco.markdown b/source/_integrations/risco.markdown index 6530dcf56f1..00c29eee796 100644 --- a/source/_integrations/risco.markdown +++ b/source/_integrations/risco.markdown @@ -42,7 +42,7 @@ If you have multiple sites, only the first site will be used. The integration will connect locally to your system. No dependency on the cloud, and instantaneous updates, but is harder to set up. -You will need the master code to your system, and with older models, +You will need the panel access code (default 5678) to your system, this access code is NOT the same as the installer/subinstaller code, and with older models, you might need to either disconnect your system from the cloud, or set up a proxy that will allow you to connect both locally and via the cloud. The local version of the integration does not support events, and the `arming` state. diff --git a/source/_integrations/safe_mode.markdown b/source/_integrations/safe_mode.markdown index 17c9a75d0af..3c810ee3d7d 100644 --- a/source/_integrations/safe_mode.markdown +++ b/source/_integrations/safe_mode.markdown @@ -7,7 +7,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: safe_mode ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The `safe_mode` integration is an internally used integration by the diff --git a/source/_integrations/scene.markdown b/source/_integrations/scene.markdown index 1f2f65f6b37..0dd2331ad6d 100644 --- a/source/_integrations/scene.markdown +++ b/source/_integrations/scene.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: scene -ha_integration_type: integration +ha_integration_type: entity --- You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red. diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown index 446d3d9cfac..a3d9c46d570 100644 --- a/source/_integrations/script.markdown +++ b/source/_integrations/script.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: script -ha_integration_type: integration +ha_integration_type: system --- The script integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services. diff --git a/source/_integrations/search.markdown b/source/_integrations/search.markdown index fec43baad91..1389cc60905 100644 --- a/source/_integrations/search.markdown +++ b/source/_integrations/search.markdown @@ -8,7 +8,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: search ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The `search` integration is an internally used integration by the diff --git a/source/_integrations/select.markdown b/source/_integrations/select.markdown index 28aaef459c4..16af11e944e 100644 --- a/source/_integrations/select.markdown +++ b/source/_integrations/select.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: select ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track on `select` entities in your environment, their state, and allows diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 713343e6ae9..3ccbfec0ea5 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_domain: sensor ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Sensors are a basic platform component in Home Assistant. They monitor the states and conditions of a variety of entities. An entity can be many things. This can include a physical device like a motion sensor that reports the battery level, a web service that retrieves the weather temperature, a built-in function that calculates the sun's elevation relative to your GPS position, or even a custom sensor you may have created to report the free space on your laptop. These are all *things* reporting different types of information. @@ -27,12 +27,14 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T - **carbon_monoxide**: Carbon Monoxide in CO (Gas CNG/LPG) - **current**: Current in A - **date**: Date string (ISO 8601) +- **distance**: Generic distance in km, m, cm, mm, mi, yd, or in - **duration**: Duration in days, hours, minutes or seconds - **energy**: Energy in Wh, kWh or MWh - **frequency**: Frequency in Hz, kHz, MHz or GHz - **gas**: Gasvolume in m³ or ft³ - **humidity**: Percentage of humidity in the air - **illuminance**: The current light level in lx or lm +- **moisture**: Percentage of water in a substance - **monetary**: The monetary value - **nitrogen_dioxide**: Concentration of Nitrogen Dioxide in µg/m³ - **nitrogen_monoxide**: Concentration of Nitrogen Monoxide in µg/m³ @@ -43,14 +45,17 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T - **pm25**: Concentration of particulate matter less than 2.5 micrometers in µg/m³ - **power_factor**: Power factor in % - **power**: Power in W or kW -- **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg or psi +- **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg, or psi - **reactive_power**: Reactive power in var - **signal_strength**: Signal strength in dB or dBm +- **speed**: Generic speed in ft/s, in/d, in/h, km/h, kn, m/s, mph, or mm/d - **sulphur_dioxide**: Concentration of sulphur dioxide in µg/m³ - **temperature**: Temperature in °C or °F - **timestamp**: Datetime object or timestamp string (ISO 8601) - **volatile_organic_compounds**: Concentration of volatile organic compounds in µg/m³ - **voltage**: Voltage in V +- **volume**: Generic volume in L, mL, gal, fl. oz., m³, or ft³ +- **weight**: Generic mass in kg, g, mg, µg, oz, or lb

diff --git a/source/_integrations/sensorblue.markdown b/source/_integrations/sensorblue.markdown index 0fc5455faa4..5aa323fae4e 100644 --- a/source/_integrations/sensorblue.markdown +++ b/source/_integrations/sensorblue.markdown @@ -1,6 +1,6 @@ --- title: SensorBlue -description: Instructions on how to integrate SensorBlue devices into Home Assistant. +description: Connect and control your SensorBlue devices using the ThermoBeacon integration ha_category: - Sensor ha_bluetooth: true diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index b4008ebae4b..2e6b81708f4 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -9,6 +9,7 @@ ha_category: - Number - Sensor - Switch + - Update ha_release: 0.115 ha_codeowners: - '@balloob' @@ -30,6 +31,7 @@ ha_platforms: - number - sensor - switch + - update ha_integration_type: integration --- diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown index 59f9fffde74..8fbcbfec86b 100644 --- a/source/_integrations/simplisafe.markdown +++ b/source/_integrations/simplisafe.markdown @@ -5,6 +5,7 @@ ha_release: 0.81 ha_iot_class: Cloud Polling ha_category: - Alarm + - Button - Lock ha_config_flow: true ha_codeowners: @@ -13,6 +14,7 @@ ha_domain: simplisafe ha_platforms: - alarm_control_panel - binary_sensor + - button - diagnostics - lock - sensor @@ -53,12 +55,6 @@ SimpliSafe authenticates users via its web app. Due to technical limitations, th ## Services -### `simplisafe.clear_notifications` - -Clear any existing notifications within the SimpliSafe cloud; this will mark existing -notifications as "read" in the SimpliSafe web and mobile apps, as well as prevent them -from triggering future `SIMPLISAFE_NOTIFICATION` events. - ### `simplisafe.remove_pin` Remove a SimpliSafe PIN (by label or PIN value). diff --git a/source/_integrations/siren.markdown b/source/_integrations/siren.markdown index 0652ccfa25e..7c74ec7a537 100644 --- a/source/_integrations/siren.markdown +++ b/source/_integrations/siren.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' - '@raman325' -ha_integration_type: integration +ha_integration_type: entity --- The Siren integration is built for the controlling and monitoring of siren/chime devices. diff --git a/source/_integrations/smarther.markdown b/source/_integrations/smarther.markdown new file mode 100644 index 00000000000..3bd187365cd --- /dev/null +++ b/source/_integrations/smarther.markdown @@ -0,0 +1,36 @@ +--- +title: Smarther +description: Connect and control your Smarther devices using the Netatmo integration +ha_category: + - Camera + - Climate + - Cover + - Environment + - Hub + - Light + - Media Source + - Sensor + - Switch + - Weather +ha_domain: smarther +ha_codeowners: + - '@cgtobi' +ha_integration_type: integration +ha_config_flow: true +ha_platforms: + - camera + - climate + - cover + - diagnostics + - light + - select + - sensor + - switch +ha_iot_class: Cloud Polling +ha_homekit: true +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/ssdp.markdown b/source/_integrations/ssdp.markdown index 617bdb089c7..cec31e5f7b0 100644 --- a/source/_integrations/ssdp.markdown +++ b/source/_integrations/ssdp.markdown @@ -7,7 +7,7 @@ ha_iot_class: Local Push ha_release: 0.94 ha_domain: ssdp ha_quality_scale: internal -ha_integration_type: integration +ha_integration_type: system --- The `ssdp` "Simple Service Discovery Protocol" (part of UPnP) integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. diff --git a/source/_integrations/stt.markdown b/source/_integrations/stt.markdown index d979449fcdc..46ec6c89241 100644 --- a/source/_integrations/stt.markdown +++ b/source/_integrations/stt.markdown @@ -7,7 +7,7 @@ ha_codeowners: ha_domain: stt ha_quality_scale: internal ha_category: [] -ha_integration_type: integration +ha_integration_type: entity --- Speech-to-Text (STT) allows you to stream speech data to the STT API and get text back. diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown index 74b6cc25071..b5a847ddf31 100644 --- a/source/_integrations/switch.markdown +++ b/source/_integrations/switch.markdown @@ -10,7 +10,7 @@ ha_platforms: - light ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- Keeps track which switches are in your environment, their state and allows you to control them. diff --git a/source/_integrations/switchbee.markdown b/source/_integrations/switchbee.markdown new file mode 100644 index 00000000000..c479331362c --- /dev/null +++ b/source/_integrations/switchbee.markdown @@ -0,0 +1,34 @@ +--- +title: SwitchBee +description: Instructions for how to integrate SwitchBee accessories within Home Assistant. +ha_category: + - Button + - Light + - Switch +ha_release: '2022.10' +ha_iot_class: Local Polling +ha_config_flow: true +ha_codeowners: + - '@jafar-atili' +ha_domain: switchbee +ha_platforms: + - button + - light + - switch +ha_integration_type: integration +--- + +[SwitchBee](https://www.switchbee.com), is an innovation company making smart homes more accessible and affordable to any household environment. + +There is currently support for the following device types: + +- Switch +- Timed Power Switch (Boiler) +- Group Switch +- Timed Switch +- Light (Dimmer) +- Scenario + +Supported devices will be discovered after the SwitchBee integration is configured. + +{% include integrations/config_flow.md %} diff --git a/source/_integrations/system_health.markdown b/source/_integrations/system_health.markdown index 525a093e5f1..ee4a4ab883c 100644 --- a/source/_integrations/system_health.markdown +++ b/source/_integrations/system_health.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.87 ha_quality_scale: internal ha_domain: system_health -ha_integration_type: integration +ha_integration_type: system --- The System Health integration provides an API to offer information on the system and its components. It also allows to run diagnostic tools to diagnose problems. diff --git a/source/_integrations/thermoplus.markdown b/source/_integrations/thermoplus.markdown index 555e046dae1..5881e64d8f8 100644 --- a/source/_integrations/thermoplus.markdown +++ b/source/_integrations/thermoplus.markdown @@ -1,6 +1,6 @@ --- title: ThermoPlus -description: Instructions on how to integrate ThermoPlus devices into Home Assistant. +description: Connect and control your ThermoPlus devices using the ThermoBeacon integration ha_category: - Sensor ha_bluetooth: true diff --git a/source/_integrations/tilt_ble.markdown b/source/_integrations/tilt_ble.markdown new file mode 100644 index 00000000000..f1f90c8247d --- /dev/null +++ b/source/_integrations/tilt_ble.markdown @@ -0,0 +1,26 @@ +--- +title: Tilt Hydrometer BLE +description: Instructions on how to integrate Tilt Hydrometer BLE devices into Home Assistant. +ha_category: + - Sensor +ha_bluetooth: true +ha_release: '2022.10' +ha_iot_class: Local Push +ha_codeowners: + - '@apt-itude' +ha_domain: tilt_ble +ha_config_flow: true +ha_platforms: + - sensor +ha_integration_type: integration +--- + +Integrates [Tilt Hydrometer](https://tilthydrometer.com/) BLE devices into Home Assistant. + +{% include integrations/config_flow.md %} + +The Tilt Hydrometer BLE integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +## Supported devices + +- [Tilt Hydrometer and Thermometer](https://tilthydrometer.com/products/copy-of-tilt-floating-wireless-hydrometer-and-thermometer-for-brewing) (all colors) diff --git a/source/_integrations/tts.markdown b/source/_integrations/tts.markdown index a6d7e659734..ac1f099411a 100644 --- a/source/_integrations/tts.markdown +++ b/source/_integrations/tts.markdown @@ -11,7 +11,7 @@ ha_domain: tts ha_quality_scale: internal ha_platforms: - notify -ha_integration_type: integration +ha_integration_type: entity --- Text-to-Speech (TTS) enables Home Assistant to speak to you. diff --git a/source/_integrations/unifi_direct.markdown b/source/_integrations/unifi_direct.markdown index 47567766a90..41fd26436a1 100644 --- a/source/_integrations/unifi_direct.markdown +++ b/source/_integrations/unifi_direct.markdown @@ -1,5 +1,5 @@ --- -title: Ubiquiti UniFi AP +title: UniFi AP description: Instructions on how to use a Unifi WAP as a device tracker. ha_category: - Presence Detection diff --git a/source/_integrations/unifiled.markdown b/source/_integrations/unifiled.markdown index fc1aba6aa77..fb0f18dcb11 100644 --- a/source/_integrations/unifiled.markdown +++ b/source/_integrations/unifiled.markdown @@ -1,5 +1,5 @@ --- -title: Ubiquiti UniFi LED +title: UniFi LED description: Instructions on how to configure the UniFi LED integration with UniFi LED Controller by Ubiquiti. ha_category: - Light diff --git a/source/_integrations/universal.markdown b/source/_integrations/universal.markdown index 0cc899d7494..a74f58b05ab 100644 --- a/source/_integrations/universal.markdown +++ b/source/_integrations/universal.markdown @@ -58,6 +58,7 @@ media_player: is_volume_muted: ENTITY_ID|ATTRIBUTE state: ENTITY_ID|ATTRIBUTE device_class: tv + unique_id: a_unique_string ``` {% configuration %} @@ -85,6 +86,10 @@ device_class: description: The device class that this entity represents. Can be `tv`, `speaker`, or `receiver`. required: false type: string +unique_id: + description: A unique identifier for this entity. Needs to be unique within the `media_player` platform. + required: false + type: string {% endconfiguration %} The Universal Media Player will primarily imitate one of its `children`. The Universal Media Player will control the first child on the list that is active (not idle/off). The Universal Media Player will also inherit its state from the first active child if a `state_template` is not provided. Entities in the `children:` list must be media players, but the state template can contain any entity. @@ -305,6 +310,7 @@ media_player: data: activity: "{{ source }}" device_class: tv + unique_id: media_room_harmony_hub ``` {% endraw %} diff --git a/source/_integrations/update.markdown b/source/_integrations/update.markdown index ba4eb95d4e6..ae5bca84818 100644 --- a/source/_integrations/update.markdown +++ b/source/_integrations/update.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_domain: update ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- An update entity is an entity that indicates if an update is available for a diff --git a/source/_integrations/usb.markdown b/source/_integrations/usb.markdown index 7aa2493fe91..1b1afc1e5c6 100644 --- a/source/_integrations/usb.markdown +++ b/source/_integrations/usb.markdown @@ -9,7 +9,7 @@ ha_domain: usb ha_quality_scale: internal ha_codeowners: - '@bdraco' -ha_integration_type: integration +ha_integration_type: system --- The USB Discovery integration will detect newly connected USB devices. Discovered devices will show up in the discovered section on the integrations page in the configuration panel. diff --git a/source/_integrations/uscis.markdown b/source/_integrations/uscis.markdown deleted file mode 100644 index fb8edd1bb74..00000000000 --- a/source/_integrations/uscis.markdown +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: U.S. Citizenship and Immigration Services (USCIS) -description: Instructions on how to set up USCIS within Home Assistant. -ha_category: - - Sensor -ha_release: 0.68 -ha_iot_class: Cloud Polling -ha_domain: uscis -ha_platforms: - - sensor -ha_integration_type: integration ---- - -

- This integration is pending removal from Home Assistant and will be no longer available as of Home Assistant 2022.10. -
- -The `uscis` sensor integration allows you get updates on your USCIS case using your case/receipt number. The sensor gets the case information from the [USCIS Website](https://egov.uscis.gov/casestatus/landing.do). - -## Configuration - -To use this sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -sensor: - - platform: uscis - case_id: YOUR_CASE_NUMBER - name: OPTIONAL_NAME -``` - -{% configuration %} -name: - description: Name of the sensor in Home Assistant. - required: false - default: USCIS - type: string -case_id: - description: Case/receipt number used to get the case details from the USCIS web client. - required: true - type: string -{% endconfiguration %} - -All the data will be fetched from [USCIS](https://egov.uscis.gov/casestatus/mycasestatus.do). diff --git a/source/_integrations/vacuum.markdown b/source/_integrations/vacuum.markdown index 107385806bd..a493e3625fd 100644 --- a/source/_integrations/vacuum.markdown +++ b/source/_integrations/vacuum.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The `vacuum` integration enables the ability to control home cleaning robots within Home Assistant. diff --git a/source/_integrations/water_heater.markdown b/source/_integrations/water_heater.markdown index dfad8286c51..14f5a23a6e5 100644 --- a/source/_integrations/water_heater.markdown +++ b/source/_integrations/water_heater.markdown @@ -7,7 +7,7 @@ ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' -ha_integration_type: integration +ha_integration_type: entity --- The `water_heater` integration is built for the controlling and monitoring of hot water heaters. diff --git a/source/_integrations/weather.markdown b/source/_integrations/weather.markdown index c4417626f5d..827101a59fc 100644 --- a/source/_integrations/weather.markdown +++ b/source/_integrations/weather.markdown @@ -8,7 +8,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: weather -ha_integration_type: integration +ha_integration_type: entity --- The `weather` platforms gather meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up. diff --git a/source/_integrations/websocket_api.markdown b/source/_integrations/websocket_api.markdown index 163236337c3..b204001c40d 100644 --- a/source/_integrations/websocket_api.markdown +++ b/source/_integrations/websocket_api.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: websocket_api ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: system --- The `websocket_api` integration set up a WebSocket API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [`http` component](/integrations/http/). diff --git a/source/_integrations/zeroconf.markdown b/source/_integrations/zeroconf.markdown index b814fb1bc78..bd269a9d337 100644 --- a/source/_integrations/zeroconf.markdown +++ b/source/_integrations/zeroconf.markdown @@ -9,7 +9,7 @@ ha_codeowners: - '@bdraco' ha_domain: zeroconf ha_iot_class: Local Push -ha_integration_type: integration +ha_integration_type: system --- The `zeroconf` integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel. It will also make Home Assistant discoverable for other services in the network. Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi. diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 94f9f296ad0..e97fab09ca3 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -180,6 +180,8 @@ Some devices can be auto-discovered, which can simplify the ZHA setup process. T | [slae.sh CC2652RB development stick](https://slae.sh/projects/cc2652/) | USB | 10C4:EA60 | | [ZigStar Stick (CC2652 + CH340B variant)](https://zig-star.com/projects/zigbee-stick-v4/) | USB | 1A86:7523 | | [Tube’s EFR32 Pro Ethernet/Serial Coordinator](https://www.tubeszb.com/) | USB| 10C4:EA60 | +| [ZigStar Coordinators](https://zig-star.com/) | USB| 1A86:7523 | +| [ZigStar LAN/POE Coordinators ](https://zig-star.com/projects/zigbee-gw-lan/) | Zeroconf | zigstargw.local. | | [Tube's CC2652P2 USB-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2.local. | | [Tube's CC2652P2 PoE-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2_poe.local. | | [Tube's EFR32 Based Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_efr32.local. | diff --git a/source/_posts/2022-10-05-release-202210.markdown b/source/_posts/2022-10-05-release-202210.markdown new file mode 100644 index 00000000000..982f759e280 --- /dev/null +++ b/source/_posts/2022-10-05-release-202210.markdown @@ -0,0 +1,599 @@ +--- +layout: post +title: "2022.10: All over the place" +description: "Bluetooth proxies supporting active connections, subviews for your dashboards, YAML automations in the UI editor, export data to Google Sheets, and iBeacons for your trash." +date: 2022-10-05 00:00:00 +date_formatted: "October 5 2022" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: +- Release-Notes +- Core +og_image: /images/blog/2022-10/social.png +--- + + + +Happy October! October is always a special month for the project. It is the +month everybody starts working on their home automations again, the month that +Hacktoberfest brings in lots of new contributions and contributors to the +project (👋 welcome!), and also this year: [the Month of "What the Heck?!"](/blog/2022/09/30/the-month-of-what-the-heck/). + +The Month of WTH already [looks very promising](https://community.home-assistant.io/c/what-the-heck/56), +and many good and interesting issues, ideas, and suggestions to streamline +have been proposed. Keep those topics and votes going ❤️. + +Oh! And Home Assistant Core 2022.10! 🎉 + +Last month's release was a big one; this month's release mostly continues to +improving on that. I guess it is no surprise that the biggest improvement can +be found (once again) in Bluetooth! There is a lot more, though this release +is a bit "all over the place", which is actually kinda nice. + +Enjoy the release! + +../Frenck + +PS: I noticed the [Home Assistant SkyConnect is now available for pre-order](/skyconnect/) 🥳 + + + +- [Marcel van der Veldt joins Nabu Casa](#marcel-van-der-veldt-joins-nabu-casa) +- [Active Bluetooth everywhere](#active-bluetooth-everywhere) +- [Support for iBeacons](#support-for-ibeacons) +- [Finding the right integration](#finding-the-right-integration) +- [Subviews for dashboards](#subviews-for-dashboards) +- [All dialogs restyled](#all-dialogs-restyled) +- [Viewing YAML automations in the automation editor](#viewing-yaml-automations-in-the-automation-editor) +- [Handling version numbers in templates](#handling-version-numbers-in-templates) +- [Google Sheets](#google-sheets) +- [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) +- [Need help? Join the community!](#need-help-join-the-community) +- [Breaking Changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=nlbwmnLi4Ms) today at 12:00 PDT / 21:00 CET! + + + +{% comment %} + + +Missed our release party live stream on YouTube? Don't worry! You can watch +the recording of it right here! + + + +{% endcomment %} + +## Marcel van der Veldt joins Nabu Casa + +We are excited to announce that [Marcel van der Veldt](https://github.com/marcelveldt) +has joined [Nabu Casa](https://www.nabucasa.com/)! + +Marcel is known for his contributions to the [Z-Wave integration](/integrations/zwave_js), +the rewrite of the [Hue integration](/integrations/hue), the +[Music Assistant custom integration](https://github.com/music-assistant/hass-music-assistant), +and many more! + +Marcel is going to be working on [Matter](https://csa-iot.org/all-solutions/matter/) +support in Home Assistant. Just in case you missed it, Matter [is now officially +available/released](https://twitter.com/balloob/status/1576421490106384385) 🎉. + +Welcome aboard Marcel! + +## Active Bluetooth everywhere + +Two releases back, we [introduced the Bluetooth integration](/blog/2022/08/03/release-20228/#first-class-bluetooth-support). +The previous release we brought Bluetooth everywhere in your home by adding +support for [Bluetooth Proxies](/blog/2022/09/07/release-20229/#bluetooth-everywhere). +Let's not stop there! + +In this release, those proxies now support active Bluetooth connections! 🤯 + +To explain this quickly: Previously, we could listen for Bluetooth devices +and only receive data via the proxies (passive connection); now, we can actively +set up a conversation with those devices and send data (active connection). This +adds the capability to extend the range of Bluetooth devices that can be +controlled 💙. + +Picture of a home showing how Bluetooth data is proxied via ESPHome devices to Home Assistant
+ +For this occasion, ESPHome will have an additional release, which adds this +functionality. We have also updated our [Bluetooth proxy installer website](https://esphome.github.io/bluetooth-proxies/) +to install with support for active connections. + +So, you want to control that SwitchBot Bluetooth device on the other end of your +home that seems out of reach? Now you can by installing a proxy on +a simple ESP32 device. + +Oh! Bonus: the Bluetooth performance has been improved too! Especially local +Bluetooth adapters should be quite a bit faster. 🚀 + +## Support for iBeacons + +This release also adds support for iBeacons. These are Bluetooth-enabled devices +that send out identifiers to announce their location. Home Assistant can +now pick those up and show an approximate distance to such an iBeacon. + +iBeacons can open up a lot of awesome use cases for automations. For example, +you could attach an iBeacon to your car, so you'll know the car is at home. Or, +on the trash can and use it to determine if the garbage is still sitting in the +garage on pick-up day and send out a notification. + +[Read more about iBeacons in our documentation](/integrations/ibeacon). + +## Finding the right integration + +Recently we [introduced "Supported brands"](/blog/2022/08/03/release-20228/#finding-the-integration-supporting-your-device), +allowing you to find integrations available under different brandings. +Now, we are taking it a step further streamlining the experience of adding new +devices or services. + +For some brands of devices, we have multiple integrations available. +For example, we have a lot of "Google" integrations. Some brands provide devices +that can work via Zigbee or their matching hub, meaning you'd have a choice +of integrating their hub or using the devices directly via Zigbee +(e.g., using [ZHA](/integrations/zha)). + +To make it more clear on the choices available, you can now categorize +integrations by brand. Home Assistant will show the options available +for that specific brand. For example, the "Google" brand: + +Screenshots showing adding an integration by the Google brands. Once you select Google, you will be offered all Google integrations
+ +This way, you no longer have to "find out" how your device could be integrated. +We now show if an integration uses "the cloud" or not, so you are aware upfront. + +We often get questions about YAML-only integrations that cannot be found in the +user interface. While we love them to be available via the UI, we can +understand not finding them at all can be confusing. + +To help with that, we now show **all** integrations when adding a new +integration, including those only available via YAML. While they cannot be +set up via the user interface, we now do provide links to the documentation +with the instructions on how to set it up. + +## Subviews for dashboards + +This might be one of the coolest and most impactful features that has been +added to our Dashboards lately: Subviews! + +Each view on a dashboard can now be marked as being a "Subview": + +Screenshot showing the new subview toggle in the view options
+ +Subviews won't show up in the navigation bar of your dashboard, meaning +you can only navigate to them by using, for example, a navigation action on +a button. + +When you navigate to a subview, the subview itself will not show the Dashboard +navigation bar. Instead, it will show a back button to the previous view +you came from. + +

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

+ +This allows for creating cool navigation concepts that are particularly helpful +on a mobile or tablet device. + +## All dialogs restyled + +All dialogs that are shown in the Home Assistant have been slightly updated. + +Most notably: The dialogs are now rounder on the edges, and the action buttons +have been styled and named more consistently. It brings Home Assistant closer +to version 3 of the Material Design that Home Assistant follows. + +Screenshot showing one of the restyled dialogs.
+ +## Viewing YAML automations in the automation editor + +In the last release, we revamped our automation editor, and we are very +happy to read how many of you loved these changes ❤️ + +However, if you manage your automations manually in YAML, you'd always be +served an error message when trying to open an automation in the UI. Not very +helpful, right? + +This has been improved! You can now open **any** automation (or script) in the +UI. This lets you view your automation, providing a quick glance at its +workings. + +Screenshot showing an YAML automation as read-only in the automation editor.
+ +Besides, as a bonus, if you have considered moving your automation to the UI, +you can now view and experience how it would look/work for those automations +and import them into the UI with the click of a button in the top right. + +## Handling version numbers in templates + +A new `version()` template function/filter has been added, allowing you to do +awesome things with version numbers in templates. + +It allows for getting information about a version number, comparing version +numbers, and even checking the difference between two versions. + +{% raw %} + +- `{{ version("2022.10.0") > "2022.9.7" }}` + Returns true, as `2022.10.0` is newer. + +- `{{ (version("2022.10.1") - "2022.10.0").patch }}` + Returns true, as the patch number of the version changed. + +- `{{ (version("2022.10.1") - "2022.10.0").minor }}` + Returns false, as there is just a patch difference. + +- `{{ version("2022.10.0b0").beta }}` + Return true, as this is a beta version. + +{% endraw %} + +`version()` can be helpful when building automations or Blueprints for +[update](/integrations/update) entities. You could, for example, easier +decide to automatically upgrade or send more detailed notification messages +in case a patch version is available. + +## Google Sheets + +This release introduces a new way to export data from Home Assistant: +**[Google Sheets]**. + +With this integration, you can add new rows to a Google Sheet document +from a service call, allowing you to export data from automations for +further processing, visualization, or insights. + +

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

+ +Maybe you like to export your daily energy usage or keep track of the number +of diapers you have used in your baby feeding diary spreadsheet. + +The possibilities with this are endless. + +[Google Sheets]: /integrations/google_sheets + +## Other noteworthy changes + +There is much more juice in this release; here are some of the other +noteworthy changes this release: + +- The long-term statics card now uses the unit you have selected a sensor to + be in. So, if you've changed the sensor, it will now match! Also, more sensors + are now able to change/convert units. Thanks, [@emontnemery] and [@epenet]! +- When removing integrations that use application credentials, we will now ask + if you want to clean up those credentials. Nice touch, [@allenporter]! +- The [Netatmo] integration got lots of love! It now supports the Netatmo + Doorbell, modulating thermostats and now also supports devices from Legrand, + Bubendorff, BTicino and Smarther! Thank you [@cgtobi]! +- If you have a Prusa printer, you can now use the [PrusaLink] integration + to control your print job using the new job control buttons available! + Thanks, [@balloob]! +- [BTHome] now supports binary sensors! Thanks, [@Ernst79]! +- The [HomeKit Controller] now supports [Thread] transport. Thanks, [@roysjosh] + and [@Jc2k]! +- [forked-daapd] (OwnTone) now supports the media browser and can leverage + the Spotify integration. Thanks, [@uvjustin]! +- The [Min/Max] helper now supports calculating the statistical range. For + example, helpful if you want to show the difference between the coolest and + warmest rooms. Thanks, [@jsherman256]! +- [@holysoles] added unique ID support to the [Universal Media Player], + [@magic7s] added support for it to [OhmConnect]. Thanks! +- [NETGEAR] now has a bunch of switches to control things like parental + controls, Wi-Fi availability, and access. Thanks, [@starkillerOG]! + +[@allenporter]: https://github.com/allenporter +[@balloob]: https://github.com/balloob +[@cgtobi]: https://github.com/cgtobi +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@Ernst79]: https://github.com/Ernst79 +[@holysoles]: https://github.com/holysoles +[@Jc2k]: https://github.com/Jc2k +[@jsherman256]: https://github.com/jsherman256 +[@magic7s]: https://github.com/magic7s +[@roysjosh]: https://github.com/roysjosh +[@starkillerOG]: https://github.com/starkillerOG +[@uvjustin]: https://github.com/uvjustin +[BTHome]: /integrations/bthome +[forked-daapd]: /integrations/forked_daapd +[HomeKit Controller]: /integrations/homekit_controller +[Min/Max]: /integrations/min_max +[Netatmo]: /integrations/netatmo +[NETGEAR]: /integrations/netgear +[OhmConnect]: /integrations/ohmconnect +[PrusaLink]: /integrations/prusalink +[Thread]: https://en.wikipedia.org/wiki/Thread_(network_protocol) +[Universal Media Player]: /integrations/universal + +## New Integrations + +We welcome the following new integrations in this release: + +- [Google Sheets], added by [@tkdrob] +- [iBeacon Tracker], added by [@bdraco] +- [Kegtron], added by [@Ernst79] +- [Keymitt MicroBot Push], added by [@spycle] +- [Lidarr], added by [@tkdrob] +- [Nibe Heat Pump], added by [@elupus] +- [Nobø Ecohub], added by [@oyvindwe] +- [SwitchBee], added by [@jafar-atili] +- [Tilt Hydrometer Bluetooth], added by [@apt-itude] + +[@apt-itude]: https://github.com/apt-itude +[@bdraco]: https://github.com/bdraco +[@elupus]: https://github.com/elupus +[@Ernst79]: https://github.com/Ernst79 +[@jafar-atili]: https://github.com/jafar-atili +[@oyvindwe]: https://github.com/oyvindwe +[@spycle]: https://github.com/spycle +[@tkdrob]: https://github.com/tkdrob +[Google Sheets]: /integrations/google_sheets +[iBeacon Tracker]: /integrations/ibeacon +[Kegtron]: /integrations/kegtron +[Keymitt MicroBot Push]: /integrations/keymitt_ble +[Lidarr]: /integrations/lidarr +[Nibe Heat Pump]: /integrations/nibe_heatpump +[Nobø Ecohub]: /integrations/nobo_hub +[SwitchBee]: /integrations/switchbee +[Tilt Hydrometer Bluetooth]: /integrations/tilt_ble + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [DSMR Reader], done by [@Glodenox] +- [Radarr], done by [@tkdrob] + +[@Glodenox]: https://github.com/Glodenox +[@tkdrob]: https://github.com/tkdrob +[DSMR Reader]: /integrations/dsmr_reader +[Radarr]: /integrations/radarr + +## Need help? Join the community! + +Home Assistant has a great community of users who are all more than willing +to help each other out. So, join us! + +Our very active [Discord chat server](/join-chat) is an excellent place to be +at, and don't forget to join our amazing [forums](https://community.home-assistant.io/). + +Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues), +to get it fixed! Or, check [our help page](/help) for guidance for more +places you can go. + +Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter) +to get the latest news about features, things happening in our community and +other news about building an Open Home; straight into your inbox. + +## 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 "Bayesian" %} + +The `prob_given_false` configuration variable is now a required parameter as there +was no mathematical rationale for the previous default value. + +`numeric_state`, `template`, and `state` entries with only one `to_state` +configured will update the prior probability accordingly if the +observation is false. Those who have used duplicate, mirrored `state` +configurations as a workaround will have their functionality preserved. +However, for `numeric_state` and `template` entries, this will cause +duplication of the Bayesian updating. + +([@HarvsG] - [#67631]) ([documentation](/integrations/bayesian)) + +[@HarvsG]: https://github.com/HarvsG +[#67631]: https://github.com/home-assistant/core/pull/67631 + +{% enddetails %} + +{% details "Bluesound" %} + +When the player is grouped and isn't master, the state no longer reports as +"grouped" but instead reports as "idle". + +([@epenet] - [#78096]) ([documentation](/integrations/bluesound)) + +[@epenet]: https://github.com/epenet +[#78096]: https://github.com/home-assistant/core/pull/78096 + +{% enddetails %} + +{% details "Elexa Guardian" %} + +The previously deprecated `guardian.reboot` and +`guardian.reset_valve_diagnostics` services have been removed and replaced +by button entities on the guardian valve controller device. + +([@bachya] - [#78663]) ([documentation](/integrations/guardian)) + +[@bachya]: https://github.com/bachya +[#78663]: https://github.com/home-assistant/core/pull/78663 + +{% enddetails %} + +{% details "Frontier Silicon" %} + +When the player is loading, the state no longer reports as "opening", +but instead reports as "buffering". + +([@epenet] - [#78101]) ([documentation](/integrations/frontier_silicon)) + +[@epenet]: https://github.com/epenet +[#78101]: https://github.com/home-assistant/core/pull/78101 + +{% enddetails %} + +{% details "HERE Travel Time" %} + +The previously deprecated YAML configuration of the HERE Travel Time +integration has been removed. + +HERE Travel Time is now configured via the UI, any existing YAML +configuration has been imported in previous releases and can now be safely +removed from your YAML configuration files + +([@eifinger] - [#77959]) ([documentation](/integrations/here_travel_time)) + +[@eifinger]: https://github.com/eifinger +[#77959]: https://github.com/home-assistant/core/pull/77959 + +{% enddetails %} + +{% details "HomeKit Controller" %} + +When the player is not active, the state no longer reports as "problem", +but instead reports as "off". + +When the player is active, but the state doesn't match known states, +the state no longer reports as "ok" but instead reports as "on". + +([@epenet] - [#78105]) ([documentation](/integrations/homekit_controller)) + +[@epenet]: https://github.com/epenet +[#78105]: https://github.com/home-assistant/core/pull/78105 + +{% enddetails %} + +{% details "Radarr" %} + +Some breaking changes have been made in disabling the Movies count sensor out +of caution. This sensor can cause problems with massive databases. +If you still wish to use it, you may do so. + +Movie names are no longer included as attributes in the movies sensor. Upcoming +has been removed. It is being modernized as calendar items should be. +Diskspace is now split into different sensors, one for each folder. +Status and commands have been removed as they don't appear to have real +value for automations. + +([@tkdrob] - [#78965]) ([documentation](/integrations/radarr)) + +[@tkdrob]: https://github.com/tkdrob +[#78965]: https://github.com/home-assistant/core/pull/78965 + +{% enddetails %} + +{% details "Supervisor" %} + +In Home Assistant 2022.4, the binary sensors for showing an update from the +Supervisor integration were deprecated in favor of +[update entities](/integrations/hassio/#update-entities). + +These binary sensors for showing an update have now been removed. + +([@ludeeus] - [#60677]) ([documentation](/integrations/hassio)) + +[@ludeeus]: https://github.com/ludeeus +[#60677]: https://github.com/home-assistant/core/pull/60677 + +{% enddetails %} + +{% details "Synology DSM" %} + +In Home Assistant 2022.4 the binary sensor of Synology DSM for showing an +update was deprecated in favor of the newer update entity. + +This binary sensor for showing an update has now been removed. + +([@mib1185] - [#79509]) ([documentation](/integrations/synology_dsm)) + +[@mib1185]: https://github.com/mib1185 +[#79509]: https://github.com/home-assistant/core/pull/79509 + +{% enddetails %} + +{% details "Workday" %} + +Due to changes in the upstream library, the following is no longer supported by +the Workday integration: +- UK subdivisions (Wales, Scotland, England...) can no longer be provided as + values to the `country` configuration key. They are still available for use as + values to the `province` setting. +- `IsleOfMan` is no longer a recognized province of the UK, + use the `IM` code for the `country` instead. +- The extended Portuguese holiday set (`PortugalExt`) is no longer available + as a separate country; instead you should use the country code `PT` and + the province `Ext`. + +([@TomBrien] - [#78832]) ([documentation](/integrations/workday)) + +[@TomBrien]: https://github.com/TomBrien +[#78832]: https://github.com/home-assistant/core/pull/78832 + +{% enddetails %} + +{% details "Z-Wave" %} + +You must use `zwave-js-server` 1.24.0 or greater (schema 24). + +With this release, you will need to update your `zwave-js-server` instance. + +- If you use the `Z-Wave JS` addon, you need to have at least version 0.1.74. +- If you use the `Z-Wave JS UI` addon, you need to have at least version 1.1.0. +- If you use the `Z-Wave JS UI` Docker container, you need to have at least version 8.1.0. +- If you run your own Docker container, or some other installation method, you will need to update your `zwave-js-server` instance to at least 1.24.0. + +([@raman325] - [#79342]) ([documentation](/integrations/zwave_js)) + +[@raman325]: https://github.com/raman325 +[#79342]: https://github.com/home-assistant/core/pull/79342 + +--- + +The fan speed levels of Leviton ZW4SF fan controllers are now mapped correctly +to corresponding percentage levels in Home Assistant. + +This may change which fan speed is selected at certain percentages. +You should adjust any automations and scripts that target these devices +as needed. + +([@mkowalchuk] - [#60677]) ([documentation](/integrations/zwave_js)) + +[@mkowalchuk]: https://github.com/mkowalchuk +[#60677]: https://github.com/home-assistant/core/pull/60677 + +{% enddetails %} + +If you are a custom integration developer and want to learn about breaking +changes and new features available for your integration: Be sure to follow our +[developer blog][devblog]. The following are the most notable for this release: + +[devblog]: https://developers.home-assistant.io/blog/ + +- [Bluetooth async_track_unavailable API changes](https://developers.home-assistant.io/blog/2022/09/16/bluetooth-unavailable-api-changes) +- [Calendar Data Model improvements and deprecations](https://developers.home-assistant.io/blog/2022/04/18/calendar-data-model/) +- [Deprecating media player constants](https://developers.home-assistant.io/blog/2022/09/06/media-player-repeat-mode-deprecation) +- [Deprecating unit conversion utilities](https://developers.home-assistant.io/blog/2022/09/28/deprecate-conversion-utilities/) +- [Long term statistics now tracks the source entity's unit](https://developers.home-assistant.io/blog/2022/09/29/statistics_refactoring) +- [New sensor device classes](https://developers.home-assistant.io/blog/2022/09/28/new_sensor_device_classes) +- [The issue registry has been moved to homeassistant.helpers](https://developers.home-assistant.io/blog/2022/08/25/issue_registry_moved_to_helpers) + +## Farewell to the following + +The following integrations are also no longer available as of this release: + +- **Ambee** as it became impossible to get API keys for private use. +- **Climacell** has been replaced by [Tomorrow.io](/integrations/tomorrowio). +- **Flu Near You** the resource is no longer available, causing the integration + no longer to work. +- **U.S. Citizenship and Immigration Services (USCIS)** the integration relied + on webscraping, which is no longer allowed. + +## All changes + +Of course, there is a lot more in this release. You can find a list of +all changes made here: [Full changelog for Home Assistant Core 2022.10](/changelogs/core-2022.10) diff --git a/source/_redirects b/source/_redirects index 4d66c47245f..302391c0bc1 100644 --- a/source/_redirects +++ b/source/_redirects @@ -411,6 +411,7 @@ # Removed integrations /integrations/alarmdotcom /more-info/removed-integration 301 +/integrations/ambee /more-info/removed-integration 301 /integrations/apns /more-info/removed-integration 301 /integrations/arlo /more-info/removed-integration 301 /integrations/arduino /more-info/removed-integration 301 @@ -434,6 +435,7 @@ /integrations/envirophat /more-info/removed-integration 301 /integrations/essent /more-info/removed-integration 301 /integrations/fedex /more-info/removed-integration 301 +/integrations/flunearyou /more-info/removed-integration 301 /integrations/fortigate /more-info/removed-integration 301 /integrations/fritzbox_netmonitor /more-info/removed-integration 301 /integrations/garmin_connect /more-info/removed-integration 301 @@ -502,6 +504,7 @@ /integrations/uber /more-info/removed-integration 301 /integrations/updater /more-info/removed-integration 301 /integrations/ups /more-info/removed-integration 301 +/integrations/uscis /more-info/removed-integration 301 /integrations/usps /more-info/removed-integration 301 /integrations/weblink /more-info/removed-integration 301 /integrations/wink /more-info/removed-integration 301 diff --git a/source/changelogs/core-2022.10.markdown b/source/changelogs/core-2022.10.markdown new file mode 100644 index 00000000000..70c85937ae4 --- /dev/null +++ b/source/changelogs/core-2022.10.markdown @@ -0,0 +1,1849 @@ +--- +title: Full Changelog for Home Assistant Core 2022.10 +description: Detailed changelog for the Home Assistant Core 2022.10 release +--- + +These are all the changes included in the Home Assistant Core 2022.10 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2022/10/05/release-202210/). + +## Full Changelog + +- Convert life360 to aiohttp ([@pnbruckner] - [#77508]) ([life360 docs]) +- Adjust temperature_unit in hisense_aehw4a1 ([@epenet] - [#77585]) ([hisense_aehw4a1 docs]) +- Adjust temperature_unit in heatmiser ([@epenet] - [#77584]) ([heatmiser docs]) +- Improve entity type hints [j-k] ([@epenet] - [#77594]) +- Improve type hints in home_connect ([@epenet] - [#77587]) ([home_connect docs]) +- Improve type hints in heatmiser ([@epenet] - [#77592]) ([heatmiser docs]) +- Improve type hints in hive ([@epenet] - [#77586]) ([hive docs]) +- Adjust Available in hisense_aehw4a1 ([@epenet] - [#77590]) ([hisense_aehw4a1 docs]) +- Implement reauth flow for volvooncall ([@y34hbuddy] - [#77328]) ([volvooncall docs]) +- 2022.10.0.dev0 ([@balloob] - [#77635]) +- Adjust notify type hints in mysensors ([@epenet] - [#77647]) ([mysensors docs]) +- Bump ci env HA_SHORT_VERSION ([@MartinHjelmare] - [#77644]) +- Improve entity type hints [l] ([@epenet] - [#77655]) +- Add device class moisture ([@Ernst79] - [#77666]) ([sensor docs]) +- Fix demo external energy statistics ([@emontnemery] - [#77665]) ([demo docs]) +- Migrate ZHA lighting to use newer zigpy ZCL request syntax ([@puddly] - [#77676]) ([zha docs]) +- Cleanup IPMA code ([@dgomes] - [#77674]) ([ipma docs]) +- Time range should be treated as open ended ([@amitfin] - [#77660]) ([schedule docs]) +- Tweak schedule test ([@emontnemery] - [#77696]) ([schedule docs]) +- Improve some device registry tests ([@emontnemery] - [#77659]) +- Remove area_id from entity_registry.async_get_or_create ([@emontnemery] - [#77700]) +- Remove unnecessary use of dunder methods from entity registry ([@emontnemery] - [#77716]) +- Remove useless device_registry test ([@emontnemery] - [#77714]) +- Add Nobø Ecohub integration ([@oyvindwe] - [#50913]) ([nobo_hub docs]) (new-integration) +- Simplify device registry ([@emontnemery] - [#77715]) +- Add mixin class CollectionEntity for the collection helper ([@emontnemery] - [#77703]) +- Use hass.config_entries.async_setup in mqtt test ([@jbouwh] - [#77750]) ([mqtt docs]) +- Enhance operating time sensor in Overkiz integration ([@iMicknl] - [#76688]) ([overkiz docs]) +- Address late review in Overkiz (add duration device class) ([@iMicknl] - [#77778]) ([overkiz docs]) +- Add goToAlias button (my position) to Overkiz integration ([@iMicknl] - [#76694]) ([overkiz docs]) +- Add support for AtlanticHeatRecoveryVentilation to Overkiz integration ([@iMicknl] - [#74015]) ([overkiz docs]) +- Add Boost/Away mode duration to Overkiz integration ([@iMicknl] - [#76690]) ([overkiz docs]) +- Expose battery and rssi sensors in Melnor Bluetooth integration ([@vanstinator] - [#77576]) ([melnor docs]) (new-platform) +- Mill 3. gen add support for PRECISION_HALVES ([@LaStrada] - [#73592]) ([mill docs]) +- Sensibo clean code ([@gjohansson-ST] - [#74437]) ([sensibo docs]) +- Improve type hints in kodi media player ([@epenet] - [#77653]) ([kodi docs]) +- Improve type hints in file and huawei_lte notify ([@epenet] - [#77648]) ([huawei_lte docs]) ([file docs]) +- Improve type hints in lastfm sensor ([@epenet] - [#77657]) ([lastfm docs]) +- Add set_hev_cycle_state service to LIFX integration ([@Djelibeybi] - [#77546]) ([lifx docs]) +- Add support for subscribing to config entry changes ([@bdraco] - [#77803]) ([config docs]) +- Improve type hints in kulersky light ([@epenet] - [#77652]) ([kulersky docs]) +- Remove CalendarEventDevice which was deprecated in 2022.5 ([@allenporter] - [#77809]) ([calendar docs]) ([demo docs]) (breaking-change) +- Adjust type hint in mediaroom ([@epenet] - [#77817]) ([mediaroom docs]) +- Adjust type hint in meteoalarm ([@epenet] - [#77818]) ([meteoalarm docs]) +- Bump fritzconnection from 1.8.0 to 1.10.1 ([@mib1185] - [#77751]) ([fritz docs]) ([fritzbox_callmonitor docs]) (dependency) +- Improve entity type hints [m] ([@epenet] - [#77816]) +- Remove auto lowercasing from async_track_entity_registry_updated_event ([@bdraco] - [#77740]) +- Improve entity type hints [n] ([@epenet] - [#77824]) +- Add reauth flow to fibaro ([@rappenze] - [#74300]) ([fibaro docs]) +- Address late review on kulersky light ([@epenet] - [#77838]) ([kulersky docs]) +- Remove google calendar configuration.yaml deprecated in 2022.6 ([@allenporter] - [#77814]) ([google docs]) (breaking-change) +- Use attributes in nightscout ([@epenet] - [#77825]) ([nightscout docs]) +- Move Melnor Bluetooth switches to sub-services off the main device ([@vanstinator] - [#77842]) ([melnor docs]) +- Use fragmented mp4 in stream recorder ([@uvjustin] - [#77822]) ([stream docs]) +- Add orientation transforms to stream ([@uvjustin] - [#77439]) ([stream docs]) +- Improve entity type hints [q] ([@epenet] - [#77875]) ([qnap docs]) ([qbittorrent docs]) +- Improve entity type hints [r] ([@epenet] - [#77874]) +- Improve entity type hints [p] ([@epenet] - [#77871]) +- Add has_entity_name for kraken ([@eifinger] - [#77841]) ([kraken docs]) +- Improve type hint in onvif ([@epenet] - [#77833]) ([onvif docs]) +- Improve type hint in opensky ([@epenet] - [#77829]) ([opensky docs]) +- Improve entity type hints [o] ([@epenet] - [#77826]) +- Add state class total increasing to Tasmota energy today sensor ([@ollo69] - [#77140]) ([tasmota docs]) +- Add notify get_service to pylint checks ([@epenet] - [#77643]) +- Add BaseNotificationService to pylint checks ([@epenet] - [#77663]) +- Cleanup camera after late PR review ([@uvjustin] - [#77880]) ([camera docs]) +- Improve entity type hints [s] (part 1/2) ([@epenet] - [#77881]) +- Improve entity type hints [t] ([@epenet] - [#77883]) +- Improve entity type hints [s] (part 2/2) ([@epenet] - [#77882]) +- Improve entity type hints [u] ([@epenet] - [#77884]) ([unifi docs]) ([universal docs]) ([uvc docs]) ([ue_smart_radio docs]) +- Improve entity type hints [v] ([@epenet] - [#77885]) +- Improve entity type hints [w] ([@epenet] - [#77886]) +- Improve entity type hints [x] ([@epenet] - [#77887]) ([xiaomi_aqara docs]) ([xs1 docs]) ([xiaomi_miio docs]) ([xiaomi_tv docs]) ([xbox_live docs]) ([xbox docs]) +- Improve entity type hints [y] ([@epenet] - [#77888]) ([yeelight docs]) ([yamaha_musiccast docs]) ([yamaha docs]) ([yolink docs]) +- Improve entity type hints [z] ([@epenet] - [#77890]) ([zabbix docs]) ([zoneminder docs]) ([zha docs]) ([ziggo_mediabox_xl docs]) ([zhong_hong docs]) ([zamg docs]) ([zwave_me docs]) +- Add comment to life360 device tracker ([@epenet] - [#77879]) ([life360 docs]) +- Use _attr_force_update in tellstick ([@epenet] - [#77899]) ([tellstick docs]) +- Use attributes in rflink binary sensor ([@epenet] - [#77901]) ([rflink docs]) +- Introduce new StrEnums in media player ([@epenet] - [#77872]) ([media_player docs]) (deprecation) +- Use attributes in hvv_departures ([@epenet] - [#77588]) ([hvv_departures docs]) +- Improve type hints in lw12wifi light ([@epenet] - [#77656]) ([lw12wifi docs]) +- Add protocol type for legacy notify platforms ([@cdce8p] - [#77894]) ([notify docs]) +- Drop unused property from zha ([@epenet] - [#77897]) ([zha docs]) +- Use _attr_force_update in tasmota ([@epenet] - [#77900]) ([tasmota docs]) +- Add sensors for Tuya "tdq" category switches ([@engrbm87] - [#77581]) ([tuya docs]) +- Fix shopping_list service calls not notifying event bus ([@lscheibel] - [#77794]) ([shopping_list docs]) +- Mill gen 3 cloud, support precision halves for gen 3 heaters ([@LaStrada] - [#77932]) ([mill docs]) (dependency) +- Use attributes in rest base entity ([@epenet] - [#77903]) ([rest docs]) +- Adjust pylint checks for notify get_service ([@epenet] - [#77606]) +- Bump pyTibber to 0.25.2 ([@Danielhiversen] - [#77919]) ([tibber docs]) (dependency) +- Adjust get_scanner pylint checks ([@epenet] - [#77944]) +- Bump aiopvapi to 2.0.1 ([@kingy444] - [#77949]) ([hunterdouglas_powerview docs]) +- Update surepy to 0.8.0 ([@cdce8p] - [#77948]) ([surepetcare docs]) (dependency) +- Refactor distance, speed and volume utils ([@epenet] - [#77952]) +- Add initial implementation of tilt_ble integration ([@apt-itude] - [#77633]) ([tilt_ble docs]) (new-integration) +- Introduce new MediaPlayerState StrEnum ([@epenet] - [#77941]) (deprecation) +- Use _attr_force_update in mqtt ([@epenet] - [#77902]) ([mqtt docs]) +- Add pylint directory to black pre-commit ([@epenet] - [#78011]) +- Adjust alexa imports ([@epenet] - [#78013]) ([alexa docs]) +- Import climate constants from root [m-z] ([@epenet] - [#78020]) +- Improve type hints in apple_tv media player ([@epenet] - [#77940]) ([apple_tv docs]) +- Use new media player enums [a-d] ([@epenet] - [#77939]) +- Remove use of deprecated SUPPORT_* constants from MQTT light ([@emontnemery] - [#77828]) ([mqtt docs]) ([light docs]) +- Remove use of deprecated SUPPORT_* constants from Template light ([@emontnemery] - [#77836]) ([template docs]) +- Import climate constants from root [a-l] ([@epenet] - [#78021]) +- Use platform constants from root ([@epenet] - [#78032]) +- Improve type hints in demo and dependencies ([@epenet] - [#78022]) ([image_processing docs]) ([demo docs]) ([mailbox docs]) ([openalpr_local docs]) +- Deprecate history integration's statistics API ([@emontnemery] - [#78056]) ([recorder docs]) ([history docs]) +- Use new media player enums [i-l] ([@epenet] - [#78054]) ([lg_netcast docs]) ([lg_soundbar docs]) ([kef docs]) ([itunes docs]) ([lookin docs]) ([kaleidescape docs]) +- Use new media player enums [e-h] ([@epenet] - [#78049]) ([hdmi_cec docs]) ([enigma2 docs]) ([horizon docs]) ([epson docs]) ([gstreamer docs]) ([heos docs]) ([harman_kardon_avr docs]) ([fully_kiosk docs]) +- Use new media player enums [m-o] ([@epenet] - [#78057]) ([onkyo docs]) ([openhome docs]) ([mpd docs]) ([nad docs]) ([monoprice docs]) +- Use new media player enums [p] ([@epenet] - [#78058]) ([ps4 docs]) ([plex docs]) ([panasonic_viera docs]) ([pioneer docs]) ([philips_js docs]) ([pjlink docs]) ([panasonic_bluray docs]) ([pandora docs]) +- Use new media player enums [r] ([@epenet] - [#78062]) ([roku docs]) ([russound_rio docs]) ([russound_rnet docs]) ([roon docs]) +- Use new media player enums [s] ([@epenet] - [#78064]) ([sisyphus docs]) ([sonos docs]) ([spotify docs]) ([samsungtv docs]) ([squeezebox docs]) ([songpal docs]) ([slimproto docs]) +- Use new media player enums [u-w] ([@epenet] - [#78067]) +- Use new media player enums [x-z] ([@epenet] - [#78068]) ([yamaha_musiccast docs]) ([yamaha docs]) ([xiaomi_tv docs]) ([ziggo_mediabox_xl docs]) ([xbox docs]) +- Add iBeacon start byte to allowed Apple Bluetooth advertisements ([@apt-itude] - [#78088]) ([bluetooth docs]) +- Fix DB migration to schema version 29 ([@emontnemery] - [#78037]) ([recorder docs]) +- Use new enums in cast ([@epenet] - [#77946]) ([cast docs]) ([lovelace docs]) ([plex docs]) +- Use new constants in dlna_dmr media player ([@epenet] - [#78045]) ([dlna_dmr docs]) +- Deprecate SUPPORT_* constants for color_mode ([@epenet] - [#69269]) +- Support unique_id for Universal Media Player ([@holysoles] - [#77461]) ([universal docs]) (noteworthy) +- Escape media_content_id in media player proxy ([@uvjustin] - [#77811]) ([media_player docs]) +- Use new media player enums in mediaroom ([@epenet] - [#78108]) ([mediaroom docs]) +- Expose climate constants at the top level ([@epenet] - [#78018]) ([climate docs]) +- Additional cleanup for Sensibo ([@gjohansson-ST] - [#78144]) ([sensibo docs]) +- Add zwave_js speed configuration for Leviton ZW4SF fans ([@mkowalchuk] - [#60677]) ([zwave_js docs]) (breaking-change) +- Start logbook stream faster ([@bdraco] - [#77921]) ([logbook docs]) +- Add BTHome binary sensors ([@Ernst79] - [#78151]) ([bthome docs]) (new-platform) +- Use new media player enums in esphome ([@epenet] - [#78099]) ([esphome docs]) +- Use new media player enums in frontier_silicon ([@epenet] - [#78101]) ([frontier_silicon docs]) (breaking-change) +- Use new media player enums in group ([@epenet] - [#78104]) ([group docs]) +- Use new media player enums in kodi ([@epenet] - [#78106]) ([kodi docs]) +- Use new media player enums in snapcast ([@epenet] - [#78109]) ([snapcast docs]) +- Use new media player enums in soundtouch ([@epenet] - [#78110]) ([soundtouch docs]) +- Use new media player enums in universal ([@epenet] - [#78112]) ([universal docs]) +- Import climate constants from root [a-l] ([@epenet] - [#78177]) +- Import climate constants from root [m-z] ([@epenet] - [#78178]) +- Expose logbook constants at the top level ([@epenet] - [#78184]) ([logbook docs]) +- Use alphabetical order for platforms in pylint plugin ([@epenet] - [#78126]) +- Use new media player enums in emby ([@epenet] - [#78098]) ([emby docs]) +- Use new media player enums in demo ([@epenet] - [#78114]) ([demo docs]) +- Add is_host_valid util ([@Drafteed] - [#76589]) ([braviatv docs]) ([dunehd docs]) ([brother docs]) ([vilfo docs]) +- Import automation constants from root ([@epenet] - [#78238]) ([analytics docs]) +- Switch to new entity naming schema across zwave_js ([@raman325] - [#77434]) ([zwave_js docs]) +- Remove unused mypy ignore statements ([@epenet] - [#78292]) +- Add extra precision to ADC voltage (from 1 decimal to 2 decimals) ([@alakdae] - [#77889]) ([shelly docs]) +- Add ZigStar ZeroConf ([@mercenaruss] - [#78237]) ([zha docs]) +- Import logbook constants from root ([@epenet] - [#78236]) ([automation docs]) ([script docs]) ([mobile_app docs]) ([homeassistant docs]) +- Import trace constants from root ([@epenet] - [#78243]) ([automation docs]) ([script docs]) +- Import notify constants from root ([@epenet] - [#78244]) ([simplepush docs]) ([aws docs]) +- Expose and use lovelace constants from root ([@epenet] - [#78246]) ([websocket_api docs]) ([lovelace docs]) +- Import stt constants from root ([@epenet] - [#78247]) ([demo docs]) ([cloud docs]) +- Import number constants from root ([@epenet] - [#78248]) ([juicenet docs]) ([homekit_controller docs]) ([xiaomi_miio docs]) ([template docs]) +- Expose websocket_api constants in root ([@epenet] - [#78249]) ([websocket_api docs]) +- Import update constants from root ([@epenet] - [#78251]) ([demo docs]) ([zwave_js docs]) +- Expose device_automation constants in root ([@epenet] - [#78266]) ([device_automation docs]) +- Expose http constants in root ([@epenet] - [#78267]) ([http docs]) +- Expose constants in device_tracker root ([@epenet] - [#78240]) ([device_tracker docs]) +- Expose media-source constants in root ([@epenet] - [#78268]) ([media_source docs]) +- Expose modbus constants in root ([@epenet] - [#78269]) ([modbus docs]) +- Import constants from root ([@epenet] - [#78271]) +- Add STT checks to pylint plugin ([@epenet] - [#78284]) +- Use new media player enums ([@epenet] - [#78264]) +- Improve sun typing ([@epenet] - [#78298]) ([sun docs]) +- Add type hints to TTS provider ([@epenet] - [#78285]) ([tts docs]) +- Improve media-player typing ([@epenet] - [#78300]) ([media_player docs]) +- Adjust components to use relative imports ([@epenet] - [#78279]) ([recorder docs]) ([insteon docs]) ([zwave_js docs]) ([overkiz docs]) +- Improve zone typing ([@epenet] - [#78294]) ([zone docs]) +- Import http constants from root ([@epenet] - [#78274]) ([onboarding docs]) +- Import media source constants from root ([@epenet] - [#78275]) ([system_bridge docs]) +- Import modbus constants from root ([@epenet] - [#78273]) ([stiebel_eltron docs]) ([flexit docs]) +- Import device automation constants from root ([@epenet] - [#78272]) ([binary_sensor docs]) +- Rename zwave_js trigger helper to avoid confusion ([@cdce8p] - [#78331]) ([zwave_js docs]) +- Import device tracker constants from root ([@epenet] - [#78242]) +- Import websocket api constants from root ([@epenet] - [#78250]) ([media_player docs]) ([recorder docs]) ([config docs]) ([zwave_js docs]) +- Drop old migration code from entity registry ([@emontnemery] - [#78278]) +- Add SwitchBee Integration ([@jafar-atili] - [#70201]) ([switchbee docs]) (new-integration) +- Update solax to 0.3.0 ([@squishykid] - [#78219]) ([solax docs]) (dependency) +- Expose humidifier constants at the top level ([@epenet] - [#78033]) ([humidifier docs]) +- Use new media player enums in forked_daapd ([@epenet] - [#78100]) ([forked_daapd docs]) +- Bump mill-local to 0.2.0 ([@Danielhiversen] - [#78302]) ([mill docs]) (dependency) +- Import network constants from root ([@epenet] - [#78342]) ([nmap_tracker docs]) +- Import humidifier constants from root ([@epenet] - [#78343]) ([ecobee docs]) ([homekit_controller docs]) ([generic_hygrostat docs]) +- Prevent use of deprecated media-player constants ([@epenet] - [#77937]) +- Bump home-assistant/builder from 2022.07.0 to 2022.09.0 ([@dependabot[bot]] - [#78103]) (dependency) +- Improve type hints in image-processing ([@epenet] - [#78351]) ([image_processing docs]) +- Improve type hints in trace ([@epenet] - [#78366]) ([trace docs]) +- Fix Sensibo Pure sensitivity sensor text ([@gjohansson-ST] - [#78313]) ([sensibo docs]) +- Bump pylutron-caseta to 0.15.1 ([@bdraco] - [#78209]) ([lutron_caseta docs]) (dependency) +- Expose SOURCE_CLOUD in google-assistant root ([@epenet] - [#78394]) ([google_assistant docs]) +- Bump aioecowitt 2022.09.2 ([@pvizeli] - [#78287]) ([ecowitt docs]) +- Improve type hints in geo-location ([@epenet] - [#78352]) ([geo_location docs]) +- Improve type hints in mailbox ([@epenet] - [#78353]) ([asterisk_mbox docs]) ([mailbox docs]) +- Use media player enums in dlna_dms ([@epenet] - [#78393]) ([dlna_dms docs]) +- Fix race in logbook websocket test ([@bdraco] - [#78390]) ([logbook docs]) +- Improve type hints in integration ([@epenet] - [#78345]) ([integration docs]) +- Improve type hints in script helpers ([@epenet] - [#78364]) +- Adjust pylint plugin for relative imports ([@epenet] - [#78277]) +- Import constants from component root ([@epenet] - [#78395]) ([alexa docs]) ([cloud docs]) ([google_assistant docs]) +- Bump fritzconnection to 1.10.3 ([@chemelli74] - [#77847]) ([fritz docs]) ([fritzbox_callmonitor docs]) (dependency) +- Remove Ambee integration ([@frenck] - [#78427]) ([ambee docs]) (breaking-change) +- Fix image-processing type hint ([@epenet] - [#78426]) ([image_processing docs]) ([demo docs]) +- Improve type hints in weather ([@epenet] - [#78346]) ([weather docs]) +- Improve type hints in scene ([@epenet] - [#78347]) ([scene docs]) +- Improve type hints in proximity ([@epenet] - [#78348]) ([proximity docs]) +- Improve type hints in group ([@epenet] - [#78350]) ([group docs]) +- Refactor forked_daapd to use _async_announce ([@epenet] - [#78446]) ([forked_daapd docs]) +- Binary sensor description for BTHome ([@Ernst79] - [#78408]) ([bthome docs]) +- Use async_timeout in forked_daapd ([@epenet] - [#78451]) ([forked_daapd docs]) +- Sort coveragerc ([@epenet] - [#78447]) +- Replace asyncio.wait_for with async_timeout in baf ([@bdraco] - [#78445]) ([baf docs]) +- Improve type hints in automation ([@epenet] - [#78368]) ([automation docs]) +- Add demo to strict-typing ([@epenet] - [#77596]) ([demo docs]) +- Sort constants in forked_daapd ([@uvjustin] - [#78455]) ([forked_daapd docs]) +- Make LimitedSizeDict a generic ([@epenet] - [#78440]) ([trace docs]) +- Improve type hints in light ([@epenet] - [#78349]) ([light docs]) +- Force root import of const from other components ([@epenet] - [#78014]) +- Rework Z-Wave.Me switch multilevel devices to also use light entity ([@PoltoS] - [#77969]) ([zwave_me docs]) +- Cleanup async_announce in forked_daapd ([@uvjustin] - [#78457]) ([forked_daapd docs]) +- Bump openevsewifi to 1.1.2 ([@cdce8p] - [#78460]) ([openevse docs]) (dependency) +- Move Trace classes to separate module ([@epenet] - [#78433]) ([trace docs]) +- Pass tasks instead of coros to asyncio.wait in forked_daapd ([@uvjustin] - [#78462]) ([forked_daapd docs]) +- Support AMD SoC CPU temperature ([@agners] - [#78472]) ([systemmonitor docs]) +- Fix device_class in demo ([@epenet] - [#78463]) ([demo docs]) ([google_assistant docs]) +- Make EntityComponent generic ([@epenet] - [#78473]) +- Add Google Sheets integration ([@tkdrob] - [#77853]) ([google_drive docs]) (new-integration) +- Improve MQTT debug log of retained messages ([@emontnemery] - [#78453]) ([mqtt docs]) +- Remove U.S. Citizenship and Immigration Services (USCIS) integration ([@frenck] - [#78432]) ([uscis docs]) (breaking-change) +- Bump aioswitcher to 3.0.0 ([@thecode] - [#78471]) ([switcher_kis docs]) (dependency) +- Catch up with statistics after DB migration is done ([@emontnemery] - [#78469]) ([recorder docs]) +- Deduplicate some code in scripts and automations ([@emontnemery] - [#78443]) ([automation docs]) ([script docs]) +- Allow setting number selector step size to 'any' ([@emontnemery] - [#78265]) ([threshold docs]) +- Use asyncio in XiaomiAqara instead of threading ([@starkillerOG] - [#74979]) ([xiaomi_aqara docs]) (dependency) +- Add infrared brightness select entity for LIFX Night Vision bulbs ([@Djelibeybi] - [#77943]) ([lifx docs]) +- Add device class TV to AndroidTV ([@ollo69] - [#78487]) ([androidtv docs]) +- Update sentry-sdk to 1.9.8 ([@frenck] - [#78496]) ([sentry docs]) (dependency) +- Update pipdeptree to 2.3.1 ([@frenck] - [#78497]) (dependency) +- Bump ultraheat-api to 0.4.3 ([@vpathuis] - [#78295]) ([landisgyr_heat_meter docs]) (dependency) +- Bump aioftp to 0.21.3 ([@fmarani] - [#78257]) ([yi docs]) (dependency) +- Move mypy override for device_registry ([@epenet] - [#78493]) +- Use new media player enums in bluesound ([@epenet] - [#78096]) ([bluesound docs]) (breaking-change) +- Use reload helper to reload rest component ([@emontnemery] - [#78491]) ([rest docs]) +- Enable disallow-any-generics in update ([@epenet] - [#78501]) ([update docs]) +- Make use of generic EntityComponent ([@epenet] - [#78492]) ([camera docs]) ([group docs]) ([automation docs]) ([remote docs]) ([person docs]) +- Update pyotp to 2.7.0 ([@frenck] - [#78500]) ([otp docs]) (dependency) +- Update pytest to 7.1.3 ([@frenck] - [#78503]) (dependency) +- Sort strict-typing alphabetically ([@epenet] - [#78506]) +- Update sqlalchemy to 1.4.41 ([@frenck] - [#78507]) ([recorder docs]) ([sql docs]) (dependency) +- Enable disallow-any-generics in number ([@epenet] - [#78502]) ([number docs]) +- Use new media player enums in homekit_controller ([@epenet] - [#78105]) ([homekit_controller docs]) (breaking-change) +- Avoid mutating globals in nina tests ([@emontnemery] - [#78513]) ([nina docs]) +- Sort some code in the search integration ([@emontnemery] - [#78519]) ([search docs]) +- Update black to 22.8.0 ([@frenck] - [#78509]) (dependency) +- Adjust MEDIA_CLASS_MAP in dlna-dms ([@epenet] - [#78458]) ([dlna_dms docs]) +- Bump awesomeversion from 22.8.0 to 22.9.0 ([@ludeeus] - [#78525]) (dependency) +- Use self._attr_state in vlc_telnet media player ([@epenet] - [#78517]) ([vlc_telnet docs]) +- Update requests_mock to 1.10.0 ([@frenck] - [#78510]) +- Use self._attr_state in demo media player ([@epenet] - [#78520]) ([demo docs]) +- Enable disallow-any-generics in light ([@epenet] - [#78499]) ([light docs]) +- Add version to templates ([@ludeeus] - [#78484]) (noteworthy) +- Bump pyfritzhome to 0.6.7 ([@mib1185] - [#78324]) ([fritzbox docs]) (dependency) +- Remove some low level calls from Fritz ([@chemelli74] - [#77848]) ([fritz docs]) +- Cleanup self._attr_state in samsungtv media player ([@epenet] - [#78518]) ([samsungtv docs]) +- Enforce MediaPlayerState in hdmi_cec media player ([@epenet] - [#78522]) ([hdmi_cec docs]) +- Improve type hints in trace ([@epenet] - [#78441]) ([trace docs]) +- Display statistics in the source's unit ([@emontnemery] - [#78031]) ([recorder docs]) ([demo docs]) ([sensor docs]) ([tibber docs]) +- crownstone-sse: bump to 2.0.4 ([@RicArch97] - [#78538]) ([crownstone docs]) (dependency) +- Make async_extract_entities generic ([@epenet] - [#78490]) +- Bump life360 package to 5.1.1 ([@pnbruckner] - [#78550]) ([life360 docs]) +- Update LaMetric config entry using DHCP discovery data ([@frenck] - [#78527]) ([lametric docs]) +- Remove name key from config flow in Mikrotik ([@engrbm87] - [#78571]) ([mikrotik docs]) +- Reduce overhead to update passive bluetooth devices ([@bdraco] - [#78545]) ([bluetooth docs]) ([yalexs_ble docs]) (breaking-change) +- Update pyupgrade to v2.38.0 ([@frenck] - [#78573]) (dependency) +- Improve notify typing ([@MartinHjelmare] - [#78575]) ([notify docs]) +- Address late review of SwitchBee ([@jafar-atili] - [#78412]) ([switchbee docs]) +- Fix kira remote implementation ([@epenet] - [#77878]) ([kira docs]) +- Address late review of SwitchBee ([@jafar-atili] - [#78585]) ([switchbee docs]) +- Use commands enum in LG Netcast ([@hurzelchen] - [#78584]) ([lg_netcast docs]) +- Use vol.Coerce for notify SourceType enum ([@cdce8p] - [#77930]) ([device_tracker docs]) +- Update Awair config entry on discovery ([@frenck] - [#78521]) ([awair docs]) +- Bump pylitterbot to 2022.9.3 ([@natekspencer] - [#78590]) ([litterrobot docs]) (dependency) +- Use attributes in demo media-player ([@epenet] - [#78461]) ([demo docs]) +- Add Airly gas sensors ([@KloudJack] - [#77908]) ([airly docs]) +- Replace SimpliSafe `clear_notifications` service with a button ([@bachya] - [#75283]) ([simplisafe docs]) (deprecation) +- Correct unit for here_travel_time distance sensor ([@eifinger] - [#78303]) ([here_travel_time docs]) +- Switch emulated_hue to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#78608]) ([emulated_hue docs]) +- Switch yeelight to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#78606]) ([yeelight docs]) +- Ensure bluetooth callbacks are only fired when advertisement data changes ([@bdraco] - [#78609]) ([bluetooth docs]) +- Handle connection issues with Traccar ([@ludeeus] - [#78624]) ([traccar docs]) +- Change litterrobot integration to cloud_push ([@natekspencer] - [#77741]) ([litterrobot docs]) +- Add litter level sensor for Litter-Robot 4 ([@natekspencer] - [#78602]) ([litterrobot docs]) +- Automatically set up Awair during onboarding ([@frenck] - [#78632]) ([awair docs]) +- Improve light typing ([@cdce8p] - [#78641]) ([light docs]) +- Make use of generic EntityComponent (part 2) ([@epenet] - [#78494]) +- Bump smhi-pkg to 1.0.16 ([@gjohansson-ST] - [#78639]) ([smhi docs]) (dependency) +- Switch recorder to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#78607]) ([recorder docs]) +- Fix rachio not being able to be ignored ([@bdraco] - [#78636]) ([rachio docs]) +- Add additional status sensor state strings for Litter-Robot 4 ([@natekspencer] - [#78652]) ([litterrobot docs]) +- Fix lutron_caseta get_triggers() raising error for non-button devices (caseta and ra3/hwqsx) ([@danaues] - [#78397]) ([lutron_caseta docs]) +- Enable disallow-any-generics in media-player ([@epenet] - [#78498]) ([media_player docs]) +- Replace Guardian `disable_ap` and `enable_ap` services with a switch ([@bachya] - [#75034]) ([guardian docs]) (deprecation) +- Restore history from bluetooth stack at startup ([@bdraco] - [#78612]) ([bluetooth docs]) +- Remove deprecated Guardian services (scheduled for 2022.10.0) ([@bachya] - [#78663]) ([guardian docs]) (breaking-change) +- Bump melnor-bluetooth to v0.0.20 ([@vanstinator] - [#78642]) ([melnor docs]) (dependency) +- Allow multiple instances of OpenUV via the `homeassistant.update_entity` service ([@bachya] - [#76878]) ([openuv docs]) (deprecation) +- Improve media_player typing ([@cdce8p] - [#78666]) ([media_player docs]) +- Remove low level call from fritzbox_callmonitor ([@cdce8p] - [#78668]) ([fritzbox_callmonitor docs]) +- Remove deprecated update binary sensor from Supervisor ([@ludeeus] - [#78664]) ([hassio docs]) (breaking-change) +- Limit Github event subscription if polling is disabled ([@ludeeus] - [#78662]) ([github docs]) +- Add missing typing met config flow ([@gjohansson-ST] - [#78645]) ([met docs]) +- Cache template regex compiles ([@bdraco] - [#78529]) +- Revert unintended OpenUV unique ID change ([@bachya] - [#78691]) ([openuv docs]) +- Warn user if Tasmota devices are configured with invalid MQTT topics ([@emontnemery] - [#77640]) ([tasmota docs]) +- Address code review from litterrobot PR ([@natekspencer] - [#78699]) ([litterrobot docs]) +- Make Guardian Repairs strings more consistent (and instructive) ([@bachya] - [#78694]) ([guardian docs]) +- Create repair issue if zwave-js-server is too old ([@raman325] - [#78670]) ([zwave_js docs]) +- Code Quality Improvements for Advantage Air ([@Bre77] - [#77695]) ([advantage_air docs]) +- Fix Vallox extract and supply fan speed measurement units ([@viiru-] - [#77692]) ([vallox docs]) +- Seperate timeout errors in rest requests ([@ludeeus] - [#78710]) ([rest docs]) +- Add state_class to Waze travel time for statistics support ([@oradsa] - [#77386]) ([waze_travel_time docs]) +- Bump `brother` backend library ([@bieniu] - [#78072]) ([brother docs]) (dependency) +- Add GALA currency to Coinbase ([@TomBrien] - [#78708]) ([coinbase docs]) +- Add tests for switchbot sensor platform ([@bdraco] - [#78611]) ([switchbot docs]) +- Add tests for LitterRobot sensors ([@tkdrob] - [#78638]) ([litterrobot docs]) +- Apply hass-relative-import to tests (d-h) ([@epenet] - [#78730]) +- Apply hass-relative-import to tests (i-r) ([@epenet] - [#78732]) +- Apply hass-relative-import to tests (a-c) ([@epenet] - [#78728]) +- Apply hass-relative-import to tests (s-z) ([@epenet] - [#78733]) +- Adjust homekit-controller test imports ([@epenet] - [#78731]) ([homekit_controller docs]) +- Improve sonos typing ([@cdce8p] - [#78661]) ([sonos docs]) +- Use attributes in kef media player ([@epenet] - [#77650]) ([kef docs]) +- Fix litterrobot tests ([@epenet] - [#78741]) ([litterrobot docs]) +- Add LaMetric integration init tests ([@frenck] - [#78679]) ([lametric docs]) +- Apply hass-relative-import to recorder tests ([@epenet] - [#78734]) ([recorder docs]) +- Apply hass-relative-import to bluetooth tests ([@epenet] - [#78736]) ([bluetooth docs]) +- Improve type hints in keenetic_ndms2 ([@epenet] - [#77649]) ([keenetic_ndms2 docs]) +- Update psutil to 5.9.2 ([@tjorim] - [#78745]) ([systemmonitor docs]) +- Adjust relative-import plugin for tests ([@epenet] - [#78742]) +- Bump pyoverkiz to 1.5.3 in Overkiz integration ([@iMicknl] - [#78743]) ([overkiz docs]) (dependency) +- Add support for controlling manual watering time on Melnor Bluetooth devices ([@vanstinator] - [#78653]) ([melnor docs]) +- Adjust pylint plugin for tests directory ([@epenet] - [#78727]) +- Adjust root-import in tomorrowio tests ([@epenet] - [#78763]) ([tomorrowio docs]) +- Use attributes in zoneminder ([@epenet] - [#77895]) ([zoneminder docs]) +- Use correct constant in anthemav tests ([@epenet] - [#78759]) ([anthemav docs]) +- Use DOMAIN constant in plex ([@epenet] - [#78764]) ([sonos docs]) ([plex docs]) +- Adjust root-import in tests ([@epenet] - [#78761]) +- Fix Airly CO sensor unit ([@KloudJack] - [#78649]) ([airly docs]) +- Adjust root-import in alexa tests ([@epenet] - [#78766]) ([alexa docs]) +- Adjust root-import in google-assistant tests ([@epenet] - [#78768]) ([google_assistant docs]) +- Adjust root-import in nest tests ([@epenet] - [#78769]) ([nest docs]) +- Adjust root-import in motioneye tests ([@epenet] - [#78770]) ([motioneye docs]) +- Adjust root-import in netatmo tests ([@epenet] - [#78771]) ([netatmo docs]) +- Add unit constant for revolutions per minute ([@epenet] - [#78752]) ([comfoconnect docs]) ([xiaomi_miio docs]) +- Adjust root-import in demo humidifier tests ([@epenet] - [#78772]) ([demo docs]) +- Migrate Trafikverket Train to new entity naming style ([@gjohansson-ST] - [#75208]) ([trafikverket_train docs]) +- Add support for imperial units of measure in volvooncall ([@y34hbuddy] - [#77669]) ([volvooncall docs]) (dependency) +- Bumped AIOAladdinConnect 0.1.46 ([@mkmer] - [#78767]) ([aladdin_connect docs]) (dependency) +- Bump pylitterbot to 2022.9.5 ([@natekspencer] - [#78785]) ([litterrobot docs]) (dependency) +- Add unique_id to ohmconnect ([@magic7s] - [#78479]) ([ohmconnect docs]) (noteworthy) +- Teach sqlite3 about HAFakeDatetime ([@emontnemery] - [#78756]) +- Use black to format hassfest generated files ([@emontnemery] - [#78794]) +- Prevent tilt_ble from matching generic ibeacons ([@bdraco] - [#78722]) ([tilt_ble docs]) +- Change bluetooth source to be the address of the adapter on Linux ([@bdraco] - [#78795]) ([bluetooth docs]) (breaking-change) +- Fix failing bluetooth tests ([@bdraco] - [#78757]) ([bluetooth docs]) +- Create an issue when Bluetooth is active on old HAOS ([@bdraco] - [#78430]) ([bluetooth docs]) +- Add iBeacon Tracker integration ([@bdraco] - [#78671]) ([ibeacon docs]) (new-integration) +- Bump codecov/codecov-action from 3.1.0 to 3.1.1 ([@dependabot[bot]] - [#78812]) (dependency) +- Cleanup DeviceClass and StateClass in tests ([@epenet] - [#78811]) +- Cleanup EntityCategory in tests ([@epenet] - [#78808]) ([zha docs]) ([hue docs]) +- Cleanup SourceType in tests ([@epenet] - [#78809]) ([device_tracker docs]) ([zha docs]) ([person docs]) ([dhcp docs]) ([mazda docs]) +- Add query data to google assistant diagnostic ([@elupus] - [#78828]) ([google_assistant docs]) +- Add Lidarr integration ([@tkdrob] - [#66438]) ([lidarr docs]) (new-integration) +- Cleanup MediaClass and MediaType in tests ([@epenet] - [#78817]) +- Cleanup ColorMode in tests ([@epenet] - [#78807]) ([abode docs]) ([hue docs]) ([homekit docs]) +- Add MqttData helper to mqtt ([@epenet] - [#78825]) ([mqtt docs]) +- Update PyJWT to 2.5.0 ([@frenck] - [#78776]) (dependency) +- Move constants in kostal_plenticore ([@epenet] - [#78837]) ([kostal_plenticore docs]) +- Cleanup HVACAction and HVACMode in tests ([@epenet] - [#78813]) +- Fix Sonos cover art when browsing albums ([@skrobul] - [#75105]) ([sonos docs]) +- Allow selecting display unit when fetching statistics ([@emontnemery] - [#78578]) ([recorder docs]) ([sensor docs]) (noteworthy) +- Add deconz current hvac operation to thermostate based on "state" ([@EmJay276] - [#59989]) ([deconz docs]) +- Cleanup FlowResultType in tests ([@epenet] - [#78810]) ([simplisafe docs]) ([pushover docs]) ([escea docs]) ([landisgyr_heat_meter docs]) +- Cleanup EntityFeature in tests ([@epenet] - [#78859]) +- Change minimal brightness value for hue.activate_scene service to 1 ([@Midbin] - [#78154]) ([hue docs]) +- Use SensorEntityDescription in kostal plenticore ([@epenet] - [#78842]) ([kostal_plenticore docs]) +- Improve code readability in iBeacon integration ([@bdraco] - [#78844]) ([ibeacon docs]) +- Bump pySwitchbot to 0.19.11 ([@bdraco] - [#78857]) ([switchbot docs]) +- Remove deprecated Flu Near You integration ([@bachya] - [#78700]) ([flunearyou docs]) (breaking-change) +- Use SwitchEntityDescription in kostal plenticore ([@epenet] - [#78841]) ([kostal_plenticore docs]) +- Use SelectEntityDescription in kostal plenticore ([@epenet] - [#78840]) ([kostal_plenticore docs]) +- Remove leftover debug print from Melnor ([@frenck] - [#78870]) ([melnor docs]) +- Adjust Plenticore switch initialisation ([@epenet] - [#78871]) ([kostal_plenticore docs]) +- Adjust Plenticore select initialisation ([@epenet] - [#78873]) ([kostal_plenticore docs]) +- Adjust Plenticore sensor initialisation ([@epenet] - [#78869]) ([kostal_plenticore docs]) +- Use m3 as intermediate unit for volume conversions ([@epenet] - [#78861]) +- Fix typo in tuya select ([@epenet] - [#78881]) ([tuya docs]) +- Cleanup properties in Plenticore sensor ([@epenet] - [#78879]) ([kostal_plenticore docs]) +- Cleanup Plenticore switch entity ([@epenet] - [#78878]) ([kostal_plenticore docs]) +- Add LaMetric button tests ([@frenck] - [#78754]) ([lametric docs]) +- Update yarl to 1.8.1 ([@frenck] - [#78866]) (dependency) +- Cleanup Plenticore select entity ([@epenet] - [#78877]) ([kostal_plenticore docs]) +- Add new power utility ([@epenet] - [#78867]) ([recorder docs]) ([sensor docs]) +- Add support for Kegtron Smart (Beer) Keg Monitor BLE devices ([@Ernst79] - [#78709]) ([kegtron docs]) (new-integration) +- Validate units when importing statistics ([@emontnemery] - [#78891]) ([recorder docs]) ([demo docs]) ([energy docs]) +- Cleanup root component imports in tests ([@epenet] - [#78893]) +- Add new energy utility ([@epenet] - [#78883]) ([recorder docs]) ([sensor docs]) +- Bump unifi-discovery to 1.1.7 ([@bdraco] - [#78898]) ([unifiprotect docs]) (dependency) +- Bump pylutron_caseta to 0.15.2 ([@bdraco] - [#78900]) ([lutron_caseta docs]) +- Support announce and enqueue in forked-daapd ([@uvjustin] - [#77744]) ([forked_daapd docs]) +- Add Keymitt BLE integration ([@spycle] - [#76575]) ([microbot_push docs]) (new-integration) +- Prompt user to remove application credentials when deleting config entries ([@allenporter] - [#74825]) ([application_credentials docs]) +- Bump pytomorrowio to 0.3.5 ([@raman325] - [#78914]) ([tomorrowio docs]) (dependency) +- Introduce UnitConverter protocol ([@epenet] - [#78888]) ([recorder docs]) ([sensor docs]) ([number docs]) +- Support for nibe heat pumps with local access ([@elupus] - [#78542]) ([nibe_local docs]) (new-integration) +- Add NORMALISED_UNIT to UnitConverter ([@epenet] - [#78920]) ([recorder docs]) ([sensor docs]) +- Add debug logging to tomorrowio and mask API key ([@raman325] - [#78915]) ([tomorrowio docs]) +- Bump actions/stale from 5 to 6.0.0 ([@dependabot[bot]] - [#78922]) (dependency) +- Nibe Heat Pump after merge fixups ([@elupus] - [#78931]) ([nibe_heatpump docs]) +- Convert UnitConverter protocol to a class ([@epenet] - [#78934]) ([recorder docs]) ([sensor docs]) ([number docs]) +- Add Button platform to switchbee integration ([@jafar-atili] - [#78386]) ([switchbee docs]) (new-platform) +- Move energy and power utilites to unit_conversion ([@epenet] - [#78950]) ([recorder docs]) ([sensor docs]) +- Move pressure utility to unit_conversion ([@epenet] - [#78953]) ([recorder docs]) ([sensor docs]) +- Move volume utility to unit_conversion ([@epenet] - [#78955]) ([recorder docs]) ([sensor docs]) +- Add binary sensor platform to Nibe Heatpump ([@elupus] - [#78927]) ([nibe_heatpump docs]) (new-platform) +- Move temperature utility to unit_conversion ([@epenet] - [#78960]) ([recorder docs]) ([sensor docs]) +- Rename property in Plugwise EntityDescription ([@epenet] - [#78935]) ([plugwise docs]) +- Make _is_valid_unit private in unit system ([@epenet] - [#78924]) +- Replace RainMachine freeze protection temperature sensor with a select ([@bachya] - [#76484]) ([rainmachine docs]) (deprecation) +- Bump pylitterbot to 2022.9.6 ([@natekspencer] - [#78970]) ([litterrobot docs]) (dependency) +- Minor tweaks of hassfest and loader.py ([@emontnemery] - [#78929]) +- Simplify energy settings ([@emontnemery] - [#78947]) ([energy docs]) +- Radarr Config Flow ([@tkdrob] - [#78965]) ([radarr docs]) (breaking-change) (config-flow) +- Remove min rssi setting from iBeacon ([@bdraco] - [#78843]) ([ibeacon docs]) +- Fix flapping bluetooth scanner test ([@bdraco] - [#78961]) ([bluetooth docs]) +- Retire climacell entirely ([@raman325] - [#78901]) ([climacell docs]) ([tomorrowio docs]) (breaking-change) +- Move distance and speed util to unit_conversion ([@epenet] - [#78967]) +- Adjust normalization routines in recorder statistics ([@epenet] - [#78966]) ([recorder docs]) +- Add PSK auth and SSDP discovery to Bravia TV ([@Drafteed] - [#77772]) ([braviatv docs]) +- Add Button platform to Bravia TV ([@Drafteed] - [#78093]) ([braviatv docs]) (noteworthy) +- Correct ssdp generation for bravia ([@elupus] - [#79002]) +- Test sum AND mean in recorder tests ([@epenet] - [#78998]) ([recorder docs]) +- Enable strict typing for rfxtrx ([@elupus] - [#74927]) ([rfxtrx docs]) +- Avoid creating iBeacon trackers when the device has no name ([@bdraco] - [#78983]) ([ibeacon docs]) +- Enable Thread transport in homekit_controller ([@Jc2k] - [#78994]) ([homekit_controller docs]) (noteworthy) +- Increase code coverage for migrated utilities ([@epenet] - [#78990]) +- Use unit_conversion in components ([@epenet] - [#78991]) ([google_assistant docs]) ([weather docs]) ([homekit docs]) ([smhi docs]) ([template docs]) +- Use device class duration for relevant Xiaomi Miio sensors ([@starkillerOG] - [#78974]) ([xiaomi_miio docs]) +- Remove unused custom data in Google Assistant ([@balloob] - [#79003]) ([google_assistant docs]) +- Move MQTT debug_info to dataclass ([@jbouwh] - [#78788]) ([mqtt docs]) +- Bump `regenmaschine` to 2022.09.2 ([@bachya] - [#79010]) ([rainmachine docs]) (dependency) +- Add base entity to switchbee ([@epenet] - [#78987]) ([switchbee docs]) +- Replace two RainMachine binary sensors with config switches ([@bachya] - [#76478]) ([rainmachine docs]) (deprecation) +- Handle iBeacons that broadcast multiple different uuids ([@bdraco] - [#79011]) ([ibeacon docs]) (dependency) +- Update to bleak 0.18.0 ([@bdraco] - [#79008]) ([bluetooth docs]) +- Clean up Speech-to-text integration and add tests ([@balloob] - [#79012]) ([stt docs]) +- Bump shelly backend library to version 2.0.2 ([@bieniu] - [#79026]) ([shelly docs]) (dependency) +- Bump dbus-fast to 1.9.0 ([@bdraco] - [#79024]) ([bluetooth docs]) (dependency) +- Bump bluetooth dependencies ([@bdraco] - [#79035]) ([bluetooth docs]) +- Add reauth flow to Shelly integration ([@bieniu] - [#78786]) ([shelly docs]) +- Fix a bug where SMS will not be sent as GSM-alphabet ([@ocalvo] - [#78800]) ([sms docs]) +- Stop ignoring test coverage in zwave_js ([@raman325] - [#79049]) ([zwave_js docs]) +- Add diagnostic sensor to Radarr ([@tkdrob] - [#79044]) ([radarr docs]) +- Bump aiounifi to v35 ([@Kane610] - [#79040]) ([unifi docs]) +- Bump cryptography to 38 ([@balloob] - [#79067]) +- Fix Radarr import ([@tkdrob] - [#79037]) ([radarr docs]) +- Add binary sensor to Radarr ([@tkdrob] - [#79043]) ([radarr docs]) (new-platform) +- Handle battery services that only report low battery in HomeKit Controller ([@bdraco] - [#79072]) ([homekit_controller docs]) +- Migrate Radarr to new entity naming style ([@tkdrob] - [#79042]) ([radarr docs]) +- Change Skybell color mode to RGB ([@tkdrob] - [#78078]) ([skybell docs]) +- Add support for newer Magic Home sockets ([@bdraco] - [#79074]) ([flux_led docs]) +- TTS Cleanup and expose get audio ([@balloob] - [#79065]) ([tts docs]) ([media_source docs]) +- Add nibe heat pump select entities ([@elupus] - [#78942]) ([nibe_heatpump docs]) +- Bump dbus-fast to 1.14.0 ([@bdraco] - [#79063]) ([bluetooth docs]) (dependency) +- Finish migration of recorder to unit conversion ([@epenet] - [#78985]) ([sensor docs]) +- Add RSSI sensor to HomeKit Controller ([@bdraco] - [#78906]) ([homekit_controller docs]) +- More details about SMS modem ([@PaulAnnekov] - [#75694]) ([sms docs]) +- Netatmo refactor to use pyatmo 7.0.1 (#73482) ([@cgtobi] - [#78523]) ([netatmo docs]) +- Migrate Overkiz to new entity naming style ([@iMicknl] - [#76687]) ([overkiz docs]) +- Remove unnecessary boolean checks for callables ([@cdce8p] - [#78819]) ([kostal_plenticore docs]) ([goodwe docs]) +- Fix Bayesian sensor to use negative observations ([@HarvsG] - [#67631]) ([bayesian docs]) (breaking-change) +- Add missing doc strings and requirements in Google Sheets ([@tkdrob] - [#78616]) ([google_sheets docs]) +- Migrate attributes to sensors in Litter-Robot ([@tkdrob] - [#78580]) ([litterrobot docs]) (deprecation) +- Add range to min_max ([@jsherman256] - [#78282]) ([min_max docs]) (noteworthy) +- Add config flow and MQTT autodiscover to dsmr_reader integration ([@Glodenox] - [#71617]) ([dsmr_reader docs]) (config-flow) +- IntelliFire Fan Support ([@jeeftor] - [#74181]) ([intellifire docs]) (new-platform) (noteworthy) +- Netgear add router switches ([@starkillerOG] - [#72171]) ([netgear docs]) (dependency) (noteworthy) +- Fix mqtt tests ([@bdraco] - [#79079]) ([mqtt docs]) +- Enable the move firmware effect on multizone lights ([@Djelibeybi] - [#78918]) ([lifx docs]) +- Bump aiohomekit to 2.0.1 ([@bdraco] - [#79080]) ([homekit_controller docs]) (dependency) +- Adjust switch as X to inherit entity category ([@frenck] - [#79081]) ([switch_as_x docs]) +- Add nibe heat pump number entities ([@elupus] - [#78941]) ([nibe_heatpump docs]) +- Bump ha-av to v10.0.0.b5 ([@uvjustin] - [#78977]) ([stream docs]) ([generic docs]) (dependency) +- Fix name truncation and unusual entity names for LaCrosse View ([@IceBotYT] - [#78254]) ([lacrosse_view docs]) +- Update aioecowitt to 2022.09.3 ([@pvizeli] - [#79087]) ([ecowitt docs]) +- Add nibe heat pump switch entities ([@elupus] - [#78943]) ([nibe_heatpump docs]) (new-platform) +- Allow multiple entries in Tautulli ([@tkdrob] - [#74406]) ([tautulli docs]) +- Improve performance of Bluetooth device fallback ([@bdraco] - [#79078]) ([esphome docs]) ([bluetooth docs]) (dependency) +- Bump plugwise to v0.21.3, add related new features ([@bouwew] - [#76610]) ([plugwise docs]) +- Start deprecation yaml moon ([@gjohansson-ST] - [#77780]) ([moon docs]) (deprecation) +- Start deprecation yaml season ([@gjohansson-ST] - [#77781]) ([season docs]) (deprecation) +- Start deprecation yaml uptime ([@gjohansson-ST] - [#77782]) ([uptime docs]) (deprecation) +- Support VLC 4 pause ([@MartinHjelmare] - [#77302]) ([vlc_telnet docs]) +- Remove deprecated YAML import for here_travel_time ([@eifinger] - [#77959]) ([here_travel_time docs]) (breaking-change) +- Remove unused alexa code ([@cdce8p] - [#79100]) ([alexa docs]) +- Bump bleak-retry-connector to 2.1.3 ([@bdraco] - [#79105]) ([bluetooth docs]) (dependency) +- Bump dbus-fast to 0.15.1 ([@bdraco] - [#79111]) ([bluetooth docs]) (dependency) +- Update mypy to 0.981 ([@cdce8p] - [#79115]) ([recorder docs]) ([esphome docs]) ([norway_air docs]) ([plex docs]) ([izone docs]) (dependency) +- Remove unused icloud code ([@cdce8p] - [#79116]) ([icloud docs]) +- Update xknx to 1.1.0 - Routing flow control ([@farmio] - [#79118]) ([knx docs]) (dependency) +- Remove issue from Radarr ([@tkdrob] - [#79127]) ([radarr docs]) +- Fix rfxtrx typing ([@cdce8p] - [#79125]) ([rfxtrx docs]) +- Add image_processing device_class StrEnum ([@cdce8p] - [#79124]) ([image_processing docs]) ([openalpr_local docs]) ([seven_segments docs]) +- Use explicit return value in frontend ([@cdce8p] - [#79122]) ([frontend docs]) +- Add browse media to forked-daapd ([@uvjustin] - [#79009]) ([forked_daapd docs]) (noteworthy) +- Make VALID_UNITS a set ([@epenet] - [#79104]) +- Listen to out of band coil updates in Nibe Heat Pumps ([@elupus] - [#78976]) ([nibe_heatpump docs]) +- Add unique id to entity reg list response ([@bramkragten] - [#78945]) ([config docs]) +- Remove parametrization in recorder websocket api tests ([@epenet] - [#78864]) ([recorder docs]) +- Microsoft TTS: Add support for gender and type ([@khenderick] - [#78848]) ([microsoft docs]) +- Support converting statistics to another unit ([@emontnemery] - [#79117]) ([recorder docs]) +- Add serial_number to device registry entries ([@emontnemery] - [#77713]) ([config docs]) +- Drop some unused constants from recorder ([@emontnemery] - [#79138]) ([recorder docs]) +- Indicate in statistics issues when units can be converted ([@emontnemery] - [#79121]) ([sensor docs]) +- Goodwe reset to 0 at midnight ([@starkillerOG] - [#76793]) ([goodwe docs]) +- Add unique ID to dsmr_reader sensors ([@Glodenox] - [#79101]) ([dsmr_reader docs]) +- Add distance to SensorDeviceClass ([@epenet] - [#77951]) ([recorder docs]) ([sensor docs]) +- Revert "Add serial_number to device registry entries" ([@emontnemery] - [#79139]) ([config docs]) +- Fix recorder fixtures ([@emontnemery] - [#79147]) +- Correct typing of async_track_state_change ([@emontnemery] - [#79150]) +- Add speed to SensorDeviceClass ([@epenet] - [#77953]) ([recorder docs]) ([sensor docs]) +- Fix Withings authentication to leverage default redirect URI ([@frenck] - [#79158]) ([withings docs]) +- Add volume to SensorDeviceClass ([@epenet] - [#77960]) ([recorder docs]) ([sensor docs]) +- Add new distance device class to iBeacons ([@bdraco] - [#79162]) ([ibeacon docs]) +- Break out esphome domain data ([@bdraco] - [#79134]) ([esphome docs]) +- Ensure bleak_retry_connector uses HaBleakClientWrapper ([@bdraco] - [#79132]) ([bluetooth docs]) +- Cleanup add browse media forked daapd #79009 ([@uvjustin] - [#79157]) ([forked_daapd docs]) +- Add spotify support to forked-daapd ([@uvjustin] - [#79136]) ([forked_daapd docs]) (noteworthy) +- Keep storing statistics for sensors which change device class ([@emontnemery] - [#79155]) ([sensor docs]) +- New ZONNSMART TRVs ([@javicalle] - [#79169]) ([zha docs]) +- Bump ZHA quirks lib ([@dmulcahey] - [#79175]) ([zha docs]) (dependency) +- Bump dbus-fast to 0.17.0 ([@bdraco] - [#79177]) ([bluetooth docs]) (dependency) +- Update pySwitchbot for newer firmwares ([@bdraco] - [#79174]) ([switchbot docs]) (dependency) +- Fix bluetooth active update coordinator not returning on failure ([@bdraco] - [#79167]) ([bluetooth docs]) +- Fix EZVIZ spelling case ([@scop] - [#79164]) ([ezviz docs]) +- Bump ibeacon-ble to 0.7.1 ([@bdraco] - [#79182]) ([ibeacon docs]) +- Bump aiopyarr to 22.9.0 ([@tkdrob] - [#79173]) ([sonarr docs]) ([radarr docs]) ([lidarr docs]) (dependency) +- Landis+Gyr Heat Meter: add heat previous year GJ as diagnostic ([@vpathuis] - [#78690]) ([landisgyr_heat_meter docs]) +- Avoid multiline lambdas in Fritz!Smarthome sensors ([@mib1185] - [#78524]) ([fritzbox docs]) +- Improve check of new_entity_id in entity_registry.async_update_entity ([@emontnemery] - [#78276]) ([config docs]) +- Refactor Trend to use `async_setup_platform` ([@boswelja] - [#78216]) ([trend docs]) +- SQL fix entry options save ([@gjohansson-ST] - [#78145]) ([sql docs]) +- Refactor apcupsd to use config flow ([@yuxincs] - [#64809]) ([apcupsd docs]) (config-flow) (deprecation) +- Bump switchbot to fix assertion error on processing humidifer data ([@bdraco] - [#79180]) ([switchbot docs]) +- Update roomba config flow description ([@JQWeb] - [#77974]) ([roomba docs]) +- Remove type ignore from bluetooth ([@cdce8p] - [#79146]) ([bluetooth docs]) +- Fix overriding a script's entity_id ([@emontnemery] - [#78765]) ([script docs]) +- Bump holidays to 0.16 ([@TomBrien] - [#78832]) ([workday docs]) (breaking-change) (dependency) +- Allow controlling PrusaLink print jobs ([@balloob] - [#78720]) ([prusalink docs]) (noteworthy) +- Use new DISTANCE and VOLUME device classes in Renault ([@epenet] - [#77488]) ([renault docs]) +- Remove argument validation in Unit Converter ([@epenet] - [#79107]) +- Add new weight device class ([@epenet] - [#79185]) ([recorder docs]) ([sensor docs]) +- Allow fetching automation config ([@balloob] - [#79130]) ([automation docs]) +- Add typing hints to mikrotik tests ([@engrbm87] - [#79144]) ([mikrotik docs]) +- Add missing quality scales for internal integrations ([@rytilahti] - [#76499]) +- Cleanup unit conversion ([@epenet] - [#79197]) ([recorder docs]) ([sensor docs]) +- Bump pyswitchbee to 1.5.3 ([@jafar-atili] - [#78583]) +- Allow fetching script config ([@balloob] - [#79131]) ([script docs]) +- Improve Life360 address attribute ([@pnbruckner] - [#76269]) ([life360 docs]) +- Move MQTT discovery hass.data globals to dataclass ([@jbouwh] - [#78706]) ([mqtt docs]) ([mqtt_room docs]) +- Add additional integration_type options for integration manifests ([@emontnemery] - [#79193]) ([air_quality docs]) ([analytics docs]) +- Fix spelling in switchbee ([@jafar-atili] - [#79195]) ([switchbee docs]) +- Add long term stats support to Withings sensors ([@ColinRobbins] - [#74829]) ([withings docs]) +- Use unit_conversion in unit_system utility ([@epenet] - [#79004]) +- Add daily energy consumption sensor for melcloud ([@vilppuvuorinen] - [#78682]) ([melcloud docs]) +- Bump pybravia to 0.2.3 ([@bieniu] - [#79200]) ([braviatv docs]) (dependency) +- Adjust docstring for SensorDeviceClass.WEIGHT ([@epenet] - [#79201]) ([sensor docs]) +- Use unit_conversion in components ([@epenet] - [#79204]) +- Add light platform for switchbee integration ([@jafar-atili] - [#78382]) ([switchbee docs]) (new-platform) +- Migrate MetOffice to new entity naming style ([@avee87] - [#74978]) ([metoffice docs]) +- Add missing error catch in Shelly reauth flow ([@bieniu] - [#79205]) ([shelly docs]) +- Make script entities register their own service ([@emontnemery] - [#79202]) ([script docs]) +- Add support for integrations v2 ([@emontnemery] - [#78801]) ([config docs]) +- Refactor duplicate code in switchbee ([@jafar-atili] - [#79209]) ([switchbee docs]) +- Rename Google Calendars to Google Calendar ([@allenporter] - [#79210]) ([google docs]) +- Update frontend to 20220928.0 ([@bramkragten] - [#79217]) ([frontend docs]) +- Shelly migrate to update entity ([@starkillerOG] - [#78305]) ([shelly docs]) (noteworthy) +- Update iBeacon UUID Major and Minor format for compatibility ([@dshokouhi] - [#79220]) ([ibeacon docs]) +- Deprecate conversion utilities ([@epenet] - [#78957]) (deprecation) +- Add ESPHome BleakClient ([@bdraco] - [#78911]) ([esphome docs]) ([bluetooth docs]) (noteworthy) +- Add configuration entities and device actions for Inovelli Blue Series switch to ZHA ([@dmulcahey] - [#79106]) ([zha docs]) +- Bump pyswitchbee to 1.5.5 ([@jafar-atili] - [#79206]) ([switchbee docs]) (dependency) +- Resolve traceback error when using variables in template triggers ([@ehendrix23] - [#77287]) ([template docs]) (beta fix) +- Allow entries with same user_key for Pushover ([@engrbm87] - [#77904]) ([pushover docs]) (beta fix) +- Bump zwave-js-server-python to 0.42.0 ([@raman325] - [#79020]) ([zwave_js docs]) (breaking-change) (beta fix) (dependency) +- Add to issue registry if user has mirrored entries for breaking in #67631 ([@HarvsG] - [#79208]) ([bayesian docs]) (beta fix) +- Bump yalexs to 1.2.4 ([@bdraco] - [#79222]) ([august docs]) (beta fix) (dependency) +- Finish Google brand ([@balloob] - [#79225]) ([nest docs]) (beta fix) +- Add fritz brand ([@balloob] - [#79226]) (beta fix) +- Add Apple brand ([@balloob] - [#79227]) (beta fix) +- Add Denon brand ([@balloob] - [#79230]) (beta fix) +- Add Cast + Chat to Google brand ([@balloob] - [#79231]) (beta fix) +- Add ubiquiti brand ([@balloob] - [#79232]) ([unifi_direct docs]) ([unifiled docs]) (beta fix) +- Update huisbaasje-client 0.1.0 to energyflip-client 0.2.0 ([@dennisschroer] - [#79233]) ([huisbaasje docs]) (beta fix) +- Add Leviton brand ([@balloob] - [#79244]) ([zwave_js docs]) (beta fix) +- Add DialogFlow to Google brand ([@balloob] - [#79245]) (beta fix) +- Wait for disconnect when we are out of connection ble slots in esphome ([@bdraco] - [#79246]) ([esphome docs]) (beta fix) +- Use SensorDeviceClass.VOLUME in components ([@epenet] - [#79253]) ([flo docs]) (beta fix) +- Use SensorDeviceClass.SPEED in rfxtrx ([@epenet] - [#79261]) ([rfxtrx docs]) (beta fix) +- Use SensorDeviceClass.SPEED in components ([@epenet] - [#79262]) ([netatmo docs]) (beta fix) +- Use SensorDeviceClass.SPEED in metoffice ([@epenet] - [#79263]) ([metoffice docs]) (beta fix) +- Use SensorDeviceClass.WEIGHT in components ([@epenet] - [#79277]) ([mysensors docs]) ([litterrobot docs]) ([bthome docs]) (beta fix) +- Use SensorDeviceClass.DISTANCE in components ([@epenet] - [#79285]) ([mysensors docs]) ([environment_canada docs]) ([opengarage docs]) ([metoffice docs]) ([buienradar docs]) ([starline docs]) ([wallbox docs]) (beta fix) +- Check if `new_version` is not empty string in Shelly update platform ([@bieniu] - [#79300]) ([shelly docs]) (beta fix) +- Add repair for missing Bayesian `prob_given_false` ([@HarvsG] - [#79303]) ([bayesian docs]) (beta fix) +- Use correct exception type for RainMachine select API error ([@bachya] - [#79309]) ([rainmachine docs]) (beta fix) +- Don't create Repairs issue on RainMachine entity replacement ([@bachya] - [#79310]) ([rainmachine docs]) (beta fix) +- Don't create Repairs issue on Guardian entity replacement ([@bachya] - [#79311]) ([guardian docs]) (beta fix) +- Update frontend to 20220929.0 ([@bramkragten] - [#79317]) ([frontend docs]) (beta fix) +- Store alternative domain for Zeroconf homekit discovery ([@balloob] - [#79240]) ([zeroconf docs]) (beta fix) +- Mask spotify content in owntone library ([@uvjustin] - [#79247]) ([forked_daapd docs]) (beta fix) +- Improve naming of units used in statistics ([@emontnemery] - [#79276]) ([recorder docs]) ([demo docs]) ([sensor docs]) (beta fix) +- Unregister Google sheets services during unload ([@tkdrob] - [#79314]) ([google_sheets docs]) (beta fix) +- Handle short local names from esphome proxies ([@bdraco] - [#79321]) ([esphome docs]) (beta fix) +- Use SensorDeviceClass.VOLUME in HomeWizard ([@DCSBL] - [#79323]) ([homewizard docs]) (beta fix) +- Switch to using new esphome bluetooth_proxy_version field ([@bdraco] - [#79331]) ([esphome docs]) (beta fix) +- Remove iBeacon devices that rotate their major,minor and mac ([@bdraco] - [#79338]) ([ibeacon docs]) (beta fix) +- Bump govee-ble to 0.19.1 to handle another H5181 ([@bdraco] - [#79340]) ([govee_ble docs]) (beta fix) (dependency) +- Add Third Reality to Zigbee Iot standards ([@zsarnett] - [#79341]) (beta fix) +- Adjust icons with new device classes ([@epenet] - [#79348]) ([mysensors docs]) ([litterrobot docs]) ([homewizard docs]) (beta fix) +- Make temperature conversions private ([@epenet] - [#79349]) ([prometheus docs]) ([mold_indicator docs]) ([openweathermap docs]) (beta fix) +- Realign util constants with 2022.9.7 ([@epenet] - [#79357]) (beta fix) +- Fjaraskupan stop on 0 percentage ([@elupus] - [#79367]) ([fjaraskupan docs]) (beta fix) +- Make Shelly update sensors disabled by default ([@thecode] - [#79376]) ([shelly docs]) (beta fix) +- Address Google Sheets PR feedback ([@allenporter] - [#78889]) ([google_sheets docs]) (beta fix) +- Powerview bump aiopvapi to 2.0.2 ([@kingy444] - [#79274]) ([hunterdouglas_powerview docs]) (beta fix) +- Enable delete device support for iBeacon ([@bdraco] - [#79339]) ([ibeacon docs]) (beta fix) +- Fix _attr_name issue in Yale Smart Alarm ([@gjohansson-ST] - [#79378]) ([yale_smart_alarm docs]) (beta fix) +- Improve robustness of linking homekit yaml to config entries ([@bdraco] - [#79386]) ([homekit docs]) (beta fix) +- Ensure bluetooth disconnect callback fires if esphome config entry is reloaded ([@bdraco] - [#79389]) ([esphome docs]) (beta fix) +- Fix onvif snapshot fallback ([@uvjustin] - [#79394]) ([onvif docs]) (beta fix) +- Do not use AQI device class for CAQI sensor in Airly integration ([@bieniu] - [#79402]) ([airly docs]) (beta fix) +- Fix unifiprotect test failing CI ([@thecode] - [#79406]) ([unifiprotect docs]) (beta fix) +- Fix low speed cover in Overkiz integration ([@iMicknl] - [#79416]) ([overkiz docs]) (beta fix) +- Bump aiowebostv to 0.2.1 ([@thecode] - [#79423]) ([webostv docs]) (beta fix) (dependency) +- vicare: Don't create unsupportedd button entites ([@oischinger] - [#79425]) ([vicare docs]) (beta fix) +- Fix mqtt reconnect fail when token expired ([@matrixd2] - [#79428]) ([yolink docs]) (beta fix) (dependency) +- Fix checking of upgrade API availability during setup of Synology DSM integration ([@mib1185] - [#79435]) ([synology_dsm docs]) (beta fix) +- Fix Netatmo scope issue with HA cloud ([@cgtobi] - [#79437]) ([netatmo docs]) (beta fix) +- Bump dbus-fast to 1.18.0 ([@bdraco] - [#79440]) ([bluetooth docs]) (beta fix) +- Bump bluetooth-adapters to 0.5.3 ([@bdraco] - [#79442]) ([bluetooth docs]) (beta fix) (dependency) +- Bump ibeacon-ble to 0.7.3 ([@bdraco] - [#79443]) ([ibeacon docs]) (beta fix) (dependency) +- Fix overkiz entity name ([@nyroDev] - [#79229]) ([overkiz docs]) (beta fix) +- Remove state_unit_of_measurement from metadata DB table ([@emontnemery] - [#79370]) ([recorder docs]) ([demo docs]) ([sensor docs]) ([tibber docs]) ([energy docs]) (beta fix) +- Update nest climate to avoid duplicate set mode commands ([@allenporter] - [#79445]) ([nest docs]) (beta fix) +- Skip parsing Flume sensors without location ([@hungnguyenm] - [#79456]) ([flume docs]) (beta fix) +- Add EVOLVEO Heat M30v2 TRV ([@zbeky] - [#79462]) ([zha docs]) (beta fix) +- Bump dbus-fast to 1.20.0 ([@bdraco] - [#79465]) ([bluetooth docs]) (beta fix) (dependency) +- Remove unnecessary config entity from ZHA ([@dmulcahey] - [#79472]) ([zha docs]) (beta fix) +- Fix LaCrosse View not updating ([@IceBotYT] - [#79474]) ([lacrosse_view docs]) (beta fix) +- Fix empty default ZHA configuration ([@TheJulianJES] - [#79475]) ([zha docs]) (beta fix) +- Fix missing string message in UniFi ([@Kane610] - [#79487]) ([unifi docs]) (beta fix) +- Update frontend to 20221002.0 ([@bramkragten] - [#79491]) ([frontend docs]) (beta fix) +- Set Synology DSM update entity to unavailable in case no data from api gathered ([@mib1185] - [#79508]) ([synology_dsm docs]) (beta fix) +- Remove deprecated update binary sensor from Synology DSM ([@mib1185] - [#79509]) ([synology_dsm docs]) (breaking-change) (beta fix) +- Bump bluetooth dependencies ([@bdraco] - [#79514]) ([bluetooth docs]) (beta fix) (dependency) +- Bump aioesphomeapi to 11.1.0 ([@jesserockz] - [#79515]) ([esphome docs]) (beta fix) (dependency) +- Add option to set a stun server for RTSPtoWebRTC ([@allenporter] - [#72574]) ([rtsp_to_webrtc docs]) (beta fix) +- Improve device_automation trigger validation ([@veleek] - [#75044]) ([device_automation docs]) (beta fix) +- Bumb velbusaio to 2022.10.1 ([@Cereal2nd] - [#79471]) ([velbus docs]) (beta fix) +- Align temperature conversion with other converters ([@epenet] - [#79521]) ([alexa docs]) (beta fix) +- Bump dbus-fast to 1.22.0 ([@bdraco] - [#79527]) (beta fix) +- Bump velbusaio to 2022.10.2 ([@Cereal2nd] - [#79537]) ([velbus docs]) (beta fix) (dependency) +- Update frontend to 20221003.0 ([@bramkragten] - [#79551]) ([frontend docs]) (beta fix) +- Fix preserving long term statistics when entity_id is changed ([@emontnemery] - [#79556]) ([recorder docs]) (beta fix) +- Remove call to deprecated bleak register_detection_callback ([@bdraco] - [#79558]) ([bluetooth docs]) (beta fix) +- Remove repairs issue per PR review request ([@natekspencer] - [#79561]) ([litterrobot docs]) (beta fix) +- Netatmo bump pyatmo to 7.1.0 ([@cgtobi] - [#79562]) ([netatmo docs]) (beta fix) +- Bump ZHA dependencies ([@puddly] - [#79565]) ([zha docs]) (beta fix) (dependency) +- Bump zwave_js lib to 0.43.0 and fix multi-file firmware updates ([@raman325] - [#79342]) ([zwave_js docs]) (breaking-change) (beta fix) +- Address late review of ViCare ([@oischinger] - [#79458]) ([vicare docs]) (beta fix) +- Bump dbus-fast to 1.23.0 ([@bdraco] - [#79570]) ([bluetooth docs]) (beta fix) (dependency) +- Set zwave_js climate entity target temp attributes based on current mode ([@kpine] - [#79575]) ([zwave_js docs]) (beta fix) +- Collect all brands ([@frenck] - [#79579]) (beta fix) +- Add docstring to US volume constants ([@epenet] - [#79582]) (beta fix) +- Set system & entity integration types ([@frenck] - [#79593]) (beta fix) +- Add a couple more brands ([@balloob] - [#79600]) (beta fix) +- Update frontend to 20221004.0 ([@bramkragten] - [#79602]) ([frontend docs]) (beta fix) +- Netatmo add supported brands ([@cgtobi] - [#79563]) ([netatmo docs]) (beta fix) +- Add supported brands for switchbee ([@jafar-atili] - [#79595]) ([switchbee docs]) (beta fix) +- Bump dbus-fast to 1.24.0 ([@bdraco] - [#79608]) ([bluetooth docs]) (beta fix) (dependency) +- Handle state is None in InfluxDB ([@mdegat01] - [#79609]) ([influxdb docs]) (beta fix) +- Supervisor update entity auto update from api ([@mdegat01] - [#79611]) ([hassio docs]) (beta fix) +- Bump UniFi dependency to v37 ([@Kane610] - [#79617]) ([unifi docs]) (beta fix) (dependency) +- Bump ZHA dependencies ([@puddly] - [#79623]) (beta fix) (dependency) +- Allow picking multiple entity targets for zwave_js.refresh_value service ([@kpine] - [#79634]) ([zwave_js docs]) (beta fix) +- Fix search throwing on templated services ([@emontnemery] - [#79637]) ([search docs]) (beta fix) +- Enhanced switchbee device naming ([@jafar-atili] - [#79641]) ([switchbee docs]) (beta fix) +- Normalize to kWh when handling WS energy/fossil_energy_consumption ([@emontnemery] - [#79649]) ([energy docs]) (beta fix) +- Update frontend to 20221005.0 ([@bramkragten] - [#79656]) ([frontend docs]) (beta fix) + +[#50913]: https://github.com/home-assistant/core/pull/50913 +[#59989]: https://github.com/home-assistant/core/pull/59989 +[#60677]: https://github.com/home-assistant/core/pull/60677 +[#64809]: https://github.com/home-assistant/core/pull/64809 +[#66438]: https://github.com/home-assistant/core/pull/66438 +[#67631]: https://github.com/home-assistant/core/pull/67631 +[#69269]: https://github.com/home-assistant/core/pull/69269 +[#70201]: https://github.com/home-assistant/core/pull/70201 +[#71617]: https://github.com/home-assistant/core/pull/71617 +[#72171]: https://github.com/home-assistant/core/pull/72171 +[#72574]: https://github.com/home-assistant/core/pull/72574 +[#73592]: https://github.com/home-assistant/core/pull/73592 +[#74015]: https://github.com/home-assistant/core/pull/74015 +[#74181]: https://github.com/home-assistant/core/pull/74181 +[#74300]: https://github.com/home-assistant/core/pull/74300 +[#74406]: https://github.com/home-assistant/core/pull/74406 +[#74437]: https://github.com/home-assistant/core/pull/74437 +[#74825]: https://github.com/home-assistant/core/pull/74825 +[#74829]: https://github.com/home-assistant/core/pull/74829 +[#74927]: https://github.com/home-assistant/core/pull/74927 +[#74978]: https://github.com/home-assistant/core/pull/74978 +[#74979]: https://github.com/home-assistant/core/pull/74979 +[#75034]: https://github.com/home-assistant/core/pull/75034 +[#75044]: https://github.com/home-assistant/core/pull/75044 +[#75105]: https://github.com/home-assistant/core/pull/75105 +[#75208]: https://github.com/home-assistant/core/pull/75208 +[#75283]: https://github.com/home-assistant/core/pull/75283 +[#75694]: https://github.com/home-assistant/core/pull/75694 +[#76269]: https://github.com/home-assistant/core/pull/76269 +[#76478]: https://github.com/home-assistant/core/pull/76478 +[#76484]: https://github.com/home-assistant/core/pull/76484 +[#76499]: https://github.com/home-assistant/core/pull/76499 +[#76575]: https://github.com/home-assistant/core/pull/76575 +[#76589]: https://github.com/home-assistant/core/pull/76589 +[#76610]: https://github.com/home-assistant/core/pull/76610 +[#76687]: https://github.com/home-assistant/core/pull/76687 +[#76688]: https://github.com/home-assistant/core/pull/76688 +[#76690]: https://github.com/home-assistant/core/pull/76690 +[#76694]: https://github.com/home-assistant/core/pull/76694 +[#76793]: https://github.com/home-assistant/core/pull/76793 +[#76878]: https://github.com/home-assistant/core/pull/76878 +[#77140]: https://github.com/home-assistant/core/pull/77140 +[#77287]: https://github.com/home-assistant/core/pull/77287 +[#77302]: https://github.com/home-assistant/core/pull/77302 +[#77328]: https://github.com/home-assistant/core/pull/77328 +[#77386]: https://github.com/home-assistant/core/pull/77386 +[#77434]: https://github.com/home-assistant/core/pull/77434 +[#77439]: https://github.com/home-assistant/core/pull/77439 +[#77461]: https://github.com/home-assistant/core/pull/77461 +[#77488]: https://github.com/home-assistant/core/pull/77488 +[#77508]: https://github.com/home-assistant/core/pull/77508 +[#77546]: https://github.com/home-assistant/core/pull/77546 +[#77576]: https://github.com/home-assistant/core/pull/77576 +[#77581]: https://github.com/home-assistant/core/pull/77581 +[#77584]: https://github.com/home-assistant/core/pull/77584 +[#77585]: https://github.com/home-assistant/core/pull/77585 +[#77586]: https://github.com/home-assistant/core/pull/77586 +[#77587]: https://github.com/home-assistant/core/pull/77587 +[#77588]: https://github.com/home-assistant/core/pull/77588 +[#77590]: https://github.com/home-assistant/core/pull/77590 +[#77592]: https://github.com/home-assistant/core/pull/77592 +[#77594]: https://github.com/home-assistant/core/pull/77594 +[#77596]: https://github.com/home-assistant/core/pull/77596 +[#77606]: https://github.com/home-assistant/core/pull/77606 +[#77633]: https://github.com/home-assistant/core/pull/77633 +[#77635]: https://github.com/home-assistant/core/pull/77635 +[#77640]: https://github.com/home-assistant/core/pull/77640 +[#77643]: https://github.com/home-assistant/core/pull/77643 +[#77644]: https://github.com/home-assistant/core/pull/77644 +[#77647]: https://github.com/home-assistant/core/pull/77647 +[#77648]: https://github.com/home-assistant/core/pull/77648 +[#77649]: https://github.com/home-assistant/core/pull/77649 +[#77650]: https://github.com/home-assistant/core/pull/77650 +[#77652]: https://github.com/home-assistant/core/pull/77652 +[#77653]: https://github.com/home-assistant/core/pull/77653 +[#77655]: https://github.com/home-assistant/core/pull/77655 +[#77656]: https://github.com/home-assistant/core/pull/77656 +[#77657]: https://github.com/home-assistant/core/pull/77657 +[#77659]: https://github.com/home-assistant/core/pull/77659 +[#77660]: https://github.com/home-assistant/core/pull/77660 +[#77663]: https://github.com/home-assistant/core/pull/77663 +[#77665]: https://github.com/home-assistant/core/pull/77665 +[#77666]: https://github.com/home-assistant/core/pull/77666 +[#77669]: https://github.com/home-assistant/core/pull/77669 +[#77674]: https://github.com/home-assistant/core/pull/77674 +[#77676]: https://github.com/home-assistant/core/pull/77676 +[#77692]: https://github.com/home-assistant/core/pull/77692 +[#77695]: https://github.com/home-assistant/core/pull/77695 +[#77696]: https://github.com/home-assistant/core/pull/77696 +[#77700]: https://github.com/home-assistant/core/pull/77700 +[#77703]: https://github.com/home-assistant/core/pull/77703 +[#77713]: https://github.com/home-assistant/core/pull/77713 +[#77714]: https://github.com/home-assistant/core/pull/77714 +[#77715]: https://github.com/home-assistant/core/pull/77715 +[#77716]: https://github.com/home-assistant/core/pull/77716 +[#77740]: https://github.com/home-assistant/core/pull/77740 +[#77741]: https://github.com/home-assistant/core/pull/77741 +[#77744]: https://github.com/home-assistant/core/pull/77744 +[#77750]: https://github.com/home-assistant/core/pull/77750 +[#77751]: https://github.com/home-assistant/core/pull/77751 +[#77772]: https://github.com/home-assistant/core/pull/77772 +[#77778]: https://github.com/home-assistant/core/pull/77778 +[#77780]: https://github.com/home-assistant/core/pull/77780 +[#77781]: https://github.com/home-assistant/core/pull/77781 +[#77782]: https://github.com/home-assistant/core/pull/77782 +[#77794]: https://github.com/home-assistant/core/pull/77794 +[#77803]: https://github.com/home-assistant/core/pull/77803 +[#77809]: https://github.com/home-assistant/core/pull/77809 +[#77811]: https://github.com/home-assistant/core/pull/77811 +[#77814]: https://github.com/home-assistant/core/pull/77814 +[#77816]: https://github.com/home-assistant/core/pull/77816 +[#77817]: https://github.com/home-assistant/core/pull/77817 +[#77818]: https://github.com/home-assistant/core/pull/77818 +[#77822]: https://github.com/home-assistant/core/pull/77822 +[#77824]: https://github.com/home-assistant/core/pull/77824 +[#77825]: https://github.com/home-assistant/core/pull/77825 +[#77826]: https://github.com/home-assistant/core/pull/77826 +[#77828]: https://github.com/home-assistant/core/pull/77828 +[#77829]: https://github.com/home-assistant/core/pull/77829 +[#77833]: https://github.com/home-assistant/core/pull/77833 +[#77836]: https://github.com/home-assistant/core/pull/77836 +[#77838]: https://github.com/home-assistant/core/pull/77838 +[#77841]: https://github.com/home-assistant/core/pull/77841 +[#77842]: https://github.com/home-assistant/core/pull/77842 +[#77847]: https://github.com/home-assistant/core/pull/77847 +[#77848]: https://github.com/home-assistant/core/pull/77848 +[#77853]: https://github.com/home-assistant/core/pull/77853 +[#77871]: https://github.com/home-assistant/core/pull/77871 +[#77872]: https://github.com/home-assistant/core/pull/77872 +[#77874]: https://github.com/home-assistant/core/pull/77874 +[#77875]: https://github.com/home-assistant/core/pull/77875 +[#77878]: https://github.com/home-assistant/core/pull/77878 +[#77879]: https://github.com/home-assistant/core/pull/77879 +[#77880]: https://github.com/home-assistant/core/pull/77880 +[#77881]: https://github.com/home-assistant/core/pull/77881 +[#77882]: https://github.com/home-assistant/core/pull/77882 +[#77883]: https://github.com/home-assistant/core/pull/77883 +[#77884]: https://github.com/home-assistant/core/pull/77884 +[#77885]: https://github.com/home-assistant/core/pull/77885 +[#77886]: https://github.com/home-assistant/core/pull/77886 +[#77887]: https://github.com/home-assistant/core/pull/77887 +[#77888]: https://github.com/home-assistant/core/pull/77888 +[#77889]: https://github.com/home-assistant/core/pull/77889 +[#77890]: https://github.com/home-assistant/core/pull/77890 +[#77894]: https://github.com/home-assistant/core/pull/77894 +[#77895]: https://github.com/home-assistant/core/pull/77895 +[#77897]: https://github.com/home-assistant/core/pull/77897 +[#77899]: https://github.com/home-assistant/core/pull/77899 +[#77900]: https://github.com/home-assistant/core/pull/77900 +[#77901]: https://github.com/home-assistant/core/pull/77901 +[#77902]: https://github.com/home-assistant/core/pull/77902 +[#77903]: https://github.com/home-assistant/core/pull/77903 +[#77904]: https://github.com/home-assistant/core/pull/77904 +[#77908]: https://github.com/home-assistant/core/pull/77908 +[#77919]: https://github.com/home-assistant/core/pull/77919 +[#77921]: https://github.com/home-assistant/core/pull/77921 +[#77930]: https://github.com/home-assistant/core/pull/77930 +[#77932]: https://github.com/home-assistant/core/pull/77932 +[#77937]: https://github.com/home-assistant/core/pull/77937 +[#77939]: https://github.com/home-assistant/core/pull/77939 +[#77940]: https://github.com/home-assistant/core/pull/77940 +[#77941]: https://github.com/home-assistant/core/pull/77941 +[#77943]: https://github.com/home-assistant/core/pull/77943 +[#77944]: https://github.com/home-assistant/core/pull/77944 +[#77946]: https://github.com/home-assistant/core/pull/77946 +[#77948]: https://github.com/home-assistant/core/pull/77948 +[#77949]: https://github.com/home-assistant/core/pull/77949 +[#77951]: https://github.com/home-assistant/core/pull/77951 +[#77952]: https://github.com/home-assistant/core/pull/77952 +[#77953]: https://github.com/home-assistant/core/pull/77953 +[#77959]: https://github.com/home-assistant/core/pull/77959 +[#77960]: https://github.com/home-assistant/core/pull/77960 +[#77969]: https://github.com/home-assistant/core/pull/77969 +[#77974]: https://github.com/home-assistant/core/pull/77974 +[#78011]: https://github.com/home-assistant/core/pull/78011 +[#78013]: https://github.com/home-assistant/core/pull/78013 +[#78014]: https://github.com/home-assistant/core/pull/78014 +[#78018]: https://github.com/home-assistant/core/pull/78018 +[#78020]: https://github.com/home-assistant/core/pull/78020 +[#78021]: https://github.com/home-assistant/core/pull/78021 +[#78022]: https://github.com/home-assistant/core/pull/78022 +[#78031]: https://github.com/home-assistant/core/pull/78031 +[#78032]: https://github.com/home-assistant/core/pull/78032 +[#78033]: https://github.com/home-assistant/core/pull/78033 +[#78037]: https://github.com/home-assistant/core/pull/78037 +[#78045]: https://github.com/home-assistant/core/pull/78045 +[#78049]: https://github.com/home-assistant/core/pull/78049 +[#78054]: https://github.com/home-assistant/core/pull/78054 +[#78056]: https://github.com/home-assistant/core/pull/78056 +[#78057]: https://github.com/home-assistant/core/pull/78057 +[#78058]: https://github.com/home-assistant/core/pull/78058 +[#78062]: https://github.com/home-assistant/core/pull/78062 +[#78064]: https://github.com/home-assistant/core/pull/78064 +[#78067]: https://github.com/home-assistant/core/pull/78067 +[#78068]: https://github.com/home-assistant/core/pull/78068 +[#78072]: https://github.com/home-assistant/core/pull/78072 +[#78078]: https://github.com/home-assistant/core/pull/78078 +[#78088]: https://github.com/home-assistant/core/pull/78088 +[#78093]: https://github.com/home-assistant/core/pull/78093 +[#78096]: https://github.com/home-assistant/core/pull/78096 +[#78098]: https://github.com/home-assistant/core/pull/78098 +[#78099]: https://github.com/home-assistant/core/pull/78099 +[#78100]: https://github.com/home-assistant/core/pull/78100 +[#78101]: https://github.com/home-assistant/core/pull/78101 +[#78103]: https://github.com/home-assistant/core/pull/78103 +[#78104]: https://github.com/home-assistant/core/pull/78104 +[#78105]: https://github.com/home-assistant/core/pull/78105 +[#78106]: https://github.com/home-assistant/core/pull/78106 +[#78108]: https://github.com/home-assistant/core/pull/78108 +[#78109]: https://github.com/home-assistant/core/pull/78109 +[#78110]: https://github.com/home-assistant/core/pull/78110 +[#78112]: https://github.com/home-assistant/core/pull/78112 +[#78114]: https://github.com/home-assistant/core/pull/78114 +[#78126]: https://github.com/home-assistant/core/pull/78126 +[#78144]: https://github.com/home-assistant/core/pull/78144 +[#78145]: https://github.com/home-assistant/core/pull/78145 +[#78151]: https://github.com/home-assistant/core/pull/78151 +[#78154]: https://github.com/home-assistant/core/pull/78154 +[#78177]: https://github.com/home-assistant/core/pull/78177 +[#78178]: https://github.com/home-assistant/core/pull/78178 +[#78184]: https://github.com/home-assistant/core/pull/78184 +[#78209]: https://github.com/home-assistant/core/pull/78209 +[#78216]: https://github.com/home-assistant/core/pull/78216 +[#78219]: https://github.com/home-assistant/core/pull/78219 +[#78236]: https://github.com/home-assistant/core/pull/78236 +[#78237]: https://github.com/home-assistant/core/pull/78237 +[#78238]: https://github.com/home-assistant/core/pull/78238 +[#78240]: https://github.com/home-assistant/core/pull/78240 +[#78242]: https://github.com/home-assistant/core/pull/78242 +[#78243]: https://github.com/home-assistant/core/pull/78243 +[#78244]: https://github.com/home-assistant/core/pull/78244 +[#78246]: https://github.com/home-assistant/core/pull/78246 +[#78247]: https://github.com/home-assistant/core/pull/78247 +[#78248]: https://github.com/home-assistant/core/pull/78248 +[#78249]: https://github.com/home-assistant/core/pull/78249 +[#78250]: https://github.com/home-assistant/core/pull/78250 +[#78251]: https://github.com/home-assistant/core/pull/78251 +[#78254]: https://github.com/home-assistant/core/pull/78254 +[#78257]: https://github.com/home-assistant/core/pull/78257 +[#78264]: https://github.com/home-assistant/core/pull/78264 +[#78265]: https://github.com/home-assistant/core/pull/78265 +[#78266]: https://github.com/home-assistant/core/pull/78266 +[#78267]: https://github.com/home-assistant/core/pull/78267 +[#78268]: https://github.com/home-assistant/core/pull/78268 +[#78269]: https://github.com/home-assistant/core/pull/78269 +[#78271]: https://github.com/home-assistant/core/pull/78271 +[#78272]: https://github.com/home-assistant/core/pull/78272 +[#78273]: https://github.com/home-assistant/core/pull/78273 +[#78274]: https://github.com/home-assistant/core/pull/78274 +[#78275]: https://github.com/home-assistant/core/pull/78275 +[#78276]: https://github.com/home-assistant/core/pull/78276 +[#78277]: https://github.com/home-assistant/core/pull/78277 +[#78278]: https://github.com/home-assistant/core/pull/78278 +[#78279]: https://github.com/home-assistant/core/pull/78279 +[#78282]: https://github.com/home-assistant/core/pull/78282 +[#78284]: https://github.com/home-assistant/core/pull/78284 +[#78285]: https://github.com/home-assistant/core/pull/78285 +[#78287]: https://github.com/home-assistant/core/pull/78287 +[#78292]: https://github.com/home-assistant/core/pull/78292 +[#78294]: https://github.com/home-assistant/core/pull/78294 +[#78295]: https://github.com/home-assistant/core/pull/78295 +[#78298]: https://github.com/home-assistant/core/pull/78298 +[#78300]: https://github.com/home-assistant/core/pull/78300 +[#78302]: https://github.com/home-assistant/core/pull/78302 +[#78303]: https://github.com/home-assistant/core/pull/78303 +[#78305]: https://github.com/home-assistant/core/pull/78305 +[#78313]: https://github.com/home-assistant/core/pull/78313 +[#78324]: https://github.com/home-assistant/core/pull/78324 +[#78331]: https://github.com/home-assistant/core/pull/78331 +[#78342]: https://github.com/home-assistant/core/pull/78342 +[#78343]: https://github.com/home-assistant/core/pull/78343 +[#78345]: https://github.com/home-assistant/core/pull/78345 +[#78346]: https://github.com/home-assistant/core/pull/78346 +[#78347]: https://github.com/home-assistant/core/pull/78347 +[#78348]: https://github.com/home-assistant/core/pull/78348 +[#78349]: https://github.com/home-assistant/core/pull/78349 +[#78350]: https://github.com/home-assistant/core/pull/78350 +[#78351]: https://github.com/home-assistant/core/pull/78351 +[#78352]: https://github.com/home-assistant/core/pull/78352 +[#78353]: https://github.com/home-assistant/core/pull/78353 +[#78364]: https://github.com/home-assistant/core/pull/78364 +[#78366]: https://github.com/home-assistant/core/pull/78366 +[#78368]: https://github.com/home-assistant/core/pull/78368 +[#78382]: https://github.com/home-assistant/core/pull/78382 +[#78386]: https://github.com/home-assistant/core/pull/78386 +[#78390]: https://github.com/home-assistant/core/pull/78390 +[#78393]: https://github.com/home-assistant/core/pull/78393 +[#78394]: https://github.com/home-assistant/core/pull/78394 +[#78395]: https://github.com/home-assistant/core/pull/78395 +[#78397]: https://github.com/home-assistant/core/pull/78397 +[#78408]: https://github.com/home-assistant/core/pull/78408 +[#78412]: https://github.com/home-assistant/core/pull/78412 +[#78426]: https://github.com/home-assistant/core/pull/78426 +[#78427]: https://github.com/home-assistant/core/pull/78427 +[#78430]: https://github.com/home-assistant/core/pull/78430 +[#78432]: https://github.com/home-assistant/core/pull/78432 +[#78433]: https://github.com/home-assistant/core/pull/78433 +[#78440]: https://github.com/home-assistant/core/pull/78440 +[#78441]: https://github.com/home-assistant/core/pull/78441 +[#78443]: https://github.com/home-assistant/core/pull/78443 +[#78445]: https://github.com/home-assistant/core/pull/78445 +[#78446]: https://github.com/home-assistant/core/pull/78446 +[#78447]: https://github.com/home-assistant/core/pull/78447 +[#78451]: https://github.com/home-assistant/core/pull/78451 +[#78453]: https://github.com/home-assistant/core/pull/78453 +[#78455]: https://github.com/home-assistant/core/pull/78455 +[#78457]: https://github.com/home-assistant/core/pull/78457 +[#78458]: https://github.com/home-assistant/core/pull/78458 +[#78460]: https://github.com/home-assistant/core/pull/78460 +[#78461]: https://github.com/home-assistant/core/pull/78461 +[#78462]: https://github.com/home-assistant/core/pull/78462 +[#78463]: https://github.com/home-assistant/core/pull/78463 +[#78469]: https://github.com/home-assistant/core/pull/78469 +[#78471]: https://github.com/home-assistant/core/pull/78471 +[#78472]: https://github.com/home-assistant/core/pull/78472 +[#78473]: https://github.com/home-assistant/core/pull/78473 +[#78479]: https://github.com/home-assistant/core/pull/78479 +[#78484]: https://github.com/home-assistant/core/pull/78484 +[#78487]: https://github.com/home-assistant/core/pull/78487 +[#78490]: https://github.com/home-assistant/core/pull/78490 +[#78491]: https://github.com/home-assistant/core/pull/78491 +[#78492]: https://github.com/home-assistant/core/pull/78492 +[#78493]: https://github.com/home-assistant/core/pull/78493 +[#78494]: https://github.com/home-assistant/core/pull/78494 +[#78496]: https://github.com/home-assistant/core/pull/78496 +[#78497]: https://github.com/home-assistant/core/pull/78497 +[#78498]: https://github.com/home-assistant/core/pull/78498 +[#78499]: https://github.com/home-assistant/core/pull/78499 +[#78500]: https://github.com/home-assistant/core/pull/78500 +[#78501]: https://github.com/home-assistant/core/pull/78501 +[#78502]: https://github.com/home-assistant/core/pull/78502 +[#78503]: https://github.com/home-assistant/core/pull/78503 +[#78506]: https://github.com/home-assistant/core/pull/78506 +[#78507]: https://github.com/home-assistant/core/pull/78507 +[#78509]: https://github.com/home-assistant/core/pull/78509 +[#78510]: https://github.com/home-assistant/core/pull/78510 +[#78513]: https://github.com/home-assistant/core/pull/78513 +[#78517]: https://github.com/home-assistant/core/pull/78517 +[#78518]: https://github.com/home-assistant/core/pull/78518 +[#78519]: https://github.com/home-assistant/core/pull/78519 +[#78520]: https://github.com/home-assistant/core/pull/78520 +[#78521]: https://github.com/home-assistant/core/pull/78521 +[#78522]: https://github.com/home-assistant/core/pull/78522 +[#78523]: https://github.com/home-assistant/core/pull/78523 +[#78524]: https://github.com/home-assistant/core/pull/78524 +[#78525]: https://github.com/home-assistant/core/pull/78525 +[#78527]: https://github.com/home-assistant/core/pull/78527 +[#78529]: https://github.com/home-assistant/core/pull/78529 +[#78538]: https://github.com/home-assistant/core/pull/78538 +[#78542]: https://github.com/home-assistant/core/pull/78542 +[#78545]: https://github.com/home-assistant/core/pull/78545 +[#78550]: https://github.com/home-assistant/core/pull/78550 +[#78571]: https://github.com/home-assistant/core/pull/78571 +[#78573]: https://github.com/home-assistant/core/pull/78573 +[#78575]: https://github.com/home-assistant/core/pull/78575 +[#78578]: https://github.com/home-assistant/core/pull/78578 +[#78580]: https://github.com/home-assistant/core/pull/78580 +[#78583]: https://github.com/home-assistant/core/pull/78583 +[#78584]: https://github.com/home-assistant/core/pull/78584 +[#78585]: https://github.com/home-assistant/core/pull/78585 +[#78590]: https://github.com/home-assistant/core/pull/78590 +[#78602]: https://github.com/home-assistant/core/pull/78602 +[#78606]: https://github.com/home-assistant/core/pull/78606 +[#78607]: https://github.com/home-assistant/core/pull/78607 +[#78608]: https://github.com/home-assistant/core/pull/78608 +[#78609]: https://github.com/home-assistant/core/pull/78609 +[#78611]: https://github.com/home-assistant/core/pull/78611 +[#78612]: https://github.com/home-assistant/core/pull/78612 +[#78616]: https://github.com/home-assistant/core/pull/78616 +[#78624]: https://github.com/home-assistant/core/pull/78624 +[#78632]: https://github.com/home-assistant/core/pull/78632 +[#78636]: https://github.com/home-assistant/core/pull/78636 +[#78638]: https://github.com/home-assistant/core/pull/78638 +[#78639]: https://github.com/home-assistant/core/pull/78639 +[#78641]: https://github.com/home-assistant/core/pull/78641 +[#78642]: https://github.com/home-assistant/core/pull/78642 +[#78645]: https://github.com/home-assistant/core/pull/78645 +[#78649]: https://github.com/home-assistant/core/pull/78649 +[#78652]: https://github.com/home-assistant/core/pull/78652 +[#78653]: https://github.com/home-assistant/core/pull/78653 +[#78661]: https://github.com/home-assistant/core/pull/78661 +[#78662]: https://github.com/home-assistant/core/pull/78662 +[#78663]: https://github.com/home-assistant/core/pull/78663 +[#78664]: https://github.com/home-assistant/core/pull/78664 +[#78666]: https://github.com/home-assistant/core/pull/78666 +[#78668]: https://github.com/home-assistant/core/pull/78668 +[#78670]: https://github.com/home-assistant/core/pull/78670 +[#78671]: https://github.com/home-assistant/core/pull/78671 +[#78679]: https://github.com/home-assistant/core/pull/78679 +[#78682]: https://github.com/home-assistant/core/pull/78682 +[#78690]: https://github.com/home-assistant/core/pull/78690 +[#78691]: https://github.com/home-assistant/core/pull/78691 +[#78694]: https://github.com/home-assistant/core/pull/78694 +[#78699]: https://github.com/home-assistant/core/pull/78699 +[#78700]: https://github.com/home-assistant/core/pull/78700 +[#78706]: https://github.com/home-assistant/core/pull/78706 +[#78708]: https://github.com/home-assistant/core/pull/78708 +[#78709]: https://github.com/home-assistant/core/pull/78709 +[#78710]: https://github.com/home-assistant/core/pull/78710 +[#78720]: https://github.com/home-assistant/core/pull/78720 +[#78722]: https://github.com/home-assistant/core/pull/78722 +[#78727]: https://github.com/home-assistant/core/pull/78727 +[#78728]: https://github.com/home-assistant/core/pull/78728 +[#78730]: https://github.com/home-assistant/core/pull/78730 +[#78731]: https://github.com/home-assistant/core/pull/78731 +[#78732]: https://github.com/home-assistant/core/pull/78732 +[#78733]: https://github.com/home-assistant/core/pull/78733 +[#78734]: https://github.com/home-assistant/core/pull/78734 +[#78736]: https://github.com/home-assistant/core/pull/78736 +[#78741]: https://github.com/home-assistant/core/pull/78741 +[#78742]: https://github.com/home-assistant/core/pull/78742 +[#78743]: https://github.com/home-assistant/core/pull/78743 +[#78745]: https://github.com/home-assistant/core/pull/78745 +[#78752]: https://github.com/home-assistant/core/pull/78752 +[#78754]: https://github.com/home-assistant/core/pull/78754 +[#78756]: https://github.com/home-assistant/core/pull/78756 +[#78757]: https://github.com/home-assistant/core/pull/78757 +[#78759]: https://github.com/home-assistant/core/pull/78759 +[#78761]: https://github.com/home-assistant/core/pull/78761 +[#78763]: https://github.com/home-assistant/core/pull/78763 +[#78764]: https://github.com/home-assistant/core/pull/78764 +[#78765]: https://github.com/home-assistant/core/pull/78765 +[#78766]: https://github.com/home-assistant/core/pull/78766 +[#78767]: https://github.com/home-assistant/core/pull/78767 +[#78768]: https://github.com/home-assistant/core/pull/78768 +[#78769]: https://github.com/home-assistant/core/pull/78769 +[#78770]: https://github.com/home-assistant/core/pull/78770 +[#78771]: https://github.com/home-assistant/core/pull/78771 +[#78772]: https://github.com/home-assistant/core/pull/78772 +[#78776]: https://github.com/home-assistant/core/pull/78776 +[#78785]: https://github.com/home-assistant/core/pull/78785 +[#78786]: https://github.com/home-assistant/core/pull/78786 +[#78788]: https://github.com/home-assistant/core/pull/78788 +[#78794]: https://github.com/home-assistant/core/pull/78794 +[#78795]: https://github.com/home-assistant/core/pull/78795 +[#78800]: https://github.com/home-assistant/core/pull/78800 +[#78801]: https://github.com/home-assistant/core/pull/78801 +[#78807]: https://github.com/home-assistant/core/pull/78807 +[#78808]: https://github.com/home-assistant/core/pull/78808 +[#78809]: https://github.com/home-assistant/core/pull/78809 +[#78810]: https://github.com/home-assistant/core/pull/78810 +[#78811]: https://github.com/home-assistant/core/pull/78811 +[#78812]: https://github.com/home-assistant/core/pull/78812 +[#78813]: https://github.com/home-assistant/core/pull/78813 +[#78817]: https://github.com/home-assistant/core/pull/78817 +[#78819]: https://github.com/home-assistant/core/pull/78819 +[#78825]: https://github.com/home-assistant/core/pull/78825 +[#78828]: https://github.com/home-assistant/core/pull/78828 +[#78832]: https://github.com/home-assistant/core/pull/78832 +[#78837]: https://github.com/home-assistant/core/pull/78837 +[#78840]: https://github.com/home-assistant/core/pull/78840 +[#78841]: https://github.com/home-assistant/core/pull/78841 +[#78842]: https://github.com/home-assistant/core/pull/78842 +[#78843]: https://github.com/home-assistant/core/pull/78843 +[#78844]: https://github.com/home-assistant/core/pull/78844 +[#78848]: https://github.com/home-assistant/core/pull/78848 +[#78857]: https://github.com/home-assistant/core/pull/78857 +[#78859]: https://github.com/home-assistant/core/pull/78859 +[#78861]: https://github.com/home-assistant/core/pull/78861 +[#78864]: https://github.com/home-assistant/core/pull/78864 +[#78866]: https://github.com/home-assistant/core/pull/78866 +[#78867]: https://github.com/home-assistant/core/pull/78867 +[#78869]: https://github.com/home-assistant/core/pull/78869 +[#78870]: https://github.com/home-assistant/core/pull/78870 +[#78871]: https://github.com/home-assistant/core/pull/78871 +[#78873]: https://github.com/home-assistant/core/pull/78873 +[#78877]: https://github.com/home-assistant/core/pull/78877 +[#78878]: https://github.com/home-assistant/core/pull/78878 +[#78879]: https://github.com/home-assistant/core/pull/78879 +[#78881]: https://github.com/home-assistant/core/pull/78881 +[#78883]: https://github.com/home-assistant/core/pull/78883 +[#78888]: https://github.com/home-assistant/core/pull/78888 +[#78889]: https://github.com/home-assistant/core/pull/78889 +[#78891]: https://github.com/home-assistant/core/pull/78891 +[#78893]: https://github.com/home-assistant/core/pull/78893 +[#78898]: https://github.com/home-assistant/core/pull/78898 +[#78900]: https://github.com/home-assistant/core/pull/78900 +[#78901]: https://github.com/home-assistant/core/pull/78901 +[#78906]: https://github.com/home-assistant/core/pull/78906 +[#78911]: https://github.com/home-assistant/core/pull/78911 +[#78914]: https://github.com/home-assistant/core/pull/78914 +[#78915]: https://github.com/home-assistant/core/pull/78915 +[#78918]: https://github.com/home-assistant/core/pull/78918 +[#78920]: https://github.com/home-assistant/core/pull/78920 +[#78922]: https://github.com/home-assistant/core/pull/78922 +[#78924]: https://github.com/home-assistant/core/pull/78924 +[#78927]: https://github.com/home-assistant/core/pull/78927 +[#78929]: https://github.com/home-assistant/core/pull/78929 +[#78931]: https://github.com/home-assistant/core/pull/78931 +[#78934]: https://github.com/home-assistant/core/pull/78934 +[#78935]: https://github.com/home-assistant/core/pull/78935 +[#78941]: https://github.com/home-assistant/core/pull/78941 +[#78942]: https://github.com/home-assistant/core/pull/78942 +[#78943]: https://github.com/home-assistant/core/pull/78943 +[#78945]: https://github.com/home-assistant/core/pull/78945 +[#78947]: https://github.com/home-assistant/core/pull/78947 +[#78950]: https://github.com/home-assistant/core/pull/78950 +[#78953]: https://github.com/home-assistant/core/pull/78953 +[#78955]: https://github.com/home-assistant/core/pull/78955 +[#78957]: https://github.com/home-assistant/core/pull/78957 +[#78960]: https://github.com/home-assistant/core/pull/78960 +[#78961]: https://github.com/home-assistant/core/pull/78961 +[#78965]: https://github.com/home-assistant/core/pull/78965 +[#78966]: https://github.com/home-assistant/core/pull/78966 +[#78967]: https://github.com/home-assistant/core/pull/78967 +[#78970]: https://github.com/home-assistant/core/pull/78970 +[#78974]: https://github.com/home-assistant/core/pull/78974 +[#78976]: https://github.com/home-assistant/core/pull/78976 +[#78977]: https://github.com/home-assistant/core/pull/78977 +[#78983]: https://github.com/home-assistant/core/pull/78983 +[#78985]: https://github.com/home-assistant/core/pull/78985 +[#78987]: https://github.com/home-assistant/core/pull/78987 +[#78990]: https://github.com/home-assistant/core/pull/78990 +[#78991]: https://github.com/home-assistant/core/pull/78991 +[#78994]: https://github.com/home-assistant/core/pull/78994 +[#78998]: https://github.com/home-assistant/core/pull/78998 +[#79002]: https://github.com/home-assistant/core/pull/79002 +[#79003]: https://github.com/home-assistant/core/pull/79003 +[#79004]: https://github.com/home-assistant/core/pull/79004 +[#79008]: https://github.com/home-assistant/core/pull/79008 +[#79009]: https://github.com/home-assistant/core/pull/79009 +[#79010]: https://github.com/home-assistant/core/pull/79010 +[#79011]: https://github.com/home-assistant/core/pull/79011 +[#79012]: https://github.com/home-assistant/core/pull/79012 +[#79020]: https://github.com/home-assistant/core/pull/79020 +[#79024]: https://github.com/home-assistant/core/pull/79024 +[#79026]: https://github.com/home-assistant/core/pull/79026 +[#79035]: https://github.com/home-assistant/core/pull/79035 +[#79037]: https://github.com/home-assistant/core/pull/79037 +[#79040]: https://github.com/home-assistant/core/pull/79040 +[#79042]: https://github.com/home-assistant/core/pull/79042 +[#79043]: https://github.com/home-assistant/core/pull/79043 +[#79044]: https://github.com/home-assistant/core/pull/79044 +[#79049]: https://github.com/home-assistant/core/pull/79049 +[#79063]: https://github.com/home-assistant/core/pull/79063 +[#79065]: https://github.com/home-assistant/core/pull/79065 +[#79067]: https://github.com/home-assistant/core/pull/79067 +[#79072]: https://github.com/home-assistant/core/pull/79072 +[#79074]: https://github.com/home-assistant/core/pull/79074 +[#79078]: https://github.com/home-assistant/core/pull/79078 +[#79079]: https://github.com/home-assistant/core/pull/79079 +[#79080]: https://github.com/home-assistant/core/pull/79080 +[#79081]: https://github.com/home-assistant/core/pull/79081 +[#79087]: https://github.com/home-assistant/core/pull/79087 +[#79100]: https://github.com/home-assistant/core/pull/79100 +[#79101]: https://github.com/home-assistant/core/pull/79101 +[#79104]: https://github.com/home-assistant/core/pull/79104 +[#79105]: https://github.com/home-assistant/core/pull/79105 +[#79106]: https://github.com/home-assistant/core/pull/79106 +[#79107]: https://github.com/home-assistant/core/pull/79107 +[#79111]: https://github.com/home-assistant/core/pull/79111 +[#79115]: https://github.com/home-assistant/core/pull/79115 +[#79116]: https://github.com/home-assistant/core/pull/79116 +[#79117]: https://github.com/home-assistant/core/pull/79117 +[#79118]: https://github.com/home-assistant/core/pull/79118 +[#79121]: https://github.com/home-assistant/core/pull/79121 +[#79122]: https://github.com/home-assistant/core/pull/79122 +[#79124]: https://github.com/home-assistant/core/pull/79124 +[#79125]: https://github.com/home-assistant/core/pull/79125 +[#79127]: https://github.com/home-assistant/core/pull/79127 +[#79130]: https://github.com/home-assistant/core/pull/79130 +[#79131]: https://github.com/home-assistant/core/pull/79131 +[#79132]: https://github.com/home-assistant/core/pull/79132 +[#79134]: https://github.com/home-assistant/core/pull/79134 +[#79136]: https://github.com/home-assistant/core/pull/79136 +[#79138]: https://github.com/home-assistant/core/pull/79138 +[#79139]: https://github.com/home-assistant/core/pull/79139 +[#79144]: https://github.com/home-assistant/core/pull/79144 +[#79146]: https://github.com/home-assistant/core/pull/79146 +[#79147]: https://github.com/home-assistant/core/pull/79147 +[#79150]: https://github.com/home-assistant/core/pull/79150 +[#79155]: https://github.com/home-assistant/core/pull/79155 +[#79157]: https://github.com/home-assistant/core/pull/79157 +[#79158]: https://github.com/home-assistant/core/pull/79158 +[#79162]: https://github.com/home-assistant/core/pull/79162 +[#79164]: https://github.com/home-assistant/core/pull/79164 +[#79167]: https://github.com/home-assistant/core/pull/79167 +[#79169]: https://github.com/home-assistant/core/pull/79169 +[#79173]: https://github.com/home-assistant/core/pull/79173 +[#79174]: https://github.com/home-assistant/core/pull/79174 +[#79175]: https://github.com/home-assistant/core/pull/79175 +[#79177]: https://github.com/home-assistant/core/pull/79177 +[#79180]: https://github.com/home-assistant/core/pull/79180 +[#79182]: https://github.com/home-assistant/core/pull/79182 +[#79185]: https://github.com/home-assistant/core/pull/79185 +[#79193]: https://github.com/home-assistant/core/pull/79193 +[#79195]: https://github.com/home-assistant/core/pull/79195 +[#79197]: https://github.com/home-assistant/core/pull/79197 +[#79200]: https://github.com/home-assistant/core/pull/79200 +[#79201]: https://github.com/home-assistant/core/pull/79201 +[#79202]: https://github.com/home-assistant/core/pull/79202 +[#79204]: https://github.com/home-assistant/core/pull/79204 +[#79205]: https://github.com/home-assistant/core/pull/79205 +[#79206]: https://github.com/home-assistant/core/pull/79206 +[#79208]: https://github.com/home-assistant/core/pull/79208 +[#79209]: https://github.com/home-assistant/core/pull/79209 +[#79210]: https://github.com/home-assistant/core/pull/79210 +[#79217]: https://github.com/home-assistant/core/pull/79217 +[#79220]: https://github.com/home-assistant/core/pull/79220 +[#79222]: https://github.com/home-assistant/core/pull/79222 +[#79225]: https://github.com/home-assistant/core/pull/79225 +[#79226]: https://github.com/home-assistant/core/pull/79226 +[#79227]: https://github.com/home-assistant/core/pull/79227 +[#79229]: https://github.com/home-assistant/core/pull/79229 +[#79230]: https://github.com/home-assistant/core/pull/79230 +[#79231]: https://github.com/home-assistant/core/pull/79231 +[#79232]: https://github.com/home-assistant/core/pull/79232 +[#79233]: https://github.com/home-assistant/core/pull/79233 +[#79240]: https://github.com/home-assistant/core/pull/79240 +[#79244]: https://github.com/home-assistant/core/pull/79244 +[#79245]: https://github.com/home-assistant/core/pull/79245 +[#79246]: https://github.com/home-assistant/core/pull/79246 +[#79247]: https://github.com/home-assistant/core/pull/79247 +[#79253]: https://github.com/home-assistant/core/pull/79253 +[#79261]: https://github.com/home-assistant/core/pull/79261 +[#79262]: https://github.com/home-assistant/core/pull/79262 +[#79263]: https://github.com/home-assistant/core/pull/79263 +[#79274]: https://github.com/home-assistant/core/pull/79274 +[#79276]: https://github.com/home-assistant/core/pull/79276 +[#79277]: https://github.com/home-assistant/core/pull/79277 +[#79285]: https://github.com/home-assistant/core/pull/79285 +[#79300]: https://github.com/home-assistant/core/pull/79300 +[#79303]: https://github.com/home-assistant/core/pull/79303 +[#79309]: https://github.com/home-assistant/core/pull/79309 +[#79310]: https://github.com/home-assistant/core/pull/79310 +[#79311]: https://github.com/home-assistant/core/pull/79311 +[#79314]: https://github.com/home-assistant/core/pull/79314 +[#79317]: https://github.com/home-assistant/core/pull/79317 +[#79321]: https://github.com/home-assistant/core/pull/79321 +[#79323]: https://github.com/home-assistant/core/pull/79323 +[#79331]: https://github.com/home-assistant/core/pull/79331 +[#79338]: https://github.com/home-assistant/core/pull/79338 +[#79339]: https://github.com/home-assistant/core/pull/79339 +[#79340]: https://github.com/home-assistant/core/pull/79340 +[#79341]: https://github.com/home-assistant/core/pull/79341 +[#79342]: https://github.com/home-assistant/core/pull/79342 +[#79348]: https://github.com/home-assistant/core/pull/79348 +[#79349]: https://github.com/home-assistant/core/pull/79349 +[#79357]: https://github.com/home-assistant/core/pull/79357 +[#79367]: https://github.com/home-assistant/core/pull/79367 +[#79370]: https://github.com/home-assistant/core/pull/79370 +[#79376]: https://github.com/home-assistant/core/pull/79376 +[#79378]: https://github.com/home-assistant/core/pull/79378 +[#79386]: https://github.com/home-assistant/core/pull/79386 +[#79389]: https://github.com/home-assistant/core/pull/79389 +[#79394]: https://github.com/home-assistant/core/pull/79394 +[#79402]: https://github.com/home-assistant/core/pull/79402 +[#79406]: https://github.com/home-assistant/core/pull/79406 +[#79416]: https://github.com/home-assistant/core/pull/79416 +[#79423]: https://github.com/home-assistant/core/pull/79423 +[#79425]: https://github.com/home-assistant/core/pull/79425 +[#79428]: https://github.com/home-assistant/core/pull/79428 +[#79435]: https://github.com/home-assistant/core/pull/79435 +[#79437]: https://github.com/home-assistant/core/pull/79437 +[#79440]: https://github.com/home-assistant/core/pull/79440 +[#79442]: https://github.com/home-assistant/core/pull/79442 +[#79443]: https://github.com/home-assistant/core/pull/79443 +[#79445]: https://github.com/home-assistant/core/pull/79445 +[#79456]: https://github.com/home-assistant/core/pull/79456 +[#79458]: https://github.com/home-assistant/core/pull/79458 +[#79462]: https://github.com/home-assistant/core/pull/79462 +[#79465]: https://github.com/home-assistant/core/pull/79465 +[#79471]: https://github.com/home-assistant/core/pull/79471 +[#79472]: https://github.com/home-assistant/core/pull/79472 +[#79474]: https://github.com/home-assistant/core/pull/79474 +[#79475]: https://github.com/home-assistant/core/pull/79475 +[#79487]: https://github.com/home-assistant/core/pull/79487 +[#79491]: https://github.com/home-assistant/core/pull/79491 +[#79508]: https://github.com/home-assistant/core/pull/79508 +[#79509]: https://github.com/home-assistant/core/pull/79509 +[#79514]: https://github.com/home-assistant/core/pull/79514 +[#79515]: https://github.com/home-assistant/core/pull/79515 +[#79521]: https://github.com/home-assistant/core/pull/79521 +[#79527]: https://github.com/home-assistant/core/pull/79527 +[#79537]: https://github.com/home-assistant/core/pull/79537 +[#79551]: https://github.com/home-assistant/core/pull/79551 +[#79556]: https://github.com/home-assistant/core/pull/79556 +[#79558]: https://github.com/home-assistant/core/pull/79558 +[#79561]: https://github.com/home-assistant/core/pull/79561 +[#79562]: https://github.com/home-assistant/core/pull/79562 +[#79563]: https://github.com/home-assistant/core/pull/79563 +[#79565]: https://github.com/home-assistant/core/pull/79565 +[#79570]: https://github.com/home-assistant/core/pull/79570 +[#79575]: https://github.com/home-assistant/core/pull/79575 +[#79579]: https://github.com/home-assistant/core/pull/79579 +[#79582]: https://github.com/home-assistant/core/pull/79582 +[#79593]: https://github.com/home-assistant/core/pull/79593 +[#79595]: https://github.com/home-assistant/core/pull/79595 +[#79600]: https://github.com/home-assistant/core/pull/79600 +[#79602]: https://github.com/home-assistant/core/pull/79602 +[#79608]: https://github.com/home-assistant/core/pull/79608 +[#79609]: https://github.com/home-assistant/core/pull/79609 +[#79611]: https://github.com/home-assistant/core/pull/79611 +[#79617]: https://github.com/home-assistant/core/pull/79617 +[#79623]: https://github.com/home-assistant/core/pull/79623 +[#79634]: https://github.com/home-assistant/core/pull/79634 +[#79637]: https://github.com/home-assistant/core/pull/79637 +[#79641]: https://github.com/home-assistant/core/pull/79641 +[#79649]: https://github.com/home-assistant/core/pull/79649 +[#79656]: https://github.com/home-assistant/core/pull/79656 +[@Bre77]: https://github.com/Bre77 +[@Cereal2nd]: https://github.com/Cereal2nd +[@ColinRobbins]: https://github.com/ColinRobbins +[@DCSBL]: https://github.com/DCSBL +[@Danielhiversen]: https://github.com/Danielhiversen +[@Djelibeybi]: https://github.com/Djelibeybi +[@Drafteed]: https://github.com/Drafteed +[@EmJay276]: https://github.com/EmJay276 +[@Ernst79]: https://github.com/Ernst79 +[@Glodenox]: https://github.com/Glodenox +[@HarvsG]: https://github.com/HarvsG +[@IceBotYT]: https://github.com/IceBotYT +[@JQWeb]: https://github.com/JQWeb +[@Jc2k]: https://github.com/Jc2k +[@Kane610]: https://github.com/Kane610 +[@KloudJack]: https://github.com/KloudJack +[@LaStrada]: https://github.com/LaStrada +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@Midbin]: https://github.com/Midbin +[@PaulAnnekov]: https://github.com/PaulAnnekov +[@PoltoS]: https://github.com/PoltoS +[@RicArch97]: https://github.com/RicArch97 +[@TheJulianJES]: https://github.com/TheJulianJES +[@TomBrien]: https://github.com/TomBrien +[@agners]: https://github.com/agners +[@alakdae]: https://github.com/alakdae +[@allenporter]: https://github.com/allenporter +[@amitfin]: https://github.com/amitfin +[@apt-itude]: https://github.com/apt-itude +[@avee87]: https://github.com/avee87 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@boswelja]: https://github.com/boswelja +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@cdce8p]: https://github.com/cdce8p +[@cgtobi]: https://github.com/cgtobi +[@chemelli74]: https://github.com/chemelli74 +[@danaues]: https://github.com/danaues +[@dennisschroer]: https://github.com/dennisschroer +[@dependabot[bot]]: https://github.com/apps/dependabot +[@dgomes]: https://github.com/dgomes +[@dmulcahey]: https://github.com/dmulcahey +[@dshokouhi]: https://github.com/dshokouhi +[@ehendrix23]: https://github.com/ehendrix23 +[@eifinger]: https://github.com/eifinger +[@elupus]: https://github.com/elupus +[@emontnemery]: https://github.com/emontnemery +[@engrbm87]: https://github.com/engrbm87 +[@epenet]: https://github.com/epenet +[@farmio]: https://github.com/farmio +[@fmarani]: https://github.com/fmarani +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@holysoles]: https://github.com/holysoles +[@hungnguyenm]: https://github.com/hungnguyenm +[@hurzelchen]: https://github.com/hurzelchen +[@iMicknl]: https://github.com/iMicknl +[@jafar-atili]: https://github.com/jafar-atili +[@javicalle]: https://github.com/javicalle +[@jbouwh]: https://github.com/jbouwh +[@jeeftor]: https://github.com/jeeftor +[@jesserockz]: https://github.com/jesserockz +[@jsherman256]: https://github.com/jsherman256 +[@khenderick]: https://github.com/khenderick +[@kingy444]: https://github.com/kingy444 +[@kpine]: https://github.com/kpine +[@lscheibel]: https://github.com/lscheibel +[@ludeeus]: https://github.com/ludeeus +[@magic7s]: https://github.com/magic7s +[@matrixd2]: https://github.com/matrixd2 +[@mdegat01]: https://github.com/mdegat01 +[@mercenaruss]: https://github.com/mercenaruss +[@mib1185]: https://github.com/mib1185 +[@mkmer]: https://github.com/mkmer +[@mkowalchuk]: https://github.com/mkowalchuk +[@natekspencer]: https://github.com/natekspencer +[@nyroDev]: https://github.com/nyroDev +[@ocalvo]: https://github.com/ocalvo +[@oischinger]: https://github.com/oischinger +[@ollo69]: https://github.com/ollo69 +[@oradsa]: https://github.com/oradsa +[@oyvindwe]: https://github.com/oyvindwe +[@pnbruckner]: https://github.com/pnbruckner +[@puddly]: https://github.com/puddly +[@pvizeli]: https://github.com/pvizeli +[@raman325]: https://github.com/raman325 +[@rappenze]: https://github.com/rappenze +[@rytilahti]: https://github.com/rytilahti +[@scop]: https://github.com/scop +[@skrobul]: https://github.com/skrobul +[@spycle]: https://github.com/spycle +[@squishykid]: https://github.com/squishykid +[@starkillerOG]: https://github.com/starkillerOG +[@thecode]: https://github.com/thecode +[@tjorim]: https://github.com/tjorim +[@tkdrob]: https://github.com/tkdrob +[@uvjustin]: https://github.com/uvjustin +[@vanstinator]: https://github.com/vanstinator +[@veleek]: https://github.com/veleek +[@viiru-]: https://github.com/viiru- +[@vilppuvuorinen]: https://github.com/vilppuvuorinen +[@vpathuis]: https://github.com/vpathuis +[@y34hbuddy]: https://github.com/y34hbuddy +[@yuxincs]: https://github.com/yuxincs +[@zbeky]: https://github.com/zbeky +[@zsarnett]: https://github.com/zsarnett +[abode docs]: /integrations/abode/ +[advantage_air docs]: /integrations/advantage_air/ +[air_quality docs]: /integrations/air_quality/ +[airly docs]: /integrations/airly/ +[aladdin_connect docs]: /integrations/aladdin_connect/ +[alexa docs]: /integrations/alexa/ +[ambee docs]: /integrations/ambee/ +[analytics docs]: /integrations/analytics/ +[androidtv docs]: /integrations/androidtv/ +[anthemav docs]: /integrations/anthemav/ +[apcupsd docs]: /integrations/apcupsd/ +[apple_tv docs]: /integrations/apple_tv/ +[application_credentials docs]: /integrations/application_credentials/ +[asterisk_mbox docs]: /integrations/asterisk_mbox/ +[august docs]: /integrations/august/ +[automation docs]: /integrations/automation/ +[awair docs]: /integrations/awair/ +[aws docs]: /integrations/aws/ +[baf docs]: /integrations/baf/ +[bayesian docs]: /integrations/bayesian/ +[binary_sensor docs]: /integrations/binary_sensor/ +[bluesound docs]: /integrations/bluesound/ +[bluetooth docs]: /integrations/bluetooth/ +[braviatv docs]: /integrations/braviatv/ +[brother docs]: /integrations/brother/ +[bthome docs]: /integrations/bthome/ +[buienradar docs]: /integrations/buienradar/ +[calendar docs]: /integrations/calendar/ +[camera docs]: /integrations/camera/ +[cast docs]: /integrations/cast/ +[climacell docs]: /integrations/climacell/ +[climate docs]: /integrations/climate/ +[cloud docs]: /integrations/cloud/ +[coinbase docs]: /integrations/coinbase/ +[comfoconnect docs]: /integrations/comfoconnect/ +[config docs]: /integrations/config/ +[crownstone docs]: /integrations/crownstone/ +[deconz docs]: /integrations/deconz/ +[demo docs]: /integrations/demo/ +[device_automation docs]: /integrations/device_automation/ +[device_tracker docs]: /integrations/device_tracker/ +[dhcp docs]: /integrations/dhcp/ +[dlna_dmr docs]: /integrations/dlna_dmr/ +[dlna_dms docs]: /integrations/dlna_dms/ +[dsmr_reader docs]: /integrations/dsmr_reader/ +[dunehd docs]: /integrations/dunehd/ +[ecobee docs]: /integrations/ecobee/ +[ecowitt docs]: /integrations/ecowitt/ +[emby docs]: /integrations/emby/ +[emulated_hue docs]: /integrations/emulated_hue/ +[energy docs]: /integrations/energy/ +[enigma2 docs]: /integrations/enigma2/ +[environment_canada docs]: /integrations/environment_canada/ +[epson docs]: /integrations/epson/ +[escea docs]: /integrations/escea/ +[esphome docs]: /integrations/esphome/ +[ezviz docs]: /integrations/ezviz/ +[fibaro docs]: /integrations/fibaro/ +[file docs]: /integrations/file/ +[fjaraskupan docs]: /integrations/fjaraskupan/ +[flexit docs]: /integrations/flexit/ +[flo docs]: /integrations/flo/ +[flume docs]: /integrations/flume/ +[flunearyou docs]: /integrations/flunearyou/ +[flux_led docs]: /integrations/flux_led/ +[forked_daapd docs]: /integrations/forked_daapd/ +[fritz docs]: /integrations/fritz/ +[fritzbox docs]: /integrations/fritzbox/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[frontend docs]: /integrations/frontend/ +[frontier_silicon docs]: /integrations/frontier_silicon/ +[fully_kiosk docs]: /integrations/fully_kiosk/ +[generic docs]: /integrations/generic/ +[generic_hygrostat docs]: /integrations/generic_hygrostat/ +[geo_location docs]: /integrations/geo_location/ +[github docs]: /integrations/github/ +[goodwe docs]: /integrations/goodwe/ +[google docs]: /integrations/google/ +[google_assistant docs]: /integrations/google_assistant/ +[google_drive docs]: /integrations/google_drive/ +[google_sheets docs]: /integrations/google_sheets/ +[govee_ble docs]: /integrations/govee_ble/ +[group docs]: /integrations/group/ +[gstreamer docs]: /integrations/gstreamer/ +[guardian docs]: /integrations/guardian/ +[harman_kardon_avr docs]: /integrations/harman_kardon_avr/ +[hassio docs]: /integrations/hassio/ +[hdmi_cec docs]: /integrations/hdmi_cec/ +[heatmiser docs]: /integrations/heatmiser/ +[heos docs]: /integrations/heos/ +[here_travel_time docs]: /integrations/here_travel_time/ +[hisense_aehw4a1 docs]: /integrations/hisense_aehw4a1/ +[history docs]: /integrations/history/ +[hive docs]: /integrations/hive/ +[home_connect docs]: /integrations/home_connect/ +[homeassistant docs]: /integrations/homeassistant/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homewizard docs]: /integrations/homewizard/ +[horizon docs]: /integrations/horizon/ +[http docs]: /integrations/http/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hue docs]: /integrations/hue/ +[huisbaasje docs]: /integrations/huisbaasje/ +[humidifier docs]: /integrations/humidifier/ +[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/ +[hvv_departures docs]: /integrations/hvv_departures/ +[ibeacon docs]: /integrations/ibeacon/ +[icloud docs]: /integrations/icloud/ +[image_processing docs]: /integrations/image_processing/ +[influxdb docs]: /integrations/influxdb/ +[insteon docs]: /integrations/insteon/ +[integration docs]: /integrations/integration/ +[intellifire docs]: /integrations/intellifire/ +[ipma docs]: /integrations/ipma/ +[itunes docs]: /integrations/itunes/ +[izone docs]: /integrations/izone/ +[juicenet docs]: /integrations/juicenet/ +[kaleidescape docs]: /integrations/kaleidescape/ +[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/ +[kef docs]: /integrations/kef/ +[kegtron docs]: /integrations/kegtron/ +[kira docs]: /integrations/kira/ +[knx docs]: /integrations/knx/ +[kodi docs]: /integrations/kodi/ +[kostal_plenticore docs]: /integrations/kostal_plenticore/ +[kraken docs]: /integrations/kraken/ +[kulersky docs]: /integrations/kulersky/ +[lacrosse_view docs]: /integrations/lacrosse_view/ +[lametric docs]: /integrations/lametric/ +[landisgyr_heat_meter docs]: /integrations/landisgyr_heat_meter/ +[lastfm docs]: /integrations/lastfm/ +[lg_netcast docs]: /integrations/lg_netcast/ +[lg_soundbar docs]: /integrations/lg_soundbar/ +[lidarr docs]: /integrations/lidarr/ +[life360 docs]: /integrations/life360/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litterrobot docs]: /integrations/litterrobot/ +[logbook docs]: /integrations/logbook/ +[lookin docs]: /integrations/lookin/ +[lovelace docs]: /integrations/lovelace/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[lw12wifi docs]: /integrations/lw12wifi/ +[mailbox docs]: /integrations/mailbox/ +[mazda docs]: /integrations/mazda/ +[media_player docs]: /integrations/media_player/ +[media_source docs]: /integrations/media_source/ +[mediaroom docs]: /integrations/mediaroom/ +[melcloud docs]: /integrations/melcloud/ +[melnor docs]: /integrations/melnor/ +[met docs]: /integrations/met/ +[meteoalarm docs]: /integrations/meteoalarm/ +[metoffice docs]: /integrations/metoffice/ +[microbot_push docs]: /integrations/microbot_push/ +[microsoft docs]: /integrations/microsoft/ +[mikrotik docs]: /integrations/mikrotik/ +[mill docs]: /integrations/mill/ +[min_max docs]: /integrations/min_max/ +[mobile_app docs]: /integrations/mobile_app/ +[modbus docs]: /integrations/modbus/ +[mold_indicator docs]: /integrations/mold_indicator/ +[monoprice docs]: /integrations/monoprice/ +[moon docs]: /integrations/moon/ +[motioneye docs]: /integrations/motioneye/ +[mpd docs]: /integrations/mpd/ +[mqtt docs]: /integrations/mqtt/ +[mqtt_room docs]: /integrations/mqtt_room/ +[mysensors docs]: /integrations/mysensors/ +[nad docs]: /integrations/nad/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[netgear docs]: /integrations/netgear/ +[nibe_heatpump docs]: /integrations/nibe_heatpump/ +[nibe_local docs]: /integrations/nibe_local/ +[nightscout docs]: /integrations/nightscout/ +[nina docs]: /integrations/nina/ +[nmap_tracker docs]: /integrations/nmap_tracker/ +[nobo_hub docs]: /integrations/nobo_hub/ +[norway_air docs]: /integrations/norway_air/ +[notify docs]: /integrations/notify/ +[number docs]: /integrations/number/ +[ohmconnect docs]: /integrations/ohmconnect/ +[onboarding docs]: /integrations/onboarding/ +[onkyo docs]: /integrations/onkyo/ +[onvif docs]: /integrations/onvif/ +[openalpr_local docs]: /integrations/openalpr_local/ +[openevse docs]: /integrations/openevse/ +[opengarage docs]: /integrations/opengarage/ +[openhome docs]: /integrations/openhome/ +[opensky docs]: /integrations/opensky/ +[openuv docs]: /integrations/openuv/ +[openweathermap docs]: /integrations/openweathermap/ +[otp docs]: /integrations/otp/ +[overkiz docs]: /integrations/overkiz/ +[panasonic_bluray docs]: /integrations/panasonic_bluray/ +[panasonic_viera docs]: /integrations/panasonic_viera/ +[pandora docs]: /integrations/pandora/ +[person docs]: /integrations/person/ +[philips_js docs]: /integrations/philips_js/ +[pioneer docs]: /integrations/pioneer/ +[pjlink docs]: /integrations/pjlink/ +[plex docs]: /integrations/plex/ +[plugwise docs]: /integrations/plugwise/ +[prometheus docs]: /integrations/prometheus/ +[proximity docs]: /integrations/proximity/ +[prusalink docs]: /integrations/prusalink/ +[ps4 docs]: /integrations/ps4/ +[pushover docs]: /integrations/pushover/ +[qbittorrent docs]: /integrations/qbittorrent/ +[qnap docs]: /integrations/qnap/ +[rachio docs]: /integrations/rachio/ +[radarr docs]: /integrations/radarr/ +[rainmachine docs]: /integrations/rainmachine/ +[recorder docs]: /integrations/recorder/ +[remote docs]: /integrations/remote/ +[renault docs]: /integrations/renault/ +[rest docs]: /integrations/rest/ +[rflink docs]: /integrations/rflink/ +[rfxtrx docs]: /integrations/rfxtrx/ +[roku docs]: /integrations/roku/ +[roomba docs]: /integrations/roomba/ +[roon docs]: /integrations/roon/ +[rtsp_to_webrtc docs]: /integrations/rtsp_to_webrtc/ +[russound_rio docs]: /integrations/russound_rio/ +[russound_rnet docs]: /integrations/russound_rnet/ +[samsungtv docs]: /integrations/samsungtv/ +[scene docs]: /integrations/scene/ +[schedule docs]: /integrations/schedule/ +[script docs]: /integrations/script/ +[search docs]: /integrations/search/ +[season docs]: /integrations/season/ +[sensibo docs]: /integrations/sensibo/ +[sensor docs]: /integrations/sensor/ +[sentry docs]: /integrations/sentry/ +[seven_segments docs]: /integrations/seven_segments/ +[shelly docs]: /integrations/shelly/ +[shopping_list docs]: /integrations/shopping_list/ +[simplepush docs]: /integrations/simplepush/ +[simplisafe docs]: /integrations/simplisafe/ +[sisyphus docs]: /integrations/sisyphus/ +[skybell docs]: /integrations/skybell/ +[slimproto docs]: /integrations/slimproto/ +[smhi docs]: /integrations/smhi/ +[sms docs]: /integrations/sms/ +[snapcast docs]: /integrations/snapcast/ +[solax docs]: /integrations/solax/ +[sonarr docs]: /integrations/sonarr/ +[songpal docs]: /integrations/songpal/ +[sonos docs]: /integrations/sonos/ +[soundtouch docs]: /integrations/soundtouch/ +[spotify docs]: /integrations/spotify/ +[sql docs]: /integrations/sql/ +[squeezebox docs]: /integrations/squeezebox/ +[starline docs]: /integrations/starline/ +[stiebel_eltron docs]: /integrations/stiebel_eltron/ +[stream docs]: /integrations/stream/ +[stt docs]: /integrations/stt/ +[sun docs]: /integrations/sun/ +[surepetcare docs]: /integrations/surepetcare/ +[switch_as_x docs]: /integrations/switch_as_x/ +[switchbee docs]: /integrations/switchbee/ +[switchbot docs]: /integrations/switchbot/ +[switcher_kis docs]: /integrations/switcher_kis/ +[synology_dsm docs]: /integrations/synology_dsm/ +[system_bridge docs]: /integrations/system_bridge/ +[systemmonitor docs]: /integrations/systemmonitor/ +[tasmota docs]: /integrations/tasmota/ +[tautulli docs]: /integrations/tautulli/ +[tellstick docs]: /integrations/tellstick/ +[template docs]: /integrations/template/ +[threshold docs]: /integrations/threshold/ +[tibber docs]: /integrations/tibber/ +[tilt_ble docs]: /integrations/tilt_ble/ +[tomorrowio docs]: /integrations/tomorrowio/ +[traccar docs]: /integrations/traccar/ +[trace docs]: /integrations/trace/ +[trafikverket_train docs]: /integrations/trafikverket_train/ +[trend docs]: /integrations/trend/ +[tts docs]: /integrations/tts/ +[tuya docs]: /integrations/tuya/ +[ue_smart_radio docs]: /integrations/ue_smart_radio/ +[unifi docs]: /integrations/unifi/ +[unifi_direct docs]: /integrations/unifi_direct/ +[unifiled docs]: /integrations/unifiled/ +[unifiprotect docs]: /integrations/unifiprotect/ +[universal docs]: /integrations/universal/ +[update docs]: /integrations/update/ +[uptime docs]: /integrations/uptime/ +[uscis docs]: /integrations/uscis/ +[uvc docs]: /integrations/uvc/ +[vallox docs]: /integrations/vallox/ +[velbus docs]: /integrations/velbus/ +[vicare docs]: /integrations/vicare/ +[vilfo docs]: /integrations/vilfo/ +[vlc_telnet docs]: /integrations/vlc_telnet/ +[volvooncall docs]: /integrations/volvooncall/ +[wallbox docs]: /integrations/wallbox/ +[waze_travel_time docs]: /integrations/waze_travel_time/ +[weather docs]: /integrations/weather/ +[webostv docs]: /integrations/webostv/ +[websocket_api docs]: /integrations/websocket_api/ +[withings docs]: /integrations/withings/ +[workday docs]: /integrations/workday/ +[xbox docs]: /integrations/xbox/ +[xbox_live docs]: /integrations/xbox_live/ +[xiaomi_aqara docs]: /integrations/xiaomi_aqara/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[xiaomi_tv docs]: /integrations/xiaomi_tv/ +[xs1 docs]: /integrations/xs1/ +[yale_smart_alarm docs]: /integrations/yale_smart_alarm/ +[yalexs_ble docs]: /integrations/yalexs_ble/ +[yamaha docs]: /integrations/yamaha/ +[yamaha_musiccast docs]: /integrations/yamaha_musiccast/ +[yeelight docs]: /integrations/yeelight/ +[yi docs]: /integrations/yi/ +[yolink docs]: /integrations/yolink/ +[zabbix docs]: /integrations/zabbix/ +[zamg docs]: /integrations/zamg/ +[zeroconf docs]: /integrations/zeroconf/ +[zha docs]: /integrations/zha/ +[zhong_hong docs]: /integrations/zhong_hong/ +[ziggo_mediabox_xl docs]: /integrations/ziggo_mediabox_xl/ +[zone docs]: /integrations/zone/ +[zoneminder docs]: /integrations/zoneminder/ +[zwave_js docs]: /integrations/zwave_js/ +[zwave_me docs]: /integrations/zwave_me/ diff --git a/source/dashboards/views.markdown b/source/dashboards/views.markdown index 77b645a5a58..9a6294216a6 100644 --- a/source/dashboards/views.markdown +++ b/source/dashboards/views.markdown @@ -125,6 +125,28 @@ frontend: lovelace-background: center / cover no-repeat url("/local/background.png") fixed ``` +## Subview + +View can be marked as "Subview". Subviews won’t show up in the navigation bar. When on the subview, the navigation bar only show the name of the subview and a back button. +By default, clicking on back button will navigate to the previous view but a custom back path (`back_path`) can be set. + +#### Example + +Simple subview: + +```yaml +- title: Map + subview: true +``` + +Subview with custom back path: + +```yaml +- title: Map + subview: true + back_path: /lovelace/home +``` + {% configuration views %} views: required: true @@ -170,6 +192,15 @@ views: description: "Hide/show the view tab from all users or a list of individual `visible` objects." type: [boolean, list] default: true + subview: + required: false + description: Mark the view as "Subview", more info below. + type: boolean + default: false + back_path: + required: false + description: Only for subview. Path to navigate when clicking on back button, more info below. + type: string {% endconfiguration %} #### Example diff --git a/source/images/blog/2022-10/add-integration.png b/source/images/blog/2022-10/add-integration.png new file mode 100644 index 00000000000..601c4bf30e6 Binary files /dev/null and b/source/images/blog/2022-10/add-integration.png differ diff --git a/source/images/blog/2022-10/google-sheets.png b/source/images/blog/2022-10/google-sheets.png new file mode 100644 index 00000000000..9af79401694 Binary files /dev/null and b/source/images/blog/2022-10/google-sheets.png differ diff --git a/source/images/blog/2022-10/new-dialogs.png b/source/images/blog/2022-10/new-dialogs.png new file mode 100644 index 00000000000..9866ad76a8e Binary files /dev/null and b/source/images/blog/2022-10/new-dialogs.png differ diff --git a/source/images/blog/2022-10/social.png b/source/images/blog/2022-10/social.png new file mode 100644 index 00000000000..7910d1f9847 Binary files /dev/null and b/source/images/blog/2022-10/social.png differ diff --git a/source/images/blog/2022-10/subview-navigation.gif b/source/images/blog/2022-10/subview-navigation.gif new file mode 100644 index 00000000000..e508981abae Binary files /dev/null and b/source/images/blog/2022-10/subview-navigation.gif differ diff --git a/source/images/blog/2022-10/subview-toggle.png b/source/images/blog/2022-10/subview-toggle.png new file mode 100644 index 00000000000..a97c6d93406 Binary files /dev/null and b/source/images/blog/2022-10/subview-toggle.png differ diff --git a/source/images/blog/2022-10/yaml-automation-editor.png b/source/images/blog/2022-10/yaml-automation-editor.png new file mode 100644 index 00000000000..194f0c4a5e1 Binary files /dev/null and b/source/images/blog/2022-10/yaml-automation-editor.png differ