From 1cc4df50ec2988f8e4011fb060d8cdc7f96559f6 Mon Sep 17 00:00:00 2001 From: krazos Date: Thu, 29 Sep 2022 15:32:53 -0400 Subject: [PATCH 01/99] Add additional known working iBeacon devices (#24284) --- source/_integrations/ibeacon.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_integrations/ibeacon.markdown b/source/_integrations/ibeacon.markdown index ddd926c7ea0..88dbc6013e1 100644 --- a/source/_integrations/ibeacon.markdown +++ b/source/_integrations/ibeacon.markdown @@ -55,10 +55,13 @@ The integration will create an Estimated Distance sensor by default. This estima - [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 From 9f5e5c576fff3422c3d99021479d0fc2c36b787a Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Thu, 29 Sep 2022 21:34:09 +0200 Subject: [PATCH 02/99] Add subview documentation (#24277) --- source/dashboards/views.markdown | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) 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 From 66335075f076fa19961d3794d0268cf3dc901ef3 Mon Sep 17 00:00:00 2001 From: Shay Levy Date: Sat, 1 Oct 2022 19:27:31 +0300 Subject: [PATCH 03/99] Switcher - update support for Switcher Breeze (#24150) --- source/_integrations/switcher_kis.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown index 60f1f668e69..8687f8d32d5 100644 --- a/source/_integrations/switcher_kis.markdown +++ b/source/_integrations/switcher_kis.markdown @@ -26,6 +26,7 @@ Supported devices: - Switcher V2 (Espressif chipset - from firmware 3.21) - Switcher V2 (Qualcomm chipset - from firmware 72.32) - Switcher V4 +- Switcher Breeze If you completed the integration setup but are still unable to control the device, please make sure your device's firmware is up-to-date. @@ -66,5 +67,5 @@ Note: This does not affect the auto off timer. ## Notes -Make sure that Home Assistant host's firewall allows incoming traffic on UDP port 20002 and outgoing connections to Switcher device(s) on TCP port 9957. +Make sure that Home Assistant host's firewall allows incoming traffic on UDP ports 20002 & 20003 and outgoing connections to Switcher device(s) on TCP ports 9957 & 10000. If Home Assistant and the Switcher device(s) are not on the same network, you will also need to have their traffic properly forwarded between the two networks. From c97b92affee28809ec29f9d741b1404c3db4fabc Mon Sep 17 00:00:00 2001 From: Rami Mosleh Date: Mon, 3 Oct 2022 14:53:46 +0300 Subject: [PATCH 04/99] Add Config entry Template function documentation (#24275) --- source/_docs/configuration/templating.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 1b0c5405cb9..183ae2039ba 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -259,6 +259,20 @@ The same thing can also be expressed as a test: {% endraw %} +### Config Entries + +- `entry_id(entity_id)` returns the config entry ID for a given entity ID. Can also be used as a filter. + +#### Config entries examples + +{% raw %} + +```text +{{ entry_id('sensor.sony') }} # deadbeefdeadbeefdeadbeefdeadbeef +``` + +{% endraw %} + ### Areas - `area_id(lookup_value)` returns the area ID for a given device ID, entity ID, or area name. Can also be used as a filter. From 9904c9cd36e5d5255eaa920928eca77d1dbdc24d Mon Sep 17 00:00:00 2001 From: ehendrix23 Date: Mon, 3 Oct 2022 05:54:47 -0600 Subject: [PATCH 05/99] Add optional default value to average function (#24282) --- source/_docs/configuration/templating.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 183ae2039ba..6f04e8a731d 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -713,7 +713,7 @@ Like `float` and `int`, `bool` has a filter form. Using `none` as the default va - `sqrt(value, default)` will return the square root of the input. If `value` can't be converted to a `float`, returns the `default` value, or if omitted raises an error. Can be used as a filter. - `max([x, y, ...])` will obtain the largest item in a sequence. Uses the same parameters as the built-in [max](https://jinja.palletsprojects.com/en/latest/templates/#jinja-filters.max) filter. - `min([x, y, ...])` will obtain the smallest item in a sequence. Uses the same parameters as the built-in [min](https://jinja.palletsprojects.com/en/latest/templates/#jinja-filters.min) filter. -- `average([x, y, ...])` will return the average value of the sequence. Can be used as a filter. +- `average([x, y, ...], default)` will return the average value of the sequence. If list is empty or contains non-numeric value, returns the `default` value, or if omitted raises an error. Can be used as a filter. - `e` mathematical constant, approximately 2.71828. - `pi` mathematical constant, approximately 3.14159. - `tau` mathematical constant, approximately 6.28318. From a4865a922643819b749ea0fd1a46f924ea50cc08 Mon Sep 17 00:00:00 2001 From: Jafar Atili Date: Mon, 3 Oct 2022 14:57:32 +0300 Subject: [PATCH 06/99] Add switchbee cover docs (#24151) Co-authored-by: Franck Nijhof --- source/_integrations/switchbee.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_integrations/switchbee.markdown b/source/_integrations/switchbee.markdown index 94a5155a804..8adec39d4aa 100644 --- a/source/_integrations/switchbee.markdown +++ b/source/_integrations/switchbee.markdown @@ -3,6 +3,7 @@ title: SwitchBee description: Instructions for how to integrate SwitchBee accessories within Home Assistant. ha_category: - Switch + - Cover - Light - Button ha_release: 2022.10 @@ -13,9 +14,9 @@ ha_codeowners: ha_domain: switchbee ha_platforms: - switch + - cover - light - button - ha_integration_type: integration --- @@ -27,6 +28,8 @@ There is currently support for the following device types: - Timed Power Switch (Boiler) - Group Switch - Timed Switch +- Shutter +- Somfy Shutter - Light (Dimmer) - Scenario From 12777e604c51b77a5d94d3e0ba39cd92c101c889 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Mon, 3 Oct 2022 13:59:10 +0200 Subject: [PATCH 07/99] Add documentation for initial nibe implementation (#24141) Co-authored-by: Franck Nijhof --- source/_integrations/nibe_heatpump.markdown | 78 +++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 source/_integrations/nibe_heatpump.markdown diff --git a/source/_integrations/nibe_heatpump.markdown b/source/_integrations/nibe_heatpump.markdown new file mode 100644 index 00000000000..06a9f3cbbd8 --- /dev/null +++ b/source/_integrations/nibe_heatpump.markdown @@ -0,0 +1,78 @@ +--- +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_ssdp: false +ha_platforms: + - sensor + - binary_sensor + - number + - switch + - select +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) \ No newline at end of file From 30d55a7a585fe5a664618b77fe6e365f1d72fb37 Mon Sep 17 00:00:00 2001 From: Jafar Atili Date: Mon, 3 Oct 2022 21:45:55 +0300 Subject: [PATCH 08/99] SwitchBee climate docs (#24165) --- source/_integrations/switchbee.markdown | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/_integrations/switchbee.markdown b/source/_integrations/switchbee.markdown index 8adec39d4aa..491c8395210 100644 --- a/source/_integrations/switchbee.markdown +++ b/source/_integrations/switchbee.markdown @@ -2,10 +2,11 @@ title: SwitchBee description: Instructions for how to integrate SwitchBee accessories within Home Assistant. ha_category: - - Switch + - Button + - Climate - Cover - Light - - Button + - Switch ha_release: 2022.10 ha_iot_class: local Polling ha_config_flow: true @@ -13,10 +14,11 @@ ha_codeowners: - '@jafar-atili' ha_domain: switchbee ha_platforms: - - switch + - button + - climate - cover - light - - button + - switch ha_integration_type: integration --- @@ -32,6 +34,7 @@ There is currently support for the following device types: - Somfy Shutter - Light (Dimmer) - Scenario +- Thermostat Supported devices will be discovered after the SwitchBee integration is configured. From 3f3ba76192ecdf149031f82afd5269e5bd307c0f Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 7 Oct 2022 15:04:16 +0200 Subject: [PATCH 09/99] Add switch platform to LaMetric (#24436) --- source/_integrations/lametric.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 3924e9d3847..c6a3da512cf 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -5,6 +5,7 @@ ha_category: - Button - Notifications - Number + - Switch ha_iot_class: Local Polling ha_release: 0.49 ha_codeowners: @@ -15,6 +16,7 @@ ha_platforms: - button - notify - number + - switch ha_integration_type: integration ha_config_flow: true ha_ssdp: true From 66c381495989f337ccc7487e0c6207b705b07629 Mon Sep 17 00:00:00 2001 From: Shay Levy Date: Sun, 9 Oct 2022 17:39:40 +0300 Subject: [PATCH 10/99] Switcher - update `ha_category` (#24324) --- source/_integrations/switcher_kis.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown index 8687f8d32d5..197d10ba928 100644 --- a/source/_integrations/switcher_kis.markdown +++ b/source/_integrations/switcher_kis.markdown @@ -2,6 +2,8 @@ title: Switcher description: Integrate Switcher devices. ha_category: + - Climate + - Sensor - Switch ha_release: 0.93 ha_iot_class: Local Push @@ -10,6 +12,7 @@ ha_codeowners: - '@thecode' ha_domain: switcher_kis ha_platforms: + - cover - sensor - switch ha_config_flow: true From 3d4a193ec2f738fb18db7e5af36acbcfaaa22525 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 9 Oct 2022 21:28:49 +0200 Subject: [PATCH 11/99] Add sensor platform to LaMetric (#24473) --- source/_integrations/lametric.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index c6a3da512cf..911d401e1bd 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -5,6 +5,7 @@ ha_category: - Button - Notifications - Number + - Sensor - Switch ha_iot_class: Local Polling ha_release: 0.49 @@ -16,6 +17,7 @@ ha_platforms: - button - notify - number + - sensor - switch ha_integration_type: integration ha_config_flow: true From 67d663b49beadcff2ce575e028f702aa6d4bbee2 Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Mon, 10 Oct 2022 08:22:12 -0400 Subject: [PATCH 12/99] Add docs for fully_kiosk.load_url service (#24492) Co-authored-by: Franck Nijhof --- source/_integrations/fully_kiosk.markdown | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/source/_integrations/fully_kiosk.markdown b/source/_integrations/fully_kiosk.markdown index 90a2f6d4aaf..f3a83283621 100644 --- a/source/_integrations/fully_kiosk.markdown +++ b/source/_integrations/fully_kiosk.markdown @@ -67,3 +67,24 @@ The following controls are available:
The Fully Kiosk Browser app does not provide feedback on the device volume or media playback status, so we are unable to display the current volume level or playback status.
+ +## Services + +**Service `load_url`** + +You can use the service `fully_kiosk.load_url` to have the tablet open the specified URL. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `device_id` | yes | Device ID (or list of device IDs) to load the URL on. +| `url` | yes | The URL to load. + +Example: + +```yaml +service: fully_kiosk.load_url +data: + url: "https://home-assistant.io" +target: + device_id: a674c90eca95eca91f6020415de07713 +``` From 5448a5e01e22ca60705f085091e25e4ad55ee44c Mon Sep 17 00:00:00 2001 From: Mike Degatano Date: Wed, 12 Oct 2022 06:23:21 -0400 Subject: [PATCH 13/99] Add logger to default config (#24497) --- source/_integrations/default_config.markdown | 1 + source/_integrations/logger.markdown | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/default_config.markdown b/source/_integrations/default_config.markdown index 47932673362..109dac7b0fa 100644 --- a/source/_integrations/default_config.markdown +++ b/source/_integrations/default_config.markdown @@ -33,6 +33,7 @@ This integration is a meta-component and configures a default set of integration - [Input select](/integrations/input_select/) (`input_select`) - [Input text](/integrations/input_text/) (`input_text`) - [Logbook](/integrations/logbook/) (`logbook`) +- [Logger](/integrations/logger/) (`logger`) - [Map](/integrations/map/) (`map`) - [Media Source](/integrations/media_source/) (`media_source`) - [Mobile App Support](/integrations/mobile_app/) (`mobile_app`) diff --git a/source/_integrations/logger.markdown b/source/_integrations/logger.markdown index 7c353245c07..fd75580b189 100644 --- a/source/_integrations/logger.markdown +++ b/source/_integrations/logger.markdown @@ -79,7 +79,6 @@ where **namespace** is the ** currently logging. description: Default log level. See [log_level](#log-levels). required: false type: string - default: debug logs: description: List of integrations and their log level. required: false From 9520b63dd312ca6a21ed0429e42c3f2d65cb4f71 Mon Sep 17 00:00:00 2001 From: kingy444 Date: Wed, 12 Oct 2022 21:35:37 +1100 Subject: [PATCH 14/99] Powerview - Update supported shade information (#24522) Co-authored-by: J. Nick Koston --- .../hunterdouglas_powerview.markdown | 98 +++++++++++-------- 1 file changed, 58 insertions(+), 40 deletions(-) diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown index 71a968f9428..fb4a684fc1d 100644 --- a/source/_integrations/hunterdouglas_powerview.markdown +++ b/source/_integrations/hunterdouglas_powerview.markdown @@ -53,40 +53,35 @@ If your shade is not listed please raise a feature request on the community foru | Name (Type) | Capabilities | | :---------------------------------------- | :------------------------------ | -| Roman (4) | Bottom Up | -| Bottom Up (5) | Bottom Up | -| Duette (6) | Bottom Up | -| Duette, Top Down Bottom Up (8) | Top Down, Bottom Up | -| Duette DuoLite, Top Down Bottom Up (9) | Top Down, Bottom Up | -| Silhouette (18) | 90° Tilt when closed | -| Silhouette (23) | 90° Tilt when closed | -| Duette Architella, Top Down Bottom Up (9) | Top Down, Bottom Up | -| M25T Roller Blind (42) | Bottom Up | -| Facette (43) | 90° Tilt when closed | -| Twist (44) | 180° Tilt when closed | -| Pleated, Top Down Bottom Up (47) | Top Down, Bottom Up | | AC Roller (49) | Bottom Up | - -### Devices with limited functionality - -
-These devices are currently still being tested. We ask you wait patiently while this completes. Until this is completed these may perform basic or slightly odd functionality. -
- -| Name (Type) | Capabilities | -| :---------------------------------------- | :------------------------------ | +| Bottom Up (5) | Bottom Up | +| Curtain, Left Stack (69) | Vertical | +| Curtain, Right Stack (70) | Vertical | +| Curtain, Split Stack (71) | Vertical | +| Facette (43) | Bottom Up TiltOnClosed 90° | +| Duette (6) | Bottom Up | +| Duette, Top Down Bottom Up (8) | Top Down Bottom Up | +| Duette Architella, Top Down Bottom Up (9) | Top Down Bottom Up | +| Duette DuoLite, Top Down Bottom Up (9) | Top Down Bottom Up | +| Duolite Lift (79) | Dual Shade Overlapped | +| M25T Roller Blind (42) | Bottom Up | +| Palm Beach Shutters (66) | Tilt Only 180° | +| Pirouette (18) | Bottom Up TiltOnClosed 90° | +| Pleated, Top Down Bottom Up (47) | Top Down Bottom Up | +| Roman (4) | Bottom Up | +| Silhouette (23) | Bottom Up TiltOnClosed 90° | +| Silhouette Duolite (38) | Dual Shade Overlapped Tilt 90° | +| Skyline Panel, Left Stack (26) | Vertical | +| Skyline Panel, Right Stack (27) | Vertical | +| Skyline Panel, Split Stack (28) | Vertical | | Top Down (7) | Top Down | -| Silhouette Duolite (38) | Dual Shade Blackout + 90° Tilt | -| Venetian, Tilt Anywhere (51) | 180° Tilt Anywhere | -| Vertical Slats, Left Stack (54) | 180° Tilt when closed, Vertical | -| Vertical Slats, Right Stack (55) | 180° Tilt when closed, Vertical | -| Vertical Slats, Split Stack (56) | 180° Tilt when closed, Vertical | -| Venetian, Tilt Anywhere (62) | 180° Tilt Anywhere, Vertical | -| Vignette Duolite (65) | Dual Shade Blackout | -| Curtain, Left Stack (69) | 180° Tilt when closed, Vertical | -| Curtain, Right Stack (70) | 180° Tilt when closed, Vertical | -| Curtain, Split Stack (71) | 180° Tilt when closed, Vertical | -| Duolite Lift (79) | Dual Shade Blackout 90° Tilt | +| Twist (44) | Bottom Up TiltOnClosed 180° | +| Venetian, Tilt Anywhere (51) | Bottom Up TiltAnywhere 180° | +| Venetian, Tilt Anywhere (62) | Bottom Up TiltAnywhere 180° | +| Vertical Slats, Left Stack (54) | Vertical TiltAnywhere 180° | +| Vertical Slats, Right Stack (55) | Vertical TiltAnywhere 180° | +| Vertical Slats, Split Stack (56) | Vertical TiltAnywhere 180° | +| Vignette Duolite (65) | Dual Shade Overlapped | ## Capabilities Information @@ -96,14 +91,13 @@ These shades offer only the simple up/down movement of your conventional shades. ### Top Down -
Full functionality not currently implemented
- These shades offer a unique movement that is inverse to your conventional shade, where the shade is fixed to the floor and lowered from the roof. -### Top Down, Bottom Up (TDBU) +### Top Down Bottom Up(TDBU) TDBU shades consist of two rails controlled by two motors designated by Top and Bottom with fabric in between. The Top and Bottom can move independently to cover different parts of the window but cannot pass the other. + Two different entities that will be created for each blind: Top and Bottom. #### Top entity @@ -126,15 +120,35 @@ Shades with Tilt when closed functionality only allow a shade to tilt when it is ### Tilt Anywhere -
Full functionality not currently implemented
- These shades can tilt in any position and do not require the shade to be open or closed to adjust the tilt position. -### Dual Shade Blackout +### Dual Shade Overlapped -
Full functionality not currently implemented
+These shades consist of two pieces of fabric attached to a single rail. The front shade is sheer, with the rear being opaque, and neither panel can move independently from the other. -These shades consist of two pieces of fabric attached to a single rail. The front shade is sheer, with the rear being blackout, and neither panel can move independently from the other. +Three different entities that will be created for each blind: Front, Rear and Combined. + +#### Front entity + +- 'Up/Open' will move the front shade to the ceiling +- 'Down/Close' will move the front shade to the floor +- As the positioning of the front requires the rear opaque to be fully opened any move will force the rear shade to be opened + +#### Rear entity + +- 'Up/Open' will move the rear shade to the ceiling +- 'Down/Close' will move the rear shade to the floor +- As the positioning of the rear requires the front sheer to be fully closed any move will force the front shade to be closed + +#### Combined entity + +- 'Up/Open' will move the front and rear shades to the ceiling +- 'Down/Close' will move the front and rear shades to the floor +- This entity combines movement for two entities in one + - 0-50 represents the rear shade + - 51-100 represents the front shade +- Tilt functionality will also be present on this entity for shades that support tilt + - When Tilted the front sheer needs to be fully closed, this will happen automatically ## Buttons @@ -146,6 +160,10 @@ Initiate a calibration of the shade position. Calibration is a common requiremen Identify will 'jog' the shade position as a diagnostic tool to ensure the shade you are trying to move is both the intended shade and communicating correctly. +### Favorite + +Move the shade to the favorite position as programmed physically on the device. This will perform the same move as the heart on the pebble remote. + ## Example Automations ### Calling a Powerview Scene From 6f4b2bf092f1de0e73fc30e2d5379eb97eb3a862 Mon Sep 17 00:00:00 2001 From: MrAliFu Date: Wed, 12 Oct 2022 06:31:02 -0500 Subject: [PATCH 15/99] Update islamic_prayer_times.markdown (#24420) --- .../_integrations/islamic_prayer_times.markdown | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/_integrations/islamic_prayer_times.markdown b/source/_integrations/islamic_prayer_times.markdown index 752d845dd8d..7a3bcd2cb61 100644 --- a/source/_integrations/islamic_prayer_times.markdown +++ b/source/_integrations/islamic_prayer_times.markdown @@ -18,11 +18,21 @@ The Islamic Prayer Times (`islamic_prayer_times`) integration displays the vario This platform calculates prayer times using the following calculation methods: -- University of Islamic Sciences in Karachi +- Shia Ithna-Ansari - Islamic Society of North America +- University of Islamic Sciences, Karachi - Muslim World League -- Umm Al-Qura University in Makkah -- Moonsighting +- Umm Al-Qura University, Makkah +- Egyptian General Authority of Survey +- Institute of Geophysics, University of Tehran +- Gulf Region +- Kuwait +- Qatar +- Majlis Ugama Islam Singapura, Singapore +- Union Organization islamic de France +- Diyanet İşleri Başkanlığı, Turkiye +- Spiritual Administration of Muslims of Russia +- Moonsighting Committee Worldwide {% include integrations/config_flow.md %} From ba2b2641a78b42cf8b96f34936b3cebe866510cc Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 13 Oct 2022 09:04:45 +0200 Subject: [PATCH 16/99] Make notifiers of Alert optional (#24540) --- source/_integrations/alert.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/alert.markdown b/source/_integrations/alert.markdown index 8dd035eb58d..05621c46c23 100644 --- a/source/_integrations/alert.markdown +++ b/source/_integrations/alert.markdown @@ -103,7 +103,7 @@ done_message: type: template notifiers: description: "List of `notification` integrations to use for alerts." - required: true + required: false type: list data: description: "Dictionary of extra parameters to send to the notifier." From d8ea7b605bc1a1d3700e2d5ce54e12fe04f86ba3 Mon Sep 17 00:00:00 2001 From: Shay Levy Date: Fri, 14 Oct 2022 00:28:33 +0300 Subject: [PATCH 17/99] Switcher - update support for Switcher Runner (#24323) --- source/_integrations/switcher_kis.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown index 197d10ba928..a567cd1fd9e 100644 --- a/source/_integrations/switcher_kis.markdown +++ b/source/_integrations/switcher_kis.markdown @@ -3,6 +3,7 @@ title: Switcher description: Integrate Switcher devices. ha_category: - Climate + - Cover - Sensor - Switch ha_release: 0.93 @@ -30,6 +31,7 @@ Supported devices: - Switcher V2 (Qualcomm chipset - from firmware 72.32) - Switcher V4 - Switcher Breeze +- Switcher Runner If you completed the integration setup but are still unable to control the device, please make sure your device's firmware is up-to-date. From 617ea33f28447ba9aef27f1a46de971f4cb5c457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9n?= Date: Fri, 14 Oct 2022 11:01:01 +0200 Subject: [PATCH 18/99] Add heiwa integration (#24558) Co-authored-by: Franck Nijhof --- source/_integrations/gree.markdown | 1 + source/_integrations/heiwa.markdown | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 source/_integrations/heiwa.markdown diff --git a/source/_integrations/gree.markdown b/source/_integrations/gree.markdown index 98cb099893b..3cb8559035b 100644 --- a/source/_integrations/gree.markdown +++ b/source/_integrations/gree.markdown @@ -37,6 +37,7 @@ Any Gree Smart device working with the Gree+ app should be supported, including - Cooper & Hunter - Proklima - Tadiran +- Heiwa ## Climate diff --git a/source/_integrations/heiwa.markdown b/source/_integrations/heiwa.markdown new file mode 100644 index 00000000000..347299756f0 --- /dev/null +++ b/source/_integrations/heiwa.markdown @@ -0,0 +1,20 @@ +--- +title: Heiwa +description: Connect and control your Heiwa devices using the Gree Climate integration +ha_category: + - Climate +ha_release: 2022.11.0 +ha_iot_class: Local Polling +ha_config_flow: true +ha_codeowners: + - '@renaiku' +ha_domain: heiwa +ha_platforms: + - climate + - switch +ha_integration_type: integration +ha_supporting_domain: gree +ha_supporting_integration: Gree Climate +--- + +{% include integrations/supported_brand.md %} \ No newline at end of file From 0a97b638b2ba45673d12b1d6752869986e29872a Mon Sep 17 00:00:00 2001 From: Janick Bergeron Date: Fri, 14 Oct 2022 04:12:24 -0700 Subject: [PATCH 19/99] Remove contradiction in sunset condition (#24005) --- source/_docs/scripts/conditions.markdown | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown index f810a2fb70e..2c20b2a2ad9 100644 --- a/source/_docs/scripts/conditions.markdown +++ b/source/_docs/scripts/conditions.markdown @@ -376,16 +376,14 @@ condition: ### Sunset/sunrise condition -The sun condition can also test if the sun has already set or risen when a trigger occurs. The `before` and `after` keys can only be set to `sunset` or `sunrise`. They have a corresponding optional offset value (`before_offset`, `after_offset`) that can be added, similar to the [sun trigger][sun_trigger]. When both keys are used, the result is a logical `and` of separate conditions. +The sun condition can also test if the sun has already set or risen when a trigger occurs. The `before` and `after` keys can only be set to `sunset` or `sunrise`. They have a corresponding optional offset value (`before_offset`, `after_offset`) that can be added, similar to the [sun trigger][sun_trigger]. -Note that if only `before` key is used, the condition will be `true` _from midnight_ until sunrise/sunset. If only `after` key is used, the condition will be `true` from sunset/sunrise _until midnight_. Therefore, to cover time between sunset and sunrise one need to use `after: sunset` and `before: sunrise` as 2 separate conditions and combine them using `or`. +Note that if only `before` key is used, the condition will be `true` _from midnight_ until sunrise/sunset. If only `after` key is used, the condition will be `true` from sunset/sunrise _until midnight_. If both `before: sunrise` and `after: sunset` keys are used, the condition will be `true` _from midnight_ until sunrise **and** from sunset _until midnight_. If both `after: sunrise` and `before: sunset` keys are used, the condition will be `true` from sunrise until sunset. [sun_trigger]: /docs/automation/trigger/#sun-trigger
-The sunset/sunrise conditions do not work in locations inside the polar circles, and also not in locations with a highly skewed local time zone. - -In those cases it is advised to use conditions evaluating the solar elevation instead of the before/after sunset/sunrise conditions. +The sunset/sunrise conditions do not work in locations inside the polar circles, and also not in locations with a highly skewed local time zone. In those cases it is advised to use conditions evaluating the solar elevation instead of the before/after sunset/sunrise conditions.
This is an example of 1 hour offset before sunset: @@ -414,18 +412,6 @@ condition: before: sunset ``` -We cannot use both keys in this case as it will always be `false`. - -```yaml -condition: - condition: or - conditions: - - condition: sun - after: sunset - - condition: sun - before: sunrise -``` - A visual timeline is provided below showing an example of when these conditions are true. In this chart, sunrise is at 6:00, and sunset is at 18:00 (6:00 PM). The green areas of the chart indicate when the specified conditions are true. ![Graphic showing an example of sun conditions](/images/docs/scripts/sun-conditions.svg) From d400e089d1af57bf4c85bcec448271284a50ec97 Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Fri, 14 Oct 2022 13:22:08 -0400 Subject: [PATCH 20/99] Add docs for fully_kiosk start_application service (#24543) --- source/_integrations/fully_kiosk.markdown | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/_integrations/fully_kiosk.markdown b/source/_integrations/fully_kiosk.markdown index f3a83283621..6ddf9275bcb 100644 --- a/source/_integrations/fully_kiosk.markdown +++ b/source/_integrations/fully_kiosk.markdown @@ -88,3 +88,22 @@ data: target: device_id: a674c90eca95eca91f6020415de07713 ``` + +**Service `start_application`** + +You can use the service `fully_kiosk.start_application` to have the tablet launch the specified app. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `device_id` | yes | Device ID (or list of device IDs) to load the URL on. +| `application` | yes | The package name of the app to load. + +Example: + +```yaml +service: fully_kiosk.start_application +data: + application: "de.ozerov.fully" +target: + device_id: a674c90eca95eca91f6020415de07713 +``` From 020d352c2499e9c111934b6959f0c6880aa7f3be Mon Sep 17 00:00:00 2001 From: Jeef Date: Sat, 15 Oct 2022 12:44:12 -0600 Subject: [PATCH 21/99] Intellifire - Flame Height (#24523) * flame height docs * flame height docs --- source/_integrations/intellifire.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/_integrations/intellifire.markdown b/source/_integrations/intellifire.markdown index febcf3b74d4..502b02b9535 100644 --- a/source/_integrations/intellifire.markdown +++ b/source/_integrations/intellifire.markdown @@ -5,6 +5,7 @@ ha_category: - Binary Sensor - Climate - Fan + - Number - Sensor - Switch ha_iot_class: Local Polling @@ -17,6 +18,7 @@ ha_platforms: - binary_sensor - climate - fan + - number - sensor - switch ha_dhcp: true @@ -49,8 +51,11 @@ The following controllable entities are available: - **Thermostat** - This entity will be present if your unit has thermostatic control. -### Sensor Types +### Number +The integration uses a Number entity to control flame height. Valid flame height vales are `1-5`. + +### Sensor Types The following sensors are available as either a **Binary Sensor** when dealing with on/off. @@ -63,7 +68,7 @@ The following sensors are available as either a **Binary Sensor** when dealing w ### Sensor -- **Flame Height**: Numerical indicator of flame height, where `0` is the lowest setting. +- **Flame Height**: Numerical indicator of flame height, where `1` is the lowest setting and `5` is the highest setting. - **Temperature**: Current ambient temperature as read by the fireplace remote. - **Target Temperature**: If the thermostat is engaged this is the target temperature the fireplace will try to reach, as measured by the remote. - **Fan Speed**: Numerical indicator of fan speed. From 7a1944817a0a803a06597be764b55a7fe1ce8bd4 Mon Sep 17 00:00:00 2001 From: kingy444 Date: Tue, 18 Oct 2022 03:30:43 +1100 Subject: [PATCH 22/99] Powerview select platform (#24535) --- source/_integrations/hunterdouglas_powerview.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown index fb4a684fc1d..b23853631b8 100644 --- a/source/_integrations/hunterdouglas_powerview.markdown +++ b/source/_integrations/hunterdouglas_powerview.markdown @@ -5,6 +5,7 @@ ha_category: - Button - Cover - Scene + - Select - Sensor ha_release: 0.15 ha_domain: hunterdouglas_powerview @@ -20,6 +21,7 @@ ha_platforms: - cover - diagnostics - scene + - select - sensor ha_zeroconf: true ha_dhcp: true @@ -33,6 +35,7 @@ There is currently support for the following device types within Home Assistant: - Button - Cover - Scene +- Select - Sensor
@@ -164,6 +167,12 @@ Identify will 'jog' the shade position as a diagnostic tool to ensure the shade Move the shade to the favorite position as programmed physically on the device. This will perform the same move as the heart on the pebble remote. +## Selection Entities + +### Power Source + +Set the type for connected power source. Available options are Hardwired Power Supply, Battery Wand and Rechargeable Battery + ## Example Automations ### Calling a Powerview Scene From 260d14758abd39f06dd696d4687776e10d02fadc Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 18 Oct 2022 08:07:47 -0500 Subject: [PATCH 23/99] Add support for the Qingping Temp RH Pro E model (#24587) --- source/_integrations/qingping.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/qingping.markdown b/source/_integrations/qingping.markdown index aaac807b064..f0e8a5d1d74 100644 --- a/source/_integrations/qingping.markdown +++ b/source/_integrations/qingping.markdown @@ -32,3 +32,4 @@ The Qingping integration will automatically discover devices once the [Bluetooth - [LEE GUITARS Thermo-Hygrometer](https://www.qingping.co/lee-guitars-thermo-hygrometer/overview) (CGM1) - [Motion & Ambient Light Sensor](https://www.qingping.co/motion-light-sensor/overview) (CGPR1) - [Temp RH M](https://www.qingping.co/temp-rh-monitor/overview#mi) (CGG1) +- [Temp RH Pro E](https://www.qingping.co/temp-rh-monitor-pro-e/overview) (CGF1W) From 096f6961a8109d59cb35f6a63b3d1c2f68aa9cd2 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 18 Oct 2022 19:21:14 +0200 Subject: [PATCH 24/99] Add message service to LaMetric (#24589) --- source/_integrations/lametric.markdown | 49 +++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 911d401e1bd..8fa0bff1b6f 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -28,6 +28,53 @@ ha_ssdp: true {% include integrations/config_flow.md %} +## Services + +The LaMetric integration provides services to interact with your LaMetric +device(s). Those service can be called in, for example, automations. + +### Service `lametric.message` + +The {% my developer_call_service service="lametric.message" title="`lametric.message`" %} +service allows you to send a message to your LaMetric. These +messages can be enrichted with icons and sounds. + +{% my developer_call_service badge service="lametric.message" %} + +{% configuration "lametric.message" %} +device_id: + description: The ID of the device to send the message to. + required: true + type: string +message: + description: The message to send to the LaMetric device. + required: true + type: string +icon: + description: "An icon or animation. List of all icons available at [https://developer.lametric.com/icons](https://developer.lametric.com/icons)." + required: false + type: string +cycles: + description: "Defines how long the notification will be displayed. Set to `0` to require manual dismissal." + required: false + type: integer + default: 1 +priority: + description: "Defines the priority of the notification. Allowed values are `info`, `warning`, and `critical`." + required: false + type: string + default: info +icon_type: + description: "Defines the nature of notification. Allowed values are `none`, `info`, and `alert`." + required: false + type: string + default: none +sound: + description: "Defines the sound of the notification. Allowed are listed [below](#list-of-notification-sounds)." + required: false + type: string +{% endconfiguration %} + ## Notifications You can send notifications to your LaMetric device using @@ -41,7 +88,7 @@ called "My LaMetric", the service would become `notify.my_lametric`. The notification service call against an LaMetric device can take the following, additional, optional parameters: -{% configuration %} +{% configuration "notification" %} icon: description: "An icon or animation. List of all icons available at [https://developer.lametric.com/icons](https://developer.lametric.com/icons)." required: false From b43a1af61379013df436a7b9acb5a1b923ad242f Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 19 Oct 2022 03:36:38 +0200 Subject: [PATCH 25/99] Add chart service to LaMetric (#24617) --- source/_integrations/lametric.markdown | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 8fa0bff1b6f..18e3584cbe7 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -33,6 +33,43 @@ ha_ssdp: true The LaMetric integration provides services to interact with your LaMetric device(s). Those service can be called in, for example, automations. +### Service `lametric.chart` + +The {% my developer_call_service service="lametric.chart" title="`lametric.chart`" %} +service allows you to display a little chart to your LaMetric. + +{% my developer_call_service badge service="lametric.chart" %} + +{% configuration "lametric.chart" %} +device_id: + description: The ID of the device to send the message to. + required: true + type: string +data: + description: The data points in the chart, as a list of numbers. For example `[1, 2, 3, 2, 1]`. + required: true + type: list +cycles: + description: "Defines how long the notification will be displayed. Set to `0` to require manual dismissal." + required: false + type: integer + default: 1 +priority: + description: "Defines the priority of the notification. Allowed values are `info`, `warning`, and `critical`." + required: false + type: string + default: info +icon_type: + description: "Defines the nature of notification. Allowed values are `none`, `info`, and `alert`." + required: false + type: string + default: none +sound: + description: "Defines the sound of the notification. Allowed are listed [below](#list-of-notification-sounds)." + required: false + type: string +{% endconfiguration %} + ### Service `lametric.message` The {% my developer_call_service service="lametric.message" title="`lametric.message`" %} From 01b19c688912a8d0fe6a744f7d9a686c054fc431 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 19 Oct 2022 14:52:25 +0200 Subject: [PATCH 26/99] Rename Imperial to US Customary (#24612) * Rename Imperial to US Customary * Update configuration.markdown * Update splitting_configuration.markdown --- source/_docs/configuration/basic.markdown | 4 ++-- source/_docs/configuration/splitting_configuration.markdown | 4 ++-- source/getting-started/configuration.markdown | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index 495d4a0f275..0b2fef45192 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -3,7 +3,7 @@ title: "Setup basic information" description: "Setting up the basic info of Home Assistant." --- -As part of the default onboarding process, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You may adjust this during onboarding, or afterwards at {% my general title="Settings > System > General" %}. +As part of the default onboarding process, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a unit system and time zone based on this location. You may adjust this during onboarding, or afterwards at {% my general title="Settings > System > General" %}. If you prefer YAML, you can add the following information to your `configuration.yaml`: @@ -53,7 +53,7 @@ elevation: required: false type: integer unit_system: - description: "`metric` for Metric, `imperial` for Imperial. This also sets temperature_unit, Celsius for Metric and Fahrenheit for Imperial" + description: "`metric` for Metric, `us_customary` for US Customary. This also sets temperature_unit, Celsius for Metric and Fahrenheit for US Customary" required: false type: string temperature_unit: diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index 234cc07369e..400ee579658 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -20,8 +20,8 @@ homeassistant: # Location required to calculate the time the sun rises and sets latitude: 37 longitude: -121 - # 'metric' for Metric, 'imperial' for Imperial - unit_system: imperial + # 'metric' for Metric, 'us_customary' for US Customary + unit_system: us_customary # Pick yours from here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones time_zone: "America/Los_Angeles" customize: !include customize.yaml diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 3043e234b6b..857bf272417 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -31,12 +31,12 @@ Now let's make a change using the file editor: we are going to change the name, name: Home latitude: xx.xxxx longitude: xx.xxxx - unit_system: imperial + unit_system: us_customary time_zone: America/Chicago ```
- Valid options for `unit_system` are `imperial` or `metric`. See [here](https://timezonedb.com/time-zones) for a list of valid time zones. Enter the appropriate option found under the Time Zone column at that page. + Valid options for `unit_system` are `us_customary` or `metric`. See [here](https://timezonedb.com/time-zones) for a list of valid time zones. Enter the appropriate option found under the Time Zone column at that page.
From f6befb27079744468db36c3c62699da53abf1015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klomp?= Date: Fri, 21 Oct 2022 22:56:14 +0200 Subject: [PATCH 27/99] Add new pysma sensor (#24626) --- source/_integrations/sma.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_integrations/sma.markdown b/source/_integrations/sma.markdown index ce66c226f9f..b08bc9e122b 100644 --- a/source/_integrations/sma.markdown +++ b/source/_integrations/sma.markdown @@ -30,8 +30,9 @@ The SMA WebConnect module supports a wide variety of sensors, but not all of the | name | Unit | Description | | --- | --- | --- | | status | | Status of the device | -| pv_power_a | W | Current power generated by the solar panels (A side) | -| pv_power_b | W | Current power generated by the solar panels (B side) | +| pv_power | W | Current power provided to the AC side by all the solar panels | +| pv_power_a | W | Current power generated on the DC side by the solar panels (A side) | +| pv_power_b | W | Current power generated on the DC side by the solar panels (B side) | | pv_voltage_a | V | Current voltage generated by the solar panels (A side) | | pv_voltage_b | V | Current voltage generated by the solar panels (B side) | | pv_current_a | A | Current amperage generated by the solar panels (A side) | From b0e63c7551367d556bcb613f06a426759c4d7de2 Mon Sep 17 00:00:00 2001 From: Avi Miller Date: Mon, 24 Oct 2022 03:47:01 +1100 Subject: [PATCH 28/99] Add docs for the new theme functionality for LIFX multi-zone devices (#24509) Co-authored-by: J. Nick Koston --- source/_integrations/lifx.markdown | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index e3c65e65351..dd2f504a845 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -57,6 +57,16 @@ To determine whether or not a HEV cycle is currently running, Home Assistant exp | `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. +## Applying themes + +You can apply a pre-defined theme to a LIFX multizone device using the Theme configuration entity either manually via the drop-down box on the device configuration screen in the UI or by calling the `select.select_option` service in an automation or script. + +When starting a hardware-based move effect, you can specify a theme using the `lifx.effect_move` service. See below for more information about this service. + +The following themes are available: `autumn`, `blissful`, `cheerful`, `dream`, `energizing`, `epic`, `exciting`, `focusing`, `halloween`, `hanukkah`, `holly`, `independence_day`, `intense`, `mellow`, `peaceful`, `powerful`, `relaxing`, `santa`, `serene`, `soothing`, `sports`, `spring`, `tranquil`, `warming`. + +Each theme should closely match the theme of the same name in the LIFX smartphone app but may not be identical. + ## Light effects 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: @@ -135,6 +145,7 @@ The effect will not be visible if all LEDs on the device are set to the same col | `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) +| `theme` | The name of a pre-defined theme to apply to the multizone device before starting the effect. | `power_on` | Whether to turn the light on before starting the effect (optional, default: true) ### Service `lifx.effect_stop` From bd21a47ee7c1931c45b5ca4351291a6f19297c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Matheson=20Wergeland?= Date: Mon, 24 Oct 2022 01:56:53 +0200 Subject: [PATCH 29/99] =?UTF-8?q?Support=20Nob=C3=B8=20Switch=20as=20tempe?= =?UTF-8?q?ratur=20sensor=20(#24391)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/nobo_hub.markdown | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/source/_integrations/nobo_hub.markdown b/source/_integrations/nobo_hub.markdown index c09a5a4567f..1d6f2fc68ae 100644 --- a/source/_integrations/nobo_hub.markdown +++ b/source/_integrations/nobo_hub.markdown @@ -11,6 +11,7 @@ ha_codeowners: ha_domain: nobo_hub ha_platforms: - climate +- sensor --- Integrates [Nobø Ecohub](https://www.glendimplex.no/produkter/varmestyring/11123610/noboe-hub/c-77/p-330) @@ -23,6 +24,10 @@ IP address of the hub. {% include integrations/config_flow.md %} +# Heaters + +Each zone containing floor or wall mounted heaters is represented as an HVAC entity. + ## Operation modes As for now you can see and change operation and preset for zones and set eco/comfort temperatures if you have @@ -32,7 +37,7 @@ 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" +- "Heat" - In this mode the zone is the override setting and in the state selected by preset ("Away", "Eco" or "Comfort"). This can be utilized the following ways: @@ -46,6 +51,12 @@ This can be utilized the following ways: 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. +temperature is fixed to 7°C in the heaters 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/). + +# Nobø Switch + +Each Nobø Switch (SW4) is represented as a temperature sensor. If a switch is linked to a zone, the temperature is +also available as the current temperature of the HVAC entity. From e9e097f5aa75a1591327ce5819e5bda4b8bb2b90 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Mon, 24 Oct 2022 15:09:24 +0200 Subject: [PATCH 30/99] Add Climate React to Sensibo (#24088) Co-authored-by: J. Nick Koston --- source/_integrations/sensibo.markdown | 38 ++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/source/_integrations/sensibo.markdown b/source/_integrations/sensibo.markdown index 96f73750c55..dfad9ba77f0 100644 --- a/source/_integrations/sensibo.markdown +++ b/source/_integrations/sensibo.markdown @@ -117,12 +117,23 @@ For AirQ device, these sensors are available: - TVOC - CO2 +For climate devices, these sensors are available: + +- Climate React low temperature threshold +- Climate React high temperature threshold + ## Switch Entities -For climate devices, this integration provides support to enable/disable a timer to delay a start or stop (depending on the current state) of your device. +For climate devices, these switches are available: + +Support to enable/disable a timer to delay a start or stop (depending on the current state) of your device. The switch uses a timer of 60 minutes delay. You can choose a custom delay using the custom `sensibo.enable_timer` service. See [Timer](#timer). +Support to enable/disable Climate React + +Usage of the Climate React switch requires that the service has been configured previously in the app or by using the custom `sensibo.enable_climate_react` service. See [Climate React](#climate-react) + For Pure devices, this integration provides support to enable/disable Pure Boost. To customize the settings of Pure Boost, you can use the custom `sensibo.enable_pure_boost` service. See [Pure Boost](#pure-boost) @@ -147,6 +158,31 @@ Using Geo integration for Pure Boost is only possible by pre-configuration of Pr You can enable a timer with a custom delay using the service `sensibo.enable_timer` that is provided. +### Climate React + +You can configure your Climate React settings using the services `sensibo.enable_climate_react`. + +- Configuring this service also turns Climate React on + +When using the service, the state needs to be set to precisely what Sensibo API expects. The first time it's recommended to use the app to configure it. From that point, you can see what the API requires and how to write from the Climate React switch attribute. + +Example for low threshold state: + +{% raw %} + +```yaml +on: true +fanLevel: "high" +temperatureUnit: "C" +targetTemperature: 23 +mode: "cool" +swing: "fixedBottom" +horizontalSwing: "fixedLeft" +light: "on" +``` + +{% endraw %} + ## Adding a quick switch example If you want a "Quick Switch" to turn your AC On / Off, you can do that using the following `Switch Template`: From 04c513671d1d2c895b092328b204b7af12309402 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 24 Oct 2022 17:21:47 +0200 Subject: [PATCH 31/99] Add select platform to LaMetric (#24438) --- source/_integrations/lametric.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index b7bcbbbdf14..807232eed33 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -5,6 +5,7 @@ ha_category: - Button - Notifications - Number + - Select - Sensor - Switch ha_iot_class: Local Polling @@ -17,6 +18,7 @@ ha_platforms: - button - notify - number + - select - sensor - switch ha_integration_type: integration From c0fac299c5e071f23f35a2fe3f74d9309a4ecea3 Mon Sep 17 00:00:00 2001 From: Nippey Date: Mon, 24 Oct 2022 18:08:39 +0200 Subject: [PATCH 32/99] Modbus: Add support for Holding Registers to Binary Sensor (#24595) --- source/_integrations/modbus.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown index fa7b1d87c18..4cb17bdff84 100644 --- a/source/_integrations/modbus.markdown +++ b/source/_integrations/modbus.markdown @@ -364,7 +364,7 @@ binary_sensors: required: false type: string input_type: - description: type of address (discrete_input/coil) + description: type of address (discrete_input/coil/holding) required: false default: coil type: string From 0d4e8b897304801ce6bdae5205e64d7d4239f09a Mon Sep 17 00:00:00 2001 From: uvjustin <46082645+uvjustin@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:17:31 -0700 Subject: [PATCH 33/99] Update forked-daapd documentation (#24274) Co-authored-by: Franck Nijhof --- source/_integrations/forked_daapd.markdown | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/source/_integrations/forked_daapd.markdown b/source/_integrations/forked_daapd.markdown index ddc8bda9275..47c8a932c8a 100644 --- a/source/_integrations/forked_daapd.markdown +++ b/source/_integrations/forked_daapd.markdown @@ -1,13 +1,13 @@ --- -title: forked-daapd -description: Instructions on how to integrate a forked-daapd server into Home Assistant. +title: Owntone +description: Instructions on how to integrate an Owntone server into Home Assistant. ha_category: - Media Player -ha_release: '0.110' +ha_release: "0.110" ha_iot_class: Local Push ha_domain: forked_daapd ha_codeowners: - - '@uvjustin' + - "@uvjustin" ha_config_flow: true ha_zeroconf: true ha_platforms: @@ -15,22 +15,26 @@ ha_platforms: ha_integration_type: integration --- -The `forked_daapd` integration allows you to control your [OwnTone (previously forked-daapd)](https://github.com/owntone/owntone-server) server from Home Assistant. This integration can control the forked-daapd outputs (zones) with limited playback control (play/pause, previous/next track) and media info support. Playlist manipulation is not supported. +The Owntone integration allows you to control your [OwnTone (previously forked-daapd)](https://github.com/owntone/owntone-server) server from Home Assistant. This integration can control the Owntone outputs (zones) with limited playback control (play/pause, previous/next track) and media info support. Playlist manipulation is not supported. ## Requirements -The `forked_daapd` integration requires a OwnTone server built with libwebsockets enabled, version >= 27.0. +The Owntone integration requires an OwnTone server built with libwebsockets enabled, version >= 27.0. {% include integrations/config_flow.md %} ## Outputs -Once the `forked-daapd` integration is set up, outputs will automatically be loaded from the server and added to HA in real time. +Once the Owntone integration is set up, outputs will automatically be loaded from the server and added to HA in real-time. ## Pipes -As OwnTone supports playing audio input via a pipe, this integration supports the forwarding of basic player controls (play, pause, next track, previous track) directly to the pipe's source. Currently only the pipe source librespot-java is supported. To use this, configure your forked-daapd server to autostart pipes and name your librespot-java pipe "librespot-java" (accompanying metadata is also supported through forked-daapd via a metadata pipe named"librespot-java.metadata"). The `forked-daapd` integration will find the librespot-java pipe in the database and will set it up as a source. +As OwnTone supports playing audio input via a pipe, this integration supports the forwarding of basic player controls (play, pause, next track, previous track) directly to the pipe's source. Currently, only the pipe source librespot-java is supported. To use this, configure your Owntone server to autostart pipes and name your librespot-java pipe "librespot-java" (accompanying metadata is also supported through Owntone via a metadata pipe named "librespot-java.metadata"). The Owntone integration will find the librespot-java pipe in the database and will set it up as a source. ## Playlists -The `forked-daapd` integration will treat playlists in the database as sources. The number of playlists shown as sources can be set in the integration's configuration options. +The Owntone integration will treat playlists in the database as sources. The number of playlists shown as sources can be set in the integration's configuration options. + +## Spotify + +The Owntone integration supports media browsing via the [Spotify integration](/integrations/spotify). However, to play Spotify content, your Owntone instance must be logged in with Spotify. This can be done through Owntone's own web interface. For more details, see [Owntone's notes on Spotify](https://owntone.github.io/owntone-server/integrations/spotify/#spotify). You should log in with the same Spotify account for both the Owntone server and the Home Assistant [Spotify integration](/integrations/spotify). From 538310bb08278a007f5faa1560c1ba9aed6c2e13 Mon Sep 17 00:00:00 2001 From: Avishay Date: Mon, 24 Oct 2022 19:31:05 +0300 Subject: [PATCH 34/99] HVAC mode in Modbus platform (#23231) Co-authored-by: Franck Nijhof --- source/_integrations/modbus.markdown | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown index 4cb17bdff84..28407afa11b 100644 --- a/source/_integrations/modbus.markdown +++ b/source/_integrations/modbus.markdown @@ -408,6 +408,18 @@ modbus: target_temp_register: 2782 temp_step: 1 temperature_unit: C + - name: "Bedroom Air Condition" + address: 10 + target_temp_register: 10 + hvac_mode_register: + address: 11 + values: + auto: 0 + cool: 1 + heat: 2 + fan_only: 3 + dry: 4 + hvac_onoff_register: 11 ``` {% configuration %} @@ -454,6 +466,56 @@ climates: required: false type: string default: C + hvac_mode_register: + description: Definition of a register holding and controlling an HVAC mode + required: false + type: [map] + keys: + address: + description: The address of the HVAC mode register. + required: true + type: integer + values: + description: A mapping between the register values and HVAC modes + required: true + type: [map] + keys: + "off": + description: The register value corresponding to HVAC Off mode. + required: false + type: integer + heat: + description: The register value corresponding to HVAC Heat mode. + required: false + type: integer + cool: + description: The register value corresponding to HVAC Cool mode. + required: false + type: integer + auto: + description: The register value corresponding to HVAC Auto mode. + required: false + type: integer + dry: + description: The register value corresponding to HVAC Dry mode. + required: false + type: integer + fan_only: + description: The register value corresponding to HVAC Fan only mode. + required: false + type: integer + heat_cool: + description: The register value corresponding to HVAC Heat/Cool mode. + required: false + type: integer + hvac_onoff_register: + description: Address of a register holding and controlling the On/Off state of the climate device. + When zero is read from this register, the HVAC state is set to Off, otherwise the `hvac_mode_register` + dictates the state of the HVAC. If no such register is defined, it defaults to Auto. + When the HVAC mode is set to Off, the value 0 is written to the register, otherwise the + value 1 is written. + required: false + type: integer unique_id: description: An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception. required: false @@ -466,6 +528,12 @@ climates: | ------- | ----------- | | set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` | +### Service `modbus.set_hvac_mode` + +| Service | Description | +| ------- | ----------- | +| set_hvac_mode | Set HVAC mode. Requires `value` to be passed in, which is the desired mode. `value` should be a valid HVAC mode. A mapping between the desired state and the value to be written to the HVAC mode register must exist. Calling this service will also set the On/Off register to an appropriate value, if such a register is defined. | + ## Configuring platform cover The `modbus` cover platform allows you to control covers (such as blinds, a roller shutter, or a garage door). From 16929ec4b6686656edc1fb010ca1159b7aeac3ea Mon Sep 17 00:00:00 2001 From: Vilppu Vuorinen Date: Mon, 24 Oct 2022 19:33:26 +0300 Subject: [PATCH 35/99] Add daily energy consumption for melcloud (#24167) --- source/_integrations/melcloud.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/melcloud.markdown b/source/_integrations/melcloud.markdown index 20dcb215e8b..21ea026aff3 100644 --- a/source/_integrations/melcloud.markdown +++ b/source/_integrations/melcloud.markdown @@ -62,6 +62,7 @@ The following attributes are available for `sensor` platform entities: - Room temperature - Energy - The total consumed energy in kWh. **Not supported by all models.** +- Daily energy - Energy consumption within a 24h window in kWh. This reading resets at midnight on the timezone of the MELCloud service. The exact time needs to be determined by following the sensor value until a reset is detected. ## Air-to-Water device From fa32b9f54f4cbb63ff27e28348021e4239d09c4a Mon Sep 17 00:00:00 2001 From: Avi Miller Date: Tue, 25 Oct 2022 03:35:44 +1100 Subject: [PATCH 36/99] Add documentation for the LIFX Flame and Morph effects (#24331) Co-authored-by: J. Nick Koston Co-authored-by: Franck Nijhof --- source/_integrations/lifx.markdown | 38 ++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index 4e947354c51..169bc51072b 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -102,13 +102,17 @@ script:          change: 35 ``` -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. +### Hardware effects + +The Flame (`lifx_effect_flame`), Morph (`lifx.effect_morph`) and Move (`lifx.effect_move`) effects are hardware-based and only work on specific LIFX devices. Flame and Morph are available on the LIFX Tile and Candle, while the Move effect requires a LIFX Z, Lightstrip, or Beam. + +All hardware-based effects can be stopped and started regardless of the device's power state, but the default behavior for each service is to turn the device on when starting an effect. Set the `power_on` attribute of the service to `false` to override this default. All the available light effects and their options are listed below. ### Service `lifx.effect_pulse` -Run a flash effect by changing to a color and then back. +Run a software-based flash effect by changing to a color and then back. | Service data attribute | Description | | ---------------------- | ----------- | @@ -123,7 +127,7 @@ Run a flash effect by changing to a color and then back. ### Service `lifx.effect_colorloop` -Run an effect with colors looping around the color wheel. All participating lights will coordinate to keep similar (but not identical) colors. +Run a software-based effect that continuously loops colors around the color wheel. All participating lights will coordinate to keep similar (but not identical) colors. | Service data attribute | Description | | ---------------------- | ----------- | @@ -135,9 +139,35 @@ 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_flame` + +Run a hardware-based effect on LIFX matrix devices that creates a flame effect on the device. The device will be powered on by default, but this can be overridden by setting `power_on` to `false`. The `speed` attribute controls the speed of the flames. + +| Service data attribute | Description | +| ---------------------- | ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of matrix lights. +| `speed` | Duration in seconds for the effect to travel the length of the device (min: 1s, max: 25s) +| `power_on` | Whether to turn the light on before starting the effect (optional, default: true) + +### Service `lifx.effect_morph` + +Run a hardware-based effect on LIFX matrix devices that animates blobs of colors across the device. The `speed` attribute controls the speed of the movement. + +You must provide a `palette` or `theme` to use for the effect, but not both. The `palette` attribute allows you to select the colors used by the effect, while the `theme` attribute allows you to select one of the pre-configured themes which match those found in the LIFX smartphone app. + +The device will be powered on by default, but this can be overridden by setting `power_on` to `false`. + +| Service data attribute | Description | +| ---------------------- | ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of matrix lights. +| `speed` | Duration in seconds for the effect to travel the length of the device (min: 1s, max: 25s) +| `palette` | A list of at least 2 and at most 16 HSBK values to use for this effect. +| `theme` | The theme to use for the effect. Must be one of: `autumn`, `blissful`, `cheerful`, `dream`, `energizing`, `epic`, `exciting`, `focusing`, `halloween`, `hanukkah`, `holly`, `independence` `day`, `intense`, `mellow`, `peaceful`, `powerful`, `relaxing`, `santa`, `serene`, `soothing`, `sports`, `spring`, `tranquil`, `warming`. +| `power_on` | Whether to turn the light on before starting the effect (optional, default: 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. +Run a hardware-based effect on LIFX multizone devices that move the current colors on the device in a particular direction. The direction and speed of the animation are controlled by the `speed` and `direction` attributes. You can change the effect's colors while 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. From a5854a0e71aabcf26bb20611eab974af880b378d Mon Sep 17 00:00:00 2001 From: Petro31 <35082313+Petro31@users.noreply.github.com> Date: Mon, 24 Oct 2022 12:36:30 -0400 Subject: [PATCH 37/99] Allow setting set_percentage and set_preset_mode of template fan without turning on (#23822) Co-authored-by: Franck Nijhof --- source/_integrations/fan.template.markdown | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/source/_integrations/fan.template.markdown b/source/_integrations/fan.template.markdown index 0a8064afa7b..f707beb020a 100644 --- a/source/_integrations/fan.template.markdown +++ b/source/_integrations/fan.template.markdown @@ -13,6 +13,8 @@ The `template` platform creates fans that combine integrations and provides the ability to run scripts or invoke services for each of the `turn_on`, `turn_off`, `set_percentage`, `set_preset_mode`, `set_oscillating`, and `set_direction` commands of a fan. +## Configuration + To enable Template Fans in your installation, add the following to your `configuration.yaml` file: @@ -146,3 +148,110 @@ When converting a fan with 3 speeds from the old fan entity model, the following 33 - `low` 66 - `medium` 100 - `high` + +## Examples + +### Helper Fan + +This example uses an input_boolean and an input_number to mimic a fan, and +the example shows multiple service calls for set_percentage. + +{% raw %} + +```yaml +fan: + - platform: template + fans: + helper_fan: + friendly_name: "Helper Fan" + value_template: "{{ states('input_boolean.state') }}" + turn_on: + - service: input_boolean.turn_on + target: + entity_id: input_boolean.state + turn_off: + - service: input_boolean.turn_off + target: + entity_id: input_boolean.state + percentage_template: > + {{ states('input_number.percentage') if is_state('input_boolean.state', 'on') else 0 }} + speed_count: 6 + set_percentage: + - service: input_boolean.turn_{{ 'on' if percentage > 0 else 'off' }} + target: + entity_id: input_boolean.state + - service: input_number.set_value + target: + entity_id: input_number.percentage + data: + value: "{{ percentage }}" +``` + +{% endraw %} + +### Preset Modes Fan + +This example uses an existing fan with only a percentage. It extends the +percentage value into useable preset modes without a helper entity. + +{% raw %} + +```yaml +fan: + - platform: template + fans: + preset_mode_fan: + friendly_name: "Preset Mode Fan Example" + value_template: "{{ states('fan.percentage_fan') }}" + turn_on: + - service: fan.turn_on + target: + entity_id: fan.percentage_fan + turn_off: + - service: fan.turn_off + target: + entity_id: fan.percentage_fan + percentage_template: > + {{ state_attr('fan.percentage_fan', 'percentage') }} + speed_count: 3 + set_percentage: + - service: fan.set_percentage + target: + entity_id: fan.percentage_fan + data: + percentage: "{{ percentage }}" + preset_modes: + - "off" + - "low" + - "medium" + - "high" + preset_mode_template: > + {% if is_state('fan.percentage_fan', 'on') %} + {% if state_attr('fan.percentage_fan', 'percentage') == 100 %} + high + {% elif state_attr('fan.percentage_fan', 'percentage') == 66 %} + medium + {% else %} + low + {% endif %} + {% else %} + off + {% endif %} + set_preset_mode: + - service: fan.set_percentage + target: + entity_id: fan.percentage_fan + data: + percentage: >- + {% if preset_mode == 'high' %} + 100 + {% elif preset_mode == 'medium' %} + 66 + {% elif preset_mode == 'low' %} + 33 + {% else %} + 0 + {% endif %} +``` + +{% endraw %} From 72c602a06f3c84e7fc910d10e93f4aa9c18c9483 Mon Sep 17 00:00:00 2001 From: CharlB <41644590+CharlieBailly@users.noreply.github.com> Date: Mon, 24 Oct 2022 18:42:46 +0200 Subject: [PATCH 38/99] Fix, improve input validation and add tests to ClickSend tts (#23740) Co-authored-by: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/clicksend_tts.markdown | 29 ++++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/source/_integrations/clicksend_tts.markdown b/source/_integrations/clicksend_tts.markdown index cbb815c4a5f..1a368bc74a6 100644 --- a/source/_integrations/clicksend_tts.markdown +++ b/source/_integrations/clicksend_tts.markdown @@ -13,7 +13,7 @@ ha_integration_type: integration The `clicksend_tts` platform uses [ClickSend](https://clicksend.com) to deliver text-to-speech (TTS) notifications from Home Assistant. -Go to your [ClickSend Dashboard](https://dashboard.clicksend.com) section and create your new project. After creating your project, you should now be able to obtain your `username` and `api_key`. +After creating your account, you should now be able to obtain your `username` and `api_key` [here](https://dashboard.clicksend.com/account/subaccounts). To add ClickSend to your installation, add the following to your Home Assistant `configuration.yaml` file: @@ -29,10 +29,10 @@ notify: name: description: Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the service notify.NOTIFIER_NAME. required: false - default: ClickSend + default: clicksend_tts type: string username: - description: Your username. + description: Your username (probably your email address). required: true type: string api_key: @@ -40,15 +40,11 @@ api_key: required: true type: string recipient: - description: Recipient phone number. This is the phone number that you want to call and notify via TTS (e.g., `09171234567`). + description: An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like `+14151234567`. This is the phone number that you want to call and notify via TTS, see [ClickSend Documentation](https://developers.clicksend.com/docs/rest/v3/#Send-Voice-Message) for more info. required: true type: string -caller: - description: Caller phone number. This is the phone number that you want to be the TTS call originator (e.g., `09181234567`). If not defined the recipient number is used. - required: false - type: string language: - description: The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](https://clicksend.docs.apiary.io/#reference/voice/voice-languages). + description: The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](https://developers.clicksend.com/docs/rest/v3/#Send-Voice-Message). required: false default: en-us type: string @@ -59,4 +55,17 @@ voice: type: string {% endconfiguration %} -To use notifications, please see the [getting started with automation page](/getting-started/automation/). +### Usage + +ClickSend is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to the E.164 phone number you configured as **recipient**. + +```yaml +alias: "The sun has set" +trigger: + - platform: sun + event: sunset +action: + - service: notify.clicksend_tts + data: + message: "The sun has set" +``` From 50e57b32b53eb2b8bce55e473e6c5d64c2f6e483 Mon Sep 17 00:00:00 2001 From: Vincent Giorgi Date: Mon, 24 Oct 2022 18:44:44 +0200 Subject: [PATCH 39/99] Add Airthings BLE documentation (#23922) Co-authored-by: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/airthings_ble.markdown | 51 +++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 source/_integrations/airthings_ble.markdown diff --git a/source/_integrations/airthings_ble.markdown b/source/_integrations/airthings_ble.markdown new file mode 100644 index 00000000000..406d530310c --- /dev/null +++ b/source/_integrations/airthings_ble.markdown @@ -0,0 +1,51 @@ +--- +title: Airthings BLE +description: Instructions on how to set up Airthings Devices over Bluetooth LE. +ha_category: + - Environment + - Sensor +ha_release: '2022.11' +ha_iot_class: Local Push +ha_codeowners: + - '@vincegio' +ha_domain: airthings_ble +ha_bluetooth: true +ha_platforms: + - sensor +ha_config_flow: true +ha_integration_type: integration +--- + +Integrates Airthings BLE sensors into Home Assistant. + +[Airthings](https://www.airthings.com/) provide different sensors for measuring the air quality. The focus specially on Radon sensors. + +Requires Airthings hardware and a compatible Bluetooth dongle. + +{% include integrations/config_flow.md %} + +The Airthings BLE integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. This will include the device name and its serial number. + +There are two ways of retrieving the 10-digit serial number of a Wave device: +1. At the back of the device, located under the magnetic backplate. +2. Airthings app: **Device settings -> Device info -> Serial Number** + +This integration uses the last 6 digits of the serial number. + +## Supported Devices + +- Wave +- Wave+ +- Wave mini + +## Sensors + +Sensor entities added to Home Assistant, depending on the device model: +- Humidity +- Illuminance +- Pressure (relative depending on home elevation) +- Radon 1-day and longterm average, as well as levels +- Temperature +- VOC +- Co2 +- Battery \ No newline at end of file From 18b3ebf7adf7b07e0a2c87da6dd262a6e37e2e0d Mon Sep 17 00:00:00 2001 From: Kevin Addeman Date: Mon, 24 Oct 2022 12:46:09 -0400 Subject: [PATCH 40/99] Update integration docs for lutron_caseta button platform (#24531) Co-authored-by: Franck Nijhof Co-authored-by: J. Nick Koston --- source/_integrations/lutron_caseta.markdown | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index 44e4756145f..20605bf9e7c 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -10,6 +10,7 @@ ha_category: - Light - Scene - Switch + - Button ha_release: 0.41 ha_iot_class: Local Push ha_domain: lutron_caseta @@ -28,6 +29,7 @@ ha_platforms: - light - scene - switch + - button ha_integration_type: integration --- @@ -128,8 +130,6 @@ For non-dimmable lights or switched loads, see the switch section on this page. For more information on working with lights in Home Assistant, see the [Lights component](/integrations/light/). -Available services: `light.turn_on`, `light.turn_off` and `light.toggle`. The `light.turn_on` service supports attributes `brightness`, `brightness_pct` and `transition`. - ## Scene The Lutron Caseta scene platform allows you to control your Smart Bridge Scenes that are created in the Lutron mobile app. @@ -138,9 +138,7 @@ 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`. +Scenes are not directly supported on RA3 and QSX models, however the button platform (see below) can be used to activate scenes for these systems. ## Switch @@ -150,16 +148,12 @@ For dimmable lights including wall and plug-in dimmers, see the light section on For more information on working with switches in Home Assistant, see the [Switches component](/integrations/switch/). -Available services: `switch.turn_on` and `switch.turn_off`. - ## Fan After setup, fans will appear in Home Assistant using an `entity_id` based on the name used in the Lutron mobile app. For example, a light switch called 'Master Bedroom Ceiling Fan' will appear in Home Assistant as `fan.master_bedroom_ceiling_fan`. For more information on working with fans in Home Assistant, see the [Fans component](/components/fan/). -Available services: `fan.turn_on`, `fan.turn_off`, and `fan.set_speed`. - ## Sensor Occupancy sensors can be added to a Lutron Caseta system to trigger events when an area becomes vacant and, optionally, occupied. However, Lutron systems report occupancy and vacancy statuses only in *occupancy groups* -- that is, groups of one or more sensors. @@ -174,6 +168,13 @@ Because Lutron Caseta devices automatically report state to Home Assistant (rath For more information on working with binary sensors in Home Assistant, see the [Binary Sensors Component](/components/binary_sensor/) +## Button + +Button Entities are created for each Keypad button and Pico Remote button present within the system. +Radio RA3 and HomeWorks QSX systems can use these button entities to activate scenes that are defined within the Lutron system. + +For more information on working with buttons in Home Assistant, see the [Buttons integration](/integrations/button/). + ## Pico and Shade Remotes Pico and Shade remotes are supported on the Smart Bridge (L-BDG2-WH), Smart Bridge PRO (L-BDGPRO2-WH), and RA2 Select (RR-SEL-REP2-BL) models. From 068302b8fbf77127f3762374269c30bbc9328169 Mon Sep 17 00:00:00 2001 From: Chris Talkington Date: Mon, 24 Oct 2022 11:47:49 -0500 Subject: [PATCH 41/99] Update jellyfin for sensor platform (#24483) --- source/_integrations/jellyfin.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/jellyfin.markdown b/source/_integrations/jellyfin.markdown index d695dc23687..6d28d2c9ad0 100644 --- a/source/_integrations/jellyfin.markdown +++ b/source/_integrations/jellyfin.markdown @@ -3,12 +3,16 @@ title: Jellyfin description: Instructions on how to integrate the Jellyfin integration into Home Assistant. ha_category: - Media Source + - Sensor ha_release: '2021.12' ha_iot_class: Local Polling ha_codeowners: - '@j-stienstra' + - '@ctalkington' ha_config_flow: true ha_domain: jellyfin +ha_platforms: + - sensor ha_integration_type: integration --- From 47b4d4826d150e14e69ce14daad6806003f7f47d Mon Sep 17 00:00:00 2001 From: Shay Levy Date: Mon, 24 Oct 2022 19:48:35 +0300 Subject: [PATCH 42/99] Add Shelly generation 2 outbound websocket configuration (#24476) --- source/_integrations/shelly.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index 2e6b81708f4..0e69c2b0ce8 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -45,10 +45,16 @@ There are two generations of devices. Both generations are supported by this int ## Shelly device configuration (generation 1) -Shelly devices use the `CoIoT` protocol to communicate with integration. For Shelly firmware 1.10.0 or newer, `CoIoT` must be enabled in the device settings. Navigate to the local IP address of your Shelly device, **Internet & Security** >> **ADVANCED - DEVELOPER SETTINGS** and check the box **Enable CoIoT**. +Generation 1 devices use the `CoIoT` protocol to communicate with the integration. For Shelly firmware 1.10.0 or newer, `CoIoT` must be enabled in the device settings. Navigate to the local IP address of your Shelly device, **Internet & Security** >> **ADVANCED - DEVELOPER SETTINGS** and check the box **Enable CoIoT**. We recommend using `unicast` for communication. To enable this, enter the local IP address of the Home Assistant server and port `5683` into the **CoIoT peer** field and push **SAVE** button. This is mandatory for Shelly Motion with firmware 1.1.0 or newer. After changing the **CoIoT peer**, the Shelly device needs to be manually restarted. +## Shelly device configuration (generation 2) + +Generation 2 devices use the `RPC` protocol to communicate with the integration. Battery powered devices need manual outbound websocket configuration, Navigate to the local IP address of your Shelly device, **Networks** >> **Outbound websocket** and check the box **Enable**, under server enter the following address: + +`ws://` + `Home_Assistant_local_address:Port` + `/api/shelly/ws` (for example: `ws://homeassistant.local:8123/api/shelly/ws`), click **Apply** to save the settings. +
Integration is communicating directly with the device; cloud connection is not needed.
From f4cba8f1b3d1639b362f107546e05c2d0368a656 Mon Sep 17 00:00:00 2001 From: Jeef Date: Mon, 24 Oct 2022 10:49:58 -0600 Subject: [PATCH 43/99] Adding documentation for flume notifications (#23795) Co-authored-by: J. Nick Koston Co-authored-by: Franck Nijhof --- source/_integrations/flume.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/_integrations/flume.markdown b/source/_integrations/flume.markdown index f0dd14937e4..824f79eecc1 100644 --- a/source/_integrations/flume.markdown +++ b/source/_integrations/flume.markdown @@ -2,6 +2,7 @@ title: Flume description: Documentation about the flume sensor. ha_category: + - Binary Sensor - Sensor ha_iot_class: Cloud Polling ha_release: 0.103 @@ -13,6 +14,7 @@ ha_codeowners: ha_domain: flume ha_dhcp: true ha_platforms: + - binary_sensor - sensor ha_integration_type: integration --- @@ -29,6 +31,17 @@ The Flume API access is available to Flume Insight users only, which may require To add `Flume` to your installation, go to **Settings** -> **Devices & Services** in the UI, click the button with `+` sign and from the list of integrations select **Flume**. +## Notifications + +Flume notifications are available via binary sensors. To clear the notifications, you will need to use your Flume app or go to: [https://portal.flumewater.com/notifications]([https://portal.flumewater.com/notifications]) and clear the notification in question. + +The following notifications are supported: + +* Bridge disconnected +* High flow +* Leak detected + + ## Configuration for Binary Sensor The following YAML creates a binary sensor. This requires the default sensor to be configured successfully. From c5c1c22c56dabaa3894c3df77fd4653c259ad9a7 Mon Sep 17 00:00:00 2001 From: kevdliu <1766838+kevdliu@users.noreply.github.com> Date: Mon, 24 Oct 2022 12:50:18 -0400 Subject: [PATCH 44/99] Update ecobee doc for updated config (#24506) Co-authored-by: Franck Nijhof --- source/_integrations/ecobee.markdown | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown index c76ed259aff..3fa2e58fc6d 100644 --- a/source/_integrations/ecobee.markdown +++ b/source/_integrations/ecobee.markdown @@ -84,30 +84,17 @@ You must [restart Home Assistant](/docs/configuration/#reloading-changes) for th ## Notifications -To get your ecobee notifications working with Home Assistant, you must first have the main ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your ecobee device. +The `ecobee` notify platform allows you to send notifications to an ecobee thermostat. The `target` parameter of the service call is required to specify the index of the recipient thermostat. The index values assigned to the thermostats are consecutive integers, starting at 0. -To use this notification platform in your installation, add the following to your `configuration.yaml` file: +Example service call: ```yaml -# Example configuration.yaml entry -notify: - - name: NOTIFIER_NAME - platform: ecobee +service: notify.ecobee +data: + message: "Hello, this is your thermostat." + target: 0 ``` -{% configuration %} -name: - description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. - required: false - default: "`notify`" - type: string -index: - description: If you have multiple thermostats, you can specify which one to send the notification to by setting an `index`. The index values assigned to the thermostats are consecutive integers, starting at 0. - required: false - default: 0 - type: integer -{% endconfiguration %} - To use notifications, please see the [getting started with automation page](/getting-started/automation/). ## Thermostat From 2fdb587ce8f9e656aa1ce112bebaf6d46edeeec7 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 24 Oct 2022 18:51:44 +0200 Subject: [PATCH 45/99] Add precipitation_intensity sensor device class (#24434) --- source/_integrations/sensor.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 3ccbfec0ea5..4147920b58b 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -45,6 +45,7 @@ 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 +- **precipitation_intensity**: Precipitation intensity in in/d, in/h, mm/d, or mm/h - **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 From ff54f3905219b97b257b9b765c5834c480cda37a Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 24 Oct 2022 18:52:29 +0200 Subject: [PATCH 46/99] Add unique_id to scrape (#24621) --- source/_integrations/scrape.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index cf55b2029ea..a0367415fd6 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -93,6 +93,10 @@ headers: description: Headers to use for the web request. required: false type: string +unique_id: + description: An ID that uniquely identifies this scrape entity. + required: false + type: string {% endconfiguration %} ## Examples From 1d0c91478d192cf3d75748abb4a486a4454d5c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Huryn?= Date: Mon, 24 Oct 2022 18:53:12 +0200 Subject: [PATCH 47/99] =?UTF-8?q?docs:=20add=20binary=20sensor=20to=20docu?= =?UTF-8?q?mentation,=20change=20gateController=20to=20ro=E2=80=A6=20(#246?= =?UTF-8?q?35)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/blebox.markdown | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/_integrations/blebox.markdown b/source/_integrations/blebox.markdown index e765d214eed..891aadeb611 100644 --- a/source/_integrations/blebox.markdown +++ b/source/_integrations/blebox.markdown @@ -36,11 +36,19 @@ This integration adds the BleBox device as a cover in Home Assistant. Currently, this includes support for the following product classes: - BleBox shutterBox -- BleBox gateController +- BleBox rollerGate - BleBox gateBox For now, only a minimum set of features are supported (e.g., no tilt support for shutterBox). +## Binary sensors +This integration adds BleBox device as a binary_sensor in Home Assistant. + +Currently, this includes support for the following product classes: + +- BleBox rainSensor +- BleBox wind&rainSensor (rain only) + ## Sensors This integration adds the BleBox device as a sensor in Home Assistant. From 61bdd453307e5229258450275ce23402a68854eb Mon Sep 17 00:00:00 2001 From: Austin Brunkhorst Date: Mon, 24 Oct 2022 09:59:57 -0700 Subject: [PATCH 48/99] Add snooz integration (#24181) Co-authored-by: Klaas Schoute Co-authored-by: Franck Nijhof --- .vscode/cSpell.json | 1 + source/_integrations/snooz.markdown | 51 ++++++++++++++++++ .../integrations/snooz/pairing_mode.jpg | Bin 0 -> 192081 bytes 3 files changed, 52 insertions(+) create mode 100644 source/_integrations/snooz.markdown create mode 100644 source/images/integrations/snooz/pairing_mode.jpg diff --git a/.vscode/cSpell.json b/.vscode/cSpell.json index 6cfe3e27ef3..2b7c59ea742 100644 --- a/.vscode/cSpell.json +++ b/.vscode/cSpell.json @@ -75,6 +75,7 @@ "Pushbullet", "Schoutsen", "SmartThings", + "SNOOZ", "statestream", "templating", "timedelta", diff --git a/source/_integrations/snooz.markdown b/source/_integrations/snooz.markdown new file mode 100644 index 00000000000..e1b32ee68de --- /dev/null +++ b/source/_integrations/snooz.markdown @@ -0,0 +1,51 @@ +--- +title: SNOOZ +description: Instructions on how to integrate SNOOZ devices into Home Assistant. +ha_category: + - Fan +ha_bluetooth: true +ha_release: "2022.11" +ha_iot_class: Local Push +ha_codeowners: + - '@AustinBrunkhorst' +ha_domain: snooz +ha_config_flow: true +ha_platforms: + - fan +ha_integration_type: integration +--- + +Integrates [SNOOZ](https://getsnooz.com/) devices into Home Assistant. + +{% include integrations/config_flow.md %} + +The SNOOZ integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +## Supported devices + +- [SNOOZ White Noise Machine](https://getsnooz.com/products/snooz-white-noise-machine) + +## Setup + +Once a device is discovered, it needs to be put into pairing mode to complete setup. + +### Entering pairing mode + +1. Ensure the device is not connected to a mobile app or any other Bluetooth controller. +2. Hold your finger on the power button until all buttons begin pulsing on and off (~ 5 seconds). + +

+ Top down view of a SNOOZ White Noise Machine, highlighting the power button. +

+ +## Platforms + +### Fan + +Devices are exposed as Fan entities with a persistent connection to the device. + +Fan speed percentage is mapped to the device volume level. + +
+Speed percentages less than 10 have no effect - they all map to a value of 1 on the device. +
diff --git a/source/images/integrations/snooz/pairing_mode.jpg b/source/images/integrations/snooz/pairing_mode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8a48df76806596973e703aa7b7b8dd6067d120f GIT binary patch literal 192081 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

^7IN9z(R5e*wqY3EFpM_6 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

6BI`kT{&E*4UL!vczvSTG~{n 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 Date: Mon, 24 Oct 2022 19:04:48 +0200 Subject: [PATCH 49/99] Add custom service Full AC state for Sensibo (#24666) Co-authored-by: J. Nick Koston Co-authored-by: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/sensibo.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_integrations/sensibo.markdown b/source/_integrations/sensibo.markdown index dfad9ba77f0..88882d80b99 100644 --- a/source/_integrations/sensibo.markdown +++ b/source/_integrations/sensibo.markdown @@ -140,6 +140,18 @@ To customize the settings of Pure Boost, you can use the custom `sensibo.enable_ ## Custom Services +### Full state + +You can send a full state command to Sensibo instead of single commands using the service `sensibo.full_state`. + +All fields are required to be according to Sensibo API specifications and are case-sensitive. + +To see the options for each field to use this service: + +1. Switch to the relevant HVAC mode (not all HVAC modes have the same options). +2. Retrieve the options for `fan_modes` and `swing_modes` from the climate entity's attributes. +3. Retrieve the option set from the respective select entity for `horizontal_swing` and `light` if those are present. + ### Assume state For devices which are also controlled in other ways or often goes out of sync with Sensibo there is a `sensibo.assume_state` service. From 28b03319c8a7532035ecd0d032dbf87f0ac12c14 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Mon, 24 Oct 2022 19:17:43 +0200 Subject: [PATCH 50/99] Add documentation for MQTT Update platform (#24636) Co-authored-by: Jan Bouwhuis Co-authored-by: Franck Nijhof --- source/_docs/mqtt/discovery.markdown | 5 +- source/_integrations/update.mqtt.markdown | 213 ++++++++++++++++++++++ 2 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 source/_integrations/update.mqtt.markdown diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 01bef85409e..2981d96c35d 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -160,6 +160,8 @@ Supported abbreviations: 'json_attr': 'json_attributes', 'json_attr_t': 'json_attributes_topic', 'json_attr_tpl': 'json_attributes_template', + 'l_ver_t': 'latest_version_topic', + 'l_ver_tpl': 'latest_version_template', 'max_mirs': 'max_mireds', 'min_mirs': 'min_mireds', 'max_temp': 'max_temp', @@ -194,6 +196,7 @@ Supported abbreviations: 'pl_cls': 'payload_close', 'pl_disarm': 'payload_disarm', 'pl_home': 'payload_home', + 'pl_inst': 'payload_install', 'pl_lock': 'payload_lock', 'pl_loc': 'payload_locate', 'pl_not_avail': 'payload_not_available', @@ -209,7 +212,7 @@ Supported abbreviations: 'pl_stpa': 'payload_start_pause', 'pl_ret': 'payload_return_to_base', 'pl_rst_hum': 'payload_reset_humidity', - 'pl_rst_mode': 'payload_reset_mode', + 'pl_rst_mode': 'payload_reset_mode', 'pl_rst_pct': 'payload_reset_percentage', 'pl_rst_pr_mode': 'payload_reset_preset_mode', 'pl_toff': 'payload_turn_off', diff --git a/source/_integrations/update.mqtt.markdown b/source/_integrations/update.mqtt.markdown new file mode 100644 index 00000000000..f616bd3414c --- /dev/null +++ b/source/_integrations/update.mqtt.markdown @@ -0,0 +1,213 @@ +--- +title: "MQTT Update" +description: "Instructions on how to interact with a device exposing an Update entity through MQTT from within Home Assistant." +ha_category: + - Update +ha_release: "2021.11" +ha_iot_class: Configurable +ha_domain: mqtt +--- + +The `mqtt` Update platform allows you to integrate devices that might expose firmware/software installed and the latest versions through MQTT into Home Assistant as an Update entity. Every time a message under the `topic` in the configuration is received, the entity will be updated in Home Assistant. + +## Configuration + +To enable MQTT Update in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +mqtt: + select: + - state_topic: topic-installed + latest_version_topic: topic-latest +``` + +{% configuration %} +availability: + description: A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with `availability_topic`. + required: false + type: list + keys: + payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online + payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline + topic: + description: An MQTT topic subscribed to receive availability (online/offline) updates. + required: true + type: string + value_template: + description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." + required: false + type: template +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. Must not be used together with `availability`. + required: false + type: string +availability_mode: + description: When `availability` is configured, this controls the conditions needed to set the entity to `available`. Valid entries are `all`, `any`, and `latest`. If set to `all`, `payload_available` must be received on all configured availability topics before the entity is marked as online. If set to `any`, `payload_available` must be received on at least one configured availability topic before the entity is marked as online. If set to `latest`, the last `payload_available` or `payload_not_available` received on any configured availability topic controls the availability. + required: false + type: string + default: latest +availability_template: + description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." + required: false + type: template +command_topic: + description: The MQTT topic to publish `payload_install` to start installing process. + required: false + type: string +device: + description: "Information about the device this Update is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + required: false + type: map + keys: + configuration_url: + description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.' + required: false + type: string + connections: + description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.' + required: false + type: list + hw_version: + description: The hardware version of the device. + required: false + type: string + identifiers: + description: 'A list of IDs that uniquely identify the device. For example a serial number.' + required: false + type: [list, string] + manufacturer: + description: The manufacturer of the device. + required: false + type: string + model: + description: The model of the device. + required: false + type: string + name: + description: The name of the device. + required: false + type: string + suggested_area: + description: 'Suggest an area if the device isn’t in one yet.' + required: false + type: string + sw_version: + description: The firmware version of the device. + required: false + type: string + via_device: + description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.' + required: false + type: string +device_class: + description: The [type/class](/integrations/update/#device-classes) of the update to set the icon in the frontend. + required: false + type: device_class + default: None +enabled_by_default: + description: Flag which defines if the entity should be enabled when first added. + required: false + type: boolean + default: true +encoding: + description: The encoding of the payloads received and published messages. Set to `""` to disable decoding of incoming payload. + required: false + type: string + default: "utf-8" +entity_category: + description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity. + required: false + type: string + default: None +icon: + description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." + required: false + type: icon +json_attributes_template: + description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`." + required: false + type: template +json_attributes_topic: + description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as entity attributes. Implies `force_update` of the current select state when a message is received on this topic. + required: false + type: string +latest_version_template: + description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the latest version value." + required: false + type: template +latest_version_topic: + description: The MQTT topic subscribed to receive an update of the latest version. + required: true + type: string +name: + description: The name of the Select. + required: false + type: string +object_id: + description: Used instead of `name` for automatic generation of `entity_id` + required: false + type: string +payload_install: + description: The MQTT payload to start installing process. + required: false + type: string +qos: + description: The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +state_topic: + description: The MQTT topic subscribed to receive an update of the installed version. + required: true + type: string +unique_id: + description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception. + required: false + type: string +value_template: + description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the installed version value." + required: false + type: template +{% endconfiguration %} + +

+ +Make sure that your topic matches exactly. `some-topic/` and `some-topic` are different topics. + +
+ +## Examples + +This is an example of Update entity configuration for Shelly Gen1 device. + +{% raw %} + +```yaml +# Example configuration.yaml entry +mqtt: + update: + - name: "Shelly Plug S Firmware Update" + state_topic: "shellies/shellyplug-s-112233/info" + value_template: "{{ value_json['update'].old_version }}" + latest_firmware_topic: "shellies/shellyplug-s-112233/info" + latest_firmware_template: "{% if value_json['update'].new_version %}{{ value_json['update'].new_version }}{% else %}{{ value_json['update'].old_version }}{% endif %}" + device_class: "firmware" + command_topic: "shellies/shellyplug-s-112233/command" + payload_install: "update_fw" +``` + +{% endraw %} From 88849fafbd64525f85155596144dddb7721aed2d Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Mon, 24 Oct 2022 19:55:47 +0200 Subject: [PATCH 51/99] Migration of advanced MQTT settings to config entry - restructure of common MQTT docs (#24526) --- source/_docs/mqtt/birth_will.markdown | 11 - source/_docs/mqtt/broker.markdown | 73 --- source/_docs/mqtt/certificate.markdown | 30 - source/_docs/mqtt/discovery.markdown | 452 --------------- source/_docs/mqtt/logging.markdown | 15 - source/_docs/mqtt/service.markdown | 72 --- source/_docs/mqtt/testing.markdown | 42 -- source/_examples/notify.mqtt.markdown | 69 --- source/_integrations/mqtt.markdown | 747 ++++++++++++++++++++++++- source/_redirects | 9 + 10 files changed, 746 insertions(+), 774 deletions(-) delete mode 100644 source/_docs/mqtt/birth_will.markdown delete mode 100644 source/_docs/mqtt/broker.markdown delete mode 100644 source/_docs/mqtt/certificate.markdown delete mode 100644 source/_docs/mqtt/discovery.markdown delete mode 100644 source/_docs/mqtt/logging.markdown delete mode 100644 source/_docs/mqtt/service.markdown delete mode 100644 source/_docs/mqtt/testing.markdown delete mode 100644 source/_examples/notify.mqtt.markdown diff --git a/source/_docs/mqtt/birth_will.markdown b/source/_docs/mqtt/birth_will.markdown deleted file mode 100644 index 89fd94709dd..00000000000 --- a/source/_docs/mqtt/birth_will.markdown +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "MQTT Birth and Last will" -description: "Instructions on how to setup MQTT birth and last will messages within Home Assistant." -logo: mqtt.png ---- - -Home Assistant's MQTT integration supports so-called Birth and Last Will and Testament (LWT) messages. The former is used to send a message after the service has started, and the latter is used to notify other clients about a disconnected client. Please note that the LWT message will be sent both in case of a clean (e.g. Home Assistant shutting down) and in case of an unclean (e.g. Home Assistant crashing or losing its network connection) disconnect. - -By default, Home Assistant sends `online` and `offline` to `homeassistant/status`. - -MQTT Birth and Last Will messages can be customized or disabled from the UI. To do this, click on "Configure" in the integration page in the UI, then "Re-configure MQTT" and then "Next". diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown deleted file mode 100644 index 23833fe1cbb..00000000000 --- a/source/_docs/mqtt/broker.markdown +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "MQTT Broker" -description: "Instructions on how to setup a MQTT broker for Home Assistant." -logo: mqtt.png ---- - -The MQTT integration needs you to run an MQTT broker for Home Assistant to connect to. - -### Run your own - -The most private option is running your own MQTT broker. - -The recommended setup method is to use the [Mosquitto MQTT broker add-on](https://github.com/home-assistant/hassio-addons/blob/master/mosquitto/DOCS.md). - -
- -
- -Neither ActiveMQ MQTT broker nor the RabbitMQ MQTT Plugin are supported, use a known working broker like Mosquitto instead. -There are [at least two](https://issues.apache.org/jira/browse/AMQ-6360) [issues](https://issues.apache.org/jira/browse/AMQ-6575) with the ActiveMQ MQTT broker which break MQTT message retention. -There is [an issue](https://github.com/rabbitmq/rabbitmq-server/issues/154) with the RabbitMQ MQTT Plugin which breaks MQTT message retention. - -
- -## Connect to a public broker - -The Mosquitto project runs a [public broker](https://test.mosquitto.org). This is the easiest to set up, but there is no privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices or controlling your home. To use the public mosquitto broker, configure the MQTT integration to connect to broker `test.mosquitto.org` on port 1183 or 8883. - -
- -If you experience an error message like `Failed to connect due to exception: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed`, then add `certificate: auto` to your broker configuration and restart Home Assistant. - -
- -## Broker configuration - -MQTT broker settings are configured when the MQTT integration is first setup, and can be changed if needed. To change the settings, click on "Configure" in the integration page in the UI, then "Re-configure MQTT". - -## Advanced broker configuration - -Some broker configuration options can't be set via the user interface, but require changes of your `configuration.yaml` file. -Additional SSL certificate options are documented [here](/docs/mqtt/certificate/). - -{% configuration %} -client_id: - required: false - description: The client ID that Home Assistant will use. Has to be unique on the server. Default is a randomly generated one. - type: string -keepalive: - required: false - description: The time in seconds between sending keep alive messages for this client. Default is 60. - type: integer -protocol: - required: false - description: "Protocol to use: 3.1 or 3.1.1. By default it connects with 3.1.1 and falls back to 3.1 if server does not support 3.1.1." - type: string -certificate: - required: false - description: Path to the certificate file, e.g., `/ssl/server.crt`. - type: string -tls_insecure: - required: false - description: Set the verification of the server hostname in the server certificate. - type: boolean - default: false -{% endconfiguration %} - -
- -If you are running a Mosquitto instance on a different server with proper SSL encryption using a service like Let's Encrypt you may have to set the certificate to the operating systems own `.crt` certificates file. In the instance of Ubuntu this would be `certificate: /etc/ssl/certs/ca-certificates.crt` - -
- diff --git a/source/_docs/mqtt/certificate.markdown b/source/_docs/mqtt/certificate.markdown deleted file mode 100644 index a1dc43c41a6..00000000000 --- a/source/_docs/mqtt/certificate.markdown +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "MQTT Certificate" -description: "Instructions on how to setup MQTT with a certificate in Home Assistant." -logo: mqtt.png ---- - -Using certificates will give you an additional layer of security for your MQTT communication. - -To integrate MQTT with certificate into Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -mqtt: - certificate: /home/paulus/dev/addtrustexternalcaroot.crt -``` - -{% configuration %} -certificate: - description: "'auto' or the certificate authority certificate file that is to be treated as trusted by this client. To enable a secure (TLS) connection to your server you must define the 'certificate' configuration parameter. 'auto' uses the certifite CAs bundled certificates. If a file is specified the file should contain the root certificate of the certificate authority that signed your broker's certificate, but may contain multiple certificates. Example: `/home/user/identrust-root.pem`." - required: false - type: string -client_key: - description: Client key, e.g., `/home/user/owntracks/cookie.key`. - required: false - type: string -client_cert: - description: Client certificate, e.g., `/home/user/owntracks/cookie.crt`. - required: false - type: string -{% endconfiguration %} diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown deleted file mode 100644 index 2981d96c35d..00000000000 --- a/source/_docs/mqtt/discovery.markdown +++ /dev/null @@ -1,452 +0,0 @@ ---- -title: "MQTT Discovery" -description: "Instructions on how to setup MQTT Discovery within Home Assistant." -logo: mqtt.png ---- - -The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/integrations/http/#binary-sensor) and the [HTTP sensor](/integrations/http/#sensor). To prevent multiple identical entries if a device reconnects, a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier, and the remaining device configuration without the device type. - -Supported by MQTT discovery: - -- [Alarm control panels](/integrations/alarm_control_panel.mqtt/) -- [Binary sensors](/integrations/binary_sensor.mqtt/) -- [Buttons](/integrations/button.mqtt/) -- [Cameras](/integrations/camera.mqtt/) -- [Covers](/integrations/cover.mqtt/) -- [Device Trackers](/integrations/device_tracker.mqtt/) -- [Device Triggers](/integrations/device_trigger.mqtt/) -- [Fans](/integrations/fan.mqtt/) -- [Humidifiers](/integrations/humidifier.mqtt/) -- [HVACs](/integrations/climate.mqtt/) -- [Lights](/integrations/light.mqtt/) -- [Locks](/integrations/lock.mqtt/) -- [Numbers](/integrations/number.mqtt/) -- [Scenes](/integrations/scene.mqtt/) -- [Selects](/integrations/select.mqtt/) -- [Sensors](/integrations/sensor.mqtt/) -- [Sirens](/integrations/siren.mqtt/) -- [Switches](/integrations/switch.mqtt/) -- [Tag Scanners](/integrations/tag.mqtt/) -- [Vacuums](/integrations/vacuum.mqtt/) - -## Configuration - -MQTT discovery is enabled by default, but can be disabled. To do this, click on "Configure" in the integration page in the UI, then "Re-configure MQTT" and then "Next". - -### Advanced discovery configuration - -It's possible to configure the prefix of the discovery topic through `configuration.yaml`. - -{% configuration %} -discovery_prefix: - description: The prefix for the discovery topic. - required: false - default: homeassistant - type: string -{% endconfiguration %} - -## Discovery messages - -## Discovery topic - -The discovery topic needs to follow a specific format: - -```text -//[/]/config -``` - -- ``: One of the supported MQTT components, eg. `binary_sensor`. -- `` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen). -- ``: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen). - -The `` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `/+//+/set`. - -Best practice for entities with a `unique_id` is to set `` to `unique_id` and omit the ``. - -## Discovery payload - -The payload must be a serialized JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added, with the exception that unknown configuration keys are allowed but ignored. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the payload. The reason for allowing unknown documentation keys is allow some backwards compatibility, software generating MQTT discovery messages can then be used with older Home Assistant versions which will simply ignore new features. - -Subsequent messages on a topic where a valid payload has been received will be handled as a configuration update, and a configuration update with an empty payload will cause a previously discovered device to be deleted. - -A base topic `~` may be defined in the payload to conserve memory when the same topic base is used multiple times. -In the value of configuration variables ending with `_topic`, `~` will be replaced with the base topic, if the `~` occurs at the beginning or end of the value. - -Configuration variable names in the discovery payload may be abbreviated to conserve memory when sending a discovery message from memory constrained devices. - -Supported abbreviations: - -```txt - 'act_t': 'action_topic', - 'act_tpl': 'action_template', - 'atype': 'automation_type', - 'aux_cmd_t': 'aux_command_topic', - 'aux_stat_tpl': 'aux_state_template', - 'aux_stat_t': 'aux_state_topic', - 'av_tones': 'available_tones', - 'avty' 'availability', - 'avty_mode': 'availability_mode', - 'avty_t': 'availability_topic', - 'avty_tpl': 'availability_template', - 'away_mode_cmd_t': 'away_mode_command_topic', - 'away_mode_stat_tpl': 'away_mode_state_template', - 'away_mode_stat_t': 'away_mode_state_topic', - 'b_tpl': 'blue_template', - 'bri_cmd_t': 'brightness_command_topic', - 'bri_cmd_tpl': 'brightness_command_template', - 'bri_scl': 'brightness_scale', - 'bri_stat_t': 'brightness_state_topic', - 'bri_tpl': 'brightness_template', - 'bri_val_tpl': 'brightness_value_template', - 'clr_temp_cmd_tpl': 'color_temp_command_template', - 'bat_lev_t': 'battery_level_topic', - 'bat_lev_tpl': 'battery_level_template', - 'chrg_t': 'charging_topic', - 'chrg_tpl': 'charging_template', - 'clr_temp_cmd_t': 'color_temp_command_topic', - 'clr_temp_stat_t': 'color_temp_state_topic', - 'clr_temp_tpl': 'color_temp_template', - 'clr_temp_val_tpl': 'color_temp_value_template', - 'cln_t': 'cleaning_topic', - 'cln_tpl': 'cleaning_template', - 'cmd_off_tpl': 'command_off_template', - 'cmd_on_tpl': 'command_on_template', - 'cmd_t': 'command_topic', - 'cmd_tpl': 'command_template', - 'cod_arm_req': 'code_arm_required', - 'cod_dis_req': 'code_disarm_required', - 'cod_trig_req': 'code_trigger_required', - 'curr_temp_t': 'current_temperature_topic', - 'curr_temp_tpl': 'current_temperature_template', - 'dev': 'device', - 'dev_cla': 'device_class', - 'dock_t': 'docked_topic', - 'dock_tpl': 'docked_template', - 'e': 'encoding', - 'ent_cat': 'entity_category, - 'err_t': 'error_topic', - 'err_tpl': 'error_template', - 'fanspd_t': 'fan_speed_topic', - 'fanspd_tpl': 'fan_speed_template', - 'fanspd_lst': 'fan_speed_list', - 'flsh_tlng': 'flash_time_long', - 'flsh_tsht': 'flash_time_short', - 'fx_cmd_t': 'effect_command_topic', - 'fx_cmd_tpl': 'effect_command_template', - 'fx_list': 'effect_list', - 'fx_stat_t': 'effect_state_topic', - 'fx_tpl': 'effect_template', - 'fx_val_tpl': 'effect_value_template', - 'exp_aft': 'expire_after', - 'fan_mode_cmd_tpl': 'fan_mode_command_template', - 'fan_mode_cmd_t': 'fan_mode_command_topic', - 'fan_mode_stat_tpl': 'fan_mode_state_template', - 'fan_mode_stat_t': 'fan_mode_state_topic', - 'frc_upd': 'force_update', - 'g_tpl': 'green_template', - 'hold_cmd_tpl': 'hold_command_template', - 'hold_cmd_t': 'hold_command_topic', - 'hold_stat_tpl': 'hold_state_template', - 'hold_stat_t': 'hold_state_topic', - 'hs_cmd_t': 'hs_command_topic', - 'hs_stat_t': 'hs_state_topic', - 'hs_val_tpl': 'hs_value_template', - 'ic': 'icon', - 'init': 'initial', - 'hum_cmd_t': 'target_humidity_command_topic', - 'hum_cmd_tpl': 'target_humidity_command_template', - 'hum_stat_t': 'target_humidity_state_topic', - 'hum_stat_tpl': 'target_humidity_state_template', - 'json_attr': 'json_attributes', - 'json_attr_t': 'json_attributes_topic', - 'json_attr_tpl': 'json_attributes_template', - 'l_ver_t': 'latest_version_topic', - 'l_ver_tpl': 'latest_version_template', - 'max_mirs': 'max_mireds', - 'min_mirs': 'min_mireds', - 'max_temp': 'max_temp', - 'min_temp': 'min_temp', - 'max_hum': 'max_humidity', - 'min_hum': 'min_humidity', - 'mode_cmd_tpl': 'mode_command_template', - 'mode_cmd_t': 'mode_command_topic', - 'mode_stat_tpl': 'mode_state_template', - 'mode_stat_t': 'mode_state_topic', - 'modes': 'modes', - 'name': 'name', - 'obj_id': 'object_id', - 'off_dly': 'off_delay', - 'on_cmd_type': 'on_command_type', - 'opt': 'optimistic', - 'osc_cmd_t': 'oscillation_command_topic', - 'osc_cmd_tpl': 'oscillation_command_template', - 'osc_stat_t': 'oscillation_state_topic', - 'osc_val_tpl': 'oscillation_value_template', - 'pct_cmd_t': 'percentage_command_topic', - 'pct_cmd_tpl': 'percentage_command_template', - 'pct_stat_t': 'percentage_state_topic', - 'pct_val_tpl': 'percentage_value_template', - 'pl': 'payload', - 'pl_arm_away': 'payload_arm_away', - 'pl_arm_home': 'payload_arm_home', - 'pl_arm_custom_b': 'payload_arm_custom_bypass', - 'pl_arm_nite': 'payload_arm_night', - 'pl_avail': 'payload_available', - 'pl_cln_sp': 'payload_clean_spot', - 'pl_cls': 'payload_close', - 'pl_disarm': 'payload_disarm', - 'pl_home': 'payload_home', - 'pl_inst': 'payload_install', - 'pl_lock': 'payload_lock', - 'pl_loc': 'payload_locate', - 'pl_not_avail': 'payload_not_available', - 'pl_not_home': 'payload_not_home', - 'pl_off': 'payload_off', - 'pl_on': 'payload_on', - 'pl_open': 'payload_open', - 'pl_osc_off': 'payload_oscillation_off', - 'pl_osc_on': 'payload_oscillation_on', - 'pl_paus': 'payload_pause', - 'pl_stop': 'payload_stop', - 'pl_strt': 'payload_start', - 'pl_stpa': 'payload_start_pause', - 'pl_ret': 'payload_return_to_base', - 'pl_rst_hum': 'payload_reset_humidity', - 'pl_rst_mode': 'payload_reset_mode', - 'pl_rst_pct': 'payload_reset_percentage', - 'pl_rst_pr_mode': 'payload_reset_preset_mode', - 'pl_toff': 'payload_turn_off', - 'pl_ton': 'payload_turn_on', - 'pl_trig': 'payload_trigger', - 'pl_unlk': 'payload_unlock', - 'pos_clsd': 'position_closed', - 'pos_open': 'position_open', - 'pow_cmd_t': 'power_command_topic', - 'pow_stat_t': 'power_state_topic', - 'pow_stat_tpl': 'power_state_template', - 'pr_mode_cmd_t': 'preset_mode_command_topic', - 'pr_mode_cmd_tpl': 'preset_mode_command_template', - 'pr_mode_stat_t': 'preset_mode_state_topic', - 'pr_mode_val_tpl': 'preset_mode_value_template', - 'pr_modes': 'preset_modes', - 'r_tpl': 'red_template', - 'ret': 'retain', - 'rgb_cmd_tpl': 'rgb_command_template', - 'rgb_cmd_t': 'rgb_command_topic', - 'rgb_stat_t': 'rgb_state_topic', - 'rgb_val_tpl': 'rgb_value_template', - 'send_cmd_t': 'send_command_topic', - 'send_if_off': 'send_if_off', - 'set_fan_spd_t': 'set_fan_speed_topic', - 'set_pos_tpl': 'set_position_template', - 'set_pos_t': 'set_position_topic', - 'pos_t': 'position_topic', - 'pos_tpl': 'position_template', - 'spd_rng_min': 'speed_range_min', - 'spd_rng_max': 'speed_range_max', - 'src_type': 'source_type', - 'stat_cla': 'state_class', - 'stat_clsd': 'state_closed', - 'stat_closing': 'state_closing', - 'stat_off': 'state_off', - 'stat_on': 'state_on', - 'stat_open': 'state_open', - 'stat_opening': 'state_opening', - 'stat_stopped': 'state_stopped', - 'stat_locked': 'state_locked', - 'stat_unlocked': 'state_unlocked', - 'stat_t': 'state_topic', - 'stat_tpl': 'state_template', - 'stat_val_tpl': 'state_value_template', - 'stype': 'subtype', - 'sup_duration': 'support_duration', - 'sup_vol': 'support_volume_set', - 'sup_feat': 'supported_features', - 'sup_off': 'supported_turn_off', - 'swing_mode_cmd_tpl': 'swing_mode_command_template', - 'swing_mode_cmd_t': 'swing_mode_command_topic', - 'swing_mode_stat_tpl': 'swing_mode_state_template', - 'swing_mode_stat_t': 'swing_mode_state_topic', - 'temp_cmd_tpl': 'temperature_command_template', - 'temp_cmd_t': 'temperature_command_topic', - 'temp_hi_cmd_tpl': 'temperature_high_command_template', - 'temp_hi_cmd_t': 'temperature_high_command_topic', - 'temp_hi_stat_tpl': 'temperature_high_state_template', - 'temp_hi_stat_t': 'temperature_high_state_topic', - 'temp_lo_cmd_tpl': 'temperature_low_command_template', - 'temp_lo_cmd_t': 'temperature_low_command_topic', - 'temp_lo_stat_tpl': 'temperature_low_state_template', - 'temp_lo_stat_t': 'temperature_low_state_topic', - 'temp_stat_tpl': 'temperature_state_template', - 'temp_stat_t': 'temperature_state_topic', - 'temp_unit': 'temperature_unit', - 'tilt_clsd_val': 'tilt_closed_value', - 'tilt_cmd_t': 'tilt_command_topic', - 'tilt_cmd_tpl': 'tilt_command_template', - 'tilt_inv_stat': 'tilt_invert_state', - 'tilt_max': 'tilt_max', - 'tilt_min': 'tilt_min', - 'tilt_opnd_val': 'tilt_opened_value', - 'tilt_opt': 'tilt_optimistic', - 'tilt_status_t': 'tilt_status_topic', - 'tilt_status_tpl': 'tilt_status_template', - 't': 'topic', - 'uniq_id': 'unique_id', - 'unit_of_meas': 'unit_of_measurement', - 'val_tpl': 'value_template', - 'whit_val_cmd_t': 'white_value_command_topic', - 'whit_val_scl': 'white_value_scale', - 'whit_val_stat_t': 'white_value_state_topic', - 'whit_val_tpl': 'white_value_template', - 'xy_cmd_t': 'xy_command_topic', - 'xy_stat_t': 'xy_state_topic', - 'xy_val_tpl': 'xy_value_template', -``` - -Supported abbreviations for device registry configuration: - -```txt - 'cu': 'configuration_url' - 'cns': 'connections', - 'ids': 'identifiers', - 'name': 'name', - 'mf': 'manufacturer', - 'mdl': 'model', - 'hw': 'hw_version', - 'sw': 'sw_version', - 'sa': 'suggested_area', -``` - -## Support by third-party tools - -The following software has built-in support for MQTT discovery: - -- [Arilux AL-LC0X LED controllers](https://github.com/smrtnt/Arilux_AL-LC0X) -- [ebusd](https://github.com/john30/ebusd) -- [ecowitt2mqtt](https://github.com/bachya/ecowitt2mqtt) -- [ESPHome](https://esphome.io) -- [ESPurna](https://github.com/xoseperez/espurna) -- [HASS.Agent](https://github.com/LAB02-Research/HASS.Agent) -- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0) -- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon) -- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway) -- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0) -- [SmartHome](https://github.com/roncoa/SmartHome) -- [Tasmota](https://github.com/arendst/Tasmota) (starting with 5.11.1e, development halted) -- [Teleinfo MQTT](https://fmartinou.github.io/teleinfo2mqtt) (starting with 3.0.0) -- [Tydom2MQTT](https://fmartinou.github.io/tydom2mqtt/) -- [What's up Docker?](https://fmartinou.github.io/whats-up-docker/) (starting with 3.5.0) -- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt) -- [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks) -- [Zigbee2mqtt](https://github.com/koenkk/zigbee2mqtt) -- [Zwave2Mqtt](https://github.com/OpenZWave/Zwave2Mqtt) (starting with 2.0.1) - -## Examples - -### Motion detection (binary sensor) - -A motion detection device which can be represented by a [binary sensor](/integrations/binary_sensor.mqtt/) for your garden would send its configuration as JSON payload to the Configuration topic. After the first message to `config`, then the MQTT messages sent to the state topic will update the state in Home Assistant. - -- Configuration topic: `homeassistant/binary_sensor/garden/config` -- State topic: `homeassistant/binary_sensor/garden/state` -- Payload: `{"name": "garden", "device_class": "motion", "state_topic": "homeassistant/binary_sensor/garden/state"}` -- Retain: The -r switch is added to retain the configuration topic in the broker. Without this, the sensor will not be available after Home Assistant restarts. - -To create a new sensor manually. - -```bash -mosquitto_pub -r -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/config" -m '{"name": "garden", "device_class": "motion", "state_topic": "homeassistant/binary_sensor/garden/state"}' -``` - -Update the state. - -```bash -mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/state" -m ON -``` - -Delete the sensor by sending an empty message. - - ```bash -mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/config" -m '' -``` - -For more details please refer to the [MQTT testing section](/docs/mqtt/testing/). - -### Sensors - -Setting up a sensor with multiple measurement values requires multiple consecutive configuration topic submissions. - -- Configuration topic no1: `homeassistant/sensor/sensorBedroomT/config` -- Configuration payload no1: `{"device_class": "temperature", "name": "Temperature", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "°C", "value_template": "{% raw %}{{ value_json.temperature}}{% endraw %}" }` -- Configuration topic no2: `homeassistant/sensor/sensorBedroomH/config` -- Configuration payload no2: `{"device_class": "humidity", "name": "Humidity", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "%", "value_template": "{% raw %}{{ value_json.humidity}}{% endraw %}" }` -- Common state payload: `{ "temperature": 23.20, "humidity": 43.70 }` - -### Entities with command topics - -Setting up a light, switch etc. is similar but requires a `command_topic` as mentioned in the [MQTT switch documentation](/integrations/switch.mqtt/). - -- Configuration topic: `homeassistant/switch/irrigation/config` -- State topic: `homeassistant/switch/irrigation/state` -- Command topic: `homeassistant/switch/irrigation/set` -- Payload: `{"name": "garden", "command_topic": "homeassistant/switch/irrigation/set", "state_topic": "homeassistant/switch/irrigation/state"}` -- Retain: The -r switch is added to retain the configuration topic in the broker. Without this, the sensor will not be available after Home Assistant restarts. - -```bash -mosquitto_pub -r -h 127.0.0.1 -p 1883 -t "homeassistant/switch/irrigation/config" \ - -m '{"name": "garden", "command_topic": "homeassistant/switch/irrigation/set", "state_topic": "homeassistant/switch/irrigation/state"}' -``` - -Set the state. - -```bash -mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/switch/irrigation/set" -m ON -``` - -### Using abbreviations and base topic - -Setting up a switch using topic prefix and abbreviated configuration variable names to reduce payload length. - -- Configuration topic: `homeassistant/switch/irrigation/config` -- Command topic: `homeassistant/switch/irrigation/set` -- State topic: `homeassistant/switch/irrigation/state` -- Configuration payload: `{"~": "homeassistant/switch/irrigation", "name": "garden", "cmd_t": "~/set", "stat_t": "~/state"}` - -### Another example using abbreviations topic name and base topic - -Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-schema), with abbreviated configuration variable names: - -- Configuration topic: `homeassistant/light/kitchen/config` -- Command topic: `homeassistant/light/kitchen/set` -- State topic: `homeassistant/light/kitchen/state` -- Example state payload: `{"state": "ON", "brightness": 255}` -- Configuration payload: - - ```json - { - "~": "homeassistant/light/kitchen", - "name": "Kitchen", - "unique_id": "kitchen_light", - "cmd_t": "~/set", - "stat_t": "~/state", - "schema": "json", - "brightness": true - } - ``` - -### Use object_id to influence the entity id - -The entity id is automatically generated from the entity's name. All MQTT entity components optionally support providing an `object_id` which will be used instead if provided. - -- Configuration topic: `homeassistant/sensor/device1/config` -- Example configuration payload: - -```json -{ - "name":"My Super Device", - "object_id":"my_super_device", - "state_topic": "homeassistant/sensor/device1/state" -} -``` - -In the example above, the entity_id will be `sensor.my_super_device` instead of `sensor.device1`. diff --git a/source/_docs/mqtt/logging.markdown b/source/_docs/mqtt/logging.markdown deleted file mode 100644 index ef77050610a..00000000000 --- a/source/_docs/mqtt/logging.markdown +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "MQTT Logging" -description: "Instructions on how to setup MQTT Logging within Home Assistant." -logo: mqtt.png ---- - -The [logger](/integrations/logger/) integration allows the logging of received MQTT messages. - -```yaml -# Example configuration.yaml entry -logger: - default: warning - logs: - homeassistant.components.mqtt: debug -``` diff --git a/source/_docs/mqtt/service.markdown b/source/_docs/mqtt/service.markdown deleted file mode 100644 index 7d19a98c056..00000000000 --- a/source/_docs/mqtt/service.markdown +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: "MQTT Publish service" -description: "Instructions on how to setup the MQTT Publish service within Home Assistant." -logo: mqtt.png ---- - -The MQTT integration will register the service `mqtt.publish` which allows publishing messages to MQTT topics. There are two ways of specifying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload. - -## Service `mqtt.publish` - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `topic` | no | Topic to publish payload to. -| `topic_template` | no | Template to render as topic to publish payload to. -| `payload` | yes | Payload to publish. -| `payload_template` | yes | Template to render as payload value. -| `qos` | yes | Quality of Service to use. (default: 0) -| `retain` | yes | If message should have the retain flag set. (default: false) - -

-You must include either `topic` or `topic_template`, but not both. If providing a payload, you need to include either `payload` or `payload_template`, but not both. -

- -```yaml -topic: home-assistant/light/1/command -payload: on -``` - -{% raw %} - -```yaml -topic: home-assistant/light/1/state -payload_template: "{{ states('device_tracker.paulus') }}" -``` - -{% endraw %} - -{% raw %} -```yaml -topic_template: "home-assistant/light/{{ states('sensor.light_active') }}/state" -payload_template: "{{ states('device_tracker.paulus') }}" -``` -{% endraw %} - -`payload` must be a string. If you want to send JSON then you need to format/escape it properly. Like: - -```yaml -topic: home-assistant/light/1/state -payload: "{\"Status\":\"off\", \"Data\":\"something\"}" -``` - -Example of how to use `qos` and `retain`: - -```yaml -topic: home-assistant/light/1/command -payload: on -qos: 2 -retain: true -``` - -### Service `mqtt.dump` - -Listen to the specified topic matcher and dumps all received messages within a specific duration into the file `mqtt_dump.txt` in your configuration folder. This is useful when debugging a problem. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `topic` | no | Topic to dump. Can contain a wildcard (`#` or `+`). -| `duration` | yes | Duration in seconds that we will listen for messages. Default is 5 seconds. - -```yaml -topic: openzwave/# -``` diff --git a/source/_docs/mqtt/testing.markdown b/source/_docs/mqtt/testing.markdown deleted file mode 100644 index c1c46054233..00000000000 --- a/source/_docs/mqtt/testing.markdown +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "MQTT Testing" -description: "Instructions on how to test your MQTT setup." -logo: mqtt.png ---- - -The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. For sending test messages to a broker running on `localhost` check the example below: - -```bash -mosquitto_pub -h 127.0.0.1 -t home-assistant/switch/1/on -m "Switch is ON" -``` - -Another way to send MQTT messages manually is to use the "MQTT" integration in the frontend. Choose "Settings" on the left menu, click "Devices & Services", and choose "Configure" in the "Mosquitto broker" tile. Enter something similar to the example below into the "topic" field under "Publish a packet" and press "PUBLISH" . - -```bash - home-assistant/switch/1/power -``` - -and in the Payload field - -```bash - ON -``` - -In the "Listen to a topic" field, type `#` to see everything, or "home-assistant/switch/#" to just follow a published topic, then press "START LISTENING". The messages should appear similar to the text below: - -```bash -Message 23 received on home-assistant/switch/1/power/stat/POWER at 12:16 PM: -ON -QoS: 0 - Retain: false -Message 22 received on home-assistant/switch/1/power/stat/RESULT at 12:16 PM: -{ - "POWER": "ON" -} -QoS: 0 - Retain: false -``` - -For reading all messages sent on the topic `home-assistant` to a broker running on localhost: - -```bash -mosquitto_sub -h 127.0.0.1 -v -t "home-assistant/#" -``` diff --git a/source/_examples/notify.mqtt.markdown b/source/_examples/notify.mqtt.markdown deleted file mode 100644 index 57cf2af9c2c..00000000000 --- a/source/_examples/notify.mqtt.markdown +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "MQTT Notifications" -description: "Instructions on how to add MQTT notifications to Home Assistant." -logo: mqtt.png -ha_category: Notifications -ha_iot_class: Configurable ---- - -The MQTT notification support is different than the other [notification](/integrations/notify/) platforms. It is a service. This means that you don't have to create a configuration entry but you need to provide more details when calling the service. - -**Call Service** section from **Developer Tools** -> **Services** allows you to send MQTT messages. Choose *mqtt.publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. - -```json -{"payload": "Test message from HA", "topic": "home/notification", "qos": 0, "retain": 0} -``` - -

- -

- -The same will work for automations. - -

- -

- - -## Examples - -### REST API - -Using the [REST API](https://developers.home-assistant.io/docs/api/rest/) to send a message to a given topic. - -```bash -$ curl -X POST \ - -H "Authorization: Bearer ABCDEFGH" \ - -H "Content-Type: application/json" \ - -d '{"payload": "Test message from HA", "topic": "home/notification"}' \ - http://IP_ADDRESS:8123/api/services/mqtt/publish -``` - -### Automations - -Use as [`script`](/integrations/script/) in automations. - -{% raw %} -```yaml -automation: - alias: "Send me a message when I get home" - trigger: - platform: state - entity_id: device_tracker.me - to: "home" - action: - service: script.notify_mqtt - data: - target: "me" - message: "I'm home" - -script: - notify_mqtt: - sequence: - - service: mqtt.publish - data: - payload: "{{ message }}" - topic: home/"{{ target }}" - retain: true -``` -{% endraw %} diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index bded17ba423..e0ba89561f2 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -27,27 +27,754 @@ ha_platforms: - sensor - siren - switch + - tag + - update + - vacuum ha_integration_type: integration --- MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things" connectivity protocol on top of TCP/IP. It allows extremely lightweight publish/subscribe messaging transport. -Your first step to get MQTT and Home Assistant working is to choose a [broker](/docs/mqtt/broker). - {% include integrations/config_flow.md %} +Your first step to get MQTT and Home Assistant working is to choose a broker. + +## Choose a MQTT broker + +### Run your own + +The most private option is running your own MQTT broker. + +The recommended setup method is to use the [Mosquitto MQTT broker add-on](https://github.com/home-assistant/hassio-addons/blob/master/mosquitto/DOCS.md). + + + +
+ +Neither ActiveMQ MQTT broker nor the RabbitMQ MQTT Plugin are supported, use a known working broker like Mosquitto instead. +There are [at least two](https://issues.apache.org/jira/browse/AMQ-6360) [issues](https://issues.apache.org/jira/browse/AMQ-6575) with the ActiveMQ MQTT broker which break MQTT message retention. + +
+ +### Connect to a public broker + +The Mosquitto project runs a [public broker](https://test.mosquitto.org). This is the easiest to set up, but there is no privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices or controlling your home. To use the public mosquitto broker, configure the MQTT integration to connect to broker `test.mosquitto.org` on port 1183 or 8883. + +
+ +If you experience an error message like `Failed to connect due to exception: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed`, then add `certificate: auto` to your broker configuration and restart Home Assistant. + +
+ +## Broker configuration + +MQTT broker settings are configured when the MQTT integration is first setup, and can be changed if needed. To change the settings, click on "Configure" in the integration page in the UI, then "Re-configure MQTT". + ### Advanced broker configuration -Some broker configuration options can't be set via the user interface, but require changes to your `configuration.yaml` file. See [advanced broker configuration](/docs/mqtt/broker/#advanced-broker-configuration) for all configuration variables. +Advanced broker configuration options include setting a custom client ID, setting a client certificate and key for authentication and enabling TLS validation of the brokers certificate for. To access the advanced settings, open the MQTT broker settings, switch on `Advanced options` and click `Next`. The advanced options will be shown by default if there are advanced settings active already. -## Additional features +#### Alternative client ID -- [Certificate](/docs/mqtt/certificate/) -- [Discovery](/docs/mqtt/discovery/) -- [Publish & Dump services](/docs/mqtt/service/) -- [Birth and last will messages](/docs/mqtt/birth_will/) -- [Testing your setup](/docs/mqtt/testing/) -- [Logging](/docs/mqtt/logging/) +You can set a custom MQTT client ID, this can help when debugging. Mind that the client ID must be unique. Leave this settings default if you want Home Assistant to generate a unique ID. + +#### Keep alive + +The time in seconds between sending keep alive messages for this client. The default is 60 seconds. The keep alive setting should be minimal 15 seconds. + +#### Broker certificate validation + +To enable a secure the broker certificate should be validated. If your broker uses a trusted certificate then choose `auto`. This will allow validation against certifite CAs bundled certificates. If a self-signed certificate is used, select `Custom`. A custom PEM encoded CA-certificate can be uploaded. Click `NEXT` to show the control to upload the CA certificate. +If the server certificate does not match the hostname then validation will fail. To allow a connection without the verification of the hostname, turn the `Ignore broker certificate validation` switch on. + +#### Securing the the connection + +With a secure broker connection it is possible to use a client certificate for authentication. To set the client certificate and private key turn on the option `Use a client certificate` and click "Next" to show the controls to upload the files. Only a PEM encoded client certificates together with a PEM encoded private key can be uploaded. Make sure the private key has no password set. + +
+ +A configured client certificate will only be active if broker certificate validation is enabled. + +
+ +## Configure MQTT options + +To change the settings, click on "Configure" in the integration page in the UI, then "Re-configure MQTT". Click `NEXT` to open the MQTT options page. + +### Discovery options + +MQTT discovery is enabled by default. Discovery can be turned off. The prefix for the discovery topic (default `homeassistant`) can be changed. +See the [MQTT Discovery section](#mqtt-discovery) + +### Birth and last will messages + +Home Assistant's MQTT integration supports so-called Birth and Last Will and Testament (LWT) messages. The former is used to send a message after the service has started, and the latter is used to notify other clients about a disconnected client. Please note that the LWT message will be sent both in case of a clean (e.g. Home Assistant shutting down) and in case of an unclean (e.g. Home Assistant crashing or losing its network connection) disconnect. + +By default, Home Assistant sends `online` and `offline` to `homeassistant/status`. + +MQTT Birth and Last Will messages can be customized or disabled from the UI. To do this, click on "Configure" in the integration page in the UI, then "Re-configure MQTT" and then "Next". + +## Testing your setup + +The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. For sending test messages to a broker running on `localhost` check the example below: + +```bash +mosquitto_pub -h 127.0.0.1 -t home-assistant/switch/1/on -m "Switch is ON" +``` + +Another way to send MQTT messages manually is to use the "MQTT" integration in the frontend. Choose "Settings" on the left menu, click "Devices & Services", and choose "Configure" in the "Mosquitto broker" tile. Enter something similar to the example below into the "topic" field under "Publish a packet" and press "PUBLISH" . + +```bash + home-assistant/switch/1/power +``` + +and in the Payload field + +```bash + ON +``` + +In the "Listen to a topic" field, type `#` to see everything, or "home-assistant/switch/#" to just follow a published topic, then press "START LISTENING". The messages should appear similar to the text below: + +```bash +Message 23 received on home-assistant/switch/1/power/stat/POWER at 12:16 PM: +ON +QoS: 0 - Retain: false +Message 22 received on home-assistant/switch/1/power/stat/RESULT at 12:16 PM: +{ + "POWER": "ON" +} +QoS: 0 - Retain: false +``` + +For reading all messages sent on the topic `home-assistant` to a broker running on localhost: + +```bash +mosquitto_sub -h 127.0.0.1 -v -t "home-assistant/#" +``` + +## MQTT Discovery + +The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/integrations/http/#binary-sensor) and the [HTTP sensor](/integrations/http/#sensor). To prevent multiple identical entries if a device reconnects, a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier, and the remaining device configuration without the device type. + +{% details "Platforms supported by MQTT discovery" %} + +- [Alarm control panel](/integrations/alarm_control_panel.mqtt/) +- [Binary sensor](/integrations/binary_sensor.mqtt/) +- [Button](/integrations/button.mqtt/) +- [Camera](/integrations/camera.mqtt/) +- [Cover](/integrations/cover.mqtt/) +- [Device Tracker](/integrations/device_tracker.mqtt/) +- [Device Trigger](/integrations/device_trigger.mqtt/) +- [Fan](/integrations/fan.mqtt/) +- [Humidifier](/integrations/humidifier.mqtt/) +- [Climate/HVAC](/integrations/climate.mqtt/) +- [Light](/integrations/light.mqtt/) +- [Lock](/integrations/lock.mqtt/) +- [Number](/integrations/number.mqtt/) +- [Scene](/integrations/scene.mqtt/) +- [Select](/integrations/select.mqtt/) +- [Sensor](/integrations/sensor.mqtt/) +- [Siren](/integrations/siren.mqtt/) +- [Switch](/integrations/switch.mqtt/) +- [Update](/integrations/update.mqtt/) +- [Tag Scanner](/integrations/tag.mqtt/) +- [Vacuum](/integrations/vacuum.mqtt/) + +{% enddetails %} + +MQTT discovery is enabled by default, but can be disabled. The prefix for the discovery topic (default `homeassistant`) can be changed. +See the [MQTT Options sections](#configure-mqtt-options) + +### Discovery messages + +#### Discovery topic + +The discovery topic needs to follow a specific format: + +```text +//[/]/config +``` + +- ``: One of the supported MQTT components, eg. `binary_sensor`. +- `` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen). +- ``: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen). + +The `` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `/+//+/set`. + +Best practice for entities with a `unique_id` is to set `` to `unique_id` and omit the ``. + +#### Discovery payload + +The payload must be a serialized JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added, with the exception that unknown configuration keys are allowed but ignored. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the payload. The reason for allowing unknown documentation keys is allow some backwards compatibility, software generating MQTT discovery messages can then be used with older Home Assistant versions which will simply ignore new features. + +Subsequent messages on a topic where a valid payload has been received will be handled as a configuration update, and a configuration update with an empty payload will cause a previously discovered device to be deleted. + +A base topic `~` may be defined in the payload to conserve memory when the same topic base is used multiple times. +In the value of configuration variables ending with `_topic`, `~` will be replaced with the base topic, if the `~` occurs at the beginning or end of the value. + +Configuration variable names in the discovery payload may be abbreviated to conserve memory when sending a discovery message from memory constrained devices. + +{% details "Supported abbreviations" %} + +```txt + 'act_t': 'action_topic', + 'act_tpl': 'action_template', + 'atype': 'automation_type', + 'aux_cmd_t': 'aux_command_topic', + 'aux_stat_tpl': 'aux_state_template', + 'aux_stat_t': 'aux_state_topic', + 'av_tones': 'available_tones', + 'avty' 'availability', + 'avty_mode': 'availability_mode', + 'avty_t': 'availability_topic', + 'avty_tpl': 'availability_template', + 'away_mode_cmd_t': 'away_mode_command_topic', + 'away_mode_stat_tpl': 'away_mode_state_template', + 'away_mode_stat_t': 'away_mode_state_topic', + 'b_tpl': 'blue_template', + 'bri_cmd_t': 'brightness_command_topic', + 'bri_cmd_tpl': 'brightness_command_template', + 'bri_scl': 'brightness_scale', + 'bri_stat_t': 'brightness_state_topic', + 'bri_tpl': 'brightness_template', + 'bri_val_tpl': 'brightness_value_template', + 'clr_temp_cmd_tpl': 'color_temp_command_template', + 'bat_lev_t': 'battery_level_topic', + 'bat_lev_tpl': 'battery_level_template', + 'chrg_t': 'charging_topic', + 'chrg_tpl': 'charging_template', + 'clr_temp_cmd_t': 'color_temp_command_topic', + 'clr_temp_stat_t': 'color_temp_state_topic', + 'clr_temp_tpl': 'color_temp_template', + 'clr_temp_val_tpl': 'color_temp_value_template', + 'cln_t': 'cleaning_topic', + 'cln_tpl': 'cleaning_template', + 'cmd_off_tpl': 'command_off_template', + 'cmd_on_tpl': 'command_on_template', + 'cmd_t': 'command_topic', + 'cmd_tpl': 'command_template', + 'cod_arm_req': 'code_arm_required', + 'cod_dis_req': 'code_disarm_required', + 'cod_trig_req': 'code_trigger_required', + 'curr_temp_t': 'current_temperature_topic', + 'curr_temp_tpl': 'current_temperature_template', + 'dev': 'device', + 'dev_cla': 'device_class', + 'dock_t': 'docked_topic', + 'dock_tpl': 'docked_template', + 'e': 'encoding', + 'ent_cat': 'entity_category, + 'err_t': 'error_topic', + 'err_tpl': 'error_template', + 'fanspd_t': 'fan_speed_topic', + 'fanspd_tpl': 'fan_speed_template', + 'fanspd_lst': 'fan_speed_list', + 'flsh_tlng': 'flash_time_long', + 'flsh_tsht': 'flash_time_short', + 'fx_cmd_t': 'effect_command_topic', + 'fx_cmd_tpl': 'effect_command_template', + 'fx_list': 'effect_list', + 'fx_stat_t': 'effect_state_topic', + 'fx_tpl': 'effect_template', + 'fx_val_tpl': 'effect_value_template', + 'exp_aft': 'expire_after', + 'fan_mode_cmd_tpl': 'fan_mode_command_template', + 'fan_mode_cmd_t': 'fan_mode_command_topic', + 'fan_mode_stat_tpl': 'fan_mode_state_template', + 'fan_mode_stat_t': 'fan_mode_state_topic', + 'frc_upd': 'force_update', + 'g_tpl': 'green_template', + 'hold_cmd_tpl': 'hold_command_template', + 'hold_cmd_t': 'hold_command_topic', + 'hold_stat_tpl': 'hold_state_template', + 'hold_stat_t': 'hold_state_topic', + 'hs_cmd_t': 'hs_command_topic', + 'hs_stat_t': 'hs_state_topic', + 'hs_val_tpl': 'hs_value_template', + 'ic': 'icon', + 'init': 'initial', + 'hum_cmd_t': 'target_humidity_command_topic', + 'hum_cmd_tpl': 'target_humidity_command_template', + 'hum_stat_t': 'target_humidity_state_topic', + 'hum_stat_tpl': 'target_humidity_state_template', + 'json_attr': 'json_attributes', + 'json_attr_t': 'json_attributes_topic', + 'json_attr_tpl': 'json_attributes_template', + 'l_ver_t': 'latest_version_topic', + 'l_ver_tpl': 'latest_version_template', + 'max_mirs': 'max_mireds', + 'min_mirs': 'min_mireds', + 'max_temp': 'max_temp', + 'min_temp': 'min_temp', + 'max_hum': 'max_humidity', + 'min_hum': 'min_humidity', + 'mode_cmd_tpl': 'mode_command_template', + 'mode_cmd_t': 'mode_command_topic', + 'mode_stat_tpl': 'mode_state_template', + 'mode_stat_t': 'mode_state_topic', + 'modes': 'modes', + 'name': 'name', + 'obj_id': 'object_id', + 'off_dly': 'off_delay', + 'on_cmd_type': 'on_command_type', + 'opt': 'optimistic', + 'osc_cmd_t': 'oscillation_command_topic', + 'osc_cmd_tpl': 'oscillation_command_template', + 'osc_stat_t': 'oscillation_state_topic', + 'osc_val_tpl': 'oscillation_value_template', + 'pct_cmd_t': 'percentage_command_topic', + 'pct_cmd_tpl': 'percentage_command_template', + 'pct_stat_t': 'percentage_state_topic', + 'pct_val_tpl': 'percentage_value_template', + 'pl': 'payload', + 'pl_arm_away': 'payload_arm_away', + 'pl_arm_home': 'payload_arm_home', + 'pl_arm_custom_b': 'payload_arm_custom_bypass', + 'pl_arm_nite': 'payload_arm_night', + 'pl_avail': 'payload_available', + 'pl_cln_sp': 'payload_clean_spot', + 'pl_cls': 'payload_close', + 'pl_disarm': 'payload_disarm', + 'pl_home': 'payload_home', + 'pl_inst': 'payload_install', + 'pl_lock': 'payload_lock', + 'pl_loc': 'payload_locate', + 'pl_not_avail': 'payload_not_available', + 'pl_not_home': 'payload_not_home', + 'pl_off': 'payload_off', + 'pl_on': 'payload_on', + 'pl_open': 'payload_open', + 'pl_osc_off': 'payload_oscillation_off', + 'pl_osc_on': 'payload_oscillation_on', + 'pl_paus': 'payload_pause', + 'pl_stop': 'payload_stop', + 'pl_strt': 'payload_start', + 'pl_stpa': 'payload_start_pause', + 'pl_ret': 'payload_return_to_base', + 'pl_rst_hum': 'payload_reset_humidity', + 'pl_rst_mode': 'payload_reset_mode', + 'pl_rst_pct': 'payload_reset_percentage', + 'pl_rst_pr_mode': 'payload_reset_preset_mode', + 'pl_toff': 'payload_turn_off', + 'pl_ton': 'payload_turn_on', + 'pl_trig': 'payload_trigger', + 'pl_unlk': 'payload_unlock', + 'pos_clsd': 'position_closed', + 'pos_open': 'position_open', + 'pow_cmd_t': 'power_command_topic', + 'pow_stat_t': 'power_state_topic', + 'pow_stat_tpl': 'power_state_template', + 'pr_mode_cmd_t': 'preset_mode_command_topic', + 'pr_mode_cmd_tpl': 'preset_mode_command_template', + 'pr_mode_stat_t': 'preset_mode_state_topic', + 'pr_mode_val_tpl': 'preset_mode_value_template', + 'pr_modes': 'preset_modes', + 'r_tpl': 'red_template', + 'ret': 'retain', + 'rgb_cmd_tpl': 'rgb_command_template', + 'rgb_cmd_t': 'rgb_command_topic', + 'rgb_stat_t': 'rgb_state_topic', + 'rgb_val_tpl': 'rgb_value_template', + 'send_cmd_t': 'send_command_topic', + 'send_if_off': 'send_if_off', + 'set_fan_spd_t': 'set_fan_speed_topic', + 'set_pos_tpl': 'set_position_template', + 'set_pos_t': 'set_position_topic', + 'pos_t': 'position_topic', + 'pos_tpl': 'position_template', + 'spd_rng_min': 'speed_range_min', + 'spd_rng_max': 'speed_range_max', + 'src_type': 'source_type', + 'stat_cla': 'state_class', + 'stat_clsd': 'state_closed', + 'stat_closing': 'state_closing', + 'stat_off': 'state_off', + 'stat_on': 'state_on', + 'stat_open': 'state_open', + 'stat_opening': 'state_opening', + 'stat_stopped': 'state_stopped', + 'stat_locked': 'state_locked', + 'stat_unlocked': 'state_unlocked', + 'stat_t': 'state_topic', + 'stat_tpl': 'state_template', + 'stat_val_tpl': 'state_value_template', + 'stype': 'subtype', + 'sup_duration': 'support_duration', + 'sup_vol': 'support_volume_set', + 'sup_feat': 'supported_features', + 'sup_off': 'supported_turn_off', + 'swing_mode_cmd_tpl': 'swing_mode_command_template', + 'swing_mode_cmd_t': 'swing_mode_command_topic', + 'swing_mode_stat_tpl': 'swing_mode_state_template', + 'swing_mode_stat_t': 'swing_mode_state_topic', + 'temp_cmd_tpl': 'temperature_command_template', + 'temp_cmd_t': 'temperature_command_topic', + 'temp_hi_cmd_tpl': 'temperature_high_command_template', + 'temp_hi_cmd_t': 'temperature_high_command_topic', + 'temp_hi_stat_tpl': 'temperature_high_state_template', + 'temp_hi_stat_t': 'temperature_high_state_topic', + 'temp_lo_cmd_tpl': 'temperature_low_command_template', + 'temp_lo_cmd_t': 'temperature_low_command_topic', + 'temp_lo_stat_tpl': 'temperature_low_state_template', + 'temp_lo_stat_t': 'temperature_low_state_topic', + 'temp_stat_tpl': 'temperature_state_template', + 'temp_stat_t': 'temperature_state_topic', + 'temp_unit': 'temperature_unit', + 'tilt_clsd_val': 'tilt_closed_value', + 'tilt_cmd_t': 'tilt_command_topic', + 'tilt_cmd_tpl': 'tilt_command_template', + 'tilt_inv_stat': 'tilt_invert_state', + 'tilt_max': 'tilt_max', + 'tilt_min': 'tilt_min', + 'tilt_opnd_val': 'tilt_opened_value', + 'tilt_opt': 'tilt_optimistic', + 'tilt_status_t': 'tilt_status_topic', + 'tilt_status_tpl': 'tilt_status_template', + 't': 'topic', + 'uniq_id': 'unique_id', + 'unit_of_meas': 'unit_of_measurement', + 'val_tpl': 'value_template', + 'whit_val_cmd_t': 'white_value_command_topic', + 'whit_val_scl': 'white_value_scale', + 'whit_val_stat_t': 'white_value_state_topic', + 'whit_val_tpl': 'white_value_template', + 'xy_cmd_t': 'xy_command_topic', + 'xy_stat_t': 'xy_state_topic', + 'xy_val_tpl': 'xy_value_template', +``` + +{% enddetails %} +{% details "Supported abbreviations for device registry configuration" %} + +```txt + 'cu': 'configuration_url' + 'cns': 'connections', + 'ids': 'identifiers', + 'name': 'name', + 'mf': 'manufacturer', + 'mdl': 'model', + 'hw': 'hw_version', + 'sw': 'sw_version', + 'sa': 'suggested_area', +``` +{% enddetails %} + +### Support by third-party tools + +The following software has built-in support for MQTT discovery: + +- [Arilux AL-LC0X LED controllers](https://github.com/smrtnt/Arilux_AL-LC0X) +- [ebusd](https://github.com/john30/ebusd) +- [ecowitt2mqtt](https://github.com/bachya/ecowitt2mqtt) +- [ESPHome](https://esphome.io) +- [ESPurna](https://github.com/xoseperez/espurna) +- [HASS.Agent](https://github.com/LAB02-Research/HASS.Agent) +- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0) +- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon) +- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway) +- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0) +- [SmartHome](https://github.com/roncoa/SmartHome) +- [Tasmota](https://github.com/arendst/Tasmota) (starting with 5.11.1e, development halted) +- [Teleinfo MQTT](https://fmartinou.github.io/teleinfo2mqtt) (starting with 3.0.0) +- [Tydom2MQTT](https://fmartinou.github.io/tydom2mqtt/) +- [What's up Docker?](https://fmartinou.github.io/whats-up-docker/) (starting with 3.5.0) +- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt) +- [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks) +- [Zigbee2mqtt](https://github.com/koenkk/zigbee2mqtt) +- [Zwave2Mqtt](https://github.com/OpenZWave/Zwave2Mqtt) (starting with 2.0.1) + + +### Discovery examples + +#### Motion detection (binary sensor) + +A motion detection device which can be represented by a [binary sensor](/integrations/binary_sensor.mqtt/) for your garden would send its configuration as JSON payload to the Configuration topic. After the first message to `config`, then the MQTT messages sent to the state topic will update the state in Home Assistant. + +- Configuration topic: `homeassistant/binary_sensor/garden/config` +- State topic: `homeassistant/binary_sensor/garden/state` +- Payload: `{"name": "garden", "device_class": "motion", "state_topic": "homeassistant/binary_sensor/garden/state"}` +- Retain: The -r switch is added to retain the configuration topic in the broker. Without this, the sensor will not be available after Home Assistant restarts. + +To create a new sensor manually. + +```bash +mosquitto_pub -r -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/config" -m '{"name": "garden", "device_class": "motion", "state_topic": "homeassistant/binary_sensor/garden/state"}' +``` + +Update the state. + +```bash +mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/state" -m ON +``` + +Delete the sensor by sending an empty message. + + ```bash +mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/config" -m '' +``` + +For more details please refer to the [MQTT testing section](/docs/mqtt/testing/). + +#### Sensors + +Setting up a sensor with multiple measurement values requires multiple consecutive configuration topic submissions. + +- Configuration topic no1: `homeassistant/sensor/sensorBedroomT/config` +- Configuration payload no1: `{"device_class": "temperature", "name": "Temperature", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "°C", "value_template": "{% raw %}{{ value_json.temperature}}{% endraw %}" }` +- Configuration topic no2: `homeassistant/sensor/sensorBedroomH/config` +- Configuration payload no2: `{"device_class": "humidity", "name": "Humidity", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "%", "value_template": "{% raw %}{{ value_json.humidity}}{% endraw %}" }` +- Common state payload: `{ "temperature": 23.20, "humidity": 43.70 }` + +#### Entities with command topics + +Setting up a light, switch etc. is similar but requires a `command_topic` as mentioned in the [MQTT switch documentation](/integrations/switch.mqtt/). + +- Configuration topic: `homeassistant/switch/irrigation/config` +- State topic: `homeassistant/switch/irrigation/state` +- Command topic: `homeassistant/switch/irrigation/set` +- Payload: `{"name": "garden", "command_topic": "homeassistant/switch/irrigation/set", "state_topic": "homeassistant/switch/irrigation/state"}` +- Retain: The -r switch is added to retain the configuration topic in the broker. Without this, the sensor will not be available after Home Assistant restarts. + +```bash +mosquitto_pub -r -h 127.0.0.1 -p 1883 -t "homeassistant/switch/irrigation/config" \ + -m '{"name": "garden", "command_topic": "homeassistant/switch/irrigation/set", "state_topic": "homeassistant/switch/irrigation/state"}' +``` + +Set the state. + +```bash +mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/switch/irrigation/set" -m ON +``` + +#### Using abbreviations and base topic + +Setting up a switch using topic prefix and abbreviated configuration variable names to reduce payload length. + +- Configuration topic: `homeassistant/switch/irrigation/config` +- Command topic: `homeassistant/switch/irrigation/set` +- State topic: `homeassistant/switch/irrigation/state` +- Configuration payload: `{"~": "homeassistant/switch/irrigation", "name": "garden", "cmd_t": "~/set", "stat_t": "~/state"}` + +#### Another example using abbreviations topic name and base topic + +Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-schema), with abbreviated configuration variable names: + +- Configuration topic: `homeassistant/light/kitchen/config` +- Command topic: `homeassistant/light/kitchen/set` +- State topic: `homeassistant/light/kitchen/state` +- Example state payload: `{"state": "ON", "brightness": 255}` +- Configuration payload: + + ```json + { + "~": "homeassistant/light/kitchen", + "name": "Kitchen", + "unique_id": "kitchen_light", + "cmd_t": "~/set", + "stat_t": "~/state", + "schema": "json", + "brightness": true + } + ``` + +#### Use object_id to influence the entity id + + +The entity id is automatically generated from the entity's name. All MQTT entity components optionally support providing an `object_id` which will be used instead if provided. + +- Configuration topic: `homeassistant/sensor/device1/config` +- Example configuration payload: + +```json +{ + "name":"My Super Device", + "object_id":"my_super_device", + "state_topic": "homeassistant/sensor/device1/state" + } +``` + +In the example above, the entity_id will be `sensor.my_super_device` instead of `sensor.device1`. + +## Manual configured MQTT items + +For most platforms it is also possible to manual set up MQTT items in `configuration.yaml`. Read more [about configuration in YAML](/docs/configuration/yaml). + +{% details "MQTT platforms that support setup via YAML" %} + +- [Alarm control panel](/integrations/alarm_control_panel.mqtt/) +- [Binary sensor](/integrations/binary_sensor.mqtt/) +- [Button](/integrations/button.mqtt/) +- [Camera](/integrations/camera.mqtt/) +- [Cover](/integrations/cover.mqtt/) +- [Device Tracker](/integrations/device_tracker.mqtt/) +- [Fan](/integrations/fan.mqtt/) +- [Humidifier](/integrations/humidifier.mqtt/) +- [Climate/HVACs](/integrations/climate.mqtt/) +- [Light](/integrations/light.mqtt/) +- [Lock](/integrations/lock.mqtt/) +- [Number](/integrations/number.mqtt/) +- [Scene](/integrations/scene.mqtt/) +- [Select](/integrations/select.mqtt/) +- [Sensor](/integrations/sensor.mqtt/) +- [Siren](/integrations/siren.mqtt/) +- [Switch](/integrations/switch.mqtt/) +- [Vacuum](/integrations/vacuum.mqtt/) + +{% enddetails %} + +## Using Templates + +The MQTT platform support templating. Read more [about using templates with the MQTT integration](/docs/configuration/templating/#using-templates-with-the-mqtt-integration). + +## MQTT Notifications + +The MQTT notification support is different than the other [notification](/integrations/notify/) platforms. It is a service. This means that you don't have to create a configuration entry but you need to provide more details when calling the service. + +**Call Service** section from **Developer Tools** -> **Services** allows you to send MQTT messages. Choose *mqtt.publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. + +```json +{"payload": "Test message from HA", "topic": "home/notification", "qos": 0, "retain": 0} +``` + +

+ +

+ +The same will work for automations. + +

+ +

+ + +### Examples + +#### REST API + +Using the [REST API](https://developers.home-assistant.io/docs/api/rest/) to send a message to a given topic. + +```bash +$ curl -X POST \ + -H "Authorization: Bearer ABCDEFGH" \ + -H "Content-Type: application/json" \ + -d '{"payload": "Test message from HA", "topic": "home/notification"}' \ + http://IP_ADDRESS:8123/api/services/mqtt/publish +``` + +#### Automations + +Use as [`script`](/integrations/script/) in automations. + +{% raw %} + +```yaml +automation: + alias: "Send me a message when I get home" + trigger: + platform: state + entity_id: device_tracker.me + to: "home" + action: + service: script.notify_mqtt + data: + target: "me" + message: "I'm home" + +script: + notify_mqtt: + sequence: + - service: mqtt.publish + data: + payload: "{{ message }}" + topic: home/"{{ target }}" + retain: true +``` + +{% endraw %} + +## Publish & Dump services + +The MQTT integration will register the service `mqtt.publish` which allows publishing messages to MQTT topics. There are two ways of specifying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload. + +### Service `mqtt.publish` + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `topic` | no | Topic to publish payload to. +| `topic_template` | no | Template to render as topic to publish payload to. +| `payload` | yes | Payload to publish. +| `payload_template` | yes | Template to render as payload value. +| `qos` | yes | Quality of Service to use. (default: 0) +| `retain` | yes | If message should have the retain flag set. (default: false) + +

+You must include either `topic` or `topic_template`, but not both. If providing a payload, you need to include either `payload` or `payload_template`, but not both. +

+ +```yaml +topic: home-assistant/light/1/command +payload: on +``` + +{% raw %} + +```yaml +topic: home-assistant/light/1/state +payload_template: "{{ states('device_tracker.paulus') }}" +``` + +{% endraw %} + +{% raw %} + +```yaml +topic_template: "home-assistant/light/{{ states('sensor.light_active') }}/state" +payload_template: "{{ states('device_tracker.paulus') }}" +``` + +{% endraw %} + +`payload` must be a string. If you want to send JSON then you need to format/escape it properly. Like: + +```yaml +topic: home-assistant/light/1/state +payload: "{\"Status\":\"off\", \"Data\":\"something\"}" +``` + +Example of how to use `qos` and `retain`: + +```yaml +topic: home-assistant/light/1/command +payload: on +qos: 2 +retain: true +``` + +### Service `mqtt.dump` + +Listen to the specified topic matcher and dumps all received messages within a specific duration into the file `mqtt_dump.txt` in your configuration folder. This is useful when debugging a problem. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `topic` | no | Topic to dump. Can contain a wildcard (`#` or `+`). +| `duration` | yes | Duration in seconds that we will listen for messages. Default is 5 seconds. + +```yaml +topic: openzwave/# +``` + +## Logging + +The [logger](/integrations/logger/) integration allows the logging of received MQTT messages. + +```yaml +# Example configuration.yaml entry +logger: + default: warning + logs: + homeassistant.components.mqtt: debug +``` ## Event `event_mqtt_reloaded` diff --git a/source/_redirects b/source/_redirects index 302391c0bc1..bb79daf48ef 100644 --- a/source/_redirects +++ b/source/_redirects @@ -229,6 +229,14 @@ /docs/ecosystem/notebooks/installation https://data.home-assistant.io /docs/ecosystem/notebooks/stats https://data.home-assistant.io /docs/frontend/mobile https://companion.home-assistant.io +/docs/mqtt /integrations/mqtt +/docs/mqtt/birth_will /integrations/mqtt/#birth-and-last-will-messages +/docs/mqtt/broker /integrations/mqtt/#broker-configuration +/docs/mqtt/certificate /integrations/mqtt/#advanced-broker-configuration +/docs/mqtt/discovery /integrations/mqtt/#mqtt-discovery +/docs/mqtt/logging /integrations/mqtt/#logging +/docs/mqtt/service /integrations/mqtt/#publish--dump-services +/docs/mqtt/testing /integrations/mqtt/#testing-your-setup /docs/script/editor /docs/scripts/editor /docs/z-wave /integrations/zwave_js /docs/z-wave/adding /integrations/zwave_js#how-can-i-add-include-a-new-device-to-my-z-wave-network @@ -248,6 +256,7 @@ /ecosystem/notebooks/graph https://data.home-assistant.io /ecosystem/notebooks/installation https://data.home-assistant.io /ecosystem/notebooks/stats https://data.home-assistant.io +/examples/notify.mqtt /integrations/mqtt/#mqtt-notifications /ios/whats-new https://companion.home-assistant.io/docs/getting_started/getting-started /installation/nuc /installation/generic-x86-64 /integrations/auth /docs/authentication From e573e861aa9d15bfa3f604216a326dd6787848be Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 24 Oct 2022 21:07:07 +0200 Subject: [PATCH 52/99] Add new WATER device class (#24678) --- source/_integrations/sensor.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 4147920b58b..8172cc2469c 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -56,6 +56,7 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T - **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³ +- **water**: Water consumption in L, gal, m³, or ft³ - **weight**: Generic mass in kg, g, mg, µg, oz, or lb

From 979562ece52935286e1d0887f2dd39142a5e5139 Mon Sep 17 00:00:00 2001 From: shbatm Date: Mon, 24 Oct 2022 14:40:07 -0500 Subject: [PATCH 53/99] Add "Push Flow Meter Data" service to RainMachine (#24680) --- source/_integrations/rainmachine.markdown | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown index cb5fa3f4f1d..1b410073002 100644 --- a/source/_integrations/rainmachine.markdown +++ b/source/_integrations/rainmachine.markdown @@ -45,6 +45,7 @@ Services accept either device IDs or entity IDs, depending on the nature of the - Services that require a device ID as a target: - `rainmachine.pause_watering` + - `rainmachine.push_flow_meter_data` - `rainmachine.push_weather_data` - `rainmachine.restrict_watering` - `rainmachine.stop_all` @@ -64,13 +65,22 @@ Pause all watering activities for a number of seconds. After the pause is comple | ---------------------- | -------- | ------------------------------ | | `seconds` | no | The number of seconds to pause | +### `rainmachine.push_flow_meter_data` + +Push Flow Meter data from Home Assistant to the RainMachine device. + +| Service Data Attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------------- | +| `value` | no | The flow meter value to send. May be any positive number. | +| `unit_of_measurement` | yes | The flow meter units to send. String must be one of "clicks", "gal", "litre", or "m3" (default: "litre"). | + ### `rainmachine.push_weather_data` Push Weather Data from Home Assistant to the RainMachine device. Local Weather Push service should be enabled from Settings > Weather > Developer tab for RainMachine to consider the values being sent. Units must be sent in metric; no conversions are performed by the integration. Note: RAIN and QPF values shouldn't be sent as cumulative values but the measured/forecasted values for each hour or day. The RainMachine Mixer will sum all RAIN or QPF values in the current day to have the day total RAIN or QPF. -See details of RainMachine API here: +See details of RainMachine API here: | Service Data Attribute | Optional | Description | From 0c874e6b7d7412ed17dbd32625b080d691b21d87 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 24 Oct 2022 23:11:55 -0500 Subject: [PATCH 54/99] Add oralb integration (#24684) * Add oralb integration * Update oralb.markdown * Update source/_integrations/oralb.markdown * Update oralb.markdown --- source/_integrations/oralb.markdown | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 source/_integrations/oralb.markdown diff --git a/source/_integrations/oralb.markdown b/source/_integrations/oralb.markdown new file mode 100644 index 00000000000..de503633a57 --- /dev/null +++ b/source/_integrations/oralb.markdown @@ -0,0 +1,27 @@ +--- +title: Oral-B +description: Instructions on how to integrate Oral-B devices into Home Assistant. +ha_category: + - Sensor +ha_bluetooth: true +ha_release: 2022.11 +ha_iot_class: Local Push +ha_codeowners: + - '@bdraco' +ha_domain: oralb +ha_config_flow: true +ha_platforms: + - sensor +ha_integration_type: integration +--- + +Integrates [Oral-B](https://oralb.com/) devices into Home Assistant. + +{% include integrations/config_flow.md %} + +The Oral-B integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +## Supported devices + +- [IO 7 Series](https://oralb.com/en-us/products/electric-toothbrushes/oralbio) +- [Smart Series 7000](https://oralb.com/en-us/products/electric-toothbrushes/smart-7000-rechargeable-electric-toothbrush/) From 4f31496cf2230f55f668c444070d0935f2fd5074 Mon Sep 17 00:00:00 2001 From: definitio <37266727+definitio@users.noreply.github.com> Date: Tue, 25 Oct 2022 09:45:50 +0300 Subject: [PATCH 55/99] Add apcupsd laststest sensor (#24679) --- source/_integrations/apcupsd.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index 59028c877a2..1d7aabe1b7a 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -106,7 +106,8 @@ Some sensors are disabled by default, since they provide information that is onl - UPS Register 2 Fault (REG2) - UPS Register 3 Fault (REG3) - UPS Restore Requirement (RETPCT) -- UPS Last Self Test (SELFTEST) +- UPS Last Self Test (LASTSTEST) +- UPS Self Test Result (SELFTEST) - UPS Sensitivity (SENSE) - UPS Serial Number (SERIALNO) - UPS Startup Time (STARTTIME) From 3932dfcd3b0b06b10577d835235cb22323bf00eb Mon Sep 17 00:00:00 2001 From: Chris Talkington Date: Tue, 25 Oct 2022 01:54:37 -0500 Subject: [PATCH 56/99] Update jellyfin for media player entity (#24477) --- source/_integrations/jellyfin.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/jellyfin.markdown b/source/_integrations/jellyfin.markdown index 6d28d2c9ad0..3d101b3bc5b 100644 --- a/source/_integrations/jellyfin.markdown +++ b/source/_integrations/jellyfin.markdown @@ -2,6 +2,7 @@ title: Jellyfin description: Instructions on how to integrate the Jellyfin integration into Home Assistant. ha_category: + - Media Player - Media Source - Sensor ha_release: '2021.12' @@ -12,6 +13,7 @@ ha_codeowners: ha_config_flow: true ha_domain: jellyfin ha_platforms: + - media_player - sensor ha_integration_type: integration --- From fb7e2f407e6a660e6bc5d039df21bd7acf114b0d Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 25 Oct 2022 12:09:37 +0200 Subject: [PATCH 57/99] Add ikea symfonisk (#24688) --- source/_integrations/symfonisk.markdown | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 source/_integrations/symfonisk.markdown diff --git a/source/_integrations/symfonisk.markdown b/source/_integrations/symfonisk.markdown new file mode 100644 index 00000000000..aad0b6c6bd9 --- /dev/null +++ b/source/_integrations/symfonisk.markdown @@ -0,0 +1,29 @@ +--- +title: IKEA SYMFONISK +description: Connect and control your IKEA SYMFONISK devices using the Sonos integration +ha_category: + - Media Player + - Sensor +ha_domain: symfonisk +ha_release: 0.7.3 +ha_iot_class: Local Push +ha_config_flow: true +ha_domain: sonos +ha_codeowners: + - '@cgtobi' + - '@jjlawren' +ha_ssdp: true +ha_platforms: + - binary_sensor + - diagnostics + - media_player + - number + - sensor + - switch +ha_zeroconf: true +ha_integration_type: integration +ha_supporting_domain: sonos +ha_supporting_integration: Sonos +--- + +{% include integrations/supported_brand.md %} From 7cb7c9ea7636d20f150f6d365122145dce4a4e4e Mon Sep 17 00:00:00 2001 From: HarvsG <11440490+HarvsG@users.noreply.github.com> Date: Tue, 25 Oct 2022 12:03:52 +0100 Subject: [PATCH 58/99] Bayesian - adds unique ID (#24457) Co-authored-by: Franck Nijhof --- source/_integrations/bayesian.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/_integrations/bayesian.markdown b/source/_integrations/bayesian.markdown index aada7ca7ff2..f72a13ba1d8 100644 --- a/source/_integrations/bayesian.markdown +++ b/source/_integrations/bayesian.markdown @@ -73,6 +73,10 @@ name: required: false type: string default: Bayesian Binary Sensor +unique_id: + description: An ID that uniquely identifies this bayesian entity. If two entities have the same unique ID, Home Assistant will raise an exception. + required: false + type: string device_class: description: Sets the [class of the device](/integrations/binary_sensor/), changing the device state and icon that is displayed on the frontend. required: false @@ -119,8 +123,9 @@ The following is an example for the `state` observation platform. ```yaml # Example configuration.yaml entry binary_sensor: - name: "in_bed" platform: "bayesian" + name: "in_bed" + unique_id: "172b6ef1-e37e-4f04-8d64-891e84c02b43" # generated on https://www.uuidgenerator.net/ prior: 0.25 # I spend 6 hours a day in bed 6hr/24hr is 0.25 probability_threshold: 0.8 # I am going to be using this sensor to turn out the lights so I only want to to activate when I am sure observations: From b84b1a701c6cdf881bc0b5d1ca0f880886a13da1 Mon Sep 17 00:00:00 2001 From: Parham Ghazanfari Date: Tue, 25 Oct 2022 07:27:03 -0400 Subject: [PATCH 59/99] Added documentation for EventBridge integration. (#23963) --- source/_integrations/aws.markdown | 60 ++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/source/_integrations/aws.markdown b/source/_integrations/aws.markdown index e35204632f0..55975493d39 100644 --- a/source/_integrations/aws.markdown +++ b/source/_integrations/aws.markdown @@ -17,7 +17,7 @@ The `aws` integration provides a single place to interact with [Amazon Web Servi You have to have an AWS account to use Amazon Web Services, create one [here](https://aws.amazon.com/free/) with a 12 months free tier benefit. Please note, even in the first 12-months, you may still be billed if you use more resources than offered in the free tier. We advise you to monitor your costs in the [AWS Billing Console](https://console.aws.amazon.com/billing/) closely. You can read the [Control your AWS costs](https://aws.amazon.com/getting-started/tutorials/control-your-costs-free-tier-budgets/) guide for more information. -The `lambda`, `sns` and `sqs` services, used in the `aws` component, all provide an **Always Free** tier for all users even after the 12-month period. The general usage in Home Automation will most likely not reach the free tier limit. Please read [Lambda Pricing](https://aws.amazon.com/lambda/pricing/), [SNS Pricing](https://aws.amazon.com/sns/pricing/) and [SQS Pricing](https://aws.amazon.com/sqs/pricing/) for more details. +The `lambda`, `sns`, `sqs`, and `events` services, used in the `aws` component, all provide an **Always Free** tier for all users even after the 12-month period. The general usage in Home Automation will most likely not reach the free tier limit. Please read [Lambda Pricing](https://aws.amazon.com/lambda/pricing/), [SNS Pricing](https://aws.amazon.com/sns/pricing/), [SQS Pricing](https://aws.amazon.com/sqs/pricing/), and [EventBridge Pricing](https://aws.amazon.com/eventbridge/pricing/) for more details. The `aws` integration is using [botocore](https://botocore.amazonaws.com/v1/documentation/api/latest/index.html) to communicate with Amazon Web Services, which is also used by the [AWS Command Client Interface](https://aws.amazon.com/cli/) tool. Therefore, `aws` shares the same credential and profiles with `awscli` tool. Please read [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) to learn how to get access keys and how to manage them on your local system securely. @@ -172,3 +172,61 @@ The SQS event payload will contain everything passed in the service call payload "message": "Hello world!" } ``` +## EventBridge Notify Usage + +AWS EventBridge is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the event bus for all targets given in the notification payload. A target must be a name of an event bus accessible by the given credentials. A target is not required, and the default event bus will be used if none are specified. For more information, please see the [EventBridge documentation](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html) and [bototcore documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/events.html#EventBridge.Client.put_events) + +There are two options for generating the event detail based on the service call payload. If the `detail` attribute is specified, then its value will be serialized as a JSON object and used for the event detail. If the attribute is not specified, then the value of the `message` attribute is serialized as a simple JSON object with a single key named `message` and the value of the message supplied to the service call. + +Here are a couple of examples showing the service call input and corresponding API entry: + +```jsonc +// Service call payload +{ + "message": "Hello world!" +} + +// Corresponding Entries +{ + "Detail": "{\"message\": \"Hello world!\"}" + "DetailType": "", + "Source": "homeassistant", + "Resources": [], +} +``` + +```jsonc +// Service Call Payload: +{ + "target": ["eventbus1", "eventbus2"] + "data": { + "detail_type": "test_event": + "detail": { + "key1", "value1", + "key2", "value2" + }, + "resources": ["resource1", "resource2"], + "source": "example" + } + +} + +// Corresponding Entries +[ + { + "Detail": "{\"key1\": \"value1\",\"key2\": \"key2\": \"value2\"}" + "DetailType": "test_event", + "EventBusName": "eventbus1", + "Resources": ["resource1", "resource2"], + "Source": "example" + }, + { + "Detail": "{\"key1\": \"value1\",\"key2\": \"key2\": \"value2\"}" + "DetailType": "test_event", + "EventBusName": "eventbus2", + "Resources": ["resource1", "resource2"], + "Source": "example" + } +] + +``` From 0211f64fe504c1ddc1b689496c93f88453960a9e Mon Sep 17 00:00:00 2001 From: On Freund Date: Tue, 25 Oct 2022 14:44:14 +0300 Subject: [PATCH 60/99] Add alarmed binary sensor description to Risco documentation (#24315) Co-authored-by: Shay Levy --- source/_integrations/risco.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/risco.markdown b/source/_integrations/risco.markdown index 00c29eee796..a4e584b4265 100644 --- a/source/_integrations/risco.markdown +++ b/source/_integrations/risco.markdown @@ -45,7 +45,7 @@ No dependency on the cloud, and instantaneous updates, but is harder to set up. 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. +The local version of the integration does not support events, and the `arming` state, but provides an additional binary sensor per zone (with the `_alarmed` suffix) that signals whether this zone is currently triggering an alarm. {% include integrations/config_flow.md %} From 7fea1d8934b372ebac97a7c55e424aff9545dd99 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 25 Oct 2022 13:48:18 +0200 Subject: [PATCH 61/99] Rename entry_id template method to config_entry_id (#24689) --- source/_docs/configuration/templating.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 3dcb2917573..98cc60763a8 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -262,14 +262,14 @@ The same thing can also be expressed as a test: ### Config Entries -- `entry_id(entity_id)` returns the config entry ID for a given entity ID. Can also be used as a filter. +- `config_entry_id(entity_id)` returns the config entry ID for a given entity ID. Can also be used as a filter. #### Config entries examples {% raw %} ```text -{{ entry_id('sensor.sony') }} # deadbeefdeadbeefdeadbeefdeadbeef +{{ config_entry_id('sensor.sony') }} # deadbeefdeadbeefdeadbeefdeadbeef ``` {% endraw %} From 2413dbe964b6071af32e178a2eeb9d534e7eae78 Mon Sep 17 00:00:00 2001 From: Thomas Dietrich Date: Tue, 25 Oct 2022 16:49:13 +0200 Subject: [PATCH 62/99] Add sum-differences characteristics to statistics component (#24329) --- source/_integrations/statistics.markdown | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown index 850aeca44f4..8c1f358feec 100644 --- a/source/_integrations/statistics.markdown +++ b/source/_integrations/statistics.markdown @@ -16,7 +16,7 @@ ha_platforms: ha_integration_type: integration --- -The `statistics` sensor platform observes the state of a source sensor and provides statistical characteristics about its recent past. This integration can be useful in automations, e.g., to trigger an action when the air humidity in the bathroom settles after a hot shower or when the number of brewed coffee over a day gets too high. +The `statistics` sensor platform observes the state of a source sensor and provides aggregated statistical characteristics about its recent past. This integration can be useful in automations, e.g., to trigger an action when the air humidity in the bathroom settles after a hot shower or when the number of brewed coffee over a day gets too high. The statistics sensor updates with every source sensor update. The value of the sensor represents one statistical characteristic, with `mean` being the default. The time period and/or number of recent state that should be considered is an important factor here. Check the configuration section below for options. @@ -53,13 +53,16 @@ The following characteristics are supported for `sensor` source sensors: | `datetime_value_min` | The timestamp of the numerically smallest measurement. | `distance_95_percent_of_values` | A statistical indicator derived from the standard deviation of an assumed normal distribution. 95% of all stored values fall into a range of returned size. | `distance_99_percent_of_values` | A statistical indicator derived from the standard deviation of an assumed normal distribution. 99% of all stored values fall into a range of returned size. -| `distance_absolute` | The difference between the extreme values of measurements. Equals `value_max` minus `value_min`. +| `distance_absolute` | The difference or "spread" between the extreme values of measurements. Equals `value_max` minus `value_min`. | `mean` | The average value computed for all measurements. Be aware that this does not take into account uneven time intervals between measurements. | `median` | The [median](https://en.wikipedia.org/wiki/Mode_(statistics)#Comparison_of_mean,_median_and_mode) value computed for all measurements. -| `noisiness` | A simplified version of a signal-to-noise ratio. A high value indicates a quickly changing source sensor value, a small value will be seen for a steady source sensor. The absolute change between consecutive stored values is summed up and divided by the number of intervals. +| `noisiness` | A simplified version of a signal-to-noise ratio. A high value indicates a quickly changing source sensor value, a small value will be seen for a steady source sensor. The absolute change between subsequent source sensor measurement values is summed up and divided by the number of intervals. | `quantiles` | Quantiles divide the range of a normal probability distribution of all considered source sensor measurements into continuous intervals with equal probabilities. Check the configuration parameters `quantile_intervals` and `quantile_method` for further details. | `standard_deviation` | The [standard deviation](https://en.wikipedia.org/wiki/Standard_deviation) of an assumed normal distribution from all measurements. -| `total` | The sum of all source sensor measurements within the given time and sampling size limits. +| `sum` | The mathematical sum of all source sensor measurement values within the given time and sampling size limits. +| `sum_differences` | The mathematical sum of differences between subsequent source sensor measurement values within the given time and sampling size limits. +| `sum_differences_nonnegative` | The mathematical sum of non-negative differences between subsequent source sensor measurement values within the given time and sampling size limits. The characteristic assumes that the source sensor value can only increase, but might occasionally be reset to zero. If a value is smaller than the previous value, the function assumes the previous value should have been a zero. +| `total` | The mathematical sum of all source sensor measurement values within the given time and sampling size limits. Equal to `sum`. | `value_max` | The biggest value among the number of measurements. | `value_min` | The smallest value among the number of measurements. | `variance` | The [variance](https://en.wikipedia.org/wiki/Variance) of an assumed normal distribution from all measurements. From 6c8293598d3a6884d2bf1814028d81171eb40006 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 25 Oct 2022 17:23:30 +0200 Subject: [PATCH 63/99] Add wind_speed sensor device class (#24435) --- source/_integrations/sensor.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 8172cc2469c..6e5f6010182 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -58,6 +58,7 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T - **volume**: Generic volume in L, mL, gal, fl. oz., m³, or ft³ - **water**: Water consumption in L, gal, m³, or ft³ - **weight**: Generic mass in kg, g, mg, µg, oz, or lb +- **wind_speed**: Wind speed in ft/s, km/h, kn, m/s, or mph

From 40d3bdf240ab14182157d75c26210c4096ae60e9 Mon Sep 17 00:00:00 2001 From: Petro31 <35082313+Petro31@users.noreply.github.com> Date: Tue, 25 Oct 2022 13:54:05 -0400 Subject: [PATCH 64/99] add new jinja test and filters (#24342) Co-authored-by: Franck Nijhof --- .../_docs/configuration/templating.markdown | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 98cc60763a8..662a24e3112 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -110,6 +110,16 @@ Print out a list of all the sensor states: {% endraw %} +Entities that are on: + +{% raw %} + +```text +{{ ['light.kitchen', 'light.dinig_room'] | select('is_state', 'on') | list }} +``` + +{% endraw% } + Other state examples: {% raw %} @@ -142,6 +152,9 @@ Other state examples: {{ as_local(states.sensor.time.last_changed) }} {{ states('sensor.expires') | as_datetime }} + +# Make a list of states +{{ ['light.kitchen', 'light.dinig_room'] | map('states') | list }} ``` {% endraw %} @@ -182,6 +195,26 @@ With strings: {% endraw %} +List of friendly names: + +{% raw %} + +```text +{{ ['binary_sensor.garage_door', 'binary_sensor.front_door'] | map('state_attr', 'friendly_name') | list }} +``` + +{% endraw% } + +List of lights that are on with a brightness of 255: + +{% raw %} + +```text +{{ ['light.kitchen', 'light.dinig_room'] | select('is_state', 'on') | select('is_state_attr', 'brightness', 255) | list }} +``` + +{% endraw% } + ### Working with Groups Not supported in [limited templates](#limited-templates). From 0fd4575154d49ddbcb0bbadbba22f5ff170e13b3 Mon Sep 17 00:00:00 2001 From: Ryan Fleming Date: Tue, 25 Oct 2022 14:00:03 -0400 Subject: [PATCH 65/99] Update docs for built in octoprint camera support (#24405) Co-authored-by: Franck Nijhof --- source/_integrations/octoprint.markdown | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown index 3366fefe87f..e04158df716 100644 --- a/source/_integrations/octoprint.markdown +++ b/source/_integrations/octoprint.markdown @@ -18,6 +18,7 @@ ha_platforms: - binary_sensor - button - sensor + - camera ha_integration_type: integration --- @@ -79,13 +80,7 @@ Supported sensors: ## Camera -If the OctoPrint host is equipped with a web camera it is possible to add this as well using the [`MJPEG IP Camera`](/integrations/mjpeg) integration. Use `http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=stream` for the MJPEG URL and `http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=snapshot` as the still image URL. - - - -{% my config_flow_start badge domain="mjpeg" %} - - +The OctoPrint integration provides a camera feed if one is configured in OctoPrint. ## Buttons From b82ab62cb745325df7888e4417b3d83754a34603 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Wed, 26 Oct 2022 11:27:49 +0200 Subject: [PATCH 66/99] Unique id in yaml for min_max (#24344) --- source/_integrations/min_max.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/min_max.markdown b/source/_integrations/min_max.markdown index 6b45731b1b5..7a6a6612679 100644 --- a/source/_integrations/min_max.markdown +++ b/source/_integrations/min_max.markdown @@ -70,4 +70,8 @@ round_digits: required: false type: integer default: 2 +unique_id: + description: Unique id to be able to configure the entity in the UI. + required: false + type: string {% endconfiguration %} From 7d312a66b2f5d9a06243f3dd38fbab07235d0003 Mon Sep 17 00:00:00 2001 From: Maikel Punie Date: Wed, 26 Oct 2022 16:49:02 +0200 Subject: [PATCH 67/99] Add the velbus cache service (#24487) Co-authored-by: Franck Nijhof --- source/_integrations/velbus.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_integrations/velbus.markdown b/source/_integrations/velbus.markdown index 9e5924940f4..ef325f26821 100644 --- a/source/_integrations/velbus.markdown +++ b/source/_integrations/velbus.markdown @@ -7,6 +7,7 @@ ha_category: - Hub - Light - Sensor + - Button - Switch ha_iot_class: Local Push ha_release: '0.50' @@ -53,6 +54,7 @@ The port string used in the user interface or the configuration file can have 2 - `velbus.sync clock`: Synchronize Velbus time to local clock. - `velbus.scan`: Scan the bus for new devices. - `velbus.set_memo_text`: Show memo text on Velbus display modules. +- `velbus.clear_cache`: Clear the full velbuscache or the cache for one module only. ### Service `velbus.sync_clock` @@ -95,6 +97,16 @@ script: service: velbus.set_memo_text ``` +### Service `velbus.clear_cache` + +You can use the service `velbus.clear_cache` to clear the cache of one module or the full cache. Once the clear happens, the integration will start a new scan. +Use this service when you make changes to your configuration via velbuslink. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------- | +| `interface` | no | The port used to connect to the bus (the same one used during configuration). | +| `address` | no | The module address in decimal format, which is displayed on the device list on the integration page, if provided the service will only clear the cache for this model, without an address, the full velbuscache will be cleared. | + ## Example automation The Velbus integration allows you to link a Velbus button (i.e., a button of a [VMBGPOD](https://www.velbus.eu/products/view/?id=416302&lang=en) module) to a controllable entity of Home Assistant. From e767afd9ef79ca5f02c5dbba9d08805771bf8e84 Mon Sep 17 00:00:00 2001 From: Daniel Gangl <31815106+killer0071234@users.noreply.github.com> Date: Wed, 26 Oct 2022 18:35:48 +0200 Subject: [PATCH 68/99] Updated zamg to use config flow (#21685) --- source/_integrations/zamg.markdown | 124 ++++++----------------------- 1 file changed, 23 insertions(+), 101 deletions(-) diff --git a/source/_integrations/zamg.markdown b/source/_integrations/zamg.markdown index 3e6d08dc5e1..27aa4ce9941 100644 --- a/source/_integrations/zamg.markdown +++ b/source/_integrations/zamg.markdown @@ -7,6 +7,7 @@ ha_category: ha_release: 0.35 ha_iot_class: Cloud Polling ha_domain: zamg +ha_config_flow: true ha_platforms: - sensor - weather @@ -17,111 +18,32 @@ The `zamg` platform uses meteorological details published by the Austrian weathe Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](https://www.zamg.ac.at/ogd). +{% include integrations/config_flow.md %} + There is currently support for the following device types within Home Assistant: -- **[Weather](#weather)** - Easier to configure but less customizable and doesn't have support for conditions which is a key feature of the `weather` platforms. +- **Weather** - It displays the current temperature, humidity, pressure and wind speed, but it doesn't have support for conditions which is a key feature of the `weather` platforms. - **[Sensor](#sensor)** -## Weather - -To add ZAMG weather platform to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -weather: - - platform: zamg -``` - -{% configuration %} -station_id: - description: The ID number for a supported ZAMG station. - required: false - type: string -name: - description: A name for the weather platform. - required: false - type: string -latitude: - description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)." - required: false - type: float - default: "Defaults to coordinates defined in your `configuration.yaml` file." -longitude: - description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." - required: false - type: float - default: "Defaults to coordinates defined in your `configuration.yaml` file." -{% endconfiguration %} - ## Sensor -To add ZAMG sensor platform to your installation, add the following to your `configuration.yaml` file: +This integration provides the following sensors: -```yaml -# Example configuration.yaml entry -sensor: - - platform: zamg -``` - -{% configuration %} -station_id: - required: false - description: The ID number for a supported ZAMG station. - type: string -name: - required: false - description: Additional name for the sensors. Defaults to platform name. - default: zamg - type: string -latitude: - required: false - description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)." - default: "Defaults to coordinates defined in your `configuration.yaml` file." - type: float -longitude: - required: false - description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." - default: "Defaults to coordinates defined in your `configuration.yaml` file." - type: float -monitored_conditions: - required: false - description: Conditions to display in the frontend. - type: list - default: temperature - keys: - pressure: - description: Pressure at station level - pressure_sealevel: - description: Pressure at sea Level - humidity: - description: Humidity - wind_speed: - description: Wind speed - wind_bearing: - description: Wind bearing - wind_max_speed: - description: Top wind speed - wind_max_bearing: - description: Top wind bearing - sun_last_hour: - description: Sun last hour percentage - temperature: - description: Temperature - precipitation: - description: Precipitation - dewpoint: - description: Dew point -{% endconfiguration %} - -A full configuration example: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: zamg - station_id: 11035 - name: Wien - monitored_conditions: - - temperature - - humidity -``` +|Name|Description| +|----|-----------| +|Temperature|Temperature in °C| +|Humidity|Humidity in %| +|Dew Point|Dew point in °C| +|Pressure|Station pressure in hPa| +|Pressure at Sea Level|Sea level pressure in hPa| +|Wind Speed|Wind speed in km/h| +|Top Wind Speed|Max wind speed in km/h| +|Wind Bearing|Wind bearing in °| +|Top Wind Bearing|Wind bearing at max speed in °| +|Sun Last Hour|Sunshine in the last hour in %| +|Precipitation|Precipitation in 1/m²| +|Station Name|Station name| +|Station Elevation|The station elevation in m| +|Update Date|Update date of last read data| +|Update Time|Update time of last read data| +|Station id|The station id| From 2ead9829e6c45ca4b1a34c9fd7d7a3f80053e884 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Wed, 26 Oct 2022 21:04:22 +0200 Subject: [PATCH 69/99] Add device class for knx (#24702) --- source/_integrations/knx.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index ba10dfebaf2..8b9a939d35f 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -1661,6 +1661,10 @@ entity_category: required: false type: string default: None +device_class: + description: Sets the [class of the device](/integrations/switch/), changing the device state and icon that is displayed on the frontend. + required: false + type: string {% endconfiguration %} The optional `state_address` can be used to inform Home Assistant about state changes not triggered by a telegram to the `address` e.g., if you configure a timer on a channel. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. From 03955e683b570fe06ceb52ea665c5f00fb653939 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 26 Oct 2022 22:14:01 +0200 Subject: [PATCH 70/99] 2022.11: Beta release notes --- _config.yml | 6 +- .../_posts/2022-11-02-release-202211.markdown | 713 +++++++ source/changelogs/core-2022.11.markdown | 1735 +++++++++++++++++ source/images/blog/2022-11/social.png | Bin 0 -> 148645 bytes 4 files changed, 2451 insertions(+), 3 deletions(-) create mode 100644 source/_posts/2022-11-02-release-202211.markdown create mode 100644 source/changelogs/core-2022.11.markdown create mode 100644 source/images/blog/2022-11/social.png diff --git a/_config.yml b/_config.yml index 8e5f9d63c88..961dab25517 100644 --- a/_config.yml +++ b/_config.yml @@ -106,9 +106,9 @@ social: # Home Assistant release details current_major_version: 2022 -current_minor_version: 10 -current_patch_version: 5 -date_released: 2022-10-20 +current_minor_version: 11 +current_patch_version: 0 +date_released: 2022-11-02 # 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/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown new file mode 100644 index 00000000000..15dd79090d1 --- /dev/null +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -0,0 +1,713 @@ +--- +layout: post +title: "2022.11: Beta release notes" +description: "Beta release notes for Home Assistant Core 2022.11." +date: 2022-10-26 00:00:00 +date_formatted: "November 2, 2022" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: +- Release-Notes +- Core +og_image: /images/blog/2022-11/social.png +--- + + + + +These are the beta release notes for Home Assistant Core 2022.11 (and is thus a +work in progress). + +If you encounter any issues with the beta release, please report them on GitHub: + +- Issues with integrations, automations and such (Core related):
+ +- Issues with the frontend/Lovelace:
+ +- Issues with the Supervisor:
+ +- Issues with the documentation:
+ + +Please be sure to include the beta version you are running in the issue +version field (not title), so we can classify your issue correctly. + +Issues introduced in the beta are processed with priority. + +--- + + +Home Assistant Core 2022.11! + +I have nothing to tell yet... this is still all beta! + +Thanks for helping out testing the beta! ❤️ + +Enjoy the (beta) release! + +../Frenck + +PS: There will be no release party this month, instead [join us](https://www.youtube.com/watch?v=D936T1Ze8-4) +at the [State of the Open Home](https://www.youtube.com/watch?v=D936T1Ze8-4) on +Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET). + + + +- [Tile card](#tile-card) +- [Statistic card](#statistic-card) +- [Smarter reloading of automation & scripts](#smarter-reloading-of-automation--scripts) +- [Getting insights into water usage](#getting-insights-into-water-usage) +- [Kelvin!](#kelvin) +- [Long-term statistics in the entity dialogs](#long-term-statistics-in-the-entity-dialogs) +- [Change the first day of the week](#change-the-first-day-of-the-week) +- [New template features](#new-template-features) +- [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) +- [All changes](#all-changes) + +## Tile card + +{% details "TODO" %} + +- Add an actual story +- Spelling/grammar +- Replace screenshot + +{% enddetails %} + +This release introduces a new Dashboard card the "Tile"! + +

+This is how these new beautiful tile cards look +Note: Placeholder screenshot that needs to be replaced. +

+ +## Statistic card + +{% details "TODO" %} + +- Add an actual story +- Spelling/grammar +- Replace screenshots + +{% enddetails %} + +WARNING: Isn't final at this moment yet, but is likely to be in the second or third beta. + +More cards! Presenting your the statistic card! This card +can be used to show a value based on the long-term statistics. + +

+This is how these new beautiful tile cards look +Note: Placeholder screenshot that needs to be replaced. +

+ +

+This is how these new beautiful tile cards look +Note: Placeholder screenshot that needs to be replaced. +

+ +## Smarter reloading of automation & scripts + +{% details "TODO" %} + +- Improve extend story +- Update vote count +- Spelling/grammar +- Only reload modified automations ([@emontnemery] - [#80282]) ([automation docs]) (noteworthy) +- Only reload modified scripts ([@emontnemery] - [#80470]) ([automation docs]) ([script docs]) (noteworthy) + +{% enddetails %} + +Results of a WTH topic: [WTH do all automations get reloaded when you change any of them?](https://community.home-assistant.io/t/wth-do-all-automatons-get-reloaded-when-you-change-any-of-them/467270) + +It got well over 170+ votes. + +When you change a single automation or script via the editors in the user +interface (or reload your YAML based ones), they always all get reloaded. + +This means if they are running, waiting for something (a delay, an even or +for a entity to be in a certain state for X time), they would all be reset. + +This release changes this behavior. Only automations and scripts that are +actually changed are reloaded. All others will remain running untouched. + +## Getting insights into water usage + +{% details "TODO" %} + +- Improve extend story +- Update vote count +- Spelling/grammar +- Replace screenshots +- Link to docs +- https://github.com/home-assistant/core/pull/80888 + +{% enddetails %} + +This has been long time requested, and was also really popular in this month's +WTH (over 350 votes!): [WTH do we have Energy dashboard and no Water dashboard?](https://community.home-assistant.io/t/wth-do-we-have-energy-dashboard-and-no-water-dashboard/467168) + +The request for being able to track water usage in Home Assistant comes up +quite a lot. This release add support for doing so! + +

+ +Note: Placeholder screenshot that needs to be replaced. +

+ +

+ +Note: Placeholder screenshot that needs to be replaced. +

+ +The following integrations now support reporting water usage out of the box: + +- [Flo](/integrations/flo) +- [Flume](/integrations/flume) +- [HomeWizard Energy](/integrations/homewizard) +- [P1 Monitor](/integrations/p1_monitor) +- [Toon](/integrations/toon) + +Furthermore, you can of course create your own using templates, MQTT, or +ESPHome (requires [ESPHome version 2022.10.1](https://www.esphome.io/changelog/2022.10.0.html#release-2022-10-1-october-26) or newer). + +## Kelvin! + +{% details "TODO" %} + +- Improve extend story +- Add reference to WTH +- Spelling/grammar +- Add screenshots +* Use color temperatures in Kelvin in more_info_light (#14016) @emontnemery +- Adapt homekit to color temperatures in K ([@emontnemery] - [#79713]) ([homekit docs]) (noteworthy) +- Use Kelvin as the preferred color temperature unit ([@emontnemery] - [#79591]) ([light docs]) (noteworthy) +- Migrate Shelly to use kelvin for color temperature ([@thecode] - [#79880]) ([shelly docs]) (noteworthy) +- Update Fritz! lights to use kelvin ([@flabbamann] - [#79733]) ([light docs]) ([fritzbox docs]) (noteworthy) +- Migrate the LIFX integration to use kelvin for color temp ([@Djelibeybi] - [#79775]) ([lifx docs]) (noteworthy) + +{% enddetails %} + +Also a [WTH topic](https://community.home-assistant.io/t/wth-is-light-temperature-not-in-kelvin/467449) +that was voted for almost 150 times! Why doesn't Home Assistant +use Kelvin for color temperatures? Well... now we do! + +Integrations that now use native kelvin instead of mireds: [HomeKit], [Shelly], +[AVM FRITZ!SmartHome], [LIFX] + +[AVM FRITZ!SmartHome]: /integrations/fritzbox +[HomeKit]: /integrations/homekit +[LIFX]: /integrations/lifx +[Shelly]: /integrations/shelly + +The good old mired are still working as well (conversion is done when needed), +so this is not a breaking change 🎉 + +## Long-term statistics in the entity dialogs + +{% details "TODO" %} + +- Improve extend story +- Spelling/grammar +- Add screenshots +- https://github.com/home-assistant/frontend/pull/14199 + +{% enddetails %} + +Nice long-term statistic graphs are now shown in the entity dialogs. + +

+ +Note: Placeholder screenshot that needs to be replaced. +

+ +## Change the first day of the week + +{% details "TODO" %} + +- Add a story +- Spelling/grammar +- Replace screenshot +- https://github.com/home-assistant/frontend/pull/14199 + +{% enddetails %} + +WTH: https://community.home-assistant.io/t/wth-week-starts-on-sunday/468998 + +

+ +Note: Placeholder screenshot that needs to be replaced. +

+ +## New template features + +{% details "TODO" %} + +- Improve extend story +- Spelling/grammar +- Links to documentation +- Adds states and state_attr as a filter, adds is_state and is_state_attr as a test. ([@Petro31] - [#79473]) (noteworthy) +- Add ConfigEntry template function ([@engrbm87] - [#78030]) (noteworthy) +- Add optional default value to average template function/filter ([@ehendrix23] - [#77499]) (noteworthy) + +{% enddetails %} + +A bunch of nice new advanced features have been added to templating this +release as well! + +The `state_attr()` & `states()` functions can now also be used as we filter, +and the `is_state()` and `is_state_attr()` functions can now be used as tests. + +The `average()` function now accepts a default value, which can be helpful +if no average could be calculated. + +Lastly, the `config_entry_id()` template method has been added, which allows +you to look up native IDs of integration configuration entries using one +of entities it provides. + +## Other noteworthy changes + +Entity more info dialog merged with entity settings. + +{% details "TODO" %} + +- Proof read/spelling/grammar + +**Note**: Changes processed up to PR 81007 + +{% enddetails %} + +There is much more juice in this release; here are some of the other +noteworthy changes this release: + +- The automations and the devices dashboards now has icons on each row, making + them look al nice and shiny. Thanks, [@bramkragten] & [@frenck]. +- The unit of measurement for entities providing Gas can now be changed and + converted from the UI. Thanks, [@emontnemery]! +- Home Assistant is now discoverable via UPnP/SSDP, meaning your instance will + now show up in your Windows Network. Thanks, [@StevenLooman]! +- [Shelly] Gen2 devices that sleep (battery-powered), are now supported! + Thanks, [@thecode]! +- You can now use sensor providing Gigajoule (GJ) with the energy dashboard. + Thanks, [@emontnemery]! +- The [MQTT] integration now has support for update entities! Thanks, [@bieniu]! +- Media player support was added to the [Jellyfin] integration. Thanks, [@Ongy]! +- The statistics card now support "week" as a possible period. Thanks, [@mib1185]! +- The "forked-daapd" project was renamed to "Owntone". The integration was now + renamed to [Owntone] too! Thanks, [@uvjustin]! +- [Fully Kiosk Browser] now provides a service to change URLs on your + wall mounted tablet remotely. Thanks, [@cgarwood]! +- The [Xiaomi Miio] integration now supported the Xiaomi Purifier 4 Lite and + the Roborock S7 MaxV. Thanks, [@alexdrl] & [@starkillerOG]! +- When setting up an new [Generic Camera], you will be present a preview + of the camera showing you if it works. Nice! Thanks, [@davet2001]! +- Support for `unique_id`s was added to the following (YAML capable) integrations: + - [Bayesian], added by [@HarvsG] + - [Min/Max], added by [@gjohansson-ST] + - [Scrape], added by [@epenet] + +[@alexdrl]: https://github.com/alexdrl +[@bieniu]: https://github.com/bieniu +[@bramkragten]: https://github.com/bramkragten +[@cgarwood]: https://github.com/cgarwood +[@davet2001]: https://github.com/davet2001 +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@HarvsG]: https://github.com/HarvsG +[@mib1185]: https://github.com/mib1185 +[@Ongy]: https://github.com/Ongy +[@starkillerOG]: https://github.com/starkillerOG +[@StevenLooman]: https://github.com/StevenLooman +[@thecode]: https://github.com/thecode +[@uvjustin]: https://github.com/uvjustin +[Bayesian]: /integrations/bayesian +[Fully Kiosk Browser]: /integrations/fully_kiosk +[Generic Camera]: /integrations/generic +[Jellyfin]: /integrations/jellyfin +[Min/Max]: /integrations/min_max +[MQTT]: /integrations/update.mqtt +[Owntone]: /integrations/forked_daapd +[Scrape]: /integrations/scrape +[Shelly]: /integrations/shelly +[Xiaomi Miio]: /integrations/xiaomi_miio + +## New Integrations + +We welcome the following new integrations in this release: + +- [Airthings BLE], added by [@vincegio] +- [Oral-B], added by [@bdraco] +- [SNOOZ], added by [@AustinBrunkhorst] + +[@AustinBrunkhorst]: https://github.com/AustinBrunkhorst +[@bdraco]: https://github.com/bdraco +[@vincegio]: https://github.com/vincegio +[Airthings BLE]: /integrations/airthings_ble +[Oral-B]: /integrations/oralb +[SNOOZ]: /integrations/snooz + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)], done by [@killer0071234] + +[@killer0071234]: https://github.com/killer0071234 +[Zentralanstalt für Meteorologie und Geodynamik (ZAMG)]: /integrations/zamg + +## 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 + +{% details "TODO" %} + +- Proof read/spelling/grammar + +**Note**: Breaking changes processed up to PR 81013 + +{% enddetails %} + +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 "Unit: Revolutions per minute (rpm)" %} + +There are multiple integrations that provide sensors with a resolutions per +minute unit. Two different units have been used throughout Home Assistant +to indicate this: `RPM` and `rpm`. + +This release standarizes all integrations to use the lower case `rpm` variant. +The following integration have been adjusted: + +- [Big Ass Fans](/integrations/baf) +- [Danfoss Air](/integrations/danfoss_air) +- [Glances](/integrations/glances) +- [System Bridge](/integrations/system_bridge) +- [Universal Devices ISY994](/integrations/isy994) +- [Vallox](/integrations/vallox) + +This change of units is automatically handled by Home Assistant. However, +if you record history externally (for example, using InfluxDB) you might +need to adjust to this change. + +([@epenet] - [#79986] [#79987] [#79988] [#79989] [#79990] [#79992]) + +[@epenet]: https://github.com/epenet +[#79986]: https://github.com/home-assistant/core/pull/79986 +[#79987]: https://github.com/home-assistant/core/pull/79987 +[#79988]: https://github.com/home-assistant/core/pull/79988 +[#79989]: https://github.com/home-assistant/core/pull/79989 +[#79990]: https://github.com/home-assistant/core/pull/79990 +[#79992]: https://github.com/home-assistant/core/pull/79992 + +{% enddetails %} + +{% details "Android IP Webcam" %} + +The previously deprecated YAML configuration of the Android IP Webcam +integration has been removed. + +Android IP Webcam 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. + +([@engrbm87] - [#80875]) ([documentation](/integrations/android_ip_webcam)) + +[@engrbm87]: https://github.com/engrbm87 +[#80875]: https://github.com/home-assistant/core/pull/80875 + +{% enddetails %} + +{% details "Anthem A/V Receivers" %} + +The previously deprecated YAML configuration of the Anthem A/V Receivers +integration has been removed. + +Anthem A/V Receivers are 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. + +([@gjohansson-ST] - [#79931]) ([documentation](/integrations/anthemav)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#79931]: https://github.com/home-assistant/core/pull/79931 + +{% enddetails %} + +{% details "APC UPS Daemon" %} + +The `UPS Last Self Test` sensor is renamed to `UPS Self Test Result` and +a new `UPS Last Self Test` sensor reports time instead of the result. + +You may need to replace `sensor.ups_last_self_test` with +`sensor.ups_self_test_result` in automations and scripts that +are referencing the `sensor.ups_last_self_test` entity. + +([@definitio] - [#80773]) ([documentation](/integrations/apcupsd)) + +[@definitio]: https://github.com/definitio +[#80773]: https://github.com/home-assistant/core/pull/80773 + +{% enddetails %} + +{% details "Brother Printer" %} + +The `counter` and `remaining pages` attributes of the sensors +`drum remaining life`, `black drum remaining life`, `cyan drum remaining life`, +`magenta drum remaining life`, and `yellow drum remaining life` have been +migrated to their own dedicated sensor entities. + +If you are using these attributes in your automation or script, you will need +to adopt those for this change. + +([@bieniu] - [#79932]) ([documentation](/integrations/brother)) + +[@bieniu]: https://github.com/bieniu +[#79932]: https://github.com/home-assistant/core/pull/79932 + +{% enddetails %} + +{% details "ClickSend TTS" %} + +- The `caller` option from `ClickSend TTS` notify service has been removed, as + it prevented calls from being actually made. +- The default name to `clicksend_tts` instead of an empty name, otherwise + service appears as `notify.notify`. Now it will by default appear + as `notify.clicksend_tts`. This might impact your automation or scripts. +- Recipient phone number now must match E.164 format. + +([@CharlieBailly] - [#76669]) ([documentation](/integrations/clicksend_tts)) + +[@CharlieBailly]: https://github.com/CharlieBailly +[#76669]: https://github.com/home-assistant/core/pull/76669 + +{% enddetails %} + +{% details "Coinbase" %} + +The previously deprecated YAML configuration of the Open Exchange Rates +integration has been removed. + +Open Exchange Rates 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. + +([@epenet] - [#80084]) ([documentation](/integrations/coinbase)) + +[@epenet]: https://github.com/epenet +[#80084]: https://github.com/home-assistant/core/pull/80084 + +{% enddetails %} + +{% details "Dark Sky" %} + +When Darksky is configured to report in US units, the unit of measurement +for precipitation intensity has been corrected from inches to inches per hour. + +([@epenet] - [#80611]) ([documentation](/integrations/darksky)) + +[@epenet]: https://github.com/epenet +[#80611]: https://github.com/home-assistant/core/pull/80611 + +{% enddetails %} + +{% details "ecobee" %} + +Setting up the `notify` platform of the ecobee integration by a platform section +using YAML configuration, is no longer supported. The `ecobee` platform section +under `notify:` can be safely removed from you YAML configuration files. + +The thermostat index can be specified by using the `target` parameter in the +notify service call instead. + +([@kevdliu] - [#78558]) ([documentation](/integrations/ecobee)) + +[@kevdliu]: https://github.com/kevdliu +[#78558]: https://github.com/home-assistant/core/pull/78558 + +{% enddetails %} + +{% details "HERE Travel Time" %} + +The route sensor has been removed, as it could contain more data than +the Home Assistant state engine is able to hold. Make sure you update any +automations or scripts that uses this sensor. + +([@eifinger] - [#79211]) ([documentation](/integrations/here_travel_time)) + +[@eifinger]: https://github.com/eifinger +[#79211]: https://github.com/home-assistant/core/pull/79211 + +{% enddetails %} + +{% details "HomeKit" %} + +HomeKit instance ID assignments are now stable between restarts to comply +with the HomeKit specifications. This prevents accessories from loosing +track of services between restarts, and improves stability with using +Siri especially with apple watches. + +This change may dramatically improve the stability and re-sync times of +`media_player` entities (all), `camera` entities (all), `fan` entities (presets), +`remote` entities (activity ones), `switch` entities (power strips) + triggers (all) between restarts which was especially + apparent when the home has many accessories. + +Because the assignments were previously unstable, it may be necessary to do +a one time adjustment of accessory room assignments, favorites, +or re-pair camera accessories after upgrading. + +([@bdraco] - [#79913]) ([documentation](/integrations/homekit)) + +[@bdraco]: https://github.com/bdraco +[#79913]: https://github.com/home-assistant/core/pull/79913 + +{% enddetails %} + +{% details "HomeKit Controller" %} + +As older versions did not correctly set service identifier values, it may be +necessary to un-pair and re-pair some BLE devices or to manually delete +duplicate entities. + +If the service identifiers were loaded incorrectly when the device was paired +with an older version, operations may raise `StopIteration` or `RuntimeError` +error. You can correct those by deleting the integation for that device, +and doing a one time re-pairing. + +([@bdraco] - [#80798]) ([documentation](/integrations/homekit_controller)) + +[@bdraco]: https://github.com/bdraco +[#80798]: https://github.com/home-assistant/core/pull/80798 + +{% enddetails %} + +{% details "Hunter Douglas PowerView" %} + +This change ceases creating battery sensors for hardwired shades, +existing sensor entities need to be manually deleted. + +([@kingy444] - [#81013]) ([documentation](/integrations/hunterdouglas_powerview)) + +[@kingy444]: https://github.com/kingy444 +[#81013]: https://github.com/home-assistant/core/pull/81013 + +{% enddetails %} + +{% details "IntelliFire" %} + + Minor "breaking" change with very low impact. The backing unit and the API + of the device itself uses `0-4` as a flame height setting. Through discussion + on the forums the community has decided `1-5` is a much more logical setting + for flame height and accordingly this has been implemented. + + If you are setting the flame height using automations or scripts, you will + need to adopt those to this change. + +([@jeeftor] - [#79901]) ([documentation](/integrations/intellifire)) + +[@jeeftor]: https://github.com/jeeftor +[#79901]: https://github.com/home-assistant/core/pull/79901 + +{% enddetails %} + +{% details "Logger" %} + +`logger` no longer changes the default log level of Home Assistant to `debug` +if used without a value for [`default`](/integrations/logger/#default). It +will now only change the default log level of Home Assistant from +`warning` to something else if `default` is explicitly specified. + +If you do not specify `default` and want to Home Assistant to have a +default log level of `debug` will need to add this to your YAML configuration: + +```yaml +logger: + default: debug +``` + +([@mdegat01] - [#80033]) ([documentation](/integrations/logger)) + +[@mdegat01]: https://github.com/mdegat01 +[#80033]: https://github.com/home-assistant/core/pull/80033 + +{% enddetails %} + +{% details "Open Exchange Rates" %} + +The previously deprecated YAML configuration of the Open Exchange Rates +integration has been removed. + +Open Exchange Rates 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. + +([@gjohansson-ST] - [#79856]) ([documentation](/integrations/openexchangerates)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#79856]: https://github.com/home-assistant/core/pull/79856 + +{% enddetails %} + +{% details "Scrape" %} + +Previously, scrape would return the last correct value if an HTTP request +for updating failed. This has been adjusted to now mark the sensor +as `unavailable` instead. + +([@epenet] - [#80593]) ([documentation](/integrations/scrape)) + +[@epenet]: https://github.com/epenet +[#80593]: https://github.com/home-assistant/core/pull/80593 + +{% enddetails %} + +{% details "Templates (fan)" %} + +Template fans no longer change their state to `on` when `set_percentage` or +`set_preset_mode` is called when a `value_template` has been configured. + +([@Petro31] - [#75656]) ([documentation](/integrations/template)) + +[@Petro31]: https://github.com/Petro31 +[#75656]: https://github.com/home-assistant/core/pull/75656 + +{% 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/ + +- [Deprecate IMPERIAL_SYSTEM unit system and linked constants and properties](https://developers.home-assistant.io/blog/2022/10/14/deprecate-unit-system) +- [GitHub Commands for Code Owners](https://developers.home-assistant.io/blog/2022/10/21/code-owner-commands) +- [Introducing virtual integrations and differentiating hubs, devices, and services](https://developers.home-assistant.io/blog/2022/10/24/hubs-devices-services-virtual-integrations) +- [Add new precipitation intensity units](https://developers.home-assistant.io/blog/2022/10/25/new-precipitation-intensity-units) + +## 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.11](/changelogs/core-2022.11) diff --git a/source/changelogs/core-2022.11.markdown b/source/changelogs/core-2022.11.markdown new file mode 100644 index 00000000000..a2aac99b9fe --- /dev/null +++ b/source/changelogs/core-2022.11.markdown @@ -0,0 +1,1735 @@ +--- +title: Full Changelog for Home Assistant Core 2022.11 +description: Detailed changelog for the Home Assistant Core 2022.11 release +--- + +These are all the changes included in the Home Assistant Core 2022.11 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2022/10/26/release-202211/). + +## Full Changelog + +- Bump version to 2022.11.0dev0 ([@frenck] - [#79224]) +- Improve deCONZ sensor classes ([@Kane610] - [#79137]) ([deconz docs]) +- Remove route sensor of here_travel_time ([@eifinger] - [#79211]) ([here_travel_time docs]) (breaking-change) +- Clean up Add spotify support to forked-daapd ([@uvjustin] - [#79213]) ([forked_daapd docs]) +- Set nest entities as unavailable on lost connection ([@PeteRager] - [#78773]) ([nest docs]) +- Use Owntone name for forked-daapd ([@uvjustin] - [#79214]) ([forked_daapd docs]) (noteworthy) +- Bump pylutron_caseta to 0.16.0 ([@danaues] - [#79243]) ([lutron_caseta docs]) (dependency) +- Fix late comments to deCONZ sensors from #79137 ([@Kane610] - [#79272]) ([deconz docs]) +- Add ConfigEntry template function ([@engrbm87] - [#78030]) (noteworthy) +- Add cover platform for switchbee integration ([@jafar-atili] - [#78383]) ([switchbee docs]) (new-platform) +- Rename options key in rainmachine ([@epenet] - [#79249]) ([rainmachine docs]) +- Add Airthings BLE component ([@vincegio] - [#77284]) ([airthings_ble docs]) (new-integration) +- Bump actions/cache from 3.0.8 to 3.0.9 (@dependabot - [#79344]) (dependency) +- Remove blebox AirQuality platform ([@riokuu] - [#77873]) ([blebox docs]) (dependency) +- Resolve late comments to deCONZ sensor ([@Kane610] - [#79380]) ([deconz docs]) +- Add state_class MEASUREMENT to lacrosse temperature and humidity sensors ([@jplitza] - [#79379]) ([lacrosse docs]) +- Bump fjaraskupan to 2.1.0 ([@elupus] - [#79383]) ([fjaraskupan docs]) (dependency) +- Improve iterable typing (1) ([@cdce8p] - [#79295]) ([recorder docs]) +- Improve iterable typing (2) ([@cdce8p] - [#79296]) ([homekit docs]) ([lifx docs]) +- Bump aioswitcher to 3.0.2 ([@thecode] - [#79399]) ([switcher_kis docs]) (dependency) +- Bump aiolifx to 0.8.6 ([@Djelibeybi] - [#79393]) ([lifx docs]) (dependency) +- Log config_flow errors for waze_travel_time ([@eifinger] - [#79352]) ([waze_travel_time docs]) +- Ignore an '' value_template result for MQTT sensor ([@jbouwh] - [#79417]) ([mqtt docs]) +- Add Switcher Breeze support ([@thecode] - [#78596]) ([switcher_kis docs]) (new-platform) (noteworthy) +- Bump aioswitcher to 3.0.3 ([@thecode] - [#79419]) ([switcher_kis docs]) (dependency) +- vicare: Add additional temperature sensors ([@oischinger] - [#79426]) ([vicare docs]) +- Update sensors for Subaru integration ([@G-Two] - [#66996]) ([subaru docs]) +- Sort motioneye media items in media browser ([@StevenLooman] - [#79408]) ([motioneye docs]) +- Add reauthenticaion to `mikrotik` ([@engrbm87] - [#74454]) ([mikrotik docs]) +- Improve vallox tests and code quality ([@yozik04] - [#75787]) ([vallox docs]) +- Refactor LIFX multizone devices to use extended messages ([@Djelibeybi] - [#79444]) ([lifx docs]) +- Fix nina warning state ([@DeerMaximum] - [#76354]) ([nina docs]) +- Use explicit return value in azure_event_hub ([@cdce8p] - [#79315]) ([azure_event_hub docs]) +- Bump pyoctoprintapi to version 1.9 ([@rfleming71] - [#79449]) ([octoprint docs]) (dependency) +- Remove dead code code in calendar ([@allenporter] - [#79450]) ([calendar docs]) +- Support reauth for octoprint ([@rfleming71] - [#77213]) ([octoprint docs]) +- Address late review of nina ([@DeerMaximum] - [#79467]) ([nina docs]) +- Add reauth flow to BraviaTV integration ([@bieniu] - [#79405]) ([braviatv docs]) +- Improve zwave_js service error ([@raman325] - [#79504]) ([zwave_js docs]) +- Update Nest string ([@balloob] - [#79516]) ([nest docs]) +- Add optional default value to average template function/filter ([@ehendrix23] - [#77499]) (noteworthy) +- Address late comment to deCONZ climate ([@Kane610] - [#79485]) ([deconz docs]) +- Add comment in recorder about dropping column ([@emontnemery] - [#79523]) ([recorder docs]) +- Rework devolo Home Network tests ([@Shutgun] - [#74472]) ([devolo_home_network docs]) +- Allow setting set_percentage and set_preset_mode of template fan without turning on ([@Petro31] - [#75656]) ([template docs]) (breaking-change) +- Reduce coverage gaps for zwave_js ([@raman325] - [#79520]) ([zwave_js docs]) +- Add climate platform to switchbee integration ([@jafar-atili] - [#78385]) ([switchbee docs]) (new-platform) +- Use device_class duration for NUT sensors ([@mbo18] - [#79353]) ([nut docs]) +- Update mypy to 0.982 ([@cdce8p] - [#79560]) (dependency) +- Add clickatell to strict typing ([@yuvalabou] - [#79497]) ([clickatell docs]) +- Add new Islamic prayer times calculation method ([@MrAliFu] - [#79278]) ([islamic_prayer_times docs]) +- Bump actions/cache from 3.0.9 to 3.0.10 (@dependabot - [#79574]) (dependency) +- Fix typo in .strict-typing ([@ndbroadbent] - [#79584]) +- Use constant in fitbit messages ([@ndbroadbent] - [#79586]) ([fitbit docs]) +- Add unique ID to fitbit ([@ndbroadbent] - [#79587]) ([fitbit docs]) +- Fix Thermostat not showing up in SwitchBee integration ([@jafar-atili] - [#79592]) ([switchbee docs]) +- Run hassfest in pre-commit when brands changed ([@frenck] - [#79589]) +- Refactor bayesian observations using dataclass ([@HarvsG] - [#79590]) ([bayesian docs]) +- Shelly - move coordinators to coordinator.py ([@thecode] - [#79616]) ([shelly docs]) +- Use VOLUME device_class in flume ([@epenet] - [#79585]) ([flume docs]) +- Bump actions/checkout from 3.0.2 to 3.1.0 (@dependabot - [#79635]) (dependency) +- Remove superfluous strings from Lidarr ([@tkdrob] - [#79631]) ([lidarr docs]) +- Use HA `uuid` as `client_id` in BraviaTV ([@bieniu] - [#79618]) ([braviatv docs]) +- Refactor Shelly tests - do not access hass.data ([@thecode] - [#79606]) ([shelly docs]) +- Add at_started helper ([@emontnemery] - [#79577]) +- Refactor Shelly wrapper to coordinator ([@thecode] - [#79628]) ([shelly docs]) +- Change Lidarr device name to entry title ([@tkdrob] - [#79630]) ([lidarr docs]) +- Velbus split of entity in its own file ([@Cereal2nd] - [#79653]) ([velbus docs]) +- Add clicksend to strict typing ([@yuvalabou] - [#79544]) ([clicksend docs]) +- Fix Switcher breeze fan mode and swing control ([@thecode] - [#79676]) ([switcher_kis docs]) +- Bump dbus-fast to 1.26.0 ([@bdraco] - [#79684]) ([bluetooth docs]) +- Refactor Shelly to use data class for ConfigEntry data ([@thecode] - [#79671]) ([shelly docs]) +- Add default ports for Nibe heatpump ([@Tommatheussen] - [#79695]) ([nibe_heatpump docs]) +- Use Kelvin as the preferred color temperature unit ([@emontnemery] - [#79591]) ([light docs]) (noteworthy) +- Improve precision in pressure conversion ([@epenet] - [#79362]) +- Bump pyipp to 0.12.0 ([@ctalkington] - [#79687]) ([ipp docs]) (dependency) +- Fix max_color_temp_kelvin ([@flabbamann] - [#79738]) ([light docs]) +- Update ultraheat api to 0.5.0 ([@vpathuis] - [#79666]) ([landisgyr_heat_meter docs]) (dependency) +- Add supported brands to UPB integration ([@gwww] - [#79619]) +- Tweak comment in LightEntity ([@emontnemery] - [#79750]) ([light docs]) +- Only validate sensors in sensor.recorder.validate_statistics ([@emontnemery] - [#79749]) ([sensor docs]) +- Adapt homekit to color temperatures in K ([@emontnemery] - [#79713]) ([homekit docs]) (noteworthy) +- Add translations to Plugwise regulation mode ([@frenck] - [#79597]) ([plugwise docs]) +- Add visual image preview during generic camera config flow ([@davet2001] - [#71269]) ([generic docs]) (noteworthy) +- Fix broken URLs in KNX service descriptions ([@slovdahl] - [#79752]) ([knx docs]) +- Uninstall pre-installed tools from devcontainer ([@cdce8p] - [#79765]) +- Add Flume binary sensors ([@jeeftor] - [#77327]) ([flume docs]) +- Add diagnostics to LaMetric ([@frenck] - [#79757]) ([lametric docs]) +- Add LaMetric number tests ([@frenck] - [#79748]) ([lametric docs]) +- Convert kira tests to pytest ([@taiyeoguns] - [#79747]) ([kira docs]) +- De-duplicate MQTT config_flow code ([@jbouwh] - [#79369]) ([mqtt docs]) +- Add Huawei LTE reauth flow ([@scop] - [#78005]) ([huawei_lte docs]) +- Add support for Xiaomi Purifier 4 Lite ([@alexdrl] - [#79758]) ([xiaomi_miio docs]) (noteworthy) +- Add Roborock S7 MaxV for xiaomi_miio ([@starkillerOG] - [#79477]) ([xiaomi_miio docs]) (noteworthy) +- Add switch platform to LaMetric ([@frenck] - [#79759]) ([lametric docs]) (new-platform) +- Add @bachya as a LaMetric codeowner ([@bachya] - [#79772]) +- Add xiaomi miio airpurifier 4 led brightness ([@borky] - [#78793]) ([xiaomi_miio docs]) +- Add strict typing to Skybell ([@tkdrob] - [#79800]) ([skybell docs]) +- IntelliFire Fan - Bug fix on off funciton ([@jeeftor] - [#79819]) ([intellifire docs]) +- Add strict typing to Sonarr ([@tkdrob] - [#79802]) ([sonarr docs]) +- Add strict typing for radarr ([@cdce8p] - [#79242]) ([radarr docs]) +- Add strict typing for lidarr ([@cdce8p] - [#79241]) ([lidarr docs]) +- Add strict typing for WLED ([@cdce8p] - [#79822]) ([wled docs]) +- Bumb velbusaio to 2022.10.3 ([@Cereal2nd] - [#79821]) ([velbus docs]) +- Improve typing and code quality in beyesian ([@HarvsG] - [#79603]) ([bayesian docs]) +- Bump dbus-fast to 1.29.1 ([@bdraco] - [#79787]) ([bluetooth docs]) (dependency) +- Add device trigger for Lidl Silvercrest switch to deCONZ ([@jeinwag] - [#79839]) ([deconz docs]) +- Move Sonarr API calls to coordinators ([@tkdrob] - [#79826]) ([sonarr docs]) +- Add strict typing to Google Sheets ([@tkdrob] - [#79801]) +- Add Mazda brand ([@bdr99] - [#79683]) +- Change shelly trv precision to what is supported ([@philschenker] - [#79672]) ([shelly docs]) +- Use new device classes in Accuweather integration ([@bieniu] - [#79717]) ([accuweather docs]) +- Add vehicle model/year to subaru device ([@G-Two] - [#79484]) ([subaru docs]) +- Add state class to bosch_shc energy sensor ([@HennieLP] - [#79470]) ([bosch_shc docs]) +- Migrate Sonarr to new entity naming style ([@tkdrob] - [#79844]) ([sonarr docs]) +- Use value_fn in WLED number ([@cdce8p] - [#79865]) ([wled docs]) +- Bump pytrafikverket to 0.2.1 ([@gjohansson-ST] - [#79872]) ([trafikverket_weatherstation docs]) ([trafikverket_train docs]) ([trafikverket_ferry docs]) (dependency) +- Add state class measurement to SwitchBot signal strength sensors ([@Nardol] - [#79886]) ([switchbot docs]) +- Add syncthru active alerts sensor, set default manufacturer ([@scop] - [#79418]) ([syncthru docs]) +- Correct unit for Opengarage rssi sensor ([@Danielhiversen] - [#79403]) ([opengarage docs]) +- Add Roborock as supported brand of xiaomi miio ([@starkillerOG] - [#79312]) ([xiaomi_miio docs]) +- Add supported brands for Motion Blinds ([@starkillerOG] - [#79301]) ([motion_blinds docs]) +- Bump lupupy to support XT2 and up ([@majuss] - [#79289]) ([lupusec docs]) (dependency) +- Migrate Shelly to use kelvin for color temperature ([@thecode] - [#79880]) ([shelly docs]) (noteworthy) +- Rework Brother sensor platform ([@bieniu] - [#79864]) ([brother docs]) +- Remove redundant OpenUV test fixture ([@bachya] - [#79905]) ([openuv docs]) +- Remove redundant Ridwell test fixture ([@bachya] - [#79906]) ([ridwell docs]) +- Remove redundant ReCollect Waste test fixture ([@bachya] - [#79907]) ([recollect_waste docs]) +- Remove redundant WattTime test fixture ([@bachya] - [#79909]) ([watttime docs]) +- Remove redundant Notion test fixture ([@bachya] - [#79910]) ([notion docs]) +- Remove redundant IQVIA test fixture ([@bachya] - [#79911]) ([iqvia docs]) +- Remove redundant Tile test fixture ([@bachya] - [#79912]) ([tile docs]) +- Move AirNow test fixtures to `conftest.py` ([@bachya] - [#79902]) ([airnow docs]) +- Update Config Flow to show message about unsupported Overkiz hardware ([@iMicknl] - [#79503]) ([overkiz docs]) +- Bump dbus-fast to 1.33.0 ([@bdraco] - [#79921]) ([bluetooth docs]) (dependency) +- Use persistent device id for jellyfin requests ([@ctalkington] - [#79840]) ([jellyfin docs]) +- Correct use of ConfigType in MQTT config flow code ([@jbouwh] - [#79934]) ([mqtt docs]) +- Migrate attributes to separate sensors in Brother integration ([@bieniu] - [#79932]) ([brother docs]) (breaking-change) +- Remove yaml import openexchangerates ([@gjohansson-ST] - [#79856]) ([openexchangerates docs]) (breaking-change) +- Add friendly name to ZHA config entities ([@TheJulianJES] - [#79926]) ([zha docs]) +- Remove incorrect UpCloud logger from manifest ([@scop] - [#79855]) ([upcloud docs]) +- Make _TrackTemplateResultInfo not private ([@HarvsG] - [#79812]) +- Remove not used string from openexchangerates ([@gjohansson-ST] - [#79937]) ([openexchangerates docs]) +- Enable strict typing on Bayesian ([@HarvsG] - [#79870]) ([bayesian docs]) +- Add configuration URL to IPP (Printer) ([@jeeftor] - [#79313]) ([ipp docs]) +- Add support for parent_device field so entities are nested within Keypad Devices ([@danaues] - [#79513]) ([lutron_caseta docs]) +- Add sensor platform to LaMetric ([@frenck] - [#79935]) ([lametric docs]) (new-platform) +- Add support for Homeowner and Phantom Keypads ([@danaues] - [#79958]) ([lutron_caseta docs]) +- Migrate the LIFX integration to use kelvin for color temp ([@Djelibeybi] - [#79775]) ([lifx docs]) (noteworthy) +- Bump dbus-fast to 1.38.0 ([@bdraco] - [#79962]) ([bluetooth docs]) (dependency) +- Bump jellyfin-apiclient-python to 1.9.2 ([@ctalkington] - [#79945]) ([jellyfin docs]) +- Fix typo SIGNAL_BOOTSTRAP_INTEGRATONS -> SIGNAL_BOOTSTRAP_INTEGRATIONS ([@cgarwood] - [#79970]) ([websocket_api docs]) +- Use server name as entry title in Jellyfin ([@ctalkington] - [#79965]) ([jellyfin docs]) +- Add tests for Jellyfin init ([@ctalkington] - [#79968]) ([jellyfin docs]) +- Add select platform to LaMetric ([@frenck] - [#79803]) ([lametric docs]) +- Bump actions/stale from 6.0.0 to 6.0.1 (@dependabot - [#79977]) (dependency) +- Add docstring to Sensor enums ([@epenet] - [#79983]) ([sensor docs]) +- Add load_url service to fully_kiosk integration ([@cgarwood] - [#79969]) ([fully_kiosk docs]) (noteworthy) +- Clean duplicate nextcloud sensor ([@flemmingss] - [#79900]) ([nextcloud docs]) +- Migrate Switchbot to new entity naming style ([@Nardol] - [#80008]) ([switchbot docs]) +- Update black to 22.10.0 ([@frenck] - [#80006]) (dependency) +- Add options to SelectEntityDescription ([@epenet] - [#78882]) ([select docs]) (breaking-change) +- Update apprise to 1.1.0 ([@frenck] - [#80009]) ([apprise docs]) (dependency) +- Adapt group to color temperature in K ([@emontnemery] - [#79719]) ([light docs]) ([group docs]) +- Correct min/max mireds for lights which use K for color temp ([@emontnemery] - [#79998]) ([light docs]) +- Adjust device classes in smartthings ([@epenet] - [#79283]) ([smartthings docs]) +- Update screenshot ([@wrt54g] - [#79459]) +- Add support for the Flame and Morph effects for Tile and Candle ([@Djelibeybi] - [#80014]) ([lifx docs]) +- Powerview refactor prep for all shade types ([@kingy444] - [#79862]) ([hunterdouglas_powerview docs]) (dependency) +- Adapt deCONZ binary sensors to entity descriptions ([@Kane610] - [#79486]) ([deconz docs]) +- Add friendly entity names for ZHA sensors ([@dmulcahey] - [#80035]) ([zha docs]) +- Disable echo for non SQLite databases ([@emontnemery] - [#80032]) ([recorder docs]) +- Update codeowners for upnp component ([@StevenLooman] - [#80042]) ([upnp docs]) +- Move options to SelectEntityDescription in senseme ([@epenet] - [#80016]) ([senseme docs]) +- Bump pylitterbot to 2022.10.0 ([@natekspencer] - [#80050]) ([litterrobot docs]) (dependency) +- Update google-cloud-texttospeech to 2.12.3 ([@frenck] - [#80051]) ([google_cloud docs]) (dependency) +- Move options to SelectEntityDescription in lifx ([@epenet] - [#80015]) ([lifx docs]) +- Add support for Snooz BLE devices ([@AustinBrunkhorst] - [#78790]) ([snooz docs]) (new-integration) +- Bump to subarulink v0.6.1 ([@G-Two] - [#80056]) ([subaru docs]) (dependency) +- Improve client info reported to Jellyfin ([@ctalkington] - [#79974]) ([jellyfin docs]) +- Bump dbus-fast to 1.41.0 ([@bdraco] - [#80062]) ([bluetooth docs]) (dependency) +- Bump actions/setup-python from 4.1.0 to 4.3.0 (@dependabot - [#80068]) (dependency) +- Update pyupgrade to 3.1.0 ([@cdce8p] - [#80058]) (dependency) +- Remove old import logic for google_travel_time ([@eifinger] - [#80018]) ([google_travel_time docs]) +- Teach long term statistics that unit 'rpm' is same as 'RPM' ([@emontnemery] - [#80012]) ([sensor docs]) +- Cleanup blockchain sensor ([@epenet] - [#80077]) ([blockchain docs]) +- Use selectors for basic broker and options for MQTT config flow ([@jbouwh] - [#79791]) ([mqtt docs]) +- Add reauth flow for devolo_home_network ([@Shutgun] - [#71051]) ([devolo_home_network docs]) +- Remove old import logic for waze_travel_time ([@eifinger] - [#80079]) ([waze_travel_time docs]) +- Minor cleanup of sensor statistics ([@emontnemery] - [#80082]) ([sensor docs]) +- Support correcting sensor volume unit ([@emontnemery] - [#80081]) ([sensor docs]) +- Use setup-python check-latest option [ci] ([@cdce8p] - [#80078]) +- Set character set to utf8mb4 when connecting to MySQL or MariaDB databases ([@emontnemery] - [#79755]) ([recorder docs]) +- Use REVOLUTIONS_PER_MINUTE constant in vallox ([@epenet] - [#79992]) ([vallox docs]) (breaking-change) +- Use REVOLUTIONS_PER_MINUTE constant in baf ([@epenet] - [#79986]) ([baf docs]) (breaking-change) +- Use REVOLUTIONS_PER_MINUTE constant in danfoss_air ([@epenet] - [#79987]) ([danfoss_air docs]) (breaking-change) +- Use REVOLUTIONS_PER_MINUTE constant in glances ([@epenet] - [#79988]) ([glances docs]) (breaking-change) +- Use REVOLUTIONS_PER_MINUTE constant in system_bridge ([@epenet] - [#79990]) ([system_bridge docs]) (breaking-change) +- Improve some sensor statistics tests ([@emontnemery] - [#80087]) ([sensor docs]) +- Add name and slug to supervisor discovery info ([@MartinHjelmare] - [#80094]) ([hassio docs]) +- Use `entry.as_dict()` in Ambient PWS diagnostics ([@bachya] - [#80111]) ([ambient_station docs]) +- Use `entry.as_dict()` in AirVisual diagnostics ([@bachya] - [#80109]) +- Filter out non official zwave_js add-on discovery ([@MartinHjelmare] - [#80110]) ([zwave_js docs]) +- Use REVOLUTIONS_PER_MINUTE constant in isy994 ([@epenet] - [#79989]) ([isy994 docs]) (breaking-change) +- Use `entry.as_dict()` in Guardian diagnostics ([@bachya] - [#80112]) ([guardian docs]) +- Use `entry.as_dict()` in IQVIA diagnostics ([@bachya] - [#80113]) ([iqvia docs]) +- Use `entry.as_dict()` in Notion diagnostics ([@bachya] - [#80114]) ([notion docs]) +- Use `entry.as_dict()` in OpenUV diagnostics ([@bachya] - [#80115]) ([openuv docs]) +- Fix uncaught error in OpenUV diagnostics test ([@bachya] - [#80116]) ([openuv docs]) +- Update mutagen to 1.46.0 ([@frenck] - [#80004]) ([tts docs]) (dependency) +- Use `entry.as_dict()` in RainMachine diagnostics ([@bachya] - [#80118]) ([rainmachine docs]) +- Use `entry.as_dict()` in WattTime diagnostics ([@bachya] - [#80122]) ([watttime docs]) +- Use `entry.as_dict()` in SimpliSafe diagnostics ([@bachya] - [#80121]) ([simplisafe docs]) +- Powerview Implement remaining types ([@kingy444] - [#80097]) ([hunterdouglas_powerview docs]) +- Add config entry to Ridwell diagnostics ([@bachya] - [#80120]) ([ridwell docs]) +- Redact additional sensitive fields in ReCollect Waste diagnostics ([@bachya] - [#80119]) ([recollect_waste docs]) +- Huawei LTE logging related tweaks ([@scop] - [#79854]) ([huawei_lte docs]) +- Add full test coverage to LaMetric ([@frenck] - [#80134]) ([lametric docs]) +- Migrate HomeKit Controller to use stable identifiers ([@bdraco] - [#80064]) ([homekit_controller docs]) +- Add error handling to LaMetric button platform ([@frenck] - [#80136]) ([lametric docs]) +- Add has_entity_name for here_travel_time ([@eifinger] - [#80011]) ([here_travel_time docs]) +- Add sensor platform to Jellyfin ([@ctalkington] - [#79966]) ([jellyfin docs]) (new-platform) +- Bump ibeacon-ble to 0.7.4 ([@bdraco] - [#80147]) ([ibeacon docs]) (dependency) +- Strip whitespace from Nut "zero" serialno ([@ollo69] - [#80141]) ([nut docs]) +- Add brightness controls to LaMetric ([@frenck] - [#79804]) ([lametric docs]) +- Fix, improve input validation and add tests to ClickSend tts ([@CharlieBailly] - [#76669]) ([clicksend_tts docs]) (breaking-change) +- Add error handling to LaMetric number platform ([@frenck] - [#80159]) ([lametric docs]) +- Add error handling to LaMetric select platform ([@frenck] - [#80160]) ([lametric docs]) +- Add error handling to LaMetric switch platform ([@frenck] - [#80161]) ([lametric docs]) +- Bump dbus-fast to 1.44.0 ([@bdraco] - [#80149]) ([bluetooth docs]) (dependency) +- Move attribution to standalone attribute [c-d] ([@epenet] - [#80150]) +- Use percentage constant as unit in LaMetric brightness ([@frenck] - [#80162]) ([lametric docs]) +- Flume code quality improvments ([@jeeftor] - [#79815]) ([flume docs]) +- Bump dorny/paths-filter from 2.10.2 to 2.11.0 (@dependabot - [#80151]) (dependency) +- Add logger to default config for set level service ([@mdegat01] - [#80033]) ([default_config docs]) (breaking-change) +- Bump plugwise to v0.25.0 and adapt relevant plugwise code ([@bouwew] - [#80129]) ([plugwise docs]) (dependency) +- Add myself as codeowner to Alert ([@frenck] - [#80169]) ([alert docs]) +- Minor improvements of recorder typing ([@emontnemery] - [#80165]) ([recorder docs]) ([sensor docs]) +- Use percentage constant in components ([@epenet] - [#80173]) ([lyric docs]) ([statistics docs]) ([amberelectric docs]) +- Code quality improvements for Fully Kiosk ([@frenck] - [#80168]) ([fully_kiosk docs]) +- Drop unused unit_system from bmw ([@epenet] - [#80176]) ([bmw_connected_drive docs]) +- CI: Do not trigger full suite for alert integration ([@frenck] - [#80174]) +- Move alert constants into const module ([@frenck] - [#80170]) ([alert docs]) +- Remove unused is_on helper function from Alert ([@frenck] - [#80190]) ([alert docs]) +- Fix schema for the Alert integration ([@frenck] - [#80189]) ([alert docs]) +- Remove ToggleEntity inheritance from Alert ([@frenck] - [#80185]) ([alert docs]) +- Add missing type for CoordinatorEntity in Brother sensor platform ([@bieniu] - [#80197]) ([brother docs]) +- Use DistanceConverter in components ([@epenet] - [#80182]) ([nissan_leaf docs]) ([waze_travel_time docs]) ([here_travel_time docs]) ([geonetnz_quakes docs]) ([geonetnz_volcano docs]) ([gdacs docs]) +- Use DistanceConverter in components ([@epenet] - [#80207]) ([geonetnz_quakes docs]) ([gdacs docs]) +- Add button entities for Lutron Caseta/RA3/HWQSX ([@danaues] - [#79963]) ([lutron_caseta docs]) (new-platform) +- Powerview rename blackout to opaque ([@kingy444] - [#80163]) ([hunterdouglas_powerview docs]) +- Add support for area field from pylutron_caseta ([@danaues] - [#80221]) ([lutron_caseta docs]) +- Refactor recorder migration ([@emontnemery] - [#80175]) ([recorder docs]) +- Register Alert services as entity services ([@frenck] - [#80213]) ([alert docs]) +- Make notifiers of Alert optional ([@frenck] - [#80209]) ([alert docs]) +- Plugwise: implement device availability for non-legacy devices ([@bouwew] - [#80191]) ([plugwise docs]) +- Bump docker/login-action from 2.0.0 to 2.1.0 (@dependabot - [#80227]) (dependency) +- Bump dorny/paths-filter from 2.11.0 to 2.11.1 (@dependabot - [#80228]) (dependency) +- Fix recorder tests related to mysql ([@emontnemery] - [#80238]) ([recorder docs]) +- Avoid time traveling in recorder tests ([@emontnemery] - [#80247]) ([recorder docs]) +- Correct initialization of new databases ([@emontnemery] - [#80234]) ([recorder docs]) +- Fix armed state in fibaro integration ([@rappenze] - [#80218]) ([fibaro docs]) +- Add diagnostics to AirNow ([@bachya] - [#79904]) ([airnow docs]) +- Adjust temperature unit check in rainmachine ([@epenet] - [#80237]) ([rainmachine docs]) +- Bump CI cache version ([@cdce8p] - [#80265]) +- Fix logbook tests ([@emontnemery] - [#80264]) ([logbook docs]) +- Drop use of `is_metric` in tomorrowio ([@epenet] - [#80271]) ([tomorrowio docs]) +- Bump Météo-France to 1.1.0 ([@Quentame] - [#80255]) ([meteo_france docs]) (dependency) +- Bump Freebox to 1.0.0 ([@Quentame] - [#80256]) ([freebox docs]) (dependency) +- Bump actions/cache from 3.0.10 to 3.0.11 ([@cdce8p] - [#80260]) (dependency) +- IPMA Code quality improvement ([@dgomes] - [#77771]) ([ipma docs]) +- Add Switcher runner support ([@thecode] - [#79430]) ([switcher_kis docs]) (new-platform) +- Bump dbus-fast to 1.45.0 ([@bdraco] - [#80289]) ([bluetooth docs]) (dependency) +- Replace deprecated set-output commands [ci] ([@cdce8p] - [#80259]) +- Add edl21 sensors ([@Geliras] - [#80214]) ([edl21 docs]) +- Allow specifying the target table when importing statistics ([@emontnemery] - [#80230]) ([recorder docs]) +- Fix flaky recorder test ([@emontnemery] - [#80246]) ([recorder docs]) +- Update issue report link for installation type ([@KevinCathcart] - [#80300]) +- Bump temperusb to 1.6.0 ([@davet2001] - [#80296]) ([temper docs]) +- Add Heiwa as supported brand ([@renaiku] - [#80242]) ([gree docs]) (new-integration) +- Remove quality scale checkboxes from pull request template ([@thecode] - [#80298]) +- Deprecate name property of unit system ([@epenet] - [#80257]) (deprecation) +- Add repair issue for Coinbase YAML ([@TomBrien] - [#80156]) ([coinbase docs]) (deprecation) +- Add volvo on call device_info to group entities in one device per vehicle ([@dala318] - [#79329]) ([volvooncall docs]) +- Adjust distance unit check in google travel time ([@epenet] - [#80232]) ([google_travel_time docs]) +- Adjust distance unit check in geonetnz_volcano ([@epenet] - [#80244]) ([geonetnz_volcano docs]) +- Adjust get_distance_unit in mazda integration ([@epenet] - [#80233]) ([mazda docs]) +- Adjust distance unit check in gdacs ([@epenet] - [#80235]) ([gdacs docs]) +- Adjust distance unit check in geonetnz_quakes ([@epenet] - [#80236]) ([geonetnz_quakes docs]) +- Replace `is_metric` with `is METRIC_SYSTEM` ([@epenet] - [#80262]) +- Adjust distance unit check in waze travel time ([@epenet] - [#80241]) ([waze_travel_time docs]) +- Adjust distance unit check in here travel time ([@epenet] - [#80243]) ([here_travel_time docs]) +- Use attributes in coinbase sensor ([@epenet] - [#80086]) ([coinbase docs]) +- Replace `not is_metric` with `is IMPERIAL_SYSTEM` ([@epenet] - [#80266]) ([citybikes docs]) ([nissan_leaf docs]) +- Drop use of `is_metric` in ecowitt ([@epenet] - [#80267]) ([ecowitt docs]) +- Drop use of `is_metric` in weather ([@epenet] - [#80272]) ([weather docs]) +- Drop use of `is_metric` in nws ([@epenet] - [#80270]) ([nws docs]) +- Cleanup config deprecation warning ([@epenet] - [#80251]) +- Fix before sunrise OR after sunset condition ([@janick] - [#76143]) +- Update python-typing-update to 0.5.0 ([@cdce8p] - [#80315]) ([hue docs]) ([airthings_ble docs]) (dependency) +- Deprecate is_metric property of unit system ([@epenet] - [#80313]) (deprecation) +- Add ability to convert ZCL schemas to vol schemas to ZHA ([@dmulcahey] - [#79908]) ([zha docs]) +- Use SupportedDialect enum in recorder ([@emontnemery] - [#80319]) ([recorder docs]) +- Use local UNIT constants in geonetnz_volcano ([@epenet] - [#80323]) ([geonetnz_volcano docs]) +- Tag eafm sensors are measurement to collect long term stats ([@jfparis] - [#80312]) ([eafm docs]) +- Update xknx to 1.2.0 ([@marvin-w] - [#80318]) ([knx docs]) (dependency) +- Use local UNIT constants in waze_travel_time ([@epenet] - [#80325]) ([waze_travel_time docs]) +- Use local UNIT constants in here_travel_time ([@epenet] - [#80324]) ([here_travel_time docs]) +- Remove elevation warning from sun ([@frenck] - [#80239]) ([sun docs]) +- Only reload modified automations ([@emontnemery] - [#80282]) ([automation docs]) (noteworthy) +- Revert "Add Mazda brand" ([@frenck] - [#80314]) +- Fix reload of automation and scripts when blueprint changed ([@emontnemery] - [#80322]) ([automation docs]) ([script docs]) ([blueprint docs]) +- Deprecate CONF_UNIT_SYSTEM_*** constants ([@epenet] - [#80320]) ([config docs]) (deprecation) +- Little cleanup of Alert tests ([@frenck] - [#80333]) ([alert docs]) +- Convert graphite tests to pytest ([@taiyeoguns] - [#79807]) ([graphite docs]) +- Unconditionally call DomainBlueprints.populate ([@emontnemery] - [#80336]) ([automation docs]) ([script docs]) ([blueprint docs]) +- Add some typing to common test helpers ([@frenck] - [#80337]) +- Add start_application service to fully_kiosk integration ([@cgarwood] - [#80226]) ([fully_kiosk docs]) +- Automatically determine the advertising interval for bluetooth devices ([@bdraco] - [#79669]) ([esphome docs]) ([bluetooth docs]) +- Upgrade demetriek to 0.3.0 ([@frenck] - [#80350]) ([lametric docs]) (dependency) +- Add support for restoring HomeKit IIDs ([@bdraco] - [#79913]) ([homekit docs]) (breaking-change) +- Add reauth support to LaMetric ([@frenck] - [#80355]) ([lametric docs]) +- Mark LaMetric as Platinum integration ([@frenck] - [#80360]) ([lametric docs]) +- Add support for Shelly Plus Addon sensors ([@thecode] - [#79954]) ([shelly docs]) +- Add type hints to aqualogic ([@epenet] - [#80328]) ([aqualogic docs]) +- Bump bleak to 0.19.0 ([@bdraco] - [#80349]) ([bluetooth docs]) (dependency) +- Make home assistant discoverable via UPnP/SSDP ([@StevenLooman] - [#79820]) ([ssdp docs]) (dependency) (noteworthy) +- Intellifire - Number Entity - Flame Height Control ([@jeeftor] - [#79901]) ([intellifire docs]) (breaking-change) (new-platform) +- Bump fjaråskupan to 2.2.0 ([@elupus] - [#80401]) ([fjaraskupan docs]) (dependency) +- Bump bleak-retry-connector to 2.3.0 ([@bdraco] - [#80397]) ([bluetooth docs]) (dependency) +- Allow fints config as fallback for account type ([@kilrogg] - [#75680]) ([fints docs]) +- Update pip constraint to 22.4 ([@cdce8p] - [#80383]) (dependency) +- Bump yalexs_ble to 1.9.4 for bleak 0.19.0 ([@bdraco] - [#80406]) ([yalexs_ble docs]) (dependency) +- Update led-ble to 1.0.0 for bleak 0.19 ([@bdraco] - [#80403]) ([led_ble docs]) (dependency) +- Bump pySwitchbot to 0.20.0 for bleak 0.19 changes ([@bdraco] - [#80389]) ([switchbot docs]) (dependency) +- Powerview sensors updates ([@kingy444] - [#80417]) ([hunterdouglas_powerview docs]) +- Bump aiohomekit to 2.1.0 for bleak 0.19.0 ([@bdraco] - [#80426]) ([homekit_controller docs]) (dependency) +- Bump pyotgw to 2.1.1 ([@mvn23] - [#80421]) ([opentherm_gw docs]) (dependency) +- Avoid logging tracebacks for auth failures in philips js ([@elupus] - [#80381]) ([philips_js docs]) +- Display and log google_travel_time errors ([@eifinger] - [#77604]) ([google_travel_time docs]) +- Bump gcal_sync to 1.1.0 ([@allenporter] - [#80431]) ([google docs]) (dependency) +- Bump plugwise to v0.25.2 and adapt climate ([@bouwew] - [#80347]) ([plugwise docs]) (dependency) +- Fix google calendar event transparency filter ([@allenporter] - [#80438]) ([google docs]) +- Fix google calendar test to match API behavior ([@allenporter] - [#80436]) ([google docs]) +- Fire bluetooth listener for all matching devices ([@elupus] - [#80440]) ([fjaraskupan docs]) ([bluetooth docs]) +- Add friendly name to ZHA identify button ([@TheJulianJES] - [#80446]) ([zha docs]) +- Bump androidtv dependency to 0.0.69 ([@grimpy] - [#80407]) ([androidtv docs]) (dependency) +- Bump pySwitchbot to 0.20.2 ([@bdraco] - [#80435]) ([switchbot docs]) (dependency) +- Bump google-cloud-pubsub to 2.13.10 ([@allenporter] - [#80433]) ([google_pubsub docs]) +- Stop coordinator before connection in nibe_heatpump ([@elupus] - [#80396]) ([nibe_heatpump docs]) +- Refactor the core config store ([@epenet] - [#80457]) +- Update to iaqualink 0.5.0 ([@flz] - [#80304]) ([iaqualink docs]) (dependency) +- Bump qingping-ble to 0.8.0 ([@bdraco] - [#80443]) ([qingping docs]) +- Simplify parsing of script and automation config ([@emontnemery] - [#80465]) ([automation docs]) ([script docs]) +- Cleanup sensor private attributes ([@epenet] - [#80463]) ([sensor docs]) +- Refactor access to ConfigStore ([@epenet] - [#80467]) +- Update pychannels to 1.2.3 ([@marcusrbrown] - [#80409]) ([channels docs]) (dependency) +- Convert darksky unittest tests to pytest ([@jramirez857] - [#79868]) ([darksky docs]) +- Add message service to LaMetric ([@frenck] - [#80448]) ([lametric docs]) +- Powerview Add Battery Option Selection ([@kingy444] - [#80166]) ([hunterdouglas_powerview docs]) (new-platform) +- Streamline Enphase Envoy config flow tests ([@bachya] - [#79914]) ([enphase_envoy docs]) +- Fix typo in LED BLE documentation URL ([@pattyland] - [#80479]) ([led_ble docs]) +- Bump qingping-ble to 0.8.1 ([@bdraco] - [#80473]) ([qingping docs]) (dependency) +- Remove unneeded guards from (async_)add_entities call ([@frenck] - [#80471]) +- Don't mock out migration in recorder tests ([@emontnemery] - [#80480]) +- Bump deconz dependency to v105 ([@Kane610] - [#80492]) ([deconz docs]) (dependency) +- Fix connectable Bluetooth devices not being seen if the nearest scanner is non-connectable ([@bdraco] - [#80388]) ([bluetooth docs]) +- Update sqlalchemy to 1.4.42 ([@frenck] - [#80495]) ([recorder docs]) ([sql docs]) (dependency) +- Move attribution to standalone attribute [e-g] ([@epenet] - [#80513]) +- Reduce missed coverage in zwave_js ([@raman325] - [#79571]) ([zwave_js docs]) +- Modbus: Add support for Holding Registers to Binary Sensor ([@Nippey] - [#80460]) ([modbus docs]) +- Update sentry-sdk to 1.9.10 ([@frenck] - [#80474]) ([sentry docs]) (dependency) +- Update freezegun to 1.2.2 ([@frenck] - [#80498]) (dependency) +- Update yamllint to 1.28.0 ([@frenck] - [#80497]) (dependency) +- Bump pyunifiprotect to 4.3.4 ([@AngellusMortis] - [#80496]) ([unifiprotect docs]) (dependency) +- Move attribution to standalone attribute [h-l] ([@epenet] - [#80516]) +- Fix Plex reauth with multiple available servers ([@jjlawren] - [#80508]) ([plex docs]) +- Update bsblan integration ([@liudger] - [#67399]) ([bsblan docs]) +- Move attribution to standalone attribute [m-q] ([@epenet] - [#80518]) +- Revert BSBLAN name change to fix hassfest ([@cdce8p] - [#80525]) ([bsblan docs]) +- Move attribution to standalone attribute [r-s] ([@epenet] - [#80520]) +- Move attribution to standalone attribute [t-z] ([@epenet] - [#80521]) +- Use _attr_attribution in suez_water ([@epenet] - [#80527]) ([suez_water docs]) +- Improve msg type hint in websocket commands ([@epenet] - [#80530]) +- Fix payload in rest ([@epenet] - [#80544]) ([rest docs]) +- Bump velbus-aio to 2022.10.4 ([@niobos] - [#80510]) ([velbus docs]) (dependency) +- Remove unnecessary session scoping to several test fixtures ([@bachya] - [#80500]) +- Reduce chance of bluetooth devices going unavailable when adapter stops responding ([@bdraco] - [#80545]) ([bluetooth docs]) +- Ensure Enphase Envoy test fixtures aren't session-scoped ([@bachya] - [#80499]) ([enphase_envoy docs]) +- Add diagnostics to Enphase Envoy ([@bachya] - [#79950]) ([enphase_envoy docs]) +- Bump bleak-retry-connector to 2.3.1 ([@bdraco] - [#80549]) ([bluetooth docs]) (dependency) +- Bump aioswitcher to 3.1.0 ([@thecode] - [#80534]) ([switcher_kis docs]) (dependency) +- Add Shelly support for sleeping Gen2 devices ([@thecode] - [#79889]) ([shelly docs]) (dependency) (noteworthy) +- Bump aiohomekit to 2.1.1 ([@bdraco] - [#80560]) ([homekit_controller docs]) +- Migrate Broadlink to new entity naming style ([@Nardol] - [#80187]) ([broadlink docs]) +- Update demetriek to 0.4.0 ([@frenck] - [#80567]) ([lametric docs]) (dependency) +- Add new codeowners to scrape ([@epenet] - [#80569]) ([scrape docs]) +- Add chart service to LaMetric ([@frenck] - [#80554]) ([lametric docs]) +- Add websocket type hints in conversation ([@epenet] - [#80535]) ([conversation docs]) +- Add websocket type hints in components ([@epenet] - [#80533]) ([mqtt docs]) ([cloud docs]) ([webhook docs]) ([mobile_app docs]) ([trace docs]) +- Add websocket type hints in config ([@epenet] - [#80532]) ([config docs]) +- Add websocket type hints in blueprint ([@epenet] - [#80531]) ([blueprint docs]) +- Ensure recorder test fixture is setup before hass fixture ([@emontnemery] - [#80528]) +- Add guard in recorder retry function ([@emontnemery] - [#80585]) ([recorder docs]) +- Make all datetime columns in recorder DB µs precision ([@emontnemery] - [#80584]) ([recorder docs]) +- Add sensor, selector and switch for Plugwise Anna + Loria combination ([@bouwew] - [#80558]) ([plugwise docs]) +- Integrations v2.1: Differentiating hubs, devices and services ([@frenck] - [#80524]) ([config docs]) +- Add CI job which runs recorder tests on MariaDB ([@emontnemery] - [#80586]) ([recorder docs]) +- Rename IMPERIAL_SYSTEM to US_CUSTOMARY_SYSTEM ([@epenet] - [#80253]) (deprecation) +- Fix invalid type hint in scrape ([@epenet] - [#80543]) ([scrape docs]) +- Add type hints to rest integration ([@epenet] - [#80546]) ([rest docs]) +- Adjust precipitation units ([@epenet] - [#79780]) (deprecation) +- Adjust precipitation units in components ([@epenet] - [#79783]) +- Add precipitation_intensity sensor device class ([@epenet] - [#79779]) ([sensor docs]) +- Add buttons to dismiss notifications in LaMetric ([@frenck] - [#80605]) ([lametric docs]) +- Improve type hints in blebox ([@epenet] - [#80511]) ([blebox docs]) +- Use US_CUSTOMARY_SYSTEM in components ([@epenet] - [#80623]) +- Expose UniFi PoE ports as individual switches ([@Kane610] - [#80566]) ([unifi docs]) +- Limit recorder pytest job [ci] ([@cdce8p] - [#80625]) +- Tweak MariaDB CI job ([@emontnemery] - [#80631]) +- Add integration_type to Axis, deCONZ and UniFi manifest ([@Kane610] - [#80630]) ([axis docs]) ([deconz docs]) ([unifi docs]) +- Fix invalid warning in scrape ([@epenet] - [#80599]) ([scrape docs]) +- Bump ha-av to v10.0.0 ([@uvjustin] - [#80514]) ([stream docs]) ([generic docs]) (dependency) +- Replace constants with enums in UniFi ([@Kane610] - [#80637]) ([unifi docs]) +- Bump dbus-fast to 1.47.0 ([@bdraco] - [#80633]) ([bluetooth docs]) (dependency) +- Address jellyfin sensor feedback ([@ctalkington] - [#80222]) ([jellyfin docs]) +- Update pylint to 2.15.4 ([@cdce8p] - [#80612]) ([zha docs]) ([forked_daapd docs]) ([repairs docs]) (dependency) +- Enforce kwargs in unit system initialisation ([@epenet] - [#80620]) +- Use custom attributes description in Sonarr ([@tkdrob] - [#79845]) ([sonarr docs]) +- Add websocket type hints in entity_registry ([@epenet] - [#80657]) ([config docs]) +- Update frontend to 20221020.0 ([@bramkragten] - [#80661]) ([frontend docs]) +- Improve type hint in entity_component ([@epenet] - [#80596]) +- Add mode control for Modbus climate entities ([@avishorp] - [#73906]) ([modbus docs]) +- Add websocket type hints in components ([@epenet] - [#80654]) +- Bump aioshelly to 4.0.0 ([@thecode] - [#80423]) ([shelly docs]) (dependency) +- Add blebox binary_sensor platform ([@riokuu] - [#79535]) ([blebox docs]) (new-platform) +- Use US_CUSTOMARY_SYSTEM in tests ([@epenet] - [#80658]) +- Refactor blebox sensors ([@riokuu] - [#80671]) ([blebox docs]) +- Add websocket type hints in lovelace ([@epenet] - [#80537]) ([lovelace docs]) +- Adjust device classes in tasmota ([@epenet] - [#79282]) ([tasmota docs]) +- Speed up restart when bluetooth adapter is in a failed state ([@bdraco] - [#80640]) ([bluetooth docs]) +- Remove deprecated yaml import for waze_travel_time ([@eifinger] - [#80669]) ([waze_travel_time docs]) +- Remove balloob as code owner Ring ([@balloob] - [#80680]) ([ring docs]) +- Fix custom components not working with integration descriptions ([@balloob] - [#80686]) +- Simplify mocking UniFi websocket ([@Kane610] - [#80652]) ([unifi docs]) +- Defer bluetooth scanner watchdog restart if one is already in progress ([@bdraco] - [#80679]) ([bluetooth docs]) +- Bump snapcast to 2.3.0 ([@luar123] - [#80688]) ([snapcast docs]) (dependency) +- Bump zeroconf to 0.39.2 ([@bdraco] - [#80699]) ([zeroconf docs]) (dependency) +- Add diagnostics to jellyfin ([@ctalkington] - [#80651]) ([jellyfin docs]) +- Replace custom OpenUV data object with coordinators ([@bachya] - [#80705]) ([openuv docs]) +- Move default option handling to config_flow for google_travel_time ([@eifinger] - [#80607]) ([google_travel_time docs]) +- Bump pyatmo to 7.2.0 ([@cgtobi] - [#80698]) ([netatmo docs]) +- Fix error when setting Netatmo climate preset ([@cgtobi] - [#80700]) +- Integrations v2.1: Virtual integrations ([@frenck] - [#80613]) (breaking-change) +- Add entity_registry_enabled_default and missing EntityCategories in Plugwise ([@bouwew] - [#80629]) ([plugwise docs]) +- Fix ZeroDivisionError for Fritz!Smarthome electric current sensor ([@renegaderyu] - [#80682]) ([fritzbox docs]) +- Improve calendar trigger test quality ([@allenporter] - [#79451]) ([calendar docs]) +- Streamline calendar dataclass API/attribute conversions ([@allenporter] - [#79598]) ([calendar docs]) +- Add iot_standards to devolo brand ([@Shutgun] - [#80332]) +- Improve typing hints MQTT __init__ ([@jbouwh] - [#80674]) ([mqtt docs]) +- Add Bluesound unique id ([@fredrike] - [#80559]) ([bluesound docs]) +- Update home-assistant/wheels to 2022.10.1 ([@frenck] - [#80723]) (dependency) +- Update sentry-sdk to 1.10.0 ([@frenck] - [#80721]) ([sentry docs]) (dependency) +- Remove building wheels for face detection ([@pvizeli] - [#80728]) +- Bump simplepush to 2.1.1 ([@tymm] - [#80608]) ([simplepush docs]) (dependency) +- Small typing improvements for Plugwise ([@frenck] - [#80722]) ([plugwise docs]) +- Reduce unnecessary alarm firing to speed up calendar trigger test ([@allenporter] - [#80732]) ([calendar docs]) +- Log invalid messages instead of raising in system_log ([@bdraco] - [#80645]) ([system_log docs]) +- Move default options to config_flow for waze_travel_time ([@eifinger] - [#80681]) ([waze_travel_time docs]) +- Remove Xiaomi Miio YAML import ([@starkillerOG] - [#78995]) ([xiaomi_miio docs]) +- Fix zha LogEntry call ([@bdraco] - [#80737]) ([zha docs]) +- Remove system_log missing format arg test ([@bdraco] - [#80739]) ([system_log docs]) +- Add `_TZE200_kds0pmmv` to ZHA `ZONNSMARTThermostat` ([@javicalle] - [#80746]) ([zha docs]) +- Add homekit notifications to the list of allowed apple bluetooth start bytes ([@bdraco] - [#80733]) ([bluetooth docs]) +- Remove redundant `async_update` for OpenUV entities ([@bachya] - [#80735]) ([openuv docs]) +- Bump qingping-ble to 0.8.2 to handle door left open ([@bdraco] - [#80748]) ([qingping docs]) (dependency) +- Bump pysma to 0.7.1 ([@rklomp] - [#80601]) ([sma docs]) +- Load ecobee notify platform via discovery ([@kevdliu] - [#78558]) ([ecobee docs]) (breaking-change) +- Update pylint to 2.15.5 ([@cdce8p] - [#80759]) (dependency) +- Conditionally include config flow and iot_class when relevant ([@balloob] - [#80756]) +- Add ultraloq virtual integration ([@balloob] - [#80755]) ([ultraloq docs]) +- Update frontend to 20221021.0 ([@bramkragten] - [#80751]) ([frontend docs]) +- Remove unused keys from ultraloq ([@balloob] - [#80762]) +- Add "power on state" config entity for Tuya plugs to ZHA ([@TheJulianJES] - [#80486]) ([zha docs]) +- Add "power outage memory" config entity to Xiaomi EU plugs to ZHA ([@TheJulianJES] - [#80444]) ([zha docs]) +- Add Philips Hue motion sensor config entities to ZHA ([@TheJulianJES] - [#79923]) ([zha docs]) +- Update pending message error ([@balloob] - [#80763]) ([websocket_api docs]) +- Update zwave_js.refresh_value service example ([@kpine] - [#80764]) ([zwave_js docs]) +- Fix Shelly entry unload and add tests for init ([@thecode] - [#80760]) ([shelly docs]) +- Remove myself from Xiaomi Miio code owner list ([@bieniu] - [#80768]) ([xiaomi_miio docs]) +- Add `integration_type` field for a few integrations ([@bieniu] - [#80767]) +- Add myself as code owner to util and const ([@epenet] - [#80664]) +- Add integration_type to devolo integrations ([@Shutgun] - [#80695]) ([devolo_home_control docs]) ([devolo_home_network docs]) +- Bump owntone requirements ([@uvjustin] - [#80552]) ([forked_daapd docs]) (dependency) +- Extend roomba mac range in manifest ([@onpremcloudguy] - [#80714]) ([roomba docs]) +- Bump bleak-retry-connector to 2.3.2 ([@bdraco] - [#80790]) ([bluetooth docs]) (dependency) +- Bump soco to 0.28.1 ([@jjlawren] - [#80792]) ([sonos docs]) (dependency) +- Bump aioshelly to 4.1.0 ([@thecode] - [#80795]) ([shelly docs]) (dependency) +- Bump aiohomekit to 2.2.0 ([@bdraco] - [#80798]) ([homekit_controller docs]) (breaking-change) (dependency) (noteworthy) +- Log bluetooth advertisement before firing bleak callbacks ([@bdraco] - [#80800]) ([bluetooth docs]) +- Update psutil to 5.9.3 ([@frenck] - [#80775]) ([systemmonitor docs]) (dependency) +- Bump plugwise to v0.25.3 ([@bouwew] - [#80782]) ([plugwise docs]) (dependency) +- Refactor Powerview sensor to dataclass ([@kingy444] - [#80536]) ([hunterdouglas_powerview docs]) +- Add themes for LIFX multi-zone devices via a new select entity ([@Djelibeybi] - [#80067]) ([lifx docs]) +- Refactor UniFi upgrade entities ([@Kane610] - [#80752]) ([unifi docs]) +- Bump pydaikin to 2.8.0 ([@fredrike] - [#80823]) ([daikin docs]) (dependency) +- Refactor UniFi outlet switches ([@Kane610] - [#80738]) ([unifi docs]) +- Add integration_type to ipp and roku ([@ctalkington] - [#80831]) ([roku docs]) +- Improve UniFi PoE unique ID ([@Kane610] - [#80740]) ([unifi docs]) +- Prevent HomeKit Controller BLE connect retries from blocking startup ([@bdraco] - [#80827]) ([homekit_controller docs]) +- Add integration_type to jellyfin ([@ctalkington] - [#80832]) ([jellyfin docs]) +- Set integration type on codeowned integrations @frenck ([@frenck] - [#80830]) +- Add entity service - Set Full AC state to Sensibo ([@gjohansson-ST] - [#80820]) ([sensibo docs]) +- Minor cleanup Sensibo ([@gjohansson-ST] - [#80835]) ([sensibo docs]) +- Small lifx fixes ([@bdraco] - [#80828]) ([lifx docs]) +- Add dynamic generation of device triggers from keypad buttons ([@danaues] - [#80797]) ([lutron_caseta docs]) +- Bump pylitterbot to 2022.10.2 ([@natekspencer] - [#80836]) ([litterrobot docs]) (dependency) +- Add Sensibo Climate React ([@gjohansson-ST] - [#78221]) ([sensibo docs]) +- Fix temperature unit in sensor for Sensibo ([@gjohansson-ST] - [#80843]) ([sensibo docs]) +- Add presence duration number ([@Kane610] - [#79498]) ([deconz docs]) +- Refactor UniFi DPI switch entities ([@Kane610] - [#80761]) ([unifi docs]) +- Fix Lutron Caseta area names by ignoring root area during area name retrieval ([@danaues] - [#80576]) ([lutron_caseta docs]) +- Add ZHA StartUpColorTemperature configuration entity ([@jloehr] - [#80853]) ([zha docs]) +- Fix oncue data unavailable when genset disconnected ([@PeteRager] - [#80668]) ([oncue docs]) +- Try again to populate HKC BLE accessory state after startup ([@bdraco] - [#80854]) ([homekit_controller docs]) +- Add Lutron Caseta zeroconf discovery for RA3/HWQSX ([@danaues] - [#80852]) ([lutron_caseta docs]) +- Fix whitespace in oncue manifest ([@bdraco] - [#80859]) ([oncue docs]) +- Code quality update for Subaru sensors ([@G-Two] - [#79482]) ([subaru docs]) +- Support Nobø Switch as temperature sensor ([@oyvindwe] - [#78480]) ([nobo_hub docs]) (new-platform) +- Bump aiohomekit to 2.2.2 ([@bdraco] - [#80857]) ([homekit_controller docs]) +- Update denonavr to version 0.10.12 ([@ol-iver] - [#80861]) ([denonavr docs]) (dependency) +- Add device-specific diagnostics to the LIFX integration ([@Djelibeybi] - [#79964]) ([lifx docs]) +- Bump gcal_sync to 2.2.0 ([@allenporter] - [#80863]) ([google docs]) (dependency) +- Add Freebox button to mark calls as read ([@Quentame] - [#80609]) ([freebox docs]) +- Bump actions/upload-artifact from 3.1.0 to 3.1.1 (@dependabot - [#80867]) (dependency) +- Move advanced MQTT options to entry ([@jbouwh] - [#79351]) ([mqtt docs]) (deprecation) +- Remove precipitation note from length units ([@epenet] - [#80677]) +- Add `update` platform to MQTT integration ([@bieniu] - [#80659]) ([mqtt docs]) (new-platform) (noteworthy) +- CI: Fix partial coverage ([@epenet] - [#80877]) +- Allow hostname for nibe heatpump ([@elupus] - [#80793]) ([nibe_heatpump docs]) +- Use DataUpdateCoordinator in scrape ([@epenet] - [#80593]) ([scrape docs]) (breaking-change) +- Add typing hints for MQTT mixins ([@jbouwh] - [#80702]) ([mqtt docs]) +- Add unique_id to scrape ([@epenet] - [#80581]) ([scrape docs]) (noteworthy) +- Adjust pylint for IMPERIAL_SYSTEM deprecation ([@epenet] - [#80874]) +- Add suggested_unit_of_measurement attribute to sensors ([@emontnemery] - [#80638]) ([sensor docs]) +- Bump bleak-retry-connector to 2.4.0 ([@bdraco] - [#80887]) ([bluetooth docs]) (dependency) +- Fix HKC exceptions during BLE startup not being caught ([@bdraco] - [#80882]) ([homekit_controller docs]) +- Bump aiohomekit to 2.2.3 ([@bdraco] - [#80891]) ([homekit_controller docs]) (dependency) +- Add support for Netatmo noise sensor to homekit_controller ([@Jc2k] - [#80889]) ([homekit_controller docs]) +- Refactor zwave_js add-on manager ([@MartinHjelmare] - [#80883]) ([zwave_js docs]) +- Add EMISSION_CHECK to BMW Connected Drive ([@rikroe] - [#80819]) ([bmw_connected_drive docs]) +- Bump aiohomekit to 2.2.4 ([@bdraco] - [#80899]) ([homekit_controller docs]) (dependency) +- Only reload modified scripts ([@emontnemery] - [#80470]) ([automation docs]) ([script docs]) (noteworthy) +- Add integration_type to ISY994 manifest and bump pyisy to 3.0.8 ([@shbatm] - [#80906]) ([isy994 docs]) +- Raise exception when esphome ble client disconnects during operation ([@bdraco] - [#80885]) ([esphome docs]) +- Add new WATER device class ([@epenet] - [#80886]) ([sensor docs]) +- Fix XMPP room notifications ([@Socalix] - [#80794]) ([xmpp docs]) +- Bump bleak-retry-connector to 2.4.2 ([@bdraco] - [#80908]) ([bluetooth docs]) (dependency) +- Add "Push Flow Meter Data" service to RainMachine and bump regenmaschine to 2022.10.0 ([@shbatm] - [#80890]) ([rainmachine docs]) +- Fix SSDP/UPnP server after testing ([@StevenLooman] - [#80815]) ([ssdp docs]) (dependency) +- Add integration_type to iss ([@DurgNomis-drol] - [#80909]) ([iss docs]) +- Cleanup Shelly update platform ([@thecode] - [#80845]) ([shelly docs]) +- Add integration_type to launchlibrary ([@DurgNomis-drol] - [#80907]) ([launch_library docs]) +- Add media_player platform to Jellyfin ([@Ongy] - [#76801]) ([jellyfin docs]) (new-platform) (noteworthy) +- Add oralb integration ([@bdraco] - [#80918]) ([oralb docs]) (new-integration) +- Add apcupsd laststest sensor ([@definitio] - [#80773]) ([apcupsd docs]) (breaking-change) +- Use EntityDescription in Freebox switch ([@Quentame] - [#80858]) ([freebox docs]) +- Add integration_type to the velbus component ([@Cereal2nd] - [#80924]) ([velbus docs]) +- Use ESPHome manufacturer name from device if provided ([@jesserockz] - [#80928]) ([esphome docs]) (dependency) +- Don't trigger statistics issues when sensor units are equivalent ([@emontnemery] - [#80099]) ([sensor docs]) +- Allow gas units to be overriden ([@epenet] - [#80884]) ([sensor docs]) +- Add visual image preview during generic camera options flow ([@davet2001] - [#80392]) ([generic docs]) +- Add tuya access control devices (binary status of lock) ([@osono-design] - [#79793]) ([tuya docs]) +- Use start helper in recorder ([@emontnemery] - [#79559]) ([recorder docs]) +- Add IKEA SYMFONISK as virtual integration ([@frenck] - [#80833]) ([symfonisk docs]) +- Load themes from themes folder by default ([@frenck] - [#80937]) +- Rename entry_id template method to config_entry_id ([@frenck] - [#80935]) +- Bump aioshelly to 4.1.1 ([@thecode] - [#80939]) ([shelly docs]) (dependency) +- Bayesian - support `unique_id:` ([@HarvsG] - [#79879]) ([bayesian docs]) (noteworthy) +- Add additional rules for converting distances ([@emontnemery] - [#80940]) +- Add support for EventBridge to aws integration ([@pghazanfari] - [#77573]) ([aws docs]) +- Set water device class to flo, homewizard, p1_monitor, toon ([@frenck] - [#80944]) ([toon docs]) ([flo docs]) ([p1_monitor docs]) ([homewizard docs]) (noteworthy) +- Add tplink dhcp entry for EP25 model ([@hackerESQ] - [#80650]) ([tplink docs]) +- Extend Sonos queue operation timeouts ([@jjlawren] - [#80804]) ([sonos docs]) +- Remove deprecated YAML in Pushover ([@engrbm87] - [#80876]) ([pushover docs]) (deprecation) +- Add alarmed binary sensor to Risco integration ([@OnFreund] - [#77315]) ([risco docs]) +- Fix `integrations.json` creation, make `iot_standards` a list ([@bramkragten] - [#80945]) ([ultraloq docs]) +- Update Fritz! lights to use kelvin ([@flabbamann] - [#79733]) ([light docs]) ([fritzbox docs]) (noteworthy) +- Remove myself from edl21 codeowners ([@mtdcr] - [#80947]) ([edl21 docs]) +- Add rules for converting speeds ([@emontnemery] - [#80943]) +- Mark some integrations as system integrations ([@emontnemery] - [#80948]) ([persistent_notification docs]) ([cloud docs]) ([map docs]) ([system_log docs]) ([zone docs]) ([stream docs]) ([homeassistant_alerts docs]) +- Adjust unit_system type hints ([@epenet] - [#80946]) +- Add additional sensors to RainMachine ([@shbatm] - [#80914]) ([rainmachine docs]) +- Add GJ as supported unit for energy sensors ([@emontnemery] - [#80870]) ([sensor docs]) ([energy docs]) +- Replace new PRECIPITATION_INTENSITY with enum ([@epenet] - [#80653]) +- Add sum-differences characteristics to statistics component ([@ThomDietrich] - [#79439]) ([statistics docs]) +- Add wind_speed sensor device class ([@epenet] - [#79789]) ([sensor docs]) +- Adjust formatting in unit system tests ([@epenet] - [#80958]) +- Improve loading UniFi switch entities ([@Kane610] - [#80910]) ([unifi docs]) +- Remove deprecate service in `speedtestdotnet` ([@engrbm87] - [#80938]) ([speedtestdotnet docs]) (deprecation) +- Adds states and state_attr as a filter, adds is_state and is_state_attr as a test. ([@Petro31] - [#79473]) (noteworthy) +- Add Octoprint camera entity ([@rfleming71] - [#79689]) ([octoprint docs]) (new-platform) +- Add week period to recorder statistics api ([@mib1185] - [#80784]) ([recorder docs]) +- Bump aiogithubapi from 22.2.4 to 22.10.1 ([@ludeeus] - [#80968]) ([github docs]) (dependency) +- Add deprecation warning for statistics integration default buffer_size ([@ThomDietrich] - [#69700]) ([statistics docs]) +- Remove hardware and fix raspberry pi brands in integrations.json ([@frenck] - [#80970]) ([remote_rpi_gpio docs]) +- Update devcontainer appPort to allow connections from external IPs ([@thecode] - [#79730]) +- Clean-up Shelly legacy update entities ([@thecode] - [#80961]) ([shelly docs]) +- Set integration type on codeowned integrations @bachya ([@bachya] - [#80974]) +- Rewrite UniFi block client switch ([@Kane610] - [#80969]) ([unifi docs]) +- Add integration_type to vizio, tomorrowio, zwave_js ([@raman325] - [#80975]) ([vizio docs]) ([zwave_js docs]) ([tomorrowio docs]) +- Remove deprecated YAML in `android_ip_webcam` ([@engrbm87] - [#80875]) ([android_ip_webcam docs]) (breaking-change) +- Address review feedback for jellyfin ([@ctalkington] - [#80987]) ([jellyfin docs]) +- Add Velbus cover opening/closing ([@niobos] - [#79851]) ([velbus docs]) +- Bump aiolifx_effects dependency to 0.3.0 ([@Djelibeybi] - [#80994]) ([lifx docs]) (dependency) +- Add additional data to HomeKit diagnostics ([@bdraco] - [#80980]) ([homekit docs]) +- Update ibeacon-ble to 1.0.1 ([@bdraco] - [#80785]) ([ibeacon docs]) +- Use `._attr_*` properties for monoprice integration ([@flacjacket] - [#80505]) ([monoprice docs]) +- Add rules for converting volumes ([@emontnemery] - [#80951]) +- Add unique id for min_max ([@gjohansson-ST] - [#81007]) ([min_max docs]) (noteworthy) +- Fix precipitation units in darksky ([@epenet] - [#80611]) ([darksky docs]) (breaking-change) +- fix integration descriptions ([@bramkragten] - [#81008]) +- Update orjson to 3.8.1 ([@frenck] - [#81000]) (dependency) +- Tibber strict typing ([@Danielhiversen] - [#79407]) ([tibber docs]) +- Remove yaml import anthemav ([@gjohansson-ST] - [#79931]) ([anthemav docs]) (breaking-change) +- Don't set force bool during set_humidity ([@nkgilley] - [#80269]) ([generic_hygrostat docs]) +- Add auto preset to Comfoconnect fan ([@kneirinck] - [#80697]) ([comfoconnect docs]) +- Adjust unique ID of Octoprint camera entity ([@frenck] - [#80996]) ([octoprint docs]) +- Use precipitation_intensity class in integrations ([@epenet] - [#80615]) ([tellduslive docs]) ([rfxtrx docs]) ([ambient_station docs]) ([buienradar docs]) ([aemet docs]) ([ecowitt docs]) +- Disable Powerview signal sensor by default ([@kingy444] - [#81014]) ([hunterdouglas_powerview docs]) +- Use `wind_speed` device class instead of `speed` in Accuweather ([@bieniu] - [#81016]) ([accuweather docs]) +- Strict typing for shared MQTT modules ([@jbouwh] - [#80913]) ([mqtt docs]) +- Use a unique cache folder per Velbus config entry ([@Cereal2nd] - [#79792]) ([velbus docs]) +- Move options to SelectEntityDescription in goodwe ([@epenet] - [#80017]) ([goodwe docs]) +- Migrate energy units to an enum ([@epenet] - [#80998]) ([energy docs]) (deprecation) +- Migrate length units to an enum ([@epenet] - [#81011]) (deprecation) +- Migrate pressure units to an enum ([@epenet] - [#81009]) (deprecation) +- Migrate speed units to an enum ([@epenet] - [#81004]) (deprecation) +- Migrate temperature units to an enum ([@epenet] - [#81006]) (deprecation) +- Bump ZHA quirks to 0.0.84 ([@dmulcahey] - [#81015]) ([zha docs]) (dependency) +- Remove hardwired Powerview battery sensor ([@kingy444] - [#81013]) ([hunterdouglas_powerview docs]) (breaking-change) +- Add integration type to KNX integration ([@marvin-w] - [#81003]) ([knx docs]) +- Set hvv_departures device entry type to service ([@vigonotion] - [#80964]) ([hvv_departures docs]) +- Add has_entity_name support to hvv_departures ([@vigonotion] - [#80963]) ([hvv_departures docs]) +- Add an RSSI sensor to the LIFX integration ([@Djelibeybi] - [#80993]) ([lifx docs]) (new-platform) +- Migrate mass units to an enum ([@epenet] - [#81021]) (deprecation) +- Add a new clear cache service to the velbus integration ([@Cereal2nd] - [#79995]) ([velbus docs]) +- Use scan_interval in `netdata` ([@Xeevis] - [#80959]) ([netdata docs]) +- Update Google Calendar to synchronize calendar events efficiently ([@allenporter] - [#80925]) ([google docs]) +- Fix zeroconf starting later than expected ([@bdraco] - [#81023]) ([zeroconf docs]) +- Fix zwave_js port enumeration ([@MartinHjelmare] - [#81020]) ([zwave_js docs]) +- Remove YAML import from coinbase ([@epenet] - [#80084]) ([coinbase docs]) (breaking-change) +- Migrate power units to an enum ([@epenet] - [#81026]) (deprecation) +- Fix zeroconf when location name has a period ([@bdraco] - [#81022]) ([zeroconf docs]) +- Clean up velbus cache folder only on removal of the config entry ([@Cereal2nd] - [#81031]) +- Migrate volume units to an enum ([@epenet] - [#81028]) (deprecation) +- Add integration type to fritzbox_callmointor integration ([@cdce8p] - [#81032]) ([fritzbox_callmonitor docs]) +- Blebox typehints in binary sensor tests ([@riokuu] - [#80676]) ([blebox docs]) +- Add config flow to zamg ([@killer0071234] - [#66469]) ([zamg docs]) (config-flow) +- Correct Import of ReceivePayloadType ([@jbouwh] - [#81035]) ([mqtt docs]) ([mysensors docs]) +- Allow to cast in HLS format when using WebRTC ([@felipecrs] - [#80646]) ([camera docs]) +- Use unit enums in unit utilities ([@epenet] - [#81030]) +- Allow device class for switch to be set in knx ([@elupus] - [#81039]) ([knx docs]) +- Add support for water usage Flume ([@frenck] - [#81041]) ([flume docs]) +- Allow integrations to drop custom unit conversion ([@emontnemery] - [#81005]) ([sensor docs]) +- Add support to the energy integration for tracking water usage ([@emontnemery] - [#80888]) ([energy docs]) +- Bump frontend to 20221026.0 ([@balloob] - [#81042]) ([frontend docs]) +- Move upnp derived sensors to library, be more robust about failing getting some data ([@StevenLooman] - [#79955]) ([upnp docs]) (dependency) +- Improve readability by reducing indentation ([@kneirinck] - [#81040]) ([comfoconnect docs]) +- Bump dbus-fast to 1.49.0 ([@bdraco] - [#81043]) ([bluetooth docs]) (dependency) + +[#66469]: https://github.com/home-assistant/core/pull/66469 +[#66996]: https://github.com/home-assistant/core/pull/66996 +[#67399]: https://github.com/home-assistant/core/pull/67399 +[#69700]: https://github.com/home-assistant/core/pull/69700 +[#71051]: https://github.com/home-assistant/core/pull/71051 +[#71269]: https://github.com/home-assistant/core/pull/71269 +[#73906]: https://github.com/home-assistant/core/pull/73906 +[#74454]: https://github.com/home-assistant/core/pull/74454 +[#74472]: https://github.com/home-assistant/core/pull/74472 +[#75656]: https://github.com/home-assistant/core/pull/75656 +[#75680]: https://github.com/home-assistant/core/pull/75680 +[#75787]: https://github.com/home-assistant/core/pull/75787 +[#76143]: https://github.com/home-assistant/core/pull/76143 +[#76354]: https://github.com/home-assistant/core/pull/76354 +[#76669]: https://github.com/home-assistant/core/pull/76669 +[#76801]: https://github.com/home-assistant/core/pull/76801 +[#77213]: https://github.com/home-assistant/core/pull/77213 +[#77284]: https://github.com/home-assistant/core/pull/77284 +[#77315]: https://github.com/home-assistant/core/pull/77315 +[#77327]: https://github.com/home-assistant/core/pull/77327 +[#77499]: https://github.com/home-assistant/core/pull/77499 +[#77573]: https://github.com/home-assistant/core/pull/77573 +[#77604]: https://github.com/home-assistant/core/pull/77604 +[#77771]: https://github.com/home-assistant/core/pull/77771 +[#77873]: https://github.com/home-assistant/core/pull/77873 +[#78005]: https://github.com/home-assistant/core/pull/78005 +[#78030]: https://github.com/home-assistant/core/pull/78030 +[#78221]: https://github.com/home-assistant/core/pull/78221 +[#78383]: https://github.com/home-assistant/core/pull/78383 +[#78385]: https://github.com/home-assistant/core/pull/78385 +[#78480]: https://github.com/home-assistant/core/pull/78480 +[#78558]: https://github.com/home-assistant/core/pull/78558 +[#78596]: https://github.com/home-assistant/core/pull/78596 +[#78773]: https://github.com/home-assistant/core/pull/78773 +[#78790]: https://github.com/home-assistant/core/pull/78790 +[#78793]: https://github.com/home-assistant/core/pull/78793 +[#78882]: https://github.com/home-assistant/core/pull/78882 +[#78995]: https://github.com/home-assistant/core/pull/78995 +[#79137]: https://github.com/home-assistant/core/pull/79137 +[#79211]: https://github.com/home-assistant/core/pull/79211 +[#79213]: https://github.com/home-assistant/core/pull/79213 +[#79214]: https://github.com/home-assistant/core/pull/79214 +[#79224]: https://github.com/home-assistant/core/pull/79224 +[#79241]: https://github.com/home-assistant/core/pull/79241 +[#79242]: https://github.com/home-assistant/core/pull/79242 +[#79243]: https://github.com/home-assistant/core/pull/79243 +[#79249]: https://github.com/home-assistant/core/pull/79249 +[#79272]: https://github.com/home-assistant/core/pull/79272 +[#79278]: https://github.com/home-assistant/core/pull/79278 +[#79282]: https://github.com/home-assistant/core/pull/79282 +[#79283]: https://github.com/home-assistant/core/pull/79283 +[#79289]: https://github.com/home-assistant/core/pull/79289 +[#79295]: https://github.com/home-assistant/core/pull/79295 +[#79296]: https://github.com/home-assistant/core/pull/79296 +[#79301]: https://github.com/home-assistant/core/pull/79301 +[#79312]: https://github.com/home-assistant/core/pull/79312 +[#79313]: https://github.com/home-assistant/core/pull/79313 +[#79315]: https://github.com/home-assistant/core/pull/79315 +[#79329]: https://github.com/home-assistant/core/pull/79329 +[#79344]: https://github.com/home-assistant/core/pull/79344 +[#79351]: https://github.com/home-assistant/core/pull/79351 +[#79352]: https://github.com/home-assistant/core/pull/79352 +[#79353]: https://github.com/home-assistant/core/pull/79353 +[#79362]: https://github.com/home-assistant/core/pull/79362 +[#79369]: https://github.com/home-assistant/core/pull/79369 +[#79379]: https://github.com/home-assistant/core/pull/79379 +[#79380]: https://github.com/home-assistant/core/pull/79380 +[#79383]: https://github.com/home-assistant/core/pull/79383 +[#79393]: https://github.com/home-assistant/core/pull/79393 +[#79399]: https://github.com/home-assistant/core/pull/79399 +[#79403]: https://github.com/home-assistant/core/pull/79403 +[#79405]: https://github.com/home-assistant/core/pull/79405 +[#79407]: https://github.com/home-assistant/core/pull/79407 +[#79408]: https://github.com/home-assistant/core/pull/79408 +[#79417]: https://github.com/home-assistant/core/pull/79417 +[#79418]: https://github.com/home-assistant/core/pull/79418 +[#79419]: https://github.com/home-assistant/core/pull/79419 +[#79426]: https://github.com/home-assistant/core/pull/79426 +[#79430]: https://github.com/home-assistant/core/pull/79430 +[#79439]: https://github.com/home-assistant/core/pull/79439 +[#79444]: https://github.com/home-assistant/core/pull/79444 +[#79449]: https://github.com/home-assistant/core/pull/79449 +[#79450]: https://github.com/home-assistant/core/pull/79450 +[#79451]: https://github.com/home-assistant/core/pull/79451 +[#79459]: https://github.com/home-assistant/core/pull/79459 +[#79467]: https://github.com/home-assistant/core/pull/79467 +[#79470]: https://github.com/home-assistant/core/pull/79470 +[#79473]: https://github.com/home-assistant/core/pull/79473 +[#79477]: https://github.com/home-assistant/core/pull/79477 +[#79482]: https://github.com/home-assistant/core/pull/79482 +[#79484]: https://github.com/home-assistant/core/pull/79484 +[#79485]: https://github.com/home-assistant/core/pull/79485 +[#79486]: https://github.com/home-assistant/core/pull/79486 +[#79497]: https://github.com/home-assistant/core/pull/79497 +[#79498]: https://github.com/home-assistant/core/pull/79498 +[#79503]: https://github.com/home-assistant/core/pull/79503 +[#79504]: https://github.com/home-assistant/core/pull/79504 +[#79513]: https://github.com/home-assistant/core/pull/79513 +[#79516]: https://github.com/home-assistant/core/pull/79516 +[#79520]: https://github.com/home-assistant/core/pull/79520 +[#79523]: https://github.com/home-assistant/core/pull/79523 +[#79535]: https://github.com/home-assistant/core/pull/79535 +[#79544]: https://github.com/home-assistant/core/pull/79544 +[#79559]: https://github.com/home-assistant/core/pull/79559 +[#79560]: https://github.com/home-assistant/core/pull/79560 +[#79571]: https://github.com/home-assistant/core/pull/79571 +[#79574]: https://github.com/home-assistant/core/pull/79574 +[#79577]: https://github.com/home-assistant/core/pull/79577 +[#79584]: https://github.com/home-assistant/core/pull/79584 +[#79585]: https://github.com/home-assistant/core/pull/79585 +[#79586]: https://github.com/home-assistant/core/pull/79586 +[#79587]: https://github.com/home-assistant/core/pull/79587 +[#79589]: https://github.com/home-assistant/core/pull/79589 +[#79590]: https://github.com/home-assistant/core/pull/79590 +[#79591]: https://github.com/home-assistant/core/pull/79591 +[#79592]: https://github.com/home-assistant/core/pull/79592 +[#79597]: https://github.com/home-assistant/core/pull/79597 +[#79598]: https://github.com/home-assistant/core/pull/79598 +[#79603]: https://github.com/home-assistant/core/pull/79603 +[#79606]: https://github.com/home-assistant/core/pull/79606 +[#79616]: https://github.com/home-assistant/core/pull/79616 +[#79618]: https://github.com/home-assistant/core/pull/79618 +[#79619]: https://github.com/home-assistant/core/pull/79619 +[#79628]: https://github.com/home-assistant/core/pull/79628 +[#79630]: https://github.com/home-assistant/core/pull/79630 +[#79631]: https://github.com/home-assistant/core/pull/79631 +[#79635]: https://github.com/home-assistant/core/pull/79635 +[#79653]: https://github.com/home-assistant/core/pull/79653 +[#79666]: https://github.com/home-assistant/core/pull/79666 +[#79669]: https://github.com/home-assistant/core/pull/79669 +[#79671]: https://github.com/home-assistant/core/pull/79671 +[#79672]: https://github.com/home-assistant/core/pull/79672 +[#79676]: https://github.com/home-assistant/core/pull/79676 +[#79683]: https://github.com/home-assistant/core/pull/79683 +[#79684]: https://github.com/home-assistant/core/pull/79684 +[#79687]: https://github.com/home-assistant/core/pull/79687 +[#79689]: https://github.com/home-assistant/core/pull/79689 +[#79695]: https://github.com/home-assistant/core/pull/79695 +[#79713]: https://github.com/home-assistant/core/pull/79713 +[#79717]: https://github.com/home-assistant/core/pull/79717 +[#79719]: https://github.com/home-assistant/core/pull/79719 +[#79730]: https://github.com/home-assistant/core/pull/79730 +[#79733]: https://github.com/home-assistant/core/pull/79733 +[#79738]: https://github.com/home-assistant/core/pull/79738 +[#79747]: https://github.com/home-assistant/core/pull/79747 +[#79748]: https://github.com/home-assistant/core/pull/79748 +[#79749]: https://github.com/home-assistant/core/pull/79749 +[#79750]: https://github.com/home-assistant/core/pull/79750 +[#79752]: https://github.com/home-assistant/core/pull/79752 +[#79755]: https://github.com/home-assistant/core/pull/79755 +[#79757]: https://github.com/home-assistant/core/pull/79757 +[#79758]: https://github.com/home-assistant/core/pull/79758 +[#79759]: https://github.com/home-assistant/core/pull/79759 +[#79765]: https://github.com/home-assistant/core/pull/79765 +[#79772]: https://github.com/home-assistant/core/pull/79772 +[#79775]: https://github.com/home-assistant/core/pull/79775 +[#79779]: https://github.com/home-assistant/core/pull/79779 +[#79780]: https://github.com/home-assistant/core/pull/79780 +[#79783]: https://github.com/home-assistant/core/pull/79783 +[#79787]: https://github.com/home-assistant/core/pull/79787 +[#79789]: https://github.com/home-assistant/core/pull/79789 +[#79791]: https://github.com/home-assistant/core/pull/79791 +[#79792]: https://github.com/home-assistant/core/pull/79792 +[#79793]: https://github.com/home-assistant/core/pull/79793 +[#79800]: https://github.com/home-assistant/core/pull/79800 +[#79801]: https://github.com/home-assistant/core/pull/79801 +[#79802]: https://github.com/home-assistant/core/pull/79802 +[#79803]: https://github.com/home-assistant/core/pull/79803 +[#79804]: https://github.com/home-assistant/core/pull/79804 +[#79807]: https://github.com/home-assistant/core/pull/79807 +[#79812]: https://github.com/home-assistant/core/pull/79812 +[#79815]: https://github.com/home-assistant/core/pull/79815 +[#79819]: https://github.com/home-assistant/core/pull/79819 +[#79820]: https://github.com/home-assistant/core/pull/79820 +[#79821]: https://github.com/home-assistant/core/pull/79821 +[#79822]: https://github.com/home-assistant/core/pull/79822 +[#79826]: https://github.com/home-assistant/core/pull/79826 +[#79839]: https://github.com/home-assistant/core/pull/79839 +[#79840]: https://github.com/home-assistant/core/pull/79840 +[#79844]: https://github.com/home-assistant/core/pull/79844 +[#79845]: https://github.com/home-assistant/core/pull/79845 +[#79851]: https://github.com/home-assistant/core/pull/79851 +[#79854]: https://github.com/home-assistant/core/pull/79854 +[#79855]: https://github.com/home-assistant/core/pull/79855 +[#79856]: https://github.com/home-assistant/core/pull/79856 +[#79862]: https://github.com/home-assistant/core/pull/79862 +[#79864]: https://github.com/home-assistant/core/pull/79864 +[#79865]: https://github.com/home-assistant/core/pull/79865 +[#79868]: https://github.com/home-assistant/core/pull/79868 +[#79870]: https://github.com/home-assistant/core/pull/79870 +[#79872]: https://github.com/home-assistant/core/pull/79872 +[#79879]: https://github.com/home-assistant/core/pull/79879 +[#79880]: https://github.com/home-assistant/core/pull/79880 +[#79886]: https://github.com/home-assistant/core/pull/79886 +[#79889]: https://github.com/home-assistant/core/pull/79889 +[#79900]: https://github.com/home-assistant/core/pull/79900 +[#79901]: https://github.com/home-assistant/core/pull/79901 +[#79902]: https://github.com/home-assistant/core/pull/79902 +[#79904]: https://github.com/home-assistant/core/pull/79904 +[#79905]: https://github.com/home-assistant/core/pull/79905 +[#79906]: https://github.com/home-assistant/core/pull/79906 +[#79907]: https://github.com/home-assistant/core/pull/79907 +[#79908]: https://github.com/home-assistant/core/pull/79908 +[#79909]: https://github.com/home-assistant/core/pull/79909 +[#79910]: https://github.com/home-assistant/core/pull/79910 +[#79911]: https://github.com/home-assistant/core/pull/79911 +[#79912]: https://github.com/home-assistant/core/pull/79912 +[#79913]: https://github.com/home-assistant/core/pull/79913 +[#79914]: https://github.com/home-assistant/core/pull/79914 +[#79921]: https://github.com/home-assistant/core/pull/79921 +[#79923]: https://github.com/home-assistant/core/pull/79923 +[#79926]: https://github.com/home-assistant/core/pull/79926 +[#79931]: https://github.com/home-assistant/core/pull/79931 +[#79932]: https://github.com/home-assistant/core/pull/79932 +[#79934]: https://github.com/home-assistant/core/pull/79934 +[#79935]: https://github.com/home-assistant/core/pull/79935 +[#79937]: https://github.com/home-assistant/core/pull/79937 +[#79945]: https://github.com/home-assistant/core/pull/79945 +[#79950]: https://github.com/home-assistant/core/pull/79950 +[#79954]: https://github.com/home-assistant/core/pull/79954 +[#79955]: https://github.com/home-assistant/core/pull/79955 +[#79958]: https://github.com/home-assistant/core/pull/79958 +[#79962]: https://github.com/home-assistant/core/pull/79962 +[#79963]: https://github.com/home-assistant/core/pull/79963 +[#79964]: https://github.com/home-assistant/core/pull/79964 +[#79965]: https://github.com/home-assistant/core/pull/79965 +[#79966]: https://github.com/home-assistant/core/pull/79966 +[#79968]: https://github.com/home-assistant/core/pull/79968 +[#79969]: https://github.com/home-assistant/core/pull/79969 +[#79970]: https://github.com/home-assistant/core/pull/79970 +[#79974]: https://github.com/home-assistant/core/pull/79974 +[#79977]: https://github.com/home-assistant/core/pull/79977 +[#79983]: https://github.com/home-assistant/core/pull/79983 +[#79986]: https://github.com/home-assistant/core/pull/79986 +[#79987]: https://github.com/home-assistant/core/pull/79987 +[#79988]: https://github.com/home-assistant/core/pull/79988 +[#79989]: https://github.com/home-assistant/core/pull/79989 +[#79990]: https://github.com/home-assistant/core/pull/79990 +[#79992]: https://github.com/home-assistant/core/pull/79992 +[#79995]: https://github.com/home-assistant/core/pull/79995 +[#79998]: https://github.com/home-assistant/core/pull/79998 +[#80004]: https://github.com/home-assistant/core/pull/80004 +[#80006]: https://github.com/home-assistant/core/pull/80006 +[#80008]: https://github.com/home-assistant/core/pull/80008 +[#80009]: https://github.com/home-assistant/core/pull/80009 +[#80011]: https://github.com/home-assistant/core/pull/80011 +[#80012]: https://github.com/home-assistant/core/pull/80012 +[#80014]: https://github.com/home-assistant/core/pull/80014 +[#80015]: https://github.com/home-assistant/core/pull/80015 +[#80016]: https://github.com/home-assistant/core/pull/80016 +[#80017]: https://github.com/home-assistant/core/pull/80017 +[#80018]: https://github.com/home-assistant/core/pull/80018 +[#80032]: https://github.com/home-assistant/core/pull/80032 +[#80033]: https://github.com/home-assistant/core/pull/80033 +[#80035]: https://github.com/home-assistant/core/pull/80035 +[#80042]: https://github.com/home-assistant/core/pull/80042 +[#80050]: https://github.com/home-assistant/core/pull/80050 +[#80051]: https://github.com/home-assistant/core/pull/80051 +[#80056]: https://github.com/home-assistant/core/pull/80056 +[#80058]: https://github.com/home-assistant/core/pull/80058 +[#80062]: https://github.com/home-assistant/core/pull/80062 +[#80064]: https://github.com/home-assistant/core/pull/80064 +[#80067]: https://github.com/home-assistant/core/pull/80067 +[#80068]: https://github.com/home-assistant/core/pull/80068 +[#80077]: https://github.com/home-assistant/core/pull/80077 +[#80078]: https://github.com/home-assistant/core/pull/80078 +[#80079]: https://github.com/home-assistant/core/pull/80079 +[#80081]: https://github.com/home-assistant/core/pull/80081 +[#80082]: https://github.com/home-assistant/core/pull/80082 +[#80084]: https://github.com/home-assistant/core/pull/80084 +[#80086]: https://github.com/home-assistant/core/pull/80086 +[#80087]: https://github.com/home-assistant/core/pull/80087 +[#80094]: https://github.com/home-assistant/core/pull/80094 +[#80097]: https://github.com/home-assistant/core/pull/80097 +[#80099]: https://github.com/home-assistant/core/pull/80099 +[#80109]: https://github.com/home-assistant/core/pull/80109 +[#80110]: https://github.com/home-assistant/core/pull/80110 +[#80111]: https://github.com/home-assistant/core/pull/80111 +[#80112]: https://github.com/home-assistant/core/pull/80112 +[#80113]: https://github.com/home-assistant/core/pull/80113 +[#80114]: https://github.com/home-assistant/core/pull/80114 +[#80115]: https://github.com/home-assistant/core/pull/80115 +[#80116]: https://github.com/home-assistant/core/pull/80116 +[#80118]: https://github.com/home-assistant/core/pull/80118 +[#80119]: https://github.com/home-assistant/core/pull/80119 +[#80120]: https://github.com/home-assistant/core/pull/80120 +[#80121]: https://github.com/home-assistant/core/pull/80121 +[#80122]: https://github.com/home-assistant/core/pull/80122 +[#80129]: https://github.com/home-assistant/core/pull/80129 +[#80134]: https://github.com/home-assistant/core/pull/80134 +[#80136]: https://github.com/home-assistant/core/pull/80136 +[#80141]: https://github.com/home-assistant/core/pull/80141 +[#80147]: https://github.com/home-assistant/core/pull/80147 +[#80149]: https://github.com/home-assistant/core/pull/80149 +[#80150]: https://github.com/home-assistant/core/pull/80150 +[#80151]: https://github.com/home-assistant/core/pull/80151 +[#80156]: https://github.com/home-assistant/core/pull/80156 +[#80159]: https://github.com/home-assistant/core/pull/80159 +[#80160]: https://github.com/home-assistant/core/pull/80160 +[#80161]: https://github.com/home-assistant/core/pull/80161 +[#80162]: https://github.com/home-assistant/core/pull/80162 +[#80163]: https://github.com/home-assistant/core/pull/80163 +[#80165]: https://github.com/home-assistant/core/pull/80165 +[#80166]: https://github.com/home-assistant/core/pull/80166 +[#80168]: https://github.com/home-assistant/core/pull/80168 +[#80169]: https://github.com/home-assistant/core/pull/80169 +[#80170]: https://github.com/home-assistant/core/pull/80170 +[#80173]: https://github.com/home-assistant/core/pull/80173 +[#80174]: https://github.com/home-assistant/core/pull/80174 +[#80175]: https://github.com/home-assistant/core/pull/80175 +[#80176]: https://github.com/home-assistant/core/pull/80176 +[#80182]: https://github.com/home-assistant/core/pull/80182 +[#80185]: https://github.com/home-assistant/core/pull/80185 +[#80187]: https://github.com/home-assistant/core/pull/80187 +[#80189]: https://github.com/home-assistant/core/pull/80189 +[#80190]: https://github.com/home-assistant/core/pull/80190 +[#80191]: https://github.com/home-assistant/core/pull/80191 +[#80197]: https://github.com/home-assistant/core/pull/80197 +[#80207]: https://github.com/home-assistant/core/pull/80207 +[#80209]: https://github.com/home-assistant/core/pull/80209 +[#80213]: https://github.com/home-assistant/core/pull/80213 +[#80214]: https://github.com/home-assistant/core/pull/80214 +[#80218]: https://github.com/home-assistant/core/pull/80218 +[#80221]: https://github.com/home-assistant/core/pull/80221 +[#80222]: https://github.com/home-assistant/core/pull/80222 +[#80226]: https://github.com/home-assistant/core/pull/80226 +[#80227]: https://github.com/home-assistant/core/pull/80227 +[#80228]: https://github.com/home-assistant/core/pull/80228 +[#80230]: https://github.com/home-assistant/core/pull/80230 +[#80232]: https://github.com/home-assistant/core/pull/80232 +[#80233]: https://github.com/home-assistant/core/pull/80233 +[#80234]: https://github.com/home-assistant/core/pull/80234 +[#80235]: https://github.com/home-assistant/core/pull/80235 +[#80236]: https://github.com/home-assistant/core/pull/80236 +[#80237]: https://github.com/home-assistant/core/pull/80237 +[#80238]: https://github.com/home-assistant/core/pull/80238 +[#80239]: https://github.com/home-assistant/core/pull/80239 +[#80241]: https://github.com/home-assistant/core/pull/80241 +[#80242]: https://github.com/home-assistant/core/pull/80242 +[#80243]: https://github.com/home-assistant/core/pull/80243 +[#80244]: https://github.com/home-assistant/core/pull/80244 +[#80246]: https://github.com/home-assistant/core/pull/80246 +[#80247]: https://github.com/home-assistant/core/pull/80247 +[#80251]: https://github.com/home-assistant/core/pull/80251 +[#80253]: https://github.com/home-assistant/core/pull/80253 +[#80255]: https://github.com/home-assistant/core/pull/80255 +[#80256]: https://github.com/home-assistant/core/pull/80256 +[#80257]: https://github.com/home-assistant/core/pull/80257 +[#80259]: https://github.com/home-assistant/core/pull/80259 +[#80260]: https://github.com/home-assistant/core/pull/80260 +[#80262]: https://github.com/home-assistant/core/pull/80262 +[#80264]: https://github.com/home-assistant/core/pull/80264 +[#80265]: https://github.com/home-assistant/core/pull/80265 +[#80266]: https://github.com/home-assistant/core/pull/80266 +[#80267]: https://github.com/home-assistant/core/pull/80267 +[#80269]: https://github.com/home-assistant/core/pull/80269 +[#80270]: https://github.com/home-assistant/core/pull/80270 +[#80271]: https://github.com/home-assistant/core/pull/80271 +[#80272]: https://github.com/home-assistant/core/pull/80272 +[#80282]: https://github.com/home-assistant/core/pull/80282 +[#80289]: https://github.com/home-assistant/core/pull/80289 +[#80296]: https://github.com/home-assistant/core/pull/80296 +[#80298]: https://github.com/home-assistant/core/pull/80298 +[#80300]: https://github.com/home-assistant/core/pull/80300 +[#80304]: https://github.com/home-assistant/core/pull/80304 +[#80312]: https://github.com/home-assistant/core/pull/80312 +[#80313]: https://github.com/home-assistant/core/pull/80313 +[#80314]: https://github.com/home-assistant/core/pull/80314 +[#80315]: https://github.com/home-assistant/core/pull/80315 +[#80318]: https://github.com/home-assistant/core/pull/80318 +[#80319]: https://github.com/home-assistant/core/pull/80319 +[#80320]: https://github.com/home-assistant/core/pull/80320 +[#80322]: https://github.com/home-assistant/core/pull/80322 +[#80323]: https://github.com/home-assistant/core/pull/80323 +[#80324]: https://github.com/home-assistant/core/pull/80324 +[#80325]: https://github.com/home-assistant/core/pull/80325 +[#80328]: https://github.com/home-assistant/core/pull/80328 +[#80332]: https://github.com/home-assistant/core/pull/80332 +[#80333]: https://github.com/home-assistant/core/pull/80333 +[#80336]: https://github.com/home-assistant/core/pull/80336 +[#80337]: https://github.com/home-assistant/core/pull/80337 +[#80347]: https://github.com/home-assistant/core/pull/80347 +[#80349]: https://github.com/home-assistant/core/pull/80349 +[#80350]: https://github.com/home-assistant/core/pull/80350 +[#80355]: https://github.com/home-assistant/core/pull/80355 +[#80360]: https://github.com/home-assistant/core/pull/80360 +[#80381]: https://github.com/home-assistant/core/pull/80381 +[#80383]: https://github.com/home-assistant/core/pull/80383 +[#80388]: https://github.com/home-assistant/core/pull/80388 +[#80389]: https://github.com/home-assistant/core/pull/80389 +[#80392]: https://github.com/home-assistant/core/pull/80392 +[#80396]: https://github.com/home-assistant/core/pull/80396 +[#80397]: https://github.com/home-assistant/core/pull/80397 +[#80401]: https://github.com/home-assistant/core/pull/80401 +[#80403]: https://github.com/home-assistant/core/pull/80403 +[#80406]: https://github.com/home-assistant/core/pull/80406 +[#80407]: https://github.com/home-assistant/core/pull/80407 +[#80409]: https://github.com/home-assistant/core/pull/80409 +[#80417]: https://github.com/home-assistant/core/pull/80417 +[#80421]: https://github.com/home-assistant/core/pull/80421 +[#80423]: https://github.com/home-assistant/core/pull/80423 +[#80426]: https://github.com/home-assistant/core/pull/80426 +[#80431]: https://github.com/home-assistant/core/pull/80431 +[#80433]: https://github.com/home-assistant/core/pull/80433 +[#80435]: https://github.com/home-assistant/core/pull/80435 +[#80436]: https://github.com/home-assistant/core/pull/80436 +[#80438]: https://github.com/home-assistant/core/pull/80438 +[#80440]: https://github.com/home-assistant/core/pull/80440 +[#80443]: https://github.com/home-assistant/core/pull/80443 +[#80444]: https://github.com/home-assistant/core/pull/80444 +[#80446]: https://github.com/home-assistant/core/pull/80446 +[#80448]: https://github.com/home-assistant/core/pull/80448 +[#80457]: https://github.com/home-assistant/core/pull/80457 +[#80460]: https://github.com/home-assistant/core/pull/80460 +[#80463]: https://github.com/home-assistant/core/pull/80463 +[#80465]: https://github.com/home-assistant/core/pull/80465 +[#80467]: https://github.com/home-assistant/core/pull/80467 +[#80470]: https://github.com/home-assistant/core/pull/80470 +[#80471]: https://github.com/home-assistant/core/pull/80471 +[#80473]: https://github.com/home-assistant/core/pull/80473 +[#80474]: https://github.com/home-assistant/core/pull/80474 +[#80479]: https://github.com/home-assistant/core/pull/80479 +[#80480]: https://github.com/home-assistant/core/pull/80480 +[#80486]: https://github.com/home-assistant/core/pull/80486 +[#80492]: https://github.com/home-assistant/core/pull/80492 +[#80495]: https://github.com/home-assistant/core/pull/80495 +[#80496]: https://github.com/home-assistant/core/pull/80496 +[#80497]: https://github.com/home-assistant/core/pull/80497 +[#80498]: https://github.com/home-assistant/core/pull/80498 +[#80499]: https://github.com/home-assistant/core/pull/80499 +[#80500]: https://github.com/home-assistant/core/pull/80500 +[#80505]: https://github.com/home-assistant/core/pull/80505 +[#80508]: https://github.com/home-assistant/core/pull/80508 +[#80510]: https://github.com/home-assistant/core/pull/80510 +[#80511]: https://github.com/home-assistant/core/pull/80511 +[#80513]: https://github.com/home-assistant/core/pull/80513 +[#80514]: https://github.com/home-assistant/core/pull/80514 +[#80516]: https://github.com/home-assistant/core/pull/80516 +[#80518]: https://github.com/home-assistant/core/pull/80518 +[#80520]: https://github.com/home-assistant/core/pull/80520 +[#80521]: https://github.com/home-assistant/core/pull/80521 +[#80524]: https://github.com/home-assistant/core/pull/80524 +[#80525]: https://github.com/home-assistant/core/pull/80525 +[#80527]: https://github.com/home-assistant/core/pull/80527 +[#80528]: https://github.com/home-assistant/core/pull/80528 +[#80530]: https://github.com/home-assistant/core/pull/80530 +[#80531]: https://github.com/home-assistant/core/pull/80531 +[#80532]: https://github.com/home-assistant/core/pull/80532 +[#80533]: https://github.com/home-assistant/core/pull/80533 +[#80534]: https://github.com/home-assistant/core/pull/80534 +[#80535]: https://github.com/home-assistant/core/pull/80535 +[#80536]: https://github.com/home-assistant/core/pull/80536 +[#80537]: https://github.com/home-assistant/core/pull/80537 +[#80543]: https://github.com/home-assistant/core/pull/80543 +[#80544]: https://github.com/home-assistant/core/pull/80544 +[#80545]: https://github.com/home-assistant/core/pull/80545 +[#80546]: https://github.com/home-assistant/core/pull/80546 +[#80549]: https://github.com/home-assistant/core/pull/80549 +[#80552]: https://github.com/home-assistant/core/pull/80552 +[#80554]: https://github.com/home-assistant/core/pull/80554 +[#80558]: https://github.com/home-assistant/core/pull/80558 +[#80559]: https://github.com/home-assistant/core/pull/80559 +[#80560]: https://github.com/home-assistant/core/pull/80560 +[#80566]: https://github.com/home-assistant/core/pull/80566 +[#80567]: https://github.com/home-assistant/core/pull/80567 +[#80569]: https://github.com/home-assistant/core/pull/80569 +[#80576]: https://github.com/home-assistant/core/pull/80576 +[#80581]: https://github.com/home-assistant/core/pull/80581 +[#80584]: https://github.com/home-assistant/core/pull/80584 +[#80585]: https://github.com/home-assistant/core/pull/80585 +[#80586]: https://github.com/home-assistant/core/pull/80586 +[#80593]: https://github.com/home-assistant/core/pull/80593 +[#80596]: https://github.com/home-assistant/core/pull/80596 +[#80599]: https://github.com/home-assistant/core/pull/80599 +[#80601]: https://github.com/home-assistant/core/pull/80601 +[#80605]: https://github.com/home-assistant/core/pull/80605 +[#80607]: https://github.com/home-assistant/core/pull/80607 +[#80608]: https://github.com/home-assistant/core/pull/80608 +[#80609]: https://github.com/home-assistant/core/pull/80609 +[#80611]: https://github.com/home-assistant/core/pull/80611 +[#80612]: https://github.com/home-assistant/core/pull/80612 +[#80613]: https://github.com/home-assistant/core/pull/80613 +[#80615]: https://github.com/home-assistant/core/pull/80615 +[#80620]: https://github.com/home-assistant/core/pull/80620 +[#80623]: https://github.com/home-assistant/core/pull/80623 +[#80625]: https://github.com/home-assistant/core/pull/80625 +[#80629]: https://github.com/home-assistant/core/pull/80629 +[#80630]: https://github.com/home-assistant/core/pull/80630 +[#80631]: https://github.com/home-assistant/core/pull/80631 +[#80633]: https://github.com/home-assistant/core/pull/80633 +[#80637]: https://github.com/home-assistant/core/pull/80637 +[#80638]: https://github.com/home-assistant/core/pull/80638 +[#80640]: https://github.com/home-assistant/core/pull/80640 +[#80645]: https://github.com/home-assistant/core/pull/80645 +[#80646]: https://github.com/home-assistant/core/pull/80646 +[#80650]: https://github.com/home-assistant/core/pull/80650 +[#80651]: https://github.com/home-assistant/core/pull/80651 +[#80652]: https://github.com/home-assistant/core/pull/80652 +[#80653]: https://github.com/home-assistant/core/pull/80653 +[#80654]: https://github.com/home-assistant/core/pull/80654 +[#80657]: https://github.com/home-assistant/core/pull/80657 +[#80658]: https://github.com/home-assistant/core/pull/80658 +[#80659]: https://github.com/home-assistant/core/pull/80659 +[#80661]: https://github.com/home-assistant/core/pull/80661 +[#80664]: https://github.com/home-assistant/core/pull/80664 +[#80668]: https://github.com/home-assistant/core/pull/80668 +[#80669]: https://github.com/home-assistant/core/pull/80669 +[#80671]: https://github.com/home-assistant/core/pull/80671 +[#80674]: https://github.com/home-assistant/core/pull/80674 +[#80676]: https://github.com/home-assistant/core/pull/80676 +[#80677]: https://github.com/home-assistant/core/pull/80677 +[#80679]: https://github.com/home-assistant/core/pull/80679 +[#80680]: https://github.com/home-assistant/core/pull/80680 +[#80681]: https://github.com/home-assistant/core/pull/80681 +[#80682]: https://github.com/home-assistant/core/pull/80682 +[#80686]: https://github.com/home-assistant/core/pull/80686 +[#80688]: https://github.com/home-assistant/core/pull/80688 +[#80695]: https://github.com/home-assistant/core/pull/80695 +[#80697]: https://github.com/home-assistant/core/pull/80697 +[#80698]: https://github.com/home-assistant/core/pull/80698 +[#80699]: https://github.com/home-assistant/core/pull/80699 +[#80700]: https://github.com/home-assistant/core/pull/80700 +[#80702]: https://github.com/home-assistant/core/pull/80702 +[#80705]: https://github.com/home-assistant/core/pull/80705 +[#80714]: https://github.com/home-assistant/core/pull/80714 +[#80721]: https://github.com/home-assistant/core/pull/80721 +[#80722]: https://github.com/home-assistant/core/pull/80722 +[#80723]: https://github.com/home-assistant/core/pull/80723 +[#80728]: https://github.com/home-assistant/core/pull/80728 +[#80732]: https://github.com/home-assistant/core/pull/80732 +[#80733]: https://github.com/home-assistant/core/pull/80733 +[#80735]: https://github.com/home-assistant/core/pull/80735 +[#80737]: https://github.com/home-assistant/core/pull/80737 +[#80738]: https://github.com/home-assistant/core/pull/80738 +[#80739]: https://github.com/home-assistant/core/pull/80739 +[#80740]: https://github.com/home-assistant/core/pull/80740 +[#80746]: https://github.com/home-assistant/core/pull/80746 +[#80748]: https://github.com/home-assistant/core/pull/80748 +[#80751]: https://github.com/home-assistant/core/pull/80751 +[#80752]: https://github.com/home-assistant/core/pull/80752 +[#80755]: https://github.com/home-assistant/core/pull/80755 +[#80756]: https://github.com/home-assistant/core/pull/80756 +[#80759]: https://github.com/home-assistant/core/pull/80759 +[#80760]: https://github.com/home-assistant/core/pull/80760 +[#80761]: https://github.com/home-assistant/core/pull/80761 +[#80762]: https://github.com/home-assistant/core/pull/80762 +[#80763]: https://github.com/home-assistant/core/pull/80763 +[#80764]: https://github.com/home-assistant/core/pull/80764 +[#80767]: https://github.com/home-assistant/core/pull/80767 +[#80768]: https://github.com/home-assistant/core/pull/80768 +[#80773]: https://github.com/home-assistant/core/pull/80773 +[#80775]: https://github.com/home-assistant/core/pull/80775 +[#80782]: https://github.com/home-assistant/core/pull/80782 +[#80784]: https://github.com/home-assistant/core/pull/80784 +[#80785]: https://github.com/home-assistant/core/pull/80785 +[#80790]: https://github.com/home-assistant/core/pull/80790 +[#80792]: https://github.com/home-assistant/core/pull/80792 +[#80793]: https://github.com/home-assistant/core/pull/80793 +[#80794]: https://github.com/home-assistant/core/pull/80794 +[#80795]: https://github.com/home-assistant/core/pull/80795 +[#80797]: https://github.com/home-assistant/core/pull/80797 +[#80798]: https://github.com/home-assistant/core/pull/80798 +[#80800]: https://github.com/home-assistant/core/pull/80800 +[#80804]: https://github.com/home-assistant/core/pull/80804 +[#80815]: https://github.com/home-assistant/core/pull/80815 +[#80819]: https://github.com/home-assistant/core/pull/80819 +[#80820]: https://github.com/home-assistant/core/pull/80820 +[#80823]: https://github.com/home-assistant/core/pull/80823 +[#80827]: https://github.com/home-assistant/core/pull/80827 +[#80828]: https://github.com/home-assistant/core/pull/80828 +[#80830]: https://github.com/home-assistant/core/pull/80830 +[#80831]: https://github.com/home-assistant/core/pull/80831 +[#80832]: https://github.com/home-assistant/core/pull/80832 +[#80833]: https://github.com/home-assistant/core/pull/80833 +[#80835]: https://github.com/home-assistant/core/pull/80835 +[#80836]: https://github.com/home-assistant/core/pull/80836 +[#80843]: https://github.com/home-assistant/core/pull/80843 +[#80845]: https://github.com/home-assistant/core/pull/80845 +[#80852]: https://github.com/home-assistant/core/pull/80852 +[#80853]: https://github.com/home-assistant/core/pull/80853 +[#80854]: https://github.com/home-assistant/core/pull/80854 +[#80857]: https://github.com/home-assistant/core/pull/80857 +[#80858]: https://github.com/home-assistant/core/pull/80858 +[#80859]: https://github.com/home-assistant/core/pull/80859 +[#80861]: https://github.com/home-assistant/core/pull/80861 +[#80863]: https://github.com/home-assistant/core/pull/80863 +[#80867]: https://github.com/home-assistant/core/pull/80867 +[#80870]: https://github.com/home-assistant/core/pull/80870 +[#80874]: https://github.com/home-assistant/core/pull/80874 +[#80875]: https://github.com/home-assistant/core/pull/80875 +[#80876]: https://github.com/home-assistant/core/pull/80876 +[#80877]: https://github.com/home-assistant/core/pull/80877 +[#80882]: https://github.com/home-assistant/core/pull/80882 +[#80883]: https://github.com/home-assistant/core/pull/80883 +[#80884]: https://github.com/home-assistant/core/pull/80884 +[#80885]: https://github.com/home-assistant/core/pull/80885 +[#80886]: https://github.com/home-assistant/core/pull/80886 +[#80887]: https://github.com/home-assistant/core/pull/80887 +[#80888]: https://github.com/home-assistant/core/pull/80888 +[#80889]: https://github.com/home-assistant/core/pull/80889 +[#80890]: https://github.com/home-assistant/core/pull/80890 +[#80891]: https://github.com/home-assistant/core/pull/80891 +[#80899]: https://github.com/home-assistant/core/pull/80899 +[#80906]: https://github.com/home-assistant/core/pull/80906 +[#80907]: https://github.com/home-assistant/core/pull/80907 +[#80908]: https://github.com/home-assistant/core/pull/80908 +[#80909]: https://github.com/home-assistant/core/pull/80909 +[#80910]: https://github.com/home-assistant/core/pull/80910 +[#80913]: https://github.com/home-assistant/core/pull/80913 +[#80914]: https://github.com/home-assistant/core/pull/80914 +[#80918]: https://github.com/home-assistant/core/pull/80918 +[#80924]: https://github.com/home-assistant/core/pull/80924 +[#80925]: https://github.com/home-assistant/core/pull/80925 +[#80928]: https://github.com/home-assistant/core/pull/80928 +[#80935]: https://github.com/home-assistant/core/pull/80935 +[#80937]: https://github.com/home-assistant/core/pull/80937 +[#80938]: https://github.com/home-assistant/core/pull/80938 +[#80939]: https://github.com/home-assistant/core/pull/80939 +[#80940]: https://github.com/home-assistant/core/pull/80940 +[#80943]: https://github.com/home-assistant/core/pull/80943 +[#80944]: https://github.com/home-assistant/core/pull/80944 +[#80945]: https://github.com/home-assistant/core/pull/80945 +[#80946]: https://github.com/home-assistant/core/pull/80946 +[#80947]: https://github.com/home-assistant/core/pull/80947 +[#80948]: https://github.com/home-assistant/core/pull/80948 +[#80951]: https://github.com/home-assistant/core/pull/80951 +[#80958]: https://github.com/home-assistant/core/pull/80958 +[#80959]: https://github.com/home-assistant/core/pull/80959 +[#80961]: https://github.com/home-assistant/core/pull/80961 +[#80963]: https://github.com/home-assistant/core/pull/80963 +[#80964]: https://github.com/home-assistant/core/pull/80964 +[#80968]: https://github.com/home-assistant/core/pull/80968 +[#80969]: https://github.com/home-assistant/core/pull/80969 +[#80970]: https://github.com/home-assistant/core/pull/80970 +[#80974]: https://github.com/home-assistant/core/pull/80974 +[#80975]: https://github.com/home-assistant/core/pull/80975 +[#80980]: https://github.com/home-assistant/core/pull/80980 +[#80987]: https://github.com/home-assistant/core/pull/80987 +[#80993]: https://github.com/home-assistant/core/pull/80993 +[#80994]: https://github.com/home-assistant/core/pull/80994 +[#80996]: https://github.com/home-assistant/core/pull/80996 +[#80998]: https://github.com/home-assistant/core/pull/80998 +[#81000]: https://github.com/home-assistant/core/pull/81000 +[#81003]: https://github.com/home-assistant/core/pull/81003 +[#81004]: https://github.com/home-assistant/core/pull/81004 +[#81005]: https://github.com/home-assistant/core/pull/81005 +[#81006]: https://github.com/home-assistant/core/pull/81006 +[#81007]: https://github.com/home-assistant/core/pull/81007 +[#81008]: https://github.com/home-assistant/core/pull/81008 +[#81009]: https://github.com/home-assistant/core/pull/81009 +[#81011]: https://github.com/home-assistant/core/pull/81011 +[#81013]: https://github.com/home-assistant/core/pull/81013 +[#81014]: https://github.com/home-assistant/core/pull/81014 +[#81015]: https://github.com/home-assistant/core/pull/81015 +[#81016]: https://github.com/home-assistant/core/pull/81016 +[#81020]: https://github.com/home-assistant/core/pull/81020 +[#81021]: https://github.com/home-assistant/core/pull/81021 +[#81022]: https://github.com/home-assistant/core/pull/81022 +[#81023]: https://github.com/home-assistant/core/pull/81023 +[#81026]: https://github.com/home-assistant/core/pull/81026 +[#81028]: https://github.com/home-assistant/core/pull/81028 +[#81030]: https://github.com/home-assistant/core/pull/81030 +[#81031]: https://github.com/home-assistant/core/pull/81031 +[#81032]: https://github.com/home-assistant/core/pull/81032 +[#81035]: https://github.com/home-assistant/core/pull/81035 +[#81039]: https://github.com/home-assistant/core/pull/81039 +[#81040]: https://github.com/home-assistant/core/pull/81040 +[#81041]: https://github.com/home-assistant/core/pull/81041 +[#81042]: https://github.com/home-assistant/core/pull/81042 +[#81043]: https://github.com/home-assistant/core/pull/81043 +[@AngellusMortis]: https://github.com/AngellusMortis +[@AustinBrunkhorst]: https://github.com/AustinBrunkhorst +[@Cereal2nd]: https://github.com/Cereal2nd +[@CharlieBailly]: https://github.com/CharlieBailly +[@Danielhiversen]: https://github.com/Danielhiversen +[@DeerMaximum]: https://github.com/DeerMaximum +[@Djelibeybi]: https://github.com/Djelibeybi +[@DurgNomis-drol]: https://github.com/DurgNomis-drol +[@G-Two]: https://github.com/G-Two +[@Geliras]: https://github.com/Geliras +[@HarvsG]: https://github.com/HarvsG +[@HennieLP]: https://github.com/HennieLP +[@Jc2k]: https://github.com/Jc2k +[@Kane610]: https://github.com/Kane610 +[@KevinCathcart]: https://github.com/KevinCathcart +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MrAliFu]: https://github.com/MrAliFu +[@Nardol]: https://github.com/Nardol +[@Nippey]: https://github.com/Nippey +[@OnFreund]: https://github.com/OnFreund +[@Ongy]: https://github.com/Ongy +[@PeteRager]: https://github.com/PeteRager +[@Petro31]: https://github.com/Petro31 +[@Quentame]: https://github.com/Quentame +[@Shutgun]: https://github.com/Shutgun +[@Socalix]: https://github.com/Socalix +[@StevenLooman]: https://github.com/StevenLooman +[@TheJulianJES]: https://github.com/TheJulianJES +[@ThomDietrich]: https://github.com/ThomDietrich +[@TomBrien]: https://github.com/TomBrien +[@Tommatheussen]: https://github.com/Tommatheussen +[@Xeevis]: https://github.com/Xeevis +[@alexdrl]: https://github.com/alexdrl +[@allenporter]: https://github.com/allenporter +[@avishorp]: https://github.com/avishorp +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdr99]: https://github.com/bdr99 +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@borky]: https://github.com/borky +[@bouwew]: https://github.com/bouwew +[@bramkragten]: https://github.com/bramkragten +[@cdce8p]: https://github.com/cdce8p +[@cgarwood]: https://github.com/cgarwood +[@cgtobi]: https://github.com/cgtobi +[@ctalkington]: https://github.com/ctalkington +[@dala318]: https://github.com/dala318 +[@danaues]: https://github.com/danaues +[@davet2001]: https://github.com/davet2001 +[@definitio]: https://github.com/definitio +[@dgomes]: https://github.com/dgomes +[@dmulcahey]: https://github.com/dmulcahey +[@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 +[@felipecrs]: https://github.com/felipecrs +[@flabbamann]: https://github.com/flabbamann +[@flacjacket]: https://github.com/flacjacket +[@flemmingss]: https://github.com/flemmingss +[@flz]: https://github.com/flz +[@fredrike]: https://github.com/fredrike +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@grimpy]: https://github.com/grimpy +[@gwww]: https://github.com/gwww +[@hackerESQ]: https://github.com/hackerESQ +[@iMicknl]: https://github.com/iMicknl +[@jafar-atili]: https://github.com/jafar-atili +[@janick]: https://github.com/janick +[@javicalle]: https://github.com/javicalle +[@jbouwh]: https://github.com/jbouwh +[@jeeftor]: https://github.com/jeeftor +[@jeinwag]: https://github.com/jeinwag +[@jesserockz]: https://github.com/jesserockz +[@jfparis]: https://github.com/jfparis +[@jjlawren]: https://github.com/jjlawren +[@jloehr]: https://github.com/jloehr +[@jplitza]: https://github.com/jplitza +[@jramirez857]: https://github.com/jramirez857 +[@kevdliu]: https://github.com/kevdliu +[@killer0071234]: https://github.com/killer0071234 +[@kilrogg]: https://github.com/kilrogg +[@kingy444]: https://github.com/kingy444 +[@kneirinck]: https://github.com/kneirinck +[@kpine]: https://github.com/kpine +[@liudger]: https://github.com/liudger +[@luar123]: https://github.com/luar123 +[@ludeeus]: https://github.com/ludeeus +[@majuss]: https://github.com/majuss +[@marcusrbrown]: https://github.com/marcusrbrown +[@marvin-w]: https://github.com/marvin-w +[@mbo18]: https://github.com/mbo18 +[@mdegat01]: https://github.com/mdegat01 +[@mib1185]: https://github.com/mib1185 +[@mtdcr]: https://github.com/mtdcr +[@mvn23]: https://github.com/mvn23 +[@natekspencer]: https://github.com/natekspencer +[@ndbroadbent]: https://github.com/ndbroadbent +[@niobos]: https://github.com/niobos +[@nkgilley]: https://github.com/nkgilley +[@oischinger]: https://github.com/oischinger +[@ol-iver]: https://github.com/ol-iver +[@ollo69]: https://github.com/ollo69 +[@onpremcloudguy]: https://github.com/onpremcloudguy +[@osono-design]: https://github.com/osono-design +[@oyvindwe]: https://github.com/oyvindwe +[@pattyland]: https://github.com/pattyland +[@pghazanfari]: https://github.com/pghazanfari +[@philschenker]: https://github.com/philschenker +[@pvizeli]: https://github.com/pvizeli +[@raman325]: https://github.com/raman325 +[@rappenze]: https://github.com/rappenze +[@renaiku]: https://github.com/renaiku +[@renegaderyu]: https://github.com/renegaderyu +[@rfleming71]: https://github.com/rfleming71 +[@rikroe]: https://github.com/rikroe +[@riokuu]: https://github.com/riokuu +[@rklomp]: https://github.com/rklomp +[@scop]: https://github.com/scop +[@shbatm]: https://github.com/shbatm +[@slovdahl]: https://github.com/slovdahl +[@starkillerOG]: https://github.com/starkillerOG +[@taiyeoguns]: https://github.com/taiyeoguns +[@thecode]: https://github.com/thecode +[@tkdrob]: https://github.com/tkdrob +[@tymm]: https://github.com/tymm +[@uvjustin]: https://github.com/uvjustin +[@vigonotion]: https://github.com/vigonotion +[@vincegio]: https://github.com/vincegio +[@vpathuis]: https://github.com/vpathuis +[@wrt54g]: https://github.com/wrt54g +[@yozik04]: https://github.com/yozik04 +[@yuvalabou]: https://github.com/yuvalabou +[accuweather docs]: https://www.home-assistant.io/integrations/accuweather/ +[aemet docs]: https://www.home-assistant.io/integrations/aemet/ +[airnow docs]: https://www.home-assistant.io/integrations/airnow/ +[airthings_ble docs]: https://www.home-assistant.io/integrations/airthings_ble/ +[alert docs]: https://www.home-assistant.io/integrations/alert/ +[amberelectric docs]: https://www.home-assistant.io/integrations/amberelectric/ +[ambient_station docs]: https://www.home-assistant.io/integrations/ambient_station/ +[android_ip_webcam docs]: https://www.home-assistant.io/integrations/android_ip_webcam/ +[androidtv docs]: https://www.home-assistant.io/integrations/androidtv/ +[anthemav docs]: https://www.home-assistant.io/integrations/anthemav/ +[apcupsd docs]: https://www.home-assistant.io/integrations/apcupsd/ +[apprise docs]: https://www.home-assistant.io/integrations/apprise/ +[aqualogic docs]: https://www.home-assistant.io/integrations/aqualogic/ +[automation docs]: https://www.home-assistant.io/integrations/automation/ +[aws docs]: https://www.home-assistant.io/integrations/aws/ +[axis docs]: https://www.home-assistant.io/integrations/axis/ +[azure_event_hub docs]: https://www.home-assistant.io/integrations/azure_event_hub/ +[baf docs]: https://www.home-assistant.io/integrations/baf/ +[bayesian docs]: https://www.home-assistant.io/integrations/bayesian/ +[blebox docs]: https://www.home-assistant.io/integrations/blebox/ +[blockchain docs]: https://www.home-assistant.io/integrations/blockchain/ +[blueprint docs]: https://www.home-assistant.io/integrations/blueprint/ +[bluesound docs]: https://www.home-assistant.io/integrations/bluesound/ +[bluetooth docs]: https://www.home-assistant.io/integrations/bluetooth/ +[bmw_connected_drive docs]: https://www.home-assistant.io/integrations/bmw_connected_drive/ +[bosch_shc docs]: https://www.home-assistant.io/integrations/bosch_shc/ +[braviatv docs]: https://www.home-assistant.io/integrations/braviatv/ +[broadlink docs]: https://www.home-assistant.io/integrations/broadlink/ +[brother docs]: https://www.home-assistant.io/integrations/brother/ +[bsblan docs]: https://www.home-assistant.io/integrations/bsblan/ +[buienradar docs]: https://www.home-assistant.io/integrations/buienradar/ +[calendar docs]: https://www.home-assistant.io/integrations/calendar/ +[camera docs]: https://www.home-assistant.io/integrations/camera/ +[channels docs]: https://www.home-assistant.io/integrations/channels/ +[citybikes docs]: https://www.home-assistant.io/integrations/citybikes/ +[clickatell docs]: https://www.home-assistant.io/integrations/clickatell/ +[clicksend docs]: https://www.home-assistant.io/integrations/clicksend/ +[clicksend_tts docs]: https://www.home-assistant.io/integrations/clicksend_tts/ +[cloud docs]: https://www.home-assistant.io/integrations/cloud/ +[coinbase docs]: https://www.home-assistant.io/integrations/coinbase/ +[comfoconnect docs]: https://www.home-assistant.io/integrations/comfoconnect/ +[config docs]: https://www.home-assistant.io/integrations/config/ +[conversation docs]: https://www.home-assistant.io/integrations/conversation/ +[daikin docs]: https://www.home-assistant.io/integrations/daikin/ +[danfoss_air docs]: https://www.home-assistant.io/integrations/danfoss_air/ +[darksky docs]: https://www.home-assistant.io/integrations/darksky/ +[deconz docs]: https://www.home-assistant.io/integrations/deconz/ +[default_config docs]: https://www.home-assistant.io/integrations/default_config/ +[denonavr docs]: https://www.home-assistant.io/integrations/denonavr/ +[devolo_home_control docs]: https://www.home-assistant.io/integrations/devolo_home_control/ +[devolo_home_network docs]: https://www.home-assistant.io/integrations/devolo_home_network/ +[eafm docs]: https://www.home-assistant.io/integrations/eafm/ +[ecobee docs]: https://www.home-assistant.io/integrations/ecobee/ +[ecowitt docs]: https://www.home-assistant.io/integrations/ecowitt/ +[edl21 docs]: https://www.home-assistant.io/integrations/edl21/ +[energy docs]: https://www.home-assistant.io/integrations/energy/ +[enphase_envoy docs]: https://www.home-assistant.io/integrations/enphase_envoy/ +[esphome docs]: https://www.home-assistant.io/integrations/esphome/ +[fibaro docs]: https://www.home-assistant.io/integrations/fibaro/ +[fints docs]: https://www.home-assistant.io/integrations/fints/ +[fitbit docs]: https://www.home-assistant.io/integrations/fitbit/ +[fjaraskupan docs]: https://www.home-assistant.io/integrations/fjaraskupan/ +[flo docs]: https://www.home-assistant.io/integrations/flo/ +[flume docs]: https://www.home-assistant.io/integrations/flume/ +[forked_daapd docs]: https://www.home-assistant.io/integrations/forked_daapd/ +[freebox docs]: https://www.home-assistant.io/integrations/freebox/ +[fritzbox docs]: https://www.home-assistant.io/integrations/fritzbox/ +[fritzbox_callmonitor docs]: https://www.home-assistant.io/integrations/fritzbox_callmonitor/ +[frontend docs]: https://www.home-assistant.io/integrations/frontend/ +[fully_kiosk docs]: https://www.home-assistant.io/integrations/fully_kiosk/ +[gdacs docs]: https://www.home-assistant.io/integrations/gdacs/ +[generic docs]: https://www.home-assistant.io/integrations/generic/ +[generic_hygrostat docs]: https://www.home-assistant.io/integrations/generic_hygrostat/ +[geonetnz_quakes docs]: https://www.home-assistant.io/integrations/geonetnz_quakes/ +[geonetnz_volcano docs]: https://www.home-assistant.io/integrations/geonetnz_volcano/ +[github docs]: https://www.home-assistant.io/integrations/github/ +[glances docs]: https://www.home-assistant.io/integrations/glances/ +[goodwe docs]: https://www.home-assistant.io/integrations/goodwe/ +[google docs]: https://www.home-assistant.io/integrations/google/ +[google_cloud docs]: https://www.home-assistant.io/integrations/google_cloud/ +[google_pubsub docs]: https://www.home-assistant.io/integrations/google_pubsub/ +[google_travel_time docs]: https://www.home-assistant.io/integrations/google_travel_time/ +[graphite docs]: https://www.home-assistant.io/integrations/graphite/ +[gree docs]: https://www.home-assistant.io/integrations/gree/ +[group docs]: https://www.home-assistant.io/integrations/group/ +[guardian docs]: https://www.home-assistant.io/integrations/guardian/ +[hassio docs]: https://www.home-assistant.io/integrations/hassio/ +[here_travel_time docs]: https://www.home-assistant.io/integrations/here_travel_time/ +[homeassistant_alerts docs]: https://www.home-assistant.io/integrations/homeassistant_alerts/ +[homekit docs]: https://www.home-assistant.io/integrations/homekit/ +[homekit_controller docs]: https://www.home-assistant.io/integrations/homekit_controller/ +[homewizard docs]: https://www.home-assistant.io/integrations/homewizard/ +[huawei_lte docs]: https://www.home-assistant.io/integrations/huawei_lte/ +[hue docs]: https://www.home-assistant.io/integrations/hue/ +[hunterdouglas_powerview docs]: https://www.home-assistant.io/integrations/hunterdouglas_powerview/ +[hvv_departures docs]: https://www.home-assistant.io/integrations/hvv_departures/ +[iaqualink docs]: https://www.home-assistant.io/integrations/iaqualink/ +[ibeacon docs]: https://www.home-assistant.io/integrations/ibeacon/ +[intellifire docs]: https://www.home-assistant.io/integrations/intellifire/ +[ipma docs]: https://www.home-assistant.io/integrations/ipma/ +[ipp docs]: https://www.home-assistant.io/integrations/ipp/ +[iqvia docs]: https://www.home-assistant.io/integrations/iqvia/ +[islamic_prayer_times docs]: https://www.home-assistant.io/integrations/islamic_prayer_times/ +[iss docs]: https://www.home-assistant.io/integrations/iss/ +[isy994 docs]: https://www.home-assistant.io/integrations/isy994/ +[jellyfin docs]: https://www.home-assistant.io/integrations/jellyfin/ +[kira docs]: https://www.home-assistant.io/integrations/kira/ +[knx docs]: https://www.home-assistant.io/integrations/knx/ +[lacrosse docs]: https://www.home-assistant.io/integrations/lacrosse/ +[lametric docs]: https://www.home-assistant.io/integrations/lametric/ +[landisgyr_heat_meter docs]: https://www.home-assistant.io/integrations/landisgyr_heat_meter/ +[launch_library docs]: https://www.home-assistant.io/integrations/launch_library/ +[led_ble docs]: https://www.home-assistant.io/integrations/led_ble/ +[lidarr docs]: https://www.home-assistant.io/integrations/lidarr/ +[lifx docs]: https://www.home-assistant.io/integrations/lifx/ +[light docs]: https://www.home-assistant.io/integrations/light/ +[litterrobot docs]: https://www.home-assistant.io/integrations/litterrobot/ +[logbook docs]: https://www.home-assistant.io/integrations/logbook/ +[lovelace docs]: https://www.home-assistant.io/integrations/lovelace/ +[lupusec docs]: https://www.home-assistant.io/integrations/lupusec/ +[lutron_caseta docs]: https://www.home-assistant.io/integrations/lutron_caseta/ +[lyric docs]: https://www.home-assistant.io/integrations/lyric/ +[map docs]: https://www.home-assistant.io/integrations/map/ +[mazda docs]: https://www.home-assistant.io/integrations/mazda/ +[meteo_france docs]: https://www.home-assistant.io/integrations/meteo_france/ +[mikrotik docs]: https://www.home-assistant.io/integrations/mikrotik/ +[min_max docs]: https://www.home-assistant.io/integrations/min_max/ +[mobile_app docs]: https://www.home-assistant.io/integrations/mobile_app/ +[modbus docs]: https://www.home-assistant.io/integrations/modbus/ +[monoprice docs]: https://www.home-assistant.io/integrations/monoprice/ +[motion_blinds docs]: https://www.home-assistant.io/integrations/motion_blinds/ +[motioneye docs]: https://www.home-assistant.io/integrations/motioneye/ +[mqtt docs]: https://www.home-assistant.io/integrations/mqtt/ +[mysensors docs]: https://www.home-assistant.io/integrations/mysensors/ +[nest docs]: https://www.home-assistant.io/integrations/nest/ +[netatmo docs]: https://www.home-assistant.io/integrations/netatmo/ +[netdata docs]: https://www.home-assistant.io/integrations/netdata/ +[nextcloud docs]: https://www.home-assistant.io/integrations/nextcloud/ +[nibe_heatpump docs]: https://www.home-assistant.io/integrations/nibe_heatpump/ +[nina docs]: https://www.home-assistant.io/integrations/nina/ +[nissan_leaf docs]: https://www.home-assistant.io/integrations/nissan_leaf/ +[nobo_hub docs]: https://www.home-assistant.io/integrations/nobo_hub/ +[notion docs]: https://www.home-assistant.io/integrations/notion/ +[nut docs]: https://www.home-assistant.io/integrations/nut/ +[nws docs]: https://www.home-assistant.io/integrations/nws/ +[octoprint docs]: https://www.home-assistant.io/integrations/octoprint/ +[oncue docs]: https://www.home-assistant.io/integrations/oncue/ +[openexchangerates docs]: https://www.home-assistant.io/integrations/openexchangerates/ +[opengarage docs]: https://www.home-assistant.io/integrations/opengarage/ +[opentherm_gw docs]: https://www.home-assistant.io/integrations/opentherm_gw/ +[openuv docs]: https://www.home-assistant.io/integrations/openuv/ +[oralb docs]: https://www.home-assistant.io/integrations/oralb/ +[overkiz docs]: https://www.home-assistant.io/integrations/overkiz/ +[p1_monitor docs]: https://www.home-assistant.io/integrations/p1_monitor/ +[persistent_notification docs]: https://www.home-assistant.io/integrations/persistent_notification/ +[philips_js docs]: https://www.home-assistant.io/integrations/philips_js/ +[plex docs]: https://www.home-assistant.io/integrations/plex/ +[plugwise docs]: https://www.home-assistant.io/integrations/plugwise/ +[pushover docs]: https://www.home-assistant.io/integrations/pushover/ +[qingping docs]: https://www.home-assistant.io/integrations/qingping/ +[radarr docs]: https://www.home-assistant.io/integrations/radarr/ +[rainmachine docs]: https://www.home-assistant.io/integrations/rainmachine/ +[recollect_waste docs]: https://www.home-assistant.io/integrations/recollect_waste/ +[recorder docs]: https://www.home-assistant.io/integrations/recorder/ +[remote_rpi_gpio docs]: https://www.home-assistant.io/integrations/remote_rpi_gpio/ +[repairs docs]: https://www.home-assistant.io/integrations/repairs/ +[rest docs]: https://www.home-assistant.io/integrations/rest/ +[rfxtrx docs]: https://www.home-assistant.io/integrations/rfxtrx/ +[ridwell docs]: https://www.home-assistant.io/integrations/ridwell/ +[ring docs]: https://www.home-assistant.io/integrations/ring/ +[risco docs]: https://www.home-assistant.io/integrations/risco/ +[roku docs]: https://www.home-assistant.io/integrations/roku/ +[roomba docs]: https://www.home-assistant.io/integrations/roomba/ +[scrape docs]: https://www.home-assistant.io/integrations/scrape/ +[script docs]: https://www.home-assistant.io/integrations/script/ +[select docs]: https://www.home-assistant.io/integrations/select/ +[senseme docs]: https://www.home-assistant.io/integrations/senseme/ +[sensibo docs]: https://www.home-assistant.io/integrations/sensibo/ +[sensor docs]: https://www.home-assistant.io/integrations/sensor/ +[sentry docs]: https://www.home-assistant.io/integrations/sentry/ +[shelly docs]: https://www.home-assistant.io/integrations/shelly/ +[simplepush docs]: https://www.home-assistant.io/integrations/simplepush/ +[simplisafe docs]: https://www.home-assistant.io/integrations/simplisafe/ +[skybell docs]: https://www.home-assistant.io/integrations/skybell/ +[sma docs]: https://www.home-assistant.io/integrations/sma/ +[smartthings docs]: https://www.home-assistant.io/integrations/smartthings/ +[snapcast docs]: https://www.home-assistant.io/integrations/snapcast/ +[snooz docs]: https://www.home-assistant.io/integrations/snooz/ +[sonarr docs]: https://www.home-assistant.io/integrations/sonarr/ +[sonos docs]: https://www.home-assistant.io/integrations/sonos/ +[speedtestdotnet docs]: https://www.home-assistant.io/integrations/speedtestdotnet/ +[sql docs]: https://www.home-assistant.io/integrations/sql/ +[ssdp docs]: https://www.home-assistant.io/integrations/ssdp/ +[statistics docs]: https://www.home-assistant.io/integrations/statistics/ +[stream docs]: https://www.home-assistant.io/integrations/stream/ +[subaru docs]: https://www.home-assistant.io/integrations/subaru/ +[suez_water docs]: https://www.home-assistant.io/integrations/suez_water/ +[sun docs]: https://www.home-assistant.io/integrations/sun/ +[switchbee docs]: https://www.home-assistant.io/integrations/switchbee/ +[switchbot docs]: https://www.home-assistant.io/integrations/switchbot/ +[switcher_kis docs]: https://www.home-assistant.io/integrations/switcher_kis/ +[symfonisk docs]: https://www.home-assistant.io/integrations/symfonisk/ +[syncthru docs]: https://www.home-assistant.io/integrations/syncthru/ +[system_bridge docs]: https://www.home-assistant.io/integrations/system_bridge/ +[system_log docs]: https://www.home-assistant.io/integrations/system_log/ +[systemmonitor docs]: https://www.home-assistant.io/integrations/systemmonitor/ +[tasmota docs]: https://www.home-assistant.io/integrations/tasmota/ +[tellduslive docs]: https://www.home-assistant.io/integrations/tellduslive/ +[temper docs]: https://www.home-assistant.io/integrations/temper/ +[template docs]: https://www.home-assistant.io/integrations/template/ +[tibber docs]: https://www.home-assistant.io/integrations/tibber/ +[tile docs]: https://www.home-assistant.io/integrations/tile/ +[tomorrowio docs]: https://www.home-assistant.io/integrations/tomorrowio/ +[toon docs]: https://www.home-assistant.io/integrations/toon/ +[tplink docs]: https://www.home-assistant.io/integrations/tplink/ +[trace docs]: https://www.home-assistant.io/integrations/trace/ +[trafikverket_ferry docs]: https://www.home-assistant.io/integrations/trafikverket_ferry/ +[trafikverket_train docs]: https://www.home-assistant.io/integrations/trafikverket_train/ +[trafikverket_weatherstation docs]: https://www.home-assistant.io/integrations/trafikverket_weatherstation/ +[tts docs]: https://www.home-assistant.io/integrations/tts/ +[tuya docs]: https://www.home-assistant.io/integrations/tuya/ +[ultraloq docs]: https://www.home-assistant.io/integrations/ultraloq/ +[unifi docs]: https://www.home-assistant.io/integrations/unifi/ +[unifiprotect docs]: https://www.home-assistant.io/integrations/unifiprotect/ +[upcloud docs]: https://www.home-assistant.io/integrations/upcloud/ +[upnp docs]: https://www.home-assistant.io/integrations/upnp/ +[vallox docs]: https://www.home-assistant.io/integrations/vallox/ +[velbus docs]: https://www.home-assistant.io/integrations/velbus/ +[vicare docs]: https://www.home-assistant.io/integrations/vicare/ +[vizio docs]: https://www.home-assistant.io/integrations/vizio/ +[volvooncall docs]: https://www.home-assistant.io/integrations/volvooncall/ +[watttime docs]: https://www.home-assistant.io/integrations/watttime/ +[waze_travel_time docs]: https://www.home-assistant.io/integrations/waze_travel_time/ +[weather docs]: https://www.home-assistant.io/integrations/weather/ +[webhook docs]: https://www.home-assistant.io/integrations/webhook/ +[websocket_api docs]: https://www.home-assistant.io/integrations/websocket_api/ +[wled docs]: https://www.home-assistant.io/integrations/wled/ +[xiaomi_miio docs]: https://www.home-assistant.io/integrations/xiaomi_miio/ +[xmpp docs]: https://www.home-assistant.io/integrations/xmpp/ +[yalexs_ble docs]: https://www.home-assistant.io/integrations/yalexs_ble/ +[zamg docs]: https://www.home-assistant.io/integrations/zamg/ +[zeroconf docs]: https://www.home-assistant.io/integrations/zeroconf/ +[zha docs]: https://www.home-assistant.io/integrations/zha/ +[zone docs]: https://www.home-assistant.io/integrations/zone/ +[zwave_js docs]: https://www.home-assistant.io/integrations/zwave_js/ \ No newline at end of file diff --git a/source/images/blog/2022-11/social.png b/source/images/blog/2022-11/social.png new file mode 100644 index 0000000000000000000000000000000000000000..b10595978d5a68330426efeceb1ab2a672d9293f GIT binary patch literal 148645 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�Se(I4AUM`Ff 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 literal 0 HcmV?d00001 From 0c1e49a5f309715341513cb1bc04fbd3b8ce961c Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 31 Oct 2022 18:46:47 +0100 Subject: [PATCH 71/99] 2022.11: Sync docs with codebase --- source/_integrations/3_day_blinds.markdown | 8 ++-- source/_integrations/accuweather.markdown | 2 +- source/_integrations/adguard.markdown | 2 +- source/_integrations/airly.markdown | 2 +- source/_integrations/airnow.markdown | 1 + source/_integrations/airthings_ble.markdown | 4 +- source/_integrations/airvisual.markdown | 2 +- source/_integrations/alert.markdown | 1 + source/_integrations/ambient_station.markdown | 2 +- .../_integrations/amp_motorization.markdown | 8 ++-- source/_integrations/august_ble.markdown | 12 +++--- source/_integrations/axis.markdown | 2 +- source/_integrations/blebox.markdown | 2 +- .../_integrations/bliss_automation.markdown | 8 ++-- source/_integrations/bloc_blinds.markdown | 8 ++-- source/_integrations/braviatv.markdown | 2 +- source/_integrations/brel_home.markdown | 8 ++-- source/_integrations/brother.markdown | 2 +- source/_integrations/bswitch.markdown | 22 ++++++---- source/_integrations/bt_smarthub.markdown | 2 +- source/_integrations/bticino.markdown | 8 ++-- source/_integrations/bubendorff.markdown | 8 ++-- source/_integrations/cloud.markdown | 2 +- source/_integrations/cozytouch.markdown | 10 ++--- source/_integrations/cpuspeed.markdown | 2 +- source/_integrations/dacia.markdown | 8 ++-- source/_integrations/debugpy.markdown | 2 +- source/_integrations/deconz.markdown | 2 +- .../devolo_home_control.markdown | 2 +- .../devolo_home_network.markdown | 2 +- source/_integrations/diaz.markdown | 21 +++++++++ source/_integrations/digital_loggers.markdown | 10 ++--- source/_integrations/dooya.markdown | 8 ++-- source/_integrations/dsmr.markdown | 2 +- source/_integrations/edl21.markdown | 2 - source/_integrations/elgato.markdown | 2 +- source/_integrations/enphase_envoy.markdown | 1 + source/_integrations/esphome.markdown | 2 +- source/_integrations/flexom.markdown | 10 ++--- source/_integrations/forecast_solar.markdown | 2 +- source/_integrations/forked_daapd.markdown | 4 +- .../fritzbox_callmonitor.markdown | 2 +- source/_integrations/gaviota.markdown | 8 ++-- source/_integrations/gios.markdown | 2 +- source/_integrations/guardian.markdown | 2 +- source/_integrations/hassio.markdown | 2 +- source/_integrations/havana_shade.markdown | 21 +++++++++ source/_integrations/heiwa.markdown | 18 ++++---- source/_integrations/hi_kumo.markdown | 10 ++--- .../homeassistant_alerts.markdown | 2 +- source/_integrations/hue.markdown | 2 +- .../hurrican_shutters_wholesale.markdown | 8 ++-- source/_integrations/inspired_shades.markdown | 21 +++++++++ source/_integrations/iqvia.markdown | 2 +- source/_integrations/ismartwindow.markdown | 8 ++-- source/_integrations/iss.markdown | 2 +- source/_integrations/isy994.markdown | 2 +- source/_integrations/jellyfin.markdown | 3 +- source/_integrations/knx.markdown | 2 +- source/_integrations/lametric.markdown | 5 ++- source/_integrations/launch_library.markdown | 2 +- source/_integrations/legrand.markdown | 8 ++-- source/_integrations/lifx.markdown | 2 + source/_integrations/luftdaten.markdown | 2 +- source/_integrations/lutron_caseta.markdown | 4 +- source/_integrations/luxaflex.markdown | 14 +++--- source/_integrations/map.markdown | 2 +- source/_integrations/marantz.markdown | 8 ++-- source/_integrations/martec.markdown | 8 ++-- source/_integrations/moon.markdown | 2 +- source/_integrations/mqtt.markdown | 1 + source/_integrations/nam.markdown | 2 +- source/_integrations/nexity.markdown | 10 ++--- source/_integrations/nextdns.markdown | 2 +- source/_integrations/nibe_heatpump.markdown | 2 - source/_integrations/notion.markdown | 2 +- source/_integrations/nutrichef.markdown | 12 +++--- source/_integrations/octoprint.markdown | 2 +- source/_integrations/oncue.markdown | 1 + source/_integrations/open_meteo.markdown | 2 +- source/_integrations/openuv.markdown | 2 +- source/_integrations/pcs_lighting.markdown | 21 +++++++++ .../persistent_notification.markdown | 2 +- source/_integrations/plugwise.markdown | 2 +- source/_integrations/pvoutput.markdown | 2 +- source/_integrations/radio_browser.markdown | 2 +- source/_integrations/rainmachine.markdown | 2 +- source/_integrations/raven_rock_mfg.markdown | 8 ++-- source/_integrations/rdw.markdown | 2 +- source/_integrations/recollect_waste.markdown | 2 +- source/_integrations/remote_rpi_gpio.markdown | 2 +- source/_integrations/rexel.markdown | 10 ++--- source/_integrations/ridwell.markdown | 2 +- source/_integrations/ring.markdown | 2 - source/_integrations/roborock.markdown | 43 +++++++++++++++++++ source/_integrations/roku.markdown | 2 +- source/_integrations/scrape.markdown | 2 + source/_integrations/screenaway.markdown | 21 +++++++++ source/_integrations/season.markdown | 2 +- source/_integrations/sensorblue.markdown | 12 +++--- source/_integrations/sentry.markdown | 2 +- source/_integrations/shelly.markdown | 2 +- source/_integrations/simplisafe.markdown | 2 +- .../_integrations/simply_automated.markdown | 21 +++++++++ source/_integrations/slack.markdown | 2 +- source/_integrations/smart_blinds.markdown | 8 ++-- source/_integrations/smart_home.markdown | 8 ++-- source/_integrations/smarther.markdown | 8 ++-- source/_integrations/snooz.markdown | 4 +- source/_integrations/solaredge.markdown | 2 +- source/_integrations/somfy.markdown | 10 ++--- source/_integrations/spotify.markdown | 2 +- source/_integrations/stookalert.markdown | 2 +- source/_integrations/stream.markdown | 2 +- source/_integrations/switcher_kis.markdown | 2 + source/_integrations/symfonisk.markdown | 13 +++--- source/_integrations/system_log.markdown | 2 +- source/_integrations/tailscale.markdown | 2 +- source/_integrations/thermoplus.markdown | 12 +++--- source/_integrations/tile.markdown | 2 +- source/_integrations/tomorrowio.markdown | 2 +- source/_integrations/tractive.markdown | 2 +- source/_integrations/tuya.markdown | 2 +- source/_integrations/twentemilieu.markdown | 2 +- source/_integrations/unifi.markdown | 2 +- source/_integrations/upnp.markdown | 3 +- .../uprise_smart_shades.markdown | 8 ++-- source/_integrations/uptime.markdown | 2 +- source/_integrations/velbus.markdown | 4 +- source/_integrations/verisure.markdown | 2 +- source/_integrations/vizio.markdown | 2 +- source/_integrations/watttime.markdown | 2 +- source/_integrations/webhook.markdown | 1 - source/_integrations/webostv.markdown | 1 + source/_integrations/whois.markdown | 2 +- source/_integrations/wled.markdown | 2 +- source/_integrations/xiaomi_miio.markdown | 1 - source/_integrations/yi.markdown | 2 +- source/_integrations/zamg.markdown | 2 + source/_integrations/zone.markdown | 2 +- source/_integrations/zwave_js.markdown | 2 +- 141 files changed, 451 insertions(+), 268 deletions(-) create mode 100644 source/_integrations/diaz.markdown create mode 100644 source/_integrations/havana_shade.markdown create mode 100644 source/_integrations/inspired_shades.markdown create mode 100644 source/_integrations/pcs_lighting.markdown create mode 100644 source/_integrations/roborock.markdown create mode 100644 source/_integrations/screenaway.markdown create mode 100644 source/_integrations/simply_automated.markdown diff --git a/source/_integrations/3_day_blinds.markdown b/source/_integrations/3_day_blinds.markdown index 273fd4f7a86..16d6206973b 100644 --- a/source/_integrations/3_day_blinds.markdown +++ b/source/_integrations/3_day_blinds.markdown @@ -4,18 +4,18 @@ description: Connect and control your 3 Day Blinds devices using the Motion Blin ha_category: - Cover ha_domain: 3_day_blinds +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/accuweather.markdown b/source/_integrations/accuweather.markdown index e3ce0c896a3..e04f810ab04 100644 --- a/source/_integrations/accuweather.markdown +++ b/source/_integrations/accuweather.markdown @@ -14,7 +14,7 @@ ha_platforms: - diagnostics - sensor - weather -ha_integration_type: integration +ha_integration_type: service --- The AccuWeather integration uses the [AccuWeather](https://accuweather.com/) web service as a source for weather data for your location. diff --git a/source/_integrations/adguard.markdown b/source/_integrations/adguard.markdown index e2e7bbb43a9..6006bbab057 100644 --- a/source/_integrations/adguard.markdown +++ b/source/_integrations/adguard.markdown @@ -14,7 +14,7 @@ ha_domain: adguard ha_platforms: - sensor - switch -ha_integration_type: integration +ha_integration_type: service --- AdGuard Home is a network-wide ad- and tracker-blocking DNS server with parental diff --git a/source/_integrations/airly.markdown b/source/_integrations/airly.markdown index b237471a8a0..ed003690be9 100644 --- a/source/_integrations/airly.markdown +++ b/source/_integrations/airly.markdown @@ -13,7 +13,7 @@ ha_quality_scale: platinum ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The Airly integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location. diff --git a/source/_integrations/airnow.markdown b/source/_integrations/airnow.markdown index bd0a139665e..e29e9cdaa72 100644 --- a/source/_integrations/airnow.markdown +++ b/source/_integrations/airnow.markdown @@ -10,6 +10,7 @@ ha_codeowners: - '@asymworks' ha_domain: airnow ha_platforms: + - diagnostics - sensor ha_integration_type: integration --- diff --git a/source/_integrations/airthings_ble.markdown b/source/_integrations/airthings_ble.markdown index 406d530310c..82d81b38b22 100644 --- a/source/_integrations/airthings_ble.markdown +++ b/source/_integrations/airthings_ble.markdown @@ -5,7 +5,7 @@ ha_category: - Environment - Sensor ha_release: '2022.11' -ha_iot_class: Local Push +ha_iot_class: Local Polling ha_codeowners: - '@vincegio' ha_domain: airthings_ble @@ -48,4 +48,4 @@ Sensor entities added to Home Assistant, depending on the device model: - Temperature - VOC - Co2 -- Battery \ No newline at end of file +- Battery diff --git a/source/_integrations/airvisual.markdown b/source/_integrations/airvisual.markdown index 11caba2353d..b392719dbf6 100644 --- a/source/_integrations/airvisual.markdown +++ b/source/_integrations/airvisual.markdown @@ -12,7 +12,7 @@ ha_config_flow: true ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: device --- The `airvisual` sensor platform queries the [AirVisual](https://www.iqair.com) cloud API for air quality data. Data can be collected via latitude/longitude, by city/state/country, or from an [AirVisual Node/Pro unit](https://www.iqair.com/air-quality-monitors/airvisual-pro). diff --git a/source/_integrations/alert.markdown b/source/_integrations/alert.markdown index 05621c46c23..9077891255c 100644 --- a/source/_integrations/alert.markdown +++ b/source/_integrations/alert.markdown @@ -9,6 +9,7 @@ ha_quality_scale: internal ha_domain: alert ha_codeowners: - '@home-assistant/core' + - '@frenck' ha_integration_type: integration --- diff --git a/source/_integrations/ambient_station.markdown b/source/_integrations/ambient_station.markdown index 9e2c8223419..3bb52f055e2 100644 --- a/source/_integrations/ambient_station.markdown +++ b/source/_integrations/ambient_station.markdown @@ -13,7 +13,7 @@ ha_platforms: - binary_sensor - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: hub --- The `Ambient Weather Station` integration retrieves local weather information diff --git a/source/_integrations/amp_motorization.markdown b/source/_integrations/amp_motorization.markdown index 975fc00af23..5035a0ffe62 100644 --- a/source/_integrations/amp_motorization.markdown +++ b/source/_integrations/amp_motorization.markdown @@ -4,18 +4,18 @@ description: Connect and control your AMP Motorization devices using the Motion ha_category: - Cover ha_domain: amp_motorization +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/august_ble.markdown b/source/_integrations/august_ble.markdown index f82dab10e08..23917be0013 100644 --- a/source/_integrations/august_ble.markdown +++ b/source/_integrations/august_ble.markdown @@ -5,20 +5,20 @@ ha_category: - Binary Sensor - Lock - Sensor -ha_bluetooth: true ha_release: 2022.9 -ha_iot_class: Local Push +ha_domain: august_ble +ha_integration_type: virtual +ha_supporting_domain: yalexs_ble +ha_supporting_integration: Yale Access Bluetooth +ha_bluetooth: true ha_codeowners: - '@bdraco' -ha_domain: august_ble ha_config_flow: true ha_platforms: - binary_sensor - lock - sensor -ha_integration_type: integration -ha_supporting_domain: yalexs_ble -ha_supporting_integration: Yale Access Bluetooth +ha_iot_class: Local Push --- Integrates [August](https://august.com/) locks over Bluetooth into Home Assistant. diff --git a/source/_integrations/axis.markdown b/source/_integrations/axis.markdown index 3ef48495bc6..b5bdd506078 100644 --- a/source/_integrations/axis.markdown +++ b/source/_integrations/axis.markdown @@ -23,7 +23,7 @@ ha_platforms: - diagnostics - light - switch -ha_integration_type: integration +ha_integration_type: device --- [Axis Communications](https://www.axis.com/) devices are surveillance cameras, speakers, access control and other security-related network connected hardware. Event API works with firmware 5.50 and newer. diff --git a/source/_integrations/blebox.markdown b/source/_integrations/blebox.markdown index 891aadeb611..5e8ab96116d 100644 --- a/source/_integrations/blebox.markdown +++ b/source/_integrations/blebox.markdown @@ -11,7 +11,7 @@ ha_codeowners: - '@riokuu' ha_domain: blebox ha_platforms: - - air_quality + - binary_sensor - button - climate - cover diff --git a/source/_integrations/bliss_automation.markdown b/source/_integrations/bliss_automation.markdown index e7851bb69f4..a1fbe430489 100644 --- a/source/_integrations/bliss_automation.markdown +++ b/source/_integrations/bliss_automation.markdown @@ -4,18 +4,18 @@ description: Connect and control your Bliss Automation devices using the Motion ha_category: - Cover ha_domain: bliss_automation +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/bloc_blinds.markdown b/source/_integrations/bloc_blinds.markdown index fe4ea502b36..11661c81800 100644 --- a/source/_integrations/bloc_blinds.markdown +++ b/source/_integrations/bloc_blinds.markdown @@ -4,18 +4,18 @@ description: Connect and control your Bloc Blinds devices using the Motion Blind ha_category: - Cover ha_domain: bloc_blinds +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown index 51a4d14898e..bde701d0c4b 100644 --- a/source/_integrations/braviatv.markdown +++ b/source/_integrations/braviatv.markdown @@ -17,7 +17,7 @@ ha_platforms: - media_player - remote ha_ssdp: true -ha_integration_type: integration +ha_integration_type: device --- The Bravia TV integration allows you to control a [Sony Bravia TV](https://www.sony.com/). diff --git a/source/_integrations/brel_home.markdown b/source/_integrations/brel_home.markdown index 77a06217e1a..297dca15e1a 100644 --- a/source/_integrations/brel_home.markdown +++ b/source/_integrations/brel_home.markdown @@ -4,18 +4,18 @@ description: Connect and control your Brel Home devices using the Motion Blinds ha_category: - Cover ha_domain: brel_home +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/brother.markdown b/source/_integrations/brother.markdown index 4b3c5921bee..4e5fa3f0a22 100644 --- a/source/_integrations/brother.markdown +++ b/source/_integrations/brother.markdown @@ -14,7 +14,7 @@ ha_zeroconf: true ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: device --- The `Brother Printer` integration allows you to read current data from your local Brother printer. diff --git a/source/_integrations/bswitch.markdown b/source/_integrations/bswitch.markdown index e1ecd617d48..cab36d9ac62 100644 --- a/source/_integrations/bswitch.markdown +++ b/source/_integrations/bswitch.markdown @@ -3,21 +3,25 @@ title: BSwitch description: Connect and control your BSwitch devices using the SwitchBee integration ha_category: - Button + - Climate + - Cover - 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_integration_type: virtual ha_supporting_domain: switchbee ha_supporting_integration: SwitchBee ha_release: '2022.10' +ha_codeowners: + - '@jafar-atili' +ha_config_flow: true +ha_platforms: + - button + - climate + - cover + - light + - switch +ha_iot_class: Local Polling --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/bt_smarthub.markdown b/source/_integrations/bt_smarthub.markdown index 993508842b5..d8a0c40fa78 100644 --- a/source/_integrations/bt_smarthub.markdown +++ b/source/_integrations/bt_smarthub.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.82 ha_iot_class: Local Polling ha_codeowners: - - '@jxwolstenholme' + - '@typhoon2099' ha_domain: bt_smarthub ha_platforms: - device_tracker diff --git a/source/_integrations/bticino.markdown b/source/_integrations/bticino.markdown index 7dfb86efd0e..bf7a40d9b19 100644 --- a/source/_integrations/bticino.markdown +++ b/source/_integrations/bticino.markdown @@ -13,9 +13,12 @@ ha_category: - Switch - Weather ha_domain: bticino +ha_integration_type: virtual +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' ha_codeowners: - '@cgtobi' -ha_integration_type: integration ha_config_flow: true ha_platforms: - camera @@ -28,9 +31,6 @@ ha_platforms: - 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 index b4ad3290b67..a3daffbc186 100644 --- a/source/_integrations/bubendorff.markdown +++ b/source/_integrations/bubendorff.markdown @@ -13,9 +13,12 @@ ha_category: - Switch - Weather ha_domain: bubendorff +ha_integration_type: virtual +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' ha_codeowners: - '@cgtobi' -ha_integration_type: integration ha_config_flow: true ha_platforms: - camera @@ -28,9 +31,6 @@ ha_platforms: - 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/cloud.markdown b/source/_integrations/cloud.markdown index 0bbb6dfec19..25f64ba07a0 100644 --- a/source/_integrations/cloud.markdown +++ b/source/_integrations/cloud.markdown @@ -13,7 +13,7 @@ ha_platforms: - binary_sensor - stt - tts -ha_integration_type: integration +ha_integration_type: system --- The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa and Google Assistant. [Learn more.](/cloud) diff --git a/source/_integrations/cozytouch.markdown b/source/_integrations/cozytouch.markdown index 8d0ebb3e81a..bc2c1baf1c8 100644 --- a/source/_integrations/cozytouch.markdown +++ b/source/_integrations/cozytouch.markdown @@ -17,11 +17,14 @@ ha_category: - Siren - Switch ha_domain: cozytouch +ha_integration_type: virtual +ha_supporting_domain: overkiz +ha_supporting_integration: Overkiz +ha_release: 2022.2 ha_codeowners: - '@imicknl' - '@vlebourl' - '@tetienne' -ha_integration_type: integration ha_config_flow: true ha_platforms: - alarm_control_panel @@ -39,11 +42,8 @@ ha_platforms: - siren - switch ha_iot_class: Cloud Polling -ha_zeroconf: true ha_dhcp: true -ha_supporting_domain: overkiz -ha_supporting_integration: Overkiz -ha_release: 2022.2 +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/cpuspeed.markdown b/source/_integrations/cpuspeed.markdown index ef46239865c..d36e52f0e37 100644 --- a/source/_integrations/cpuspeed.markdown +++ b/source/_integrations/cpuspeed.markdown @@ -13,7 +13,7 @@ ha_config_flow: true ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: device --- The CPU Speed integration allows you to monitor the current CPU speed. diff --git a/source/_integrations/dacia.markdown b/source/_integrations/dacia.markdown index 901c17f420a..fe6358422b0 100644 --- a/source/_integrations/dacia.markdown +++ b/source/_integrations/dacia.markdown @@ -8,9 +8,12 @@ ha_category: - Select - Sensor ha_domain: dacia +ha_integration_type: virtual +ha_supporting_domain: renault +ha_supporting_integration: Renault +ha_release: 2021.8 ha_codeowners: - '@epenet' -ha_integration_type: integration ha_config_flow: true ha_platforms: - binary_sensor @@ -20,9 +23,6 @@ ha_platforms: - select - sensor ha_iot_class: Cloud Polling -ha_supporting_domain: renault -ha_supporting_integration: Renault -ha_release: 2021.8 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/debugpy.markdown b/source/_integrations/debugpy.markdown index c2525d75a75..edceb4421f2 100644 --- a/source/_integrations/debugpy.markdown +++ b/source/_integrations/debugpy.markdown @@ -9,7 +9,7 @@ ha_codeowners: ha_domain: debugpy ha_quality_scale: internal ha_iot_class: Local Push -ha_integration_type: integration +ha_integration_type: service --- The remote Python debugger integration allows you to use the Visual Studio Code diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index 0b83c8d2c93..682bbae3ecd 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -37,7 +37,7 @@ ha_platforms: - sensor - siren - switch -ha_integration_type: integration +ha_integration_type: hub --- [deCONZ](https://www.dresden-elektronik.de/funk/software/deconz.html) by [dresden elektronik](https://www.dresden-elektronik.de) is a software that communicates with ConBee/RaspBee Zigbee gateways and exposes Zigbee devices that are connected to the gateway. diff --git a/source/_integrations/devolo_home_control.markdown b/source/_integrations/devolo_home_control.markdown index fae92419f97..3875e5bc697 100755 --- a/source/_integrations/devolo_home_control.markdown +++ b/source/_integrations/devolo_home_control.markdown @@ -26,7 +26,7 @@ ha_platforms: - siren - switch ha_zeroconf: true -ha_integration_type: integration +ha_integration_type: hub --- devolo Home Control is a Z-Wave ecosystem with a Z-Wave to IP gateway in the center. The integration allows you to control devices connected to the gateway. diff --git a/source/_integrations/devolo_home_network.markdown b/source/_integrations/devolo_home_network.markdown index eafcd5de54b..d08b5aad986 100755 --- a/source/_integrations/devolo_home_network.markdown +++ b/source/_integrations/devolo_home_network.markdown @@ -18,7 +18,7 @@ ha_platforms: - device_tracker - sensor ha_zeroconf: true -ha_integration_type: integration +ha_integration_type: device --- The devolo Home Network integration allows you to monitor your PLC network. diff --git a/source/_integrations/diaz.markdown b/source/_integrations/diaz.markdown new file mode 100644 index 00000000000..bf407beb823 --- /dev/null +++ b/source/_integrations/diaz.markdown @@ -0,0 +1,21 @@ +--- +title: Diaz +description: Connect and control your Diaz devices using the Motion Blinds integration +ha_category: + - Cover +ha_domain: diaz +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 +ha_codeowners: + - '@starkillerOG' +ha_config_flow: true +ha_platforms: + - cover + - sensor +ha_iot_class: Local Push +ha_dhcp: true +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/digital_loggers.markdown b/source/_integrations/digital_loggers.markdown index e0b5d5296f5..2ec329dc28a 100644 --- a/source/_integrations/digital_loggers.markdown +++ b/source/_integrations/digital_loggers.markdown @@ -8,9 +8,12 @@ ha_category: - Light - Switch ha_domain: digital_loggers +ha_integration_type: virtual +ha_supporting_domain: wemo +ha_supporting_integration: Belkin WeMo +ha_release: pre 0.7 ha_codeowners: - '@esev' -ha_integration_type: integration ha_config_flow: true ha_platforms: - binary_sensor @@ -19,11 +22,8 @@ ha_platforms: - sensor - switch ha_iot_class: Local Push -ha_ssdp: true ha_homekit: true -ha_supporting_domain: wemo -ha_supporting_integration: Belkin WeMo -ha_release: pre 0.7 +ha_ssdp: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/dooya.markdown b/source/_integrations/dooya.markdown index 8fb43fff34a..be4e6b48b5b 100644 --- a/source/_integrations/dooya.markdown +++ b/source/_integrations/dooya.markdown @@ -4,18 +4,18 @@ description: Connect and control your Dooya devices using the Motion Blinds inte ha_category: - Cover ha_domain: dooya +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/dsmr.markdown b/source/_integrations/dsmr.markdown index 52004327f0a..57a3a250f9f 100644 --- a/source/_integrations/dsmr.markdown +++ b/source/_integrations/dsmr.markdown @@ -13,7 +13,7 @@ ha_codeowners: - '@frenck' ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: hub --- A sensor platform for Belgian, Dutch, Luxembourg and Swedish Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'. Swedish meters with a 'HAN port' are not supported by this integration. diff --git a/source/_integrations/edl21.markdown b/source/_integrations/edl21.markdown index 22ffceb610e..62153f01a4e 100644 --- a/source/_integrations/edl21.markdown +++ b/source/_integrations/edl21.markdown @@ -6,8 +6,6 @@ ha_category: ha_iot_class: Local Push ha_release: 0.107 ha_domain: edl21 -ha_codeowners: - - '@mtdcr' ha_platforms: - sensor ha_integration_type: integration diff --git a/source/_integrations/elgato.markdown b/source/_integrations/elgato.markdown index 97a2eed45ac..3b010b62f5e 100644 --- a/source/_integrations/elgato.markdown +++ b/source/_integrations/elgato.markdown @@ -15,7 +15,7 @@ ha_platforms: - button - diagnostics - light -ha_integration_type: integration +ha_integration_type: device --- The [Elgato](https://www.elgato.com/) Lights sets the bar for high-end studio diff --git a/source/_integrations/enphase_envoy.markdown b/source/_integrations/enphase_envoy.markdown index 8d501f5307f..c06a41e91c7 100644 --- a/source/_integrations/enphase_envoy.markdown +++ b/source/_integrations/enphase_envoy.markdown @@ -11,6 +11,7 @@ ha_config_flow: true ha_codeowners: - '@gtdiehl' ha_platforms: + - diagnostics - sensor ha_integration_type: integration --- diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown index a7f3b2f2bfb..f61d37e7aba 100644 --- a/source/_integrations/esphome.markdown +++ b/source/_integrations/esphome.markdown @@ -27,7 +27,7 @@ ha_platforms: - select - sensor - switch -ha_integration_type: integration +ha_integration_type: device ha_dhcp: true works_with: - local diff --git a/source/_integrations/flexom.markdown b/source/_integrations/flexom.markdown index d7ae3d11c5e..b4a6566106c 100644 --- a/source/_integrations/flexom.markdown +++ b/source/_integrations/flexom.markdown @@ -17,11 +17,14 @@ ha_category: - Siren - Switch ha_domain: flexom +ha_integration_type: virtual +ha_supporting_domain: overkiz +ha_supporting_integration: Overkiz +ha_release: 2022.2 ha_codeowners: - '@imicknl' - '@vlebourl' - '@tetienne' -ha_integration_type: integration ha_config_flow: true ha_platforms: - alarm_control_panel @@ -39,11 +42,8 @@ ha_platforms: - siren - switch ha_iot_class: Cloud Polling -ha_zeroconf: true ha_dhcp: true -ha_supporting_domain: overkiz -ha_supporting_integration: Overkiz -ha_release: 2022.2 +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/forecast_solar.markdown b/source/_integrations/forecast_solar.markdown index a7cc29abf52..cdbec7fcd2d 100644 --- a/source/_integrations/forecast_solar.markdown +++ b/source/_integrations/forecast_solar.markdown @@ -14,7 +14,7 @@ ha_platforms: - diagnostics - sensor ha_quality_scale: platinum -ha_integration_type: integration +ha_integration_type: service --- The [Forecast.Solar](https://forecast.solar/) service provides solar production diff --git a/source/_integrations/forked_daapd.markdown b/source/_integrations/forked_daapd.markdown index 47c8a932c8a..ef829a445bd 100644 --- a/source/_integrations/forked_daapd.markdown +++ b/source/_integrations/forked_daapd.markdown @@ -3,11 +3,11 @@ title: Owntone description: Instructions on how to integrate an Owntone server into Home Assistant. ha_category: - Media Player -ha_release: "0.110" +ha_release: '0.110' ha_iot_class: Local Push ha_domain: forked_daapd ha_codeowners: - - "@uvjustin" + - '@uvjustin' ha_config_flow: true ha_zeroconf: true ha_platforms: diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown index 414a570bda2..077044e40bf 100644 --- a/source/_integrations/fritzbox_callmonitor.markdown +++ b/source/_integrations/fritzbox_callmonitor.markdown @@ -9,7 +9,7 @@ ha_domain: fritzbox_callmonitor ha_config_flow: true ha_platforms: - sensor -ha_integration_type: integration +ha_integration_type: device ha_codeowners: - '@cdce8p' --- diff --git a/source/_integrations/gaviota.markdown b/source/_integrations/gaviota.markdown index e61429f0986..5d90b425fab 100644 --- a/source/_integrations/gaviota.markdown +++ b/source/_integrations/gaviota.markdown @@ -4,18 +4,18 @@ description: Connect and control your Gaviota devices using the Motion Blinds in ha_category: - Cover ha_domain: gaviota +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/gios.markdown b/source/_integrations/gios.markdown index 212da2a4fce..77da90c8aa5 100644 --- a/source/_integrations/gios.markdown +++ b/source/_integrations/gios.markdown @@ -13,7 +13,7 @@ ha_quality_scale: platinum ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The `gios` integration uses the [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) web service as a source for air quality data for your location. diff --git a/source/_integrations/guardian.markdown b/source/_integrations/guardian.markdown index 2d80d271f8c..74be90a680d 100644 --- a/source/_integrations/guardian.markdown +++ b/source/_integrations/guardian.markdown @@ -20,7 +20,7 @@ ha_platforms: - sensor - switch ha_dhcp: true -ha_integration_type: integration +ha_integration_type: device --- The `guardian` integration integrates diff --git a/source/_integrations/hassio.markdown b/source/_integrations/hassio.markdown index f5624335ae2..1bc143ec49c 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: system +ha_integration_type: integration --- Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant. diff --git a/source/_integrations/havana_shade.markdown b/source/_integrations/havana_shade.markdown new file mode 100644 index 00000000000..efa7b8b1037 --- /dev/null +++ b/source/_integrations/havana_shade.markdown @@ -0,0 +1,21 @@ +--- +title: Havana Shade +description: Connect and control your Havana Shade devices using the Motion Blinds integration +ha_category: + - Cover +ha_domain: havana_shade +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 +ha_codeowners: + - '@starkillerOG' +ha_config_flow: true +ha_platforms: + - cover + - sensor +ha_iot_class: Local Push +ha_dhcp: true +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/heiwa.markdown b/source/_integrations/heiwa.markdown index 347299756f0..55c5a9b6341 100644 --- a/source/_integrations/heiwa.markdown +++ b/source/_integrations/heiwa.markdown @@ -3,18 +3,18 @@ title: Heiwa description: Connect and control your Heiwa devices using the Gree Climate integration ha_category: - Climate -ha_release: 2022.11.0 -ha_iot_class: Local Polling -ha_config_flow: true -ha_codeowners: - - '@renaiku' +ha_release: 0.117 ha_domain: heiwa +ha_integration_type: virtual +ha_supporting_domain: gree +ha_supporting_integration: Gree Climate +ha_codeowners: + - '@cmroche' +ha_config_flow: true ha_platforms: - climate - switch -ha_integration_type: integration -ha_supporting_domain: gree -ha_supporting_integration: Gree Climate +ha_iot_class: Local Polling --- -{% include integrations/supported_brand.md %} \ No newline at end of file +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/hi_kumo.markdown b/source/_integrations/hi_kumo.markdown index b9dc7b509fc..c66114cb9ee 100644 --- a/source/_integrations/hi_kumo.markdown +++ b/source/_integrations/hi_kumo.markdown @@ -17,11 +17,14 @@ ha_category: - Siren - Switch ha_domain: hi_kumo +ha_integration_type: virtual +ha_supporting_domain: overkiz +ha_supporting_integration: Overkiz +ha_release: 2022.2 ha_codeowners: - '@imicknl' - '@vlebourl' - '@tetienne' -ha_integration_type: integration ha_config_flow: true ha_platforms: - alarm_control_panel @@ -39,11 +42,8 @@ ha_platforms: - siren - switch ha_iot_class: Cloud Polling -ha_zeroconf: true ha_dhcp: true -ha_supporting_domain: overkiz -ha_supporting_integration: Overkiz -ha_release: 2022.2 +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/homeassistant_alerts.markdown b/source/_integrations/homeassistant_alerts.markdown index f98ba10ee55..2d9b2842ab6 100644 --- a/source/_integrations/homeassistant_alerts.markdown +++ b/source/_integrations/homeassistant_alerts.markdown @@ -7,7 +7,7 @@ ha_category: ha_codeowners: - '@home-assistant/core' ha_domain: homeassistant_alerts -ha_integration_type: integration +ha_integration_type: system ha_quality_scale: internal --- diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown index 83baadccef5..924520fbcc2 100644 --- a/source/_integrations/hue.markdown +++ b/source/_integrations/hue.markdown @@ -23,7 +23,7 @@ ha_platforms: - sensor - switch ha_zeroconf: true -ha_integration_type: integration +ha_integration_type: hub --- The Philips Hue integration allows you to control and monitor the lights and sensors connected to your Hue bridge. diff --git a/source/_integrations/hurrican_shutters_wholesale.markdown b/source/_integrations/hurrican_shutters_wholesale.markdown index 02955313c61..03b283762fb 100644 --- a/source/_integrations/hurrican_shutters_wholesale.markdown +++ b/source/_integrations/hurrican_shutters_wholesale.markdown @@ -4,18 +4,18 @@ description: Connect and control your Hurrican Shutters Wholesale devices using ha_category: - Cover ha_domain: hurrican_shutters_wholesale +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/inspired_shades.markdown b/source/_integrations/inspired_shades.markdown new file mode 100644 index 00000000000..72a6854504a --- /dev/null +++ b/source/_integrations/inspired_shades.markdown @@ -0,0 +1,21 @@ +--- +title: Inspired Shades +description: Connect and control your Inspired Shades devices using the Motion Blinds integration +ha_category: + - Cover +ha_domain: inspired_shades +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 +ha_codeowners: + - '@starkillerOG' +ha_config_flow: true +ha_platforms: + - cover + - sensor +ha_iot_class: Local Push +ha_dhcp: true +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/iqvia.markdown b/source/_integrations/iqvia.markdown index aa0ab692926..e17ca809b58 100644 --- a/source/_integrations/iqvia.markdown +++ b/source/_integrations/iqvia.markdown @@ -12,7 +12,7 @@ ha_domain: iqvia ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The `iqvia` sensor platform collects and displays allergy, asthma and disease diff --git a/source/_integrations/ismartwindow.markdown b/source/_integrations/ismartwindow.markdown index 0646162c16d..ac1fd715cc7 100644 --- a/source/_integrations/ismartwindow.markdown +++ b/source/_integrations/ismartwindow.markdown @@ -4,18 +4,18 @@ description: Connect and control your iSmartWindow devices using the Motion Blin ha_category: - Cover ha_domain: ismartwindow +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/iss.markdown b/source/_integrations/iss.markdown index 1bcbc85086e..ff00c58f607 100644 --- a/source/_integrations/iss.markdown +++ b/source/_integrations/iss.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_codeowners: - '@DurgNomis-drol' ha_config_flow: true -ha_integration_type: integration +ha_integration_type: service --- The International Space Station (ISS) integration uses the diff --git a/source/_integrations/isy994.markdown b/source/_integrations/isy994.markdown index d0a4cb243e6..015110725bb 100644 --- a/source/_integrations/isy994.markdown +++ b/source/_integrations/isy994.markdown @@ -29,7 +29,7 @@ ha_platforms: - sensor - switch ha_dhcp: true -ha_integration_type: integration +ha_integration_type: hub --- The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. Some models of the ISY994 can even control Z-Wave devices. diff --git a/source/_integrations/jellyfin.markdown b/source/_integrations/jellyfin.markdown index 3d101b3bc5b..732d1347f4b 100644 --- a/source/_integrations/jellyfin.markdown +++ b/source/_integrations/jellyfin.markdown @@ -13,9 +13,10 @@ ha_codeowners: ha_config_flow: true ha_domain: jellyfin ha_platforms: + - diagnostics - media_player - sensor -ha_integration_type: integration +ha_integration_type: service --- The Jellyfin integration exposes a [Jellyfin](https://jellyfin.org/) server as a Media Source in Home Assistant. diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index 8b9a939d35f..d19917800b5 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -40,7 +40,7 @@ ha_platforms: - switch - weather ha_config_flow: true -ha_integration_type: integration +ha_integration_type: hub --- The [KNX](https://www.knx.org) integration for Home Assistant allows you to connect to KNX/IP devices. diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 807232eed33..e6343c9e10a 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -13,18 +13,21 @@ ha_release: 0.49 ha_codeowners: - '@robbiet480' - '@frenck' + - '@bachya' ha_domain: lametric ha_platforms: - button + - diagnostics - notify - number - select - sensor - switch -ha_integration_type: integration +ha_integration_type: device ha_config_flow: true ha_ssdp: true ha_dhcp: true +ha_quality_scale: platinum --- [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/launch_library.markdown b/source/_integrations/launch_library.markdown index c8813bc14c3..3d116dc98be 100644 --- a/source/_integrations/launch_library.markdown +++ b/source/_integrations/launch_library.markdown @@ -13,7 +13,7 @@ ha_platforms: - diagnostics - sensor ha_config_flow: true -ha_integration_type: integration +ha_integration_type: service --- The `launch_library` sensor will provide you with information about the next planned space launch and SpaceX Starship event. diff --git a/source/_integrations/legrand.markdown b/source/_integrations/legrand.markdown index f7bf94dec16..4676b3c62ef 100644 --- a/source/_integrations/legrand.markdown +++ b/source/_integrations/legrand.markdown @@ -13,9 +13,12 @@ ha_category: - Switch - Weather ha_domain: legrand +ha_integration_type: virtual +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' ha_codeowners: - '@cgtobi' -ha_integration_type: integration ha_config_flow: true ha_platforms: - camera @@ -28,9 +31,6 @@ ha_platforms: - 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/lifx.markdown b/source/_integrations/lifx.markdown index e08eccf471e..e9197cfc0f5 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -12,8 +12,10 @@ ha_homekit: true ha_platforms: - binary_sensor - button + - diagnostics - light - select + - sensor ha_integration_type: integration ha_codeowners: - '@bdraco' diff --git a/source/_integrations/luftdaten.markdown b/source/_integrations/luftdaten.markdown index e661fb863af..162947d9f30 100644 --- a/source/_integrations/luftdaten.markdown +++ b/source/_integrations/luftdaten.markdown @@ -15,7 +15,7 @@ ha_domain: luftdaten ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: device --- The Sensor.Communtiy integration will query the open data API of [Sensor.Community](https://sensor.community) to monitor air quality and other weather data from a specific (self build) sensor station. diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index 20605bf9e7c..ab278dd3fba 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -4,13 +4,13 @@ description: Instructions on how to use Lutron Caseta devices with Home Assistan featured: true ha_category: - Binary Sensor + - Button - Cover - Fan - Hub - Light - Scene - Switch - - Button ha_release: 0.41 ha_iot_class: Local Push ha_domain: lutron_caseta @@ -23,13 +23,13 @@ ha_zeroconf: true ha_homekit: true ha_platforms: - binary_sensor + - button - cover - diagnostics - fan - light - scene - switch - - button ha_integration_type: integration --- diff --git a/source/_integrations/luxaflex.markdown b/source/_integrations/luxaflex.markdown index 0d0f2dc076f..18eec7c1192 100644 --- a/source/_integrations/luxaflex.markdown +++ b/source/_integrations/luxaflex.markdown @@ -5,27 +5,29 @@ ha_category: - Button - Cover - Scene + - Select - Sensor ha_domain: luxaflex +ha_integration_type: virtual +ha_supporting_domain: hunterdouglas_powerview +ha_supporting_integration: Hunter Douglas PowerView +ha_release: 0.15 ha_codeowners: - '@bdraco' - '@kingy444' - '@trullock' -ha_integration_type: integration ha_config_flow: true ha_platforms: - button - cover - diagnostics - scene + - select - sensor ha_iot_class: Local Polling -ha_zeroconf: true -ha_homekit: true ha_dhcp: true -ha_supporting_domain: hunterdouglas_powerview -ha_supporting_integration: Hunter Douglas PowerView -ha_release: 0.15 +ha_homekit: true +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/map.markdown b/source/_integrations/map.markdown index de079f9a409..3702fe90909 100644 --- a/source/_integrations/map.markdown +++ b/source/_integrations/map.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.56 ha_quality_scale: internal ha_domain: map -ha_integration_type: integration +ha_integration_type: system --- This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation. 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/marantz.markdown b/source/_integrations/marantz.markdown index c04acbb6c0e..23f1eed96d2 100644 --- a/source/_integrations/marantz.markdown +++ b/source/_integrations/marantz.markdown @@ -4,18 +4,18 @@ description: Connect and control your Marantz devices using the Denon AVR Networ ha_category: - Media Player ha_domain: marantz +ha_integration_type: virtual +ha_supporting_domain: denonavr +ha_supporting_integration: Denon AVR Network Receivers +ha_release: 0.7.2 ha_codeowners: - '@ol-iver' - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - media_player ha_iot_class: Local Polling ha_ssdp: true -ha_supporting_domain: denonavr -ha_supporting_integration: Denon AVR Network Receivers -ha_release: 0.7.2 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/martec.markdown b/source/_integrations/martec.markdown index cd4679f478d..a108bd80c38 100644 --- a/source/_integrations/martec.markdown +++ b/source/_integrations/martec.markdown @@ -4,18 +4,18 @@ description: Connect and control your Martec devices using the Motion Blinds int ha_category: - Cover ha_domain: martec +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/moon.markdown b/source/_integrations/moon.markdown index 58543b71028..e5ec9508f68 100644 --- a/source/_integrations/moon.markdown +++ b/source/_integrations/moon.markdown @@ -13,7 +13,7 @@ ha_domain: moon ha_platforms: - sensor ha_config_flow: true -ha_integration_type: integration +ha_integration_type: service --- The Moon integration tracks the phases of the moon. diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index e0ba89561f2..c146e11fe51 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -3,6 +3,7 @@ title: MQTT description: Instructions on how to setup MQTT within Home Assistant. ha_category: - Hub + - Update featured: true ha_release: pre 0.7 ha_iot_class: Local Push diff --git a/source/_integrations/nam.markdown b/source/_integrations/nam.markdown index 6ad7171e542..b21d249a435 100644 --- a/source/_integrations/nam.markdown +++ b/source/_integrations/nam.markdown @@ -15,7 +15,7 @@ ha_platforms: - sensor ha_quality_scale: platinum ha_zeroconf: true -ha_integration_type: integration +ha_integration_type: device --- The Nettigo Air Monitor integration allows you to read temperature, humidity, pressure and air quality data from Nettigo Air Monitor devices. [Nettigo Air Monitor](https://air.nettigo.pl/?setlang=en) is a DIY air quality monitoring system with open source firmware, based on an open hardware project. diff --git a/source/_integrations/nexity.markdown b/source/_integrations/nexity.markdown index 5359cd7329d..75cfc0bdf22 100644 --- a/source/_integrations/nexity.markdown +++ b/source/_integrations/nexity.markdown @@ -17,11 +17,14 @@ ha_category: - Siren - Switch ha_domain: nexity +ha_integration_type: virtual +ha_supporting_domain: overkiz +ha_supporting_integration: Overkiz +ha_release: 2022.2 ha_codeowners: - '@imicknl' - '@vlebourl' - '@tetienne' -ha_integration_type: integration ha_config_flow: true ha_platforms: - alarm_control_panel @@ -39,11 +42,8 @@ ha_platforms: - siren - switch ha_iot_class: Cloud Polling -ha_zeroconf: true ha_dhcp: true -ha_supporting_domain: overkiz -ha_supporting_integration: Overkiz -ha_release: 2022.2 +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/nextdns.markdown b/source/_integrations/nextdns.markdown index e38f2384cb0..0f2e26d1e9a 100644 --- a/source/_integrations/nextdns.markdown +++ b/source/_integrations/nextdns.markdown @@ -15,7 +15,7 @@ ha_platforms: - diagnostics - sensor - switch -ha_integration_type: integration +ha_integration_type: service ha_quality_scale: platinum --- diff --git a/source/_integrations/nibe_heatpump.markdown b/source/_integrations/nibe_heatpump.markdown index 7366a552e0e..1297a0665b7 100644 --- a/source/_integrations/nibe_heatpump.markdown +++ b/source/_integrations/nibe_heatpump.markdown @@ -9,8 +9,6 @@ ha_config_flow: true ha_codeowners: - '@elupus' ha_domain: nibe_heatpump -ha_ssdp: false -ha_platforms: ha_platforms: - binary_sensor - number diff --git a/source/_integrations/notion.markdown b/source/_integrations/notion.markdown index 5e3725d2385..bc3f7e6e4d9 100644 --- a/source/_integrations/notion.markdown +++ b/source/_integrations/notion.markdown @@ -15,7 +15,7 @@ ha_platforms: - binary_sensor - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: hub --- The `Notion` component retrieves data from [Notion](https://getnotion.com) wireless diff --git a/source/_integrations/nutrichef.markdown b/source/_integrations/nutrichef.markdown index 4aa03dd3ad2..0188dbfd363 100644 --- a/source/_integrations/nutrichef.markdown +++ b/source/_integrations/nutrichef.markdown @@ -3,18 +3,18 @@ title: Nutrichef description: Connect and control your Nutrichef devices using the INKBIRD integration ha_category: - Sensor -ha_bluetooth: true ha_release: 2022.8 -ha_iot_class: Local Push +ha_domain: nutrichef +ha_integration_type: virtual +ha_supporting_domain: inkbird +ha_supporting_integration: INKBIRD +ha_bluetooth: true ha_codeowners: - '@bdraco' -ha_domain: nutrichef ha_config_flow: true ha_platforms: - sensor -ha_integration_type: integration -ha_supporting_domain: inkbird -ha_supporting_integration: INKBIRD +ha_iot_class: Local Push --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown index e04158df716..37c5e4c78ee 100644 --- a/source/_integrations/octoprint.markdown +++ b/source/_integrations/octoprint.markdown @@ -17,8 +17,8 @@ ha_ssdp: true ha_platforms: - binary_sensor - button - - sensor - camera + - sensor ha_integration_type: integration --- diff --git a/source/_integrations/oncue.markdown b/source/_integrations/oncue.markdown index 55d3f45a3b1..2437fd14983 100644 --- a/source/_integrations/oncue.markdown +++ b/source/_integrations/oncue.markdown @@ -9,6 +9,7 @@ ha_release: 2022.2 ha_config_flow: true ha_codeowners: - '@bdraco' + - '@peterager' ha_dhcp: true ha_domain: oncue ha_platforms: diff --git a/source/_integrations/open_meteo.markdown b/source/_integrations/open_meteo.markdown index 50fb5cdc64f..f69cd272d99 100644 --- a/source/_integrations/open_meteo.markdown +++ b/source/_integrations/open_meteo.markdown @@ -12,7 +12,7 @@ ha_domain: open_meteo ha_platforms: - diagnostics - weather -ha_integration_type: integration +ha_integration_type: service --- The Open-Meteo integration integrates the free weather forecast from diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown index b5ead6caa89..51bb8696831 100644 --- a/source/_integrations/openuv.markdown +++ b/source/_integrations/openuv.markdown @@ -15,7 +15,7 @@ ha_platforms: - binary_sensor - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/). diff --git a/source/_integrations/pcs_lighting.markdown b/source/_integrations/pcs_lighting.markdown new file mode 100644 index 00000000000..d33cae5d642 --- /dev/null +++ b/source/_integrations/pcs_lighting.markdown @@ -0,0 +1,21 @@ +--- +title: PCS Lighting +description: Connect and control your PCS Lighting devices using the Universal Powerline Bus (UPB) integration +ha_category: + - Light + - Scene +ha_domain: pcs_lighting +ha_integration_type: virtual +ha_supporting_domain: upb +ha_supporting_integration: Universal Powerline Bus (UPB) +ha_release: '0.110' +ha_codeowners: + - '@gwww' +ha_config_flow: true +ha_platforms: + - light + - scene +ha_iot_class: Local Push +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/persistent_notification.markdown b/source/_integrations/persistent_notification.markdown index df4da3f2d4f..3b46f16919f 100644 --- a/source/_integrations/persistent_notification.markdown +++ b/source/_integrations/persistent_notification.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: persistent_notification -ha_integration_type: integration +ha_integration_type: system --- The `persistent_notification` integration can be used to show a notification on the frontend that has to be dismissed by the user. diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index 99a53c303a3..8e2948d8272 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -26,7 +26,7 @@ ha_platforms: - select - sensor - switch -ha_integration_type: integration +ha_integration_type: hub --- This enables [Plugwise](https://www.plugwise.com) components with a central Smile gateway to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address. diff --git a/source/_integrations/pvoutput.markdown b/source/_integrations/pvoutput.markdown index 34eee9326e0..b26b2b846d6 100644 --- a/source/_integrations/pvoutput.markdown +++ b/source/_integrations/pvoutput.markdown @@ -13,7 +13,7 @@ ha_platforms: - diagnostics - sensor ha_quality_scale: platinum -ha_integration_type: integration +ha_integration_type: device --- The PVOutput integration consumes information from [PVOutput](https://pvoutput.org/) which was uploaded by your solar photovoltaic (PV) system. diff --git a/source/_integrations/radio_browser.markdown b/source/_integrations/radio_browser.markdown index cfd2101c04f..57c8216387c 100644 --- a/source/_integrations/radio_browser.markdown +++ b/source/_integrations/radio_browser.markdown @@ -10,7 +10,7 @@ ha_domain: radio_browser ha_config_flow: true ha_codeowners: - '@frenck' -ha_integration_type: integration +ha_integration_type: service --- The Radio Browser integration allows you to use the directory of diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown index 1b410073002..675853e227d 100644 --- a/source/_integrations/rainmachine.markdown +++ b/source/_integrations/rainmachine.markdown @@ -23,7 +23,7 @@ ha_platforms: - update ha_zeroconf: true ha_homekit: true -ha_integration_type: integration +ha_integration_type: device --- The RainMachine integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](https://www.rainmachine.com/). diff --git a/source/_integrations/raven_rock_mfg.markdown b/source/_integrations/raven_rock_mfg.markdown index 40fb8fa41fd..e4deec6d450 100644 --- a/source/_integrations/raven_rock_mfg.markdown +++ b/source/_integrations/raven_rock_mfg.markdown @@ -4,18 +4,18 @@ description: Connect and control your Raven Rock MFG devices using the Motion Bl ha_category: - Cover ha_domain: raven_rock_mfg +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/rdw.markdown b/source/_integrations/rdw.markdown index 610ac3cae90..a1db085ece0 100644 --- a/source/_integrations/rdw.markdown +++ b/source/_integrations/rdw.markdown @@ -16,7 +16,7 @@ ha_platforms: - binary_sensor - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- [RDW](https://www.rdw.nl) is the Netherlands Vehicle Authority. Their tasks diff --git a/source/_integrations/recollect_waste.markdown b/source/_integrations/recollect_waste.markdown index a6093ba5ef6..e4f5194b8de 100644 --- a/source/_integrations/recollect_waste.markdown +++ b/source/_integrations/recollect_waste.markdown @@ -12,7 +12,7 @@ ha_config_flow: true ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The `recollect_waste` integration allows you to track the next scheduled waste pickup and what type of waste from [ReCollect](https://recollect.net/waste-haulers/). diff --git a/source/_integrations/remote_rpi_gpio.markdown b/source/_integrations/remote_rpi_gpio.markdown index e809003dba4..c299fd4a560 100644 --- a/source/_integrations/remote_rpi_gpio.markdown +++ b/source/_integrations/remote_rpi_gpio.markdown @@ -1,5 +1,5 @@ --- -title: remote_rpi_gpio +title: Raspberry Pi Remote GPIO description: Instructions on how to integrate the GPIO capability of a Remote Raspberry Pi into Home Assistant. ha_category: - Binary Sensor diff --git a/source/_integrations/rexel.markdown b/source/_integrations/rexel.markdown index c48c8befba0..805903a7149 100644 --- a/source/_integrations/rexel.markdown +++ b/source/_integrations/rexel.markdown @@ -17,11 +17,14 @@ ha_category: - Siren - Switch ha_domain: rexel +ha_integration_type: virtual +ha_supporting_domain: overkiz +ha_supporting_integration: Overkiz +ha_release: 2022.2 ha_codeowners: - '@imicknl' - '@vlebourl' - '@tetienne' -ha_integration_type: integration ha_config_flow: true ha_platforms: - alarm_control_panel @@ -39,11 +42,8 @@ ha_platforms: - siren - switch ha_iot_class: Cloud Polling -ha_zeroconf: true ha_dhcp: true -ha_supporting_domain: overkiz -ha_supporting_integration: Overkiz -ha_release: 2022.2 +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/ridwell.markdown b/source/_integrations/ridwell.markdown index ed650792bd4..93202149d64 100644 --- a/source/_integrations/ridwell.markdown +++ b/source/_integrations/ridwell.markdown @@ -13,7 +13,7 @@ ha_platforms: - diagnostics - sensor - switch -ha_integration_type: integration +ha_integration_type: service --- The Ridwell integration allows users to track waste recycling pickups scheduled with [Ridwell](https://www.ridwell.com). diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown index 9d673036b1c..79c8e98851f 100644 --- a/source/_integrations/ring.markdown +++ b/source/_integrations/ring.markdown @@ -11,8 +11,6 @@ ha_category: ha_release: 0.42 ha_iot_class: Cloud Polling ha_config_flow: true -ha_codeowners: - - '@balloob' ha_domain: ring ha_dhcp: true ha_platforms: diff --git a/source/_integrations/roborock.markdown b/source/_integrations/roborock.markdown new file mode 100644 index 00000000000..9de58cdc5c6 --- /dev/null +++ b/source/_integrations/roborock.markdown @@ -0,0 +1,43 @@ +--- +title: Roborock +description: Connect and control your Roborock devices using the Xiaomi Miio integration +ha_category: + - Alarm + - Fan + - Health + - Hub + - Light + - Presence Detection + - Remote + - Vacuum +ha_domain: roborock +ha_integration_type: virtual +ha_supporting_domain: xiaomi_miio +ha_supporting_integration: Xiaomi Miio +ha_release: 0.51 +ha_codeowners: + - '@rytilahti' + - '@syssi' + - '@starkillerOG' +ha_config_flow: true +ha_platforms: + - air_quality + - alarm_control_panel + - binary_sensor + - button + - device_tracker + - diagnostics + - fan + - humidifier + - light + - number + - remote + - select + - sensor + - switch + - vacuum +ha_iot_class: Local Polling +ha_zeroconf: true +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/roku.markdown b/source/_integrations/roku.markdown index ce8cd0e15af..3dcd701713b 100644 --- a/source/_integrations/roku.markdown +++ b/source/_integrations/roku.markdown @@ -24,7 +24,7 @@ ha_platforms: - remote - select - sensor -ha_integration_type: integration +ha_integration_type: device --- The Roku integration allows you to control a [Roku](https://www.roku.com/) device. diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index a0367415fd6..ecaf985ae1a 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -7,6 +7,8 @@ ha_release: 0.31 ha_iot_class: Cloud Polling ha_codeowners: - '@fabaff' + - '@gjohansson-ST' + - '@epenet' ha_domain: scrape ha_platforms: - sensor diff --git a/source/_integrations/screenaway.markdown b/source/_integrations/screenaway.markdown new file mode 100644 index 00000000000..2d8012c2850 --- /dev/null +++ b/source/_integrations/screenaway.markdown @@ -0,0 +1,21 @@ +--- +title: ScreenAway +description: Connect and control your ScreenAway devices using the Motion Blinds integration +ha_category: + - Cover +ha_domain: screenaway +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 +ha_codeowners: + - '@starkillerOG' +ha_config_flow: true +ha_platforms: + - cover + - sensor +ha_iot_class: Local Push +ha_dhcp: true +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/season.markdown b/source/_integrations/season.markdown index 1700f035cd1..2e7907697d5 100644 --- a/source/_integrations/season.markdown +++ b/source/_integrations/season.markdown @@ -13,7 +13,7 @@ ha_platforms: - sensor ha_codeowners: - '@frenck' -ha_integration_type: integration +ha_integration_type: service --- The season integration will provide the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) diff --git a/source/_integrations/sensorblue.markdown b/source/_integrations/sensorblue.markdown index 5aa323fae4e..99b916ffb9f 100644 --- a/source/_integrations/sensorblue.markdown +++ b/source/_integrations/sensorblue.markdown @@ -3,18 +3,18 @@ title: SensorBlue description: Connect and control your SensorBlue devices using the ThermoBeacon integration ha_category: - Sensor -ha_bluetooth: true ha_release: 2022.9 -ha_iot_class: Local Push +ha_domain: sensorblue +ha_integration_type: virtual +ha_supporting_domain: thermobeacon +ha_supporting_integration: ThermoBeacon +ha_bluetooth: true ha_codeowners: - '@bdraco' -ha_domain: sensorblue ha_config_flow: true ha_platforms: - sensor -ha_integration_type: integration -ha_supporting_domain: thermobeacon -ha_supporting_integration: ThermoBeacon +ha_iot_class: Local Push --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/sentry.markdown b/source/_integrations/sentry.markdown index 4c98a49c63f..febe05e1878 100644 --- a/source/_integrations/sentry.markdown +++ b/source/_integrations/sentry.markdown @@ -10,7 +10,7 @@ ha_codeowners: - '@dcramer' - '@frenck' ha_domain: sentry -ha_integration_type: integration +ha_integration_type: service ---
diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index 0e69c2b0ce8..72ca5b750e7 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -32,7 +32,7 @@ ha_platforms: - sensor - switch - update -ha_integration_type: integration +ha_integration_type: device --- Integrate [Shelly devices](https://shelly.cloud) into Home Assistant. diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown index 8fbcbfec86b..13b12469ae7 100644 --- a/source/_integrations/simplisafe.markdown +++ b/source/_integrations/simplisafe.markdown @@ -19,7 +19,7 @@ ha_platforms: - lock - sensor ha_dhcp: true -ha_integration_type: integration +ha_integration_type: hub --- The `simplisafe` integration integrates [SimpliSafe home security](https://simplisafe.com) (V2 and V3) systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated. diff --git a/source/_integrations/simply_automated.markdown b/source/_integrations/simply_automated.markdown new file mode 100644 index 00000000000..fdf86e0d5ac --- /dev/null +++ b/source/_integrations/simply_automated.markdown @@ -0,0 +1,21 @@ +--- +title: Simply Automated +description: Connect and control your Simply Automated devices using the Universal Powerline Bus (UPB) integration +ha_category: + - Light + - Scene +ha_domain: simply_automated +ha_integration_type: virtual +ha_supporting_domain: upb +ha_supporting_integration: Universal Powerline Bus (UPB) +ha_release: '0.110' +ha_codeowners: + - '@gwww' +ha_config_flow: true +ha_platforms: + - light + - scene +ha_iot_class: Local Push +--- + +{% include integrations/supported_brand.md %} diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown index 0db56b4eb0f..242968d61ac 100644 --- a/source/_integrations/slack.markdown +++ b/source/_integrations/slack.markdown @@ -12,7 +12,7 @@ ha_codeowners: - '@tkdrob' ha_platforms: - notify -ha_integration_type: integration +ha_integration_type: service --- The `slack` platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/). diff --git a/source/_integrations/smart_blinds.markdown b/source/_integrations/smart_blinds.markdown index d0d2453daae..2034bdecc7d 100644 --- a/source/_integrations/smart_blinds.markdown +++ b/source/_integrations/smart_blinds.markdown @@ -4,18 +4,18 @@ description: Connect and control your Smart Blinds devices using the Motion Blin ha_category: - Cover ha_domain: smart_blinds +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/smart_home.markdown b/source/_integrations/smart_home.markdown index af3d88c0713..5ff7c3e700a 100644 --- a/source/_integrations/smart_home.markdown +++ b/source/_integrations/smart_home.markdown @@ -4,18 +4,18 @@ description: Connect and control your Smart Home devices using the Motion Blinds ha_category: - Cover ha_domain: smart_home +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/smarther.markdown b/source/_integrations/smarther.markdown index 3bd187365cd..db9ec1a3223 100644 --- a/source/_integrations/smarther.markdown +++ b/source/_integrations/smarther.markdown @@ -13,9 +13,12 @@ ha_category: - Switch - Weather ha_domain: smarther +ha_integration_type: virtual +ha_supporting_domain: netatmo +ha_supporting_integration: Netatmo +ha_release: '0.20' ha_codeowners: - '@cgtobi' -ha_integration_type: integration ha_config_flow: true ha_platforms: - camera @@ -28,9 +31,6 @@ ha_platforms: - 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/snooz.markdown b/source/_integrations/snooz.markdown index e1b32ee68de..5751f78bb1d 100644 --- a/source/_integrations/snooz.markdown +++ b/source/_integrations/snooz.markdown @@ -1,10 +1,10 @@ --- -title: SNOOZ +title: Snooz description: Instructions on how to integrate SNOOZ devices into Home Assistant. ha_category: - Fan ha_bluetooth: true -ha_release: "2022.11" +ha_release: '2022.11' ha_iot_class: Local Push ha_codeowners: - '@AustinBrunkhorst' diff --git a/source/_integrations/solaredge.markdown b/source/_integrations/solaredge.markdown index 0b05eb58702..712c3d73393 100644 --- a/source/_integrations/solaredge.markdown +++ b/source/_integrations/solaredge.markdown @@ -13,7 +13,7 @@ ha_platforms: - sensor ha_codeowners: - '@frenck' -ha_integration_type: integration +ha_integration_type: device --- The `solaredge` platform uses the [SolarEdge Monitoring API](https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf) to allow you to get details from your SolarEdge solar power setup and integrate these in your Home Assistant installation. diff --git a/source/_integrations/somfy.markdown b/source/_integrations/somfy.markdown index 956d347f7d1..d11d6669009 100644 --- a/source/_integrations/somfy.markdown +++ b/source/_integrations/somfy.markdown @@ -17,11 +17,14 @@ ha_category: - Siren - Switch ha_domain: somfy +ha_integration_type: virtual +ha_supporting_domain: overkiz +ha_supporting_integration: Overkiz +ha_release: 2022.2 ha_codeowners: - '@imicknl' - '@vlebourl' - '@tetienne' -ha_integration_type: integration ha_config_flow: true ha_platforms: - alarm_control_panel @@ -39,11 +42,8 @@ ha_platforms: - siren - switch ha_iot_class: Cloud Polling -ha_zeroconf: true ha_dhcp: true -ha_supporting_domain: overkiz -ha_supporting_integration: Overkiz -ha_release: 2022.2 +ha_zeroconf: true --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/spotify.markdown b/source/_integrations/spotify.markdown index 893bdf95f81..3266a0a58f0 100644 --- a/source/_integrations/spotify.markdown +++ b/source/_integrations/spotify.markdown @@ -13,7 +13,7 @@ ha_domain: spotify ha_zeroconf: true ha_platforms: - media_player -ha_integration_type: integration +ha_integration_type: service --- The Spotify media player integration lets you control your Spotify diff --git a/source/_integrations/stookalert.markdown b/source/_integrations/stookalert.markdown index 67ee2be959e..3b509e6f748 100644 --- a/source/_integrations/stookalert.markdown +++ b/source/_integrations/stookalert.markdown @@ -14,7 +14,7 @@ ha_config_flow: true ha_platforms: - binary_sensor - diagnostics -ha_integration_type: integration +ha_integration_type: service --- The Stookalert integration queries the [RIVM Stookalert](https://www.rivm.nl/stookalert) API for unfavorable weather conditions or poor air quality. With a Stookalert, the RIVM calls on people not to burn wood. This can prevent health problems in people in the area. diff --git a/source/_integrations/stream.markdown b/source/_integrations/stream.markdown index e2a685c66a7..179ad0d18cf 100644 --- a/source/_integrations/stream.markdown +++ b/source/_integrations/stream.markdown @@ -13,7 +13,7 @@ ha_codeowners: ha_domain: stream ha_platforms: - diagnostics -ha_integration_type: integration +ha_integration_type: system --- The stream integration provides a way to proxy live streams through Home Assistant. Most users should not need to configure anything or interface with the component directly since it is an internal component used by the [camera integration](/integrations/camera). diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown index a567cd1fd9e..b7f47abcf16 100644 --- a/source/_integrations/switcher_kis.markdown +++ b/source/_integrations/switcher_kis.markdown @@ -13,7 +13,9 @@ ha_codeowners: - '@thecode' ha_domain: switcher_kis ha_platforms: + - climate - cover + - diagnostics - sensor - switch ha_config_flow: true diff --git a/source/_integrations/symfonisk.markdown b/source/_integrations/symfonisk.markdown index aad0b6c6bd9..2b64d389439 100644 --- a/source/_integrations/symfonisk.markdown +++ b/source/_integrations/symfonisk.markdown @@ -6,13 +6,13 @@ ha_category: - Sensor ha_domain: symfonisk ha_release: 0.7.3 -ha_iot_class: Local Push -ha_config_flow: true -ha_domain: sonos +ha_integration_type: virtual +ha_supporting_domain: sonos +ha_supporting_integration: Sonos ha_codeowners: - '@cgtobi' - '@jjlawren' -ha_ssdp: true +ha_config_flow: true ha_platforms: - binary_sensor - diagnostics @@ -20,10 +20,9 @@ ha_platforms: - number - sensor - switch +ha_iot_class: Local Push +ha_ssdp: true ha_zeroconf: true -ha_integration_type: integration -ha_supporting_domain: sonos -ha_supporting_integration: Sonos --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/system_log.markdown b/source/_integrations/system_log.markdown index b2e4889099e..a4e0d578c07 100644 --- a/source/_integrations/system_log.markdown +++ b/source/_integrations/system_log.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.58 ha_quality_scale: internal ha_domain: system_log -ha_integration_type: integration +ha_integration_type: system --- The `system_log` integration stores information about all logged errors and warnings in Home Assistant. To view your logs, navigate to **Settings** -> **System** -> **Logs**. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the number of stored log entries using the parameter `max_entries`. diff --git a/source/_integrations/tailscale.markdown b/source/_integrations/tailscale.markdown index 2055031abc7..387852e8a39 100644 --- a/source/_integrations/tailscale.markdown +++ b/source/_integrations/tailscale.markdown @@ -16,7 +16,7 @@ ha_platforms: - diagnostics - sensor ha_quality_scale: platinum -ha_integration_type: integration +ha_integration_type: hub --- The Tailscale integration integrates the [Tailscale](https://www.tailscale.com) API diff --git a/source/_integrations/thermoplus.markdown b/source/_integrations/thermoplus.markdown index 5881e64d8f8..4eaeb30e3db 100644 --- a/source/_integrations/thermoplus.markdown +++ b/source/_integrations/thermoplus.markdown @@ -3,18 +3,18 @@ title: ThermoPlus description: Connect and control your ThermoPlus devices using the ThermoBeacon integration ha_category: - Sensor -ha_bluetooth: true ha_release: 2022.9 -ha_iot_class: Local Push +ha_domain: thermoplus +ha_integration_type: virtual +ha_supporting_domain: thermobeacon +ha_supporting_integration: ThermoBeacon +ha_bluetooth: true ha_codeowners: - '@bdraco' -ha_domain: thermoplus ha_config_flow: true ha_platforms: - sensor -ha_integration_type: integration -ha_supporting_domain: thermobeacon -ha_supporting_integration: ThermoBeacon +ha_iot_class: Local Push --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/tile.markdown b/source/_integrations/tile.markdown index 781210a7899..186a32d6cd7 100644 --- a/source/_integrations/tile.markdown +++ b/source/_integrations/tile.markdown @@ -12,7 +12,7 @@ ha_config_flow: true ha_platforms: - device_tracker - diagnostics -ha_integration_type: integration +ha_integration_type: hub --- The `tile` platform allows Home Assistant to utilize [Tile® Bluetooth trackers](https://www.thetileapp.com). diff --git a/source/_integrations/tomorrowio.markdown b/source/_integrations/tomorrowio.markdown index be055a392f6..ccca0e11491 100644 --- a/source/_integrations/tomorrowio.markdown +++ b/source/_integrations/tomorrowio.markdown @@ -16,7 +16,7 @@ ha_domain: tomorrowio ha_platforms: - sensor - weather -ha_integration_type: integration +ha_integration_type: service --- The Tomorrow.io integration allows you to obtain weather, air quality, pollen, and fire information from the [Tomorrow.io API](https://www.tomorrow.io/weather-api/). diff --git a/source/_integrations/tractive.markdown b/source/_integrations/tractive.markdown index 43b5295a5f9..82e454491f5 100644 --- a/source/_integrations/tractive.markdown +++ b/source/_integrations/tractive.markdown @@ -17,7 +17,7 @@ ha_platforms: - diagnostics - sensor - switch -ha_integration_type: integration +ha_integration_type: device --- [Tractive](https://tractive.com/en/) is an Austrian company that develops real-time location trackers for pets and other animals using GPS and GSM technology. diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown index 75ed1867da7..c5b29fd322a 100644 --- a/source/_integrations/tuya.markdown +++ b/source/_integrations/tuya.markdown @@ -43,7 +43,7 @@ ha_platforms: - switch - vacuum ha_dhcp: true -ha_integration_type: integration +ha_integration_type: hub --- The Tuya integration integrates all Powered by Tuya devices you have added to the Tuya Smart and Tuya Smart Life apps. diff --git a/source/_integrations/twentemilieu.markdown b/source/_integrations/twentemilieu.markdown index 1e76206dcf1..b233d5351ff 100644 --- a/source/_integrations/twentemilieu.markdown +++ b/source/_integrations/twentemilieu.markdown @@ -16,7 +16,7 @@ ha_platforms: - diagnostics - sensor ha_quality_scale: platinum -ha_integration_type: integration +ha_integration_type: service --- The Twente Milieu integration allows you to track the next scheduled waste diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown index 76fb7ae602e..b8eba69e80d 100644 --- a/source/_integrations/unifi.markdown +++ b/source/_integrations/unifi.markdown @@ -21,7 +21,7 @@ ha_platforms: - sensor - switch - update -ha_integration_type: integration +ha_integration_type: hub --- [UniFi Network](https://www.ui.com/software/) by [Ubiquiti Networks, inc.](https://www.ui.com/) is a software that binds gateways, switches and wireless access points together with one graphical front end. diff --git a/source/_integrations/upnp.markdown b/source/_integrations/upnp.markdown index 5f6b4336c15..14470896409 100644 --- a/source/_integrations/upnp.markdown +++ b/source/_integrations/upnp.markdown @@ -10,13 +10,12 @@ ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: - '@StevenLooman' - - '@ehendrix23' ha_domain: upnp ha_ssdp: true ha_platforms: - binary_sensor - sensor -ha_integration_type: integration +ha_integration_type: device --- The `upnp` integration enables you to collect network statistics from your router such as bytes in/out and packets in/out, uptime, WAN IP address, and WAN connectivity status. This information is provided by the [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)/[Internet Gateway Device (IGD) Protocol](https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol) if enabled on your router. diff --git a/source/_integrations/uprise_smart_shades.markdown b/source/_integrations/uprise_smart_shades.markdown index e1801479748..bb8d689381c 100644 --- a/source/_integrations/uprise_smart_shades.markdown +++ b/source/_integrations/uprise_smart_shades.markdown @@ -4,18 +4,18 @@ description: Connect and control your Uprise Smart Shades devices using the Moti ha_category: - Cover ha_domain: uprise_smart_shades +ha_integration_type: virtual +ha_supporting_domain: motion_blinds +ha_supporting_integration: Motion Blinds +ha_release: 2020.12 ha_codeowners: - '@starkillerOG' -ha_integration_type: integration ha_config_flow: true ha_platforms: - cover - sensor ha_iot_class: Local Push ha_dhcp: true -ha_supporting_domain: motion_blinds -ha_supporting_integration: Motion Blinds -ha_release: 2020.12 --- {% include integrations/supported_brand.md %} diff --git a/source/_integrations/uptime.markdown b/source/_integrations/uptime.markdown index 727db934cdc..a526d04479b 100644 --- a/source/_integrations/uptime.markdown +++ b/source/_integrations/uptime.markdown @@ -13,7 +13,7 @@ ha_platforms: ha_config_flow: true ha_codeowners: - '@frenck' -ha_integration_type: integration +ha_integration_type: service --- The uptime integration provides a sensor that stores the timestamp diff --git a/source/_integrations/velbus.markdown b/source/_integrations/velbus.markdown index ef325f26821..f2fdfb70ca6 100644 --- a/source/_integrations/velbus.markdown +++ b/source/_integrations/velbus.markdown @@ -3,11 +3,11 @@ title: Velbus description: Access and control your Velbus devices. ha_category: - Binary Sensor + - Button - Climate - Hub - Light - Sensor - - Button - Switch ha_iot_class: Local Push ha_release: '0.50' @@ -25,7 +25,7 @@ ha_platforms: - light - sensor - switch -ha_integration_type: integration +ha_integration_type: hub --- The `velbus` integration is used to control [Velbus](https://www.velbus.eu/?lang=en) modules. It supports the Velbus USB, Velbus serial and a TCP/IP gateway. diff --git a/source/_integrations/verisure.markdown b/source/_integrations/verisure.markdown index 25355673191..562639cb969 100644 --- a/source/_integrations/verisure.markdown +++ b/source/_integrations/verisure.markdown @@ -24,7 +24,7 @@ ha_platforms: - switch ha_config_flow: true ha_dhcp: true -ha_integration_type: integration +ha_integration_type: hub --- Home Assistant has support to integrate your [Verisure](https://www.verisure.com/) devices. diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown index 844268954bc..ed77ebe403b 100644 --- a/source/_integrations/vizio.markdown +++ b/source/_integrations/vizio.markdown @@ -13,7 +13,7 @@ ha_domain: vizio ha_zeroconf: true ha_platforms: - media_player -ha_integration_type: integration +ha_integration_type: hub --- The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/smartcast-app)-compatible TVs and sound bars (2016+ models). diff --git a/source/_integrations/watttime.markdown b/source/_integrations/watttime.markdown index 029e576ce11..29bf03abdba 100644 --- a/source/_integrations/watttime.markdown +++ b/source/_integrations/watttime.markdown @@ -12,7 +12,7 @@ ha_config_flow: true ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The `watttime` integration allows users to get real-time emissions data for a latitude/longitude from [WattTime](https://www.watttime.org). diff --git a/source/_integrations/webhook.markdown b/source/_integrations/webhook.markdown index 53ff11cb9d8..23f283bc1cd 100644 --- a/source/_integrations/webhook.markdown +++ b/source/_integrations/webhook.markdown @@ -5,7 +5,6 @@ ha_category: - Automation ha_release: 0.8 ha_quality_scale: internal -ha_category: [] ha_codeowners: - '@home-assistant/core' ha_domain: webhook diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown index 0feda64ba5b..1d4e372a936 100644 --- a/source/_integrations/webostv.markdown +++ b/source/_integrations/webostv.markdown @@ -13,6 +13,7 @@ ha_domain: webostv ha_config_flow: true ha_ssdp: true ha_platforms: + - diagnostics - media_player - notify ha_quality_scale: platinum diff --git a/source/_integrations/whois.markdown b/source/_integrations/whois.markdown index 443f751940a..4c3c533564d 100644 --- a/source/_integrations/whois.markdown +++ b/source/_integrations/whois.markdown @@ -12,7 +12,7 @@ ha_codeowners: ha_platforms: - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: service --- The Whois integration allows you to perform daily WHOIS lookups against your owned domains. This provides you with information such as `expiration_date`, `name_servers` and `registrar` details. diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown index 46d171701d5..3543b6648c6 100644 --- a/source/_integrations/wled.markdown +++ b/source/_integrations/wled.markdown @@ -24,7 +24,7 @@ ha_platforms: - sensor - switch - update -ha_integration_type: integration +ha_integration_type: device --- [WLED](https://kno.wled.ge) is a fast and feature-rich diff --git a/source/_integrations/xiaomi_miio.markdown b/source/_integrations/xiaomi_miio.markdown index a1b03de5106..eb097afbfe6 100644 --- a/source/_integrations/xiaomi_miio.markdown +++ b/source/_integrations/xiaomi_miio.markdown @@ -16,7 +16,6 @@ ha_codeowners: - '@rytilahti' - '@syssi' - '@starkillerOG' - - '@bieniu' ha_domain: xiaomi_miio ha_config_flow: true ha_zeroconf: true diff --git a/source/_integrations/yi.markdown b/source/_integrations/yi.markdown index 9aac380aae6..381fe0aae2d 100644 --- a/source/_integrations/yi.markdown +++ b/source/_integrations/yi.markdown @@ -10,7 +10,7 @@ ha_codeowners: ha_domain: yi ha_platforms: - camera -ha_integration_type: integration +ha_integration_type: device --- The `yi` camera platform allows you to utilize [Yi Home Cameras](https://www.yitechnology.com/) within Home Assistant. Specifically, this platform supports the line of Yi Home Cameras that are based on the Hi3518e Chipset. This includes: diff --git a/source/_integrations/zamg.markdown b/source/_integrations/zamg.markdown index 27aa4ce9941..46f23227abc 100644 --- a/source/_integrations/zamg.markdown +++ b/source/_integrations/zamg.markdown @@ -12,6 +12,8 @@ ha_platforms: - sensor - weather ha_integration_type: integration +ha_codeowners: + - '@killer0071234' --- The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at). diff --git a/source/_integrations/zone.markdown b/source/_integrations/zone.markdown index 04c050ae77b..b6dcda19278 100644 --- a/source/_integrations/zone.markdown +++ b/source/_integrations/zone.markdown @@ -9,7 +9,7 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: zone -ha_integration_type: integration +ha_integration_type: system --- Zones allow you to specify certain regions on earth (for now). When a device tracker sees a device to be within a zone, the state will take the name from the zone. Zones can also be used as a [trigger](/docs/automation/trigger#zone-trigger) or [condition](/docs/scripts/conditions/#zone-condition) inside automation setups. diff --git a/source/_integrations/zwave_js.markdown b/source/_integrations/zwave_js.markdown index 33374625c28..a7852001cdf 100644 --- a/source/_integrations/zwave_js.markdown +++ b/source/_integrations/zwave_js.markdown @@ -40,7 +40,7 @@ ha_platforms: - siren - switch - update -ha_integration_type: integration +ha_integration_type: hub ha_zeroconf: true --- From 372734912287b62fc00541346c2aade441755ca2 Mon Sep 17 00:00:00 2001 From: Avi Miller Date: Thu, 27 Oct 2022 09:06:27 +1100 Subject: [PATCH 72/99] Add sensor entities to the LIFX docs (#24551) Co-authored-by: Franck Nijhof Co-authored-by: J. Nick Koston --- source/_integrations/lifx.markdown | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index e9197cfc0f5..83737c6166a 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -68,16 +68,28 @@ To determine whether or not a HEV cycle is currently running, Home Assistant exp | `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. -## Applying themes +## Sensors -You can apply a pre-defined theme to a LIFX multizone device using the Theme configuration entity either manually via the drop-down box on the device configuration screen in the UI or by calling the `select.select_option` service in an automation or script. +The following sensors are available depending on the LIFX model: -When starting a hardware-based move effect, you can specify a theme using the `lifx.effect_move` service. See below for more information about this service. +| Sensor | Description | +| ------ | ----------- | +| Clean cycle | Indicates whether a HEV cycle is currently active on a LIFX Clean bulb | +| Infrared brightness | Controls the infrared brightness amount on a LIFX Nightvision bulb | +| RSSI | Indicates the current WiFi signal strength on any LIFX bulb (disabled by default) | + +Note that these sensors are only updated every 30 seconds and may not reflect the current state if changes are made externally to Home Assistant. + +## Themes + +Home Assistant provides a collection of predefined themes for LIFX multizone lights, each designed to mimic the theme of the same name from the LIFX smartphone app. + +To apply a theme interactively, use the theme selection drop-down box found on the device configuration screen. + +To apply a theme as part of an automation, use the `select.select_option` service call. You can also apply a theme when calling the `lifx.effect_move` service. See the **Light effects** section below for more details, including how to set a custom theme for that effect. The following themes are available: `autumn`, `blissful`, `cheerful`, `dream`, `energizing`, `epic`, `exciting`, `focusing`, `halloween`, `hanukkah`, `holly`, `independence_day`, `intense`, `mellow`, `peaceful`, `powerful`, `relaxing`, `santa`, `serene`, `soothing`, `sports`, `spring`, `tranquil`, `warming`. -Each theme should closely match the theme of the same name in the LIFX smartphone app but may not be identical. - ## Light effects 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: From 8ff35418ab02e2340ffb46ac1968552233feb1be Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Mon, 31 Oct 2022 10:42:30 +0100 Subject: [PATCH 73/99] Update MQTT update platform documentation (#24723) --- source/_integrations/mqtt.markdown | 6 +- source/_integrations/update.mqtt.markdown | 98 +++++++++++++++++++++-- 2 files changed, 97 insertions(+), 7 deletions(-) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index c146e11fe51..1004494a61e 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -265,7 +265,8 @@ Configuration variable names in the discovery payload may be abbreviated to cons 'dock_t': 'docked_topic', 'dock_tpl': 'docked_template', 'e': 'encoding', - 'ent_cat': 'entity_category, + 'ent_cat': 'entity_category', + 'ent_pic': 'entity_picture', 'err_t': 'error_topic', 'err_tpl': 'error_template', 'fanspd_t': 'fan_speed_topic', @@ -372,6 +373,8 @@ Configuration variable names in the discovery payload may be abbreviated to cons 'pr_mode_val_tpl': 'preset_mode_value_template', 'pr_modes': 'preset_modes', 'r_tpl': 'red_template', + 'rel_s': 'release_summary', + 'rel_u': 'release_url', 'ret': 'retain', 'rgb_cmd_tpl': 'rgb_command_template', 'rgb_cmd_t': 'rgb_command_topic', @@ -432,6 +435,7 @@ Configuration variable names in the discovery payload may be abbreviated to cons 'tilt_opt': 'tilt_optimistic', 'tilt_status_t': 'tilt_status_topic', 'tilt_status_tpl': 'tilt_status_template', + 'tit': 'title', 't': 'topic', 'uniq_id': 'unique_id', 'unit_of_meas': 'unit_of_measurement', diff --git a/source/_integrations/update.mqtt.markdown b/source/_integrations/update.mqtt.markdown index f616bd3414c..3b9afeab4cc 100644 --- a/source/_integrations/update.mqtt.markdown +++ b/source/_integrations/update.mqtt.markdown @@ -128,6 +128,10 @@ entity_category: required: false type: string default: None +entity_picture: + description: "Picture URL for the entity." + required: false + type: string icon: description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." required: false @@ -146,7 +150,7 @@ latest_version_template: type: template latest_version_topic: description: The MQTT topic subscribed to receive an update of the latest version. - required: true + required: false type: string name: description: The name of the Select. @@ -165,21 +169,33 @@ qos: required: false type: integer default: 0 +release_summary: + description: Summary of the release notes or changelog. This is suitable a brief update description of max 255 characters. + required: false + type: string +release_url: + description: URL to the full release notes of the latest version available. + required: false + type: string retain: description: If the published message should have the retain flag on or not. required: false type: boolean default: false state_topic: - description: The MQTT topic subscribed to receive an update of the installed version. - required: true + description: "The MQTT topic subscribed to receive state updates. The state update may be either JSON or a simple string with `installed_version` value. When a JSON payload is detected, the state value of the JSON payload should supply the `installed_version` and can optional supply: `latest_version`, `title`, `release_summary`, `release_url` or an `entity_picture` URL." + required: false + type: string +title: + description: Title of the software, or firmware update. This helps to differentiate between the device or entity name versus the title of the software installed. + required: false type: string unique_id: description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception. required: false type: string value_template: - description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the installed version value." + description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the `installed_version` state value or to render to a valid JSON payload on from the payload received on `state_topic`." required: false type: template {% endconfiguration %} @@ -201,13 +217,83 @@ This is an example of Update entity configuration for Shelly Gen1 device. mqtt: update: - name: "Shelly Plug S Firmware Update" + title: "Shelly Plug S Firmware" + release_url: "https://shelly-api-docs.shelly.cloud/gen1/#changelog" + entity_picture: "https://brands.home-assistant.io/_/shelly/icon.png" state_topic: "shellies/shellyplug-s-112233/info" value_template: "{{ value_json['update'].old_version }}" - latest_firmware_topic: "shellies/shellyplug-s-112233/info" - latest_firmware_template: "{% if value_json['update'].new_version %}{{ value_json['update'].new_version }}{% else %}{{ value_json['update'].old_version }}{% endif %}" + latest_version_topic: "shellies/shellyplug-s-112233/info" + latest_version_template: "{% if value_json['update'].new_version %}{{ value_json['update'].new_version }}{% else %}{{ value_json['update'].old_version }}{% endif %}" device_class: "firmware" command_topic: "shellies/shellyplug-s-112233/command" payload_install: "update_fw" ``` {% endraw %} + +JSON can also be used as `state_topic` payload. + +{% raw %} + +```json +{ + "installed_version": "1.21.0", + "latest_version": "1.22.0", + "title": "Device Firmware", + "release_url": "https://example.com/release", + "release_summary": "A new version of our amazing firmware", + "entity_picture": "https://example.com/icon.png" +} +``` + +{% endraw %} + +For the above JSON payload, the `update` entity configuration should look like this: + +{% raw %} + +```yaml +# Example configuration.yaml entry +mqtt: + update: + - name: "Amazing Device Update" + title: "Device Firmware" + state_topic: "amazing-device/state-topic" + device_class: "firmware" + command_topic: "amazing-device/command" + payload_install: "install" +``` + +{% endraw %} + +If the device/service sends data as JSON but the schema differs, `value_template` can be use to reformat the JSON. + +{% raw %} + +```json +{ + "installed_ver": "2022.11", + "new_ver": "2022.12" +} +``` + +{% endraw %} + +For the above JSON payload, the `update` entity configuration should look like this: + +{% raw %} + +```yaml +# Example configuration.yaml entry +mqtt: + update: + - name: "Amazing Device Update" + title: "Device Firmware" + state_topic: "amazing-device/state-topic" + value_template: "{{ {'installed_version': value_json.installed_ver, 'latest_version': value_json.new_ver } | to_json }}" + device_class: "firmware" + command_topic: "amazing-device/command" + payload_install: "install" +``` + +{% endraw %} From 0940dea9ef7e8b2f24ad82f13757b128ec40112b Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Mon, 31 Oct 2022 11:24:49 +0100 Subject: [PATCH 74/99] Add dashboard tile card (#24726) Co-authored-by: Franck Nijhof --- source/_dashboards/tile.markdown | 73 +++++++++++++++++++++++++ source/images/dashboards/tile_card.png | Bin 0 -> 15494 bytes 2 files changed, 73 insertions(+) create mode 100644 source/_dashboards/tile.markdown create mode 100644 source/images/dashboards/tile_card.png diff --git a/source/_dashboards/tile.markdown b/source/_dashboards/tile.markdown new file mode 100644 index 00000000000..b9ca80a6afb --- /dev/null +++ b/source/_dashboards/tile.markdown @@ -0,0 +1,73 @@ +--- +type: card +title: "Tile Card" +sidebar_label: Tile +description: "The tile card gives you a quick overview of your entity. The card allows you to toggle the entity, show the more info dialog, or custom actions." +--- + +The tile card gives you a quick overview of your entity. The card allows you to toggle the entity and show the more info dialog. A badge is shown for some entities like the [climate](/integrations/climate) or [person](/integrations/person) entities. + +

+ Screenshot of the tile card + Screenshot of the Tile card. +

+ +To add the Tile card to your user interface, click the menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Tile** from the card picker. + +{% configuration %} +type: + required: true + description: "`tile`" + type: string +entity: + required: true + description: Entity ID. + type: string +name: + required: false + description: Overwrites the name of entity. + type: string +icon: + required: false + description: Overwrites the icon of entity. + type: string +color: + required: false + description: Set the color when the entity is active. By default, the color is based on `state`, `domain`, and `device_class` of your entity. It accept [color token](/dashboards/tile/#available-color-tokens) or hex color code. + type: string + default: state +show_entity_picture: + required: false + description: If your entity has a picture, it will replace the icon. + type: boolean + default: false +tap_action: + required: false + description: Action taken on card tap. See [action documentation](/dashboards/actions/#tap-action). By default, it will show the "more-info" dialog. + type: map +icon_tap_action: + required: false + description: Action taken on icon card tap. See [action documentation](/dashboards/actions/#tap-action). By default, it will `toggle` the entity (if possible), otherwise, show the more-info" dialog. + type: map +{% endconfiguration %} + + +## Example + +Alternatively, the card can be configured using YAML: + +```yaml +- type: tile + entity: cover.kitchen_window +- type: tile + entity: light.bedroom + icon: mdi:lamp + color: yellow +- type: tile + entity: person.anne_therese + show_entity_picture: true +``` + +## Available color tokens + +Some color tokens are available to colorize the tile card : `primary`, `accent`, `disabled`, `red`, `pink`, `purple`, `deep-purple`, `indigo`, `blue`, `light-blue`, `cyan`, `teal`, `green`, `light-green`, `lime`, `yellow`, `amber`, `orange`, `deep-orange`, `brown`, `grey`, `blue-grey`, `black` and `white`. diff --git a/source/images/dashboards/tile_card.png b/source/images/dashboards/tile_card.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae0f1e0db6b3d6487ba874cd1b71cbe6a5d24f1 GIT binary patch literal 15494 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 literal 0 HcmV?d00001 From e9bfa4e5250fb4d42f913094915b2ad1be08d480 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 1 Nov 2022 10:10:31 +0100 Subject: [PATCH 75/99] Add information on water usage tracking (#24761) Co-authored-by: Martin Hjelmare --- source/_docs/energy.markdown | 1 + source/_docs/energy/water.markdown | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 source/_docs/energy/water.markdown diff --git a/source/_docs/energy.markdown b/source/_docs/energy.markdown index 31f1b58e8be..a9dcbc69284 100644 --- a/source/_docs/energy.markdown +++ b/source/_docs/energy.markdown @@ -15,6 +15,7 @@ Home Assistant is an open platform and so home energy management is not restrict - [Integrate your solar panels](/docs/energy/solar-panels/) - [Integrate your home batteries](/docs/energy/battery/) - [Integrate your gas consumption](/docs/energy/gas/) +- [Integrate your water consumption](/docs/energy/water/) - [Integrate individual devices](/docs/energy/individual-devices/) If you have a sensor that returns instantaneous power readings (W or kW), then to add a sensor that returns energy usage or generation (kWh) refer to [Riemann sum integral integration](/integrations/integration/#energy) diff --git a/source/_docs/energy/water.markdown b/source/_docs/energy/water.markdown new file mode 100644 index 00000000000..68b3fb09ce3 --- /dev/null +++ b/source/_docs/energy/water.markdown @@ -0,0 +1,29 @@ +--- +title: "Integrating your water usage" +description: "Learn how to add information about your water usage to Home Assistant home energy management." +--- + +Home Assistant allows you to track your water usage in the home energy management too. + +Although water is not strictly "energy", it is still a valuable resource to track and monitor as it is often tightly coupled with energy usage (like gas). Additionally, it can help you reduce your ecological footprint by using less water. + +## Hardware + +Home Assistant will need to know the amount of water that is being consumed in order to be able to track it. Several hardware options are available to do this. + +We have the following integrations available for existing products that can provide information about water usage: + +- [Flo](/integrations/flo) +- [Flume](/integrations/flume) +- [HomeWizard Energy](/integrations/homewizard) + +Alternatively, the following shops sell ESPHome-based devices, that use a proximity sensor to detect a rotating magnet in your water meter and use that pulse to count each liter of water used. + +- [S0tool](https://huizebruin.github.io/s0tool/) ("Made for ESPHome" approved) +- [Waterlezer dongle](https://smart-stuff.nl/product/esphome-waterlezer-dongle/) (Dutch) +- [Slimme Watermeter Gateway](https://smartgateways.nl/product/slimme-watermeter-gateway/) (Dutch) +- [watermeterkit.nl](https://watermeterkit.nl/) (Dutch) + +Maybe you like to build one yourself? Pieter Brinkman has quite a [nice blog article on how to create your own water sensor](https://www.pieterbrinkman.com/2022/02/02/build-a-cheap-water-usage-sensor-using-esphome-home-assistant-and-a-proximity-sensor/) using ESPHome, or [build a water meter](https://www.ztatz.nl/p1-monitor-watermeter/) that works with the [P1 Monitor](/integrations/p1_monitor) integration. + +For any of the above-listed options, make sure it actually works with the type of water meter you have before getting one. From e6cb20221c6e246862a78e4ad720a2d2de4c251f Mon Sep 17 00:00:00 2001 From: Ron Klinkien Date: Tue, 1 Nov 2022 10:11:41 +0100 Subject: [PATCH 76/99] Add task_ids attribute for fireservicerota incidents sensor (#24769) --- source/_integrations/fireservicerota.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/fireservicerota.markdown b/source/_integrations/fireservicerota.markdown index 74364869f6e..151c28c5866 100644 --- a/source/_integrations/fireservicerota.markdown +++ b/source/_integrations/fireservicerota.markdown @@ -63,6 +63,7 @@ This is the main entity of the integration containing the incident message as it | `longitude` | The Longitude of the incident.| | `address_type` | Type of address, e.g. `home`.| | `formatted_address` | Address in string format.| +| `task_ids` | ID(s) of appliance(s) or task(s).| ### Duty Binary Sensor From db63e59bc96ac3c719255b57ccc39890650cb9df Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 1 Nov 2022 13:04:51 -0500 Subject: [PATCH 77/99] Update oral-b for supported models (#24776) --- source/_integrations/oralb.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/oralb.markdown b/source/_integrations/oralb.markdown index de503633a57..c90709eff95 100644 --- a/source/_integrations/oralb.markdown +++ b/source/_integrations/oralb.markdown @@ -23,5 +23,9 @@ The Oral-B integration will automatically discover devices once the [Bluetooth]( ## Supported devices +- [IO 4 Series](https://oralb.com/en-us/products/electric-toothbrushes/oralbio) - [IO 7 Series](https://oralb.com/en-us/products/electric-toothbrushes/oralbio) +- [IO 8 Series](https://oralb.com/en-us/products/electric-toothbrushes/oralbio) +- [IO 9 Series](https://oralb.com/en-us/products/electric-toothbrushes/oralbio) - [Smart Series 7000](https://oralb.com/en-us/products/electric-toothbrushes/smart-7000-rechargeable-electric-toothbrush/) +- [Genius Series 9000](https://oralb.com/en-us/products/electric-toothbrushes/genius-9600-rechargeable-electric-toothbrush-white/) From 95c2c0c544e66dd47f678a61ef49273b93c79d18 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 13:53:13 +0100 Subject: [PATCH 78/99] 2022.11: Getting insights into water usage --- .../_posts/2022-11-02-release-202211.markdown | 48 ++++++------------ source/images/blog/2022-11/water_usage.png | Bin 0 -> 110597 bytes 2 files changed, 16 insertions(+), 32 deletions(-) create mode 100644 source/images/blog/2022-11/water_usage.png diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 15dd79090d1..11c556eb09f 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -138,43 +138,27 @@ actually changed are reloaded. All others will remain running untouched. ## Getting insights into water usage -{% details "TODO" %} +Since Home Assistant added energy management, tracking the usage of water🚰 +has been requested quite a bit. It was [raised again during this month of WTH](https://community.home-assistant.io/t/wth-do-we-have-energy-dashboard-and-no-water-dashboard/467168), +and with over 370 votes, it is clearly wanted a lot. -- Improve extend story -- Update vote count -- Spelling/grammar -- Replace screenshots -- Link to docs -- https://github.com/home-assistant/core/pull/80888 +This release adds the ability to monitor your water usage in the energy dashboard! -{% enddetails %} +Although water is not strictly “energy”, it is still a [valuable resource](https://en.wikipedia.org/wiki/Water_resources) +to track. It is often tightly coupled with energy usage (like gas) when using +hot water, and the gained insight can help you reduce your ecological footprint +by using less water 🌎. -This has been long time requested, and was also really popular in this month's -WTH (over 350 votes!): [WTH do we have Energy dashboard and no Water dashboard?](https://community.home-assistant.io/t/wth-do-we-have-energy-dashboard-and-no-water-dashboard/467168) +The energy dashboard now includes your water usage -The request for being able to track water usage in Home Assistant comes up -quite a lot. This release add support for doing so! +Some integrations, like [Flo](/integrations/flo), [Flume](/integrations/flume), and +[HomeWizard Energy](/integrations/homewizard), have been adjusted to support +tracking water. Furthermore, you can create your own using templates, MQTT, +or ESPHome (requires [ESPHome version 2022.10.1](https://www.esphome.io/changelog/2022.10.0.html#release-2022-10-1-october-26) or newer). -

- -Note: Placeholder screenshot that needs to be replaced. -

- -

- -Note: Placeholder screenshot that needs to be replaced. -

- -The following integrations now support reporting water usage out of the box: - -- [Flo](/integrations/flo) -- [Flume](/integrations/flume) -- [HomeWizard Energy](/integrations/homewizard) -- [P1 Monitor](/integrations/p1_monitor) -- [Toon](/integrations/toon) - -Furthermore, you can of course create your own using templates, MQTT, or -ESPHome (requires [ESPHome version 2022.10.1](https://www.esphome.io/changelog/2022.10.0.html#release-2022-10-1-october-26) or newer). +[Check out the documentation](/docs/energy/water) for the hardware options +available to track your water usage or how to build your own water usage +sensors. ## Kelvin! diff --git a/source/images/blog/2022-11/water_usage.png b/source/images/blog/2022-11/water_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..f0640382c237905b59d2df59388a8191a89b8ca8 GIT binary patch literal 110597 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 z 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 literal 0 HcmV?d00001 From d83dde678ff783d1a2e21c9b109a04add18ff193 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 13:53:40 +0100 Subject: [PATCH 79/99] 2022.11: Other noteworthy changes --- .../_posts/2022-11-02-release-202211.markdown | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 11c556eb09f..84002931a80 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -256,39 +256,37 @@ of entities it provides. ## Other noteworthy changes -Entity more info dialog merged with entity settings. - -{% details "TODO" %} - -- Proof read/spelling/grammar - -**Note**: Changes processed up to PR 81007 - -{% enddetails %} - There is much more juice in this release; here are some of the other noteworthy changes this release: -- The automations and the devices dashboards now has icons on each row, making - them look al nice and shiny. Thanks, [@bramkragten] & [@frenck]. +- The default dashboard theme has been adjusted to move a little closer to the + new Material Design 3 guidelines. Borders around cards are now outlined + (instead of having a shadow), and corners are a little more rounded. +- The automations and the devices dashboards now have icons on each row, making + them look all nice and shiny. Thanks, [@bramkragten] & [@frenck]. - The unit of measurement for entities providing Gas can now be changed and converted from the UI. Thanks, [@emontnemery]! - Home Assistant is now discoverable via UPnP/SSDP, meaning your instance will - now show up in your Windows Network. Thanks, [@StevenLooman]! -- [Shelly] Gen2 devices that sleep (battery-powered), are now supported! + show up in your Windows Network. Thanks, [@StevenLooman]! +- [Shelly] Gen2 devices that sleep (battery-powered) are now supported! Thanks, [@thecode]! -- You can now use sensor providing Gigajoule (GJ) with the energy dashboard. +- You can now use sensors providing Gigajoule (GJ) with the energy dashboard. Thanks, [@emontnemery]! -- The [MQTT] integration now has support for update entities! Thanks, [@bieniu]! +- The [MQTT] integration now has support for [update entities]! Thanks, [@bieniu]! - Media player support was added to the [Jellyfin] integration. Thanks, [@Ongy]! -- The statistics card now support "week" as a possible period. Thanks, [@mib1185]! +- The statistics card now supports "week" as a possible period. Thanks, [@mib1185]! +- The [Sun condition] can now handle setting both before & after at the same + time. Thanks, [@janick]! - The "forked-daapd" project was renamed to "Owntone". The integration was now - renamed to [Owntone] too! Thanks, [@uvjustin]! -- [Fully Kiosk Browser] now provides a service to change URLs on your - wall mounted tablet remotely. Thanks, [@cgarwood]! -- The [Xiaomi Miio] integration now supported the Xiaomi Purifier 4 Lite and + renamed [Owntone] too! Thanks, [@uvjustin]! +- [Fully Kiosk Browser] now provides a service to remotely change URLs on your + wall-mounted tablet. Thanks, [@cgarwood]! +- The [Xiaomi Miio] integration now supports the Xiaomi Purifier 4 Lite and the Roborock S7 MaxV. Thanks, [@alexdrl] & [@starkillerOG]! -- When setting up an new [Generic Camera], you will be present a preview +- The [UniFi] integration now provides individual PoE control per port for + the client and device PoE (switches are disabled by default). + Thanks, [@Kane610]! +- When setting up a new [Generic Camera], you will be presented with a preview of the camera showing you if it works. Nice! Thanks, [@davet2001]! - Support for `unique_id`s was added to the following (YAML capable) integrations: - [Bayesian], added by [@HarvsG] @@ -305,6 +303,8 @@ noteworthy changes this release: [@frenck]: https://github.com/frenck [@gjohansson-ST]: https://github.com/gjohansson-ST [@HarvsG]: https://github.com/HarvsG +[@janick]: https://github.com/janick +[@Kane610]: https://github.com/Kane610 [@mib1185]: https://github.com/mib1185 [@Ongy]: https://github.com/Ongy [@starkillerOG]: https://github.com/starkillerOG @@ -320,6 +320,9 @@ noteworthy changes this release: [Owntone]: /integrations/forked_daapd [Scrape]: /integrations/scrape [Shelly]: /integrations/shelly +[Sun condition]: /docs/scripts/conditions/#sun-condition +[UniFi]: /integrations/unifi +[update entities]: /integrations/update [Xiaomi Miio]: /integrations/xiaomi_miio ## New Integrations From 9638b7499503ed051e25701a93a476c3d63117a4 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 13:53:55 +0100 Subject: [PATCH 80/99] 2022.11: Integrations now available to set up from the UI --- source/_posts/2022-11-02-release-202211.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 84002931a80..2ad0fc7a192 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -344,9 +344,12 @@ We welcome the following new integrations in this release: The following integrations are now available via the Home Assistant UI: +- [APC UPS Daemon], done by [@yuxincs] - [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)], done by [@killer0071234] [@killer0071234]: https://github.com/killer0071234 +[@yuxincs]: https://github.com/yuxincs +[APC UPS Daemon]: /integrations/apcupsd [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)]: /integrations/zamg ## Need help? Join the community! From d8d915b4a56aeb6c458e6597e4f7a1becde60f07 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 15:37:30 +0100 Subject: [PATCH 81/99] 2022.11: The first day of the week --- .../_posts/2022-11-02-release-202211.markdown | 27 +++++++++--------- .../blog/2022-11/first-day-of-the-week.png | Bin 0 -> 77437 bytes 2 files changed, 14 insertions(+), 13 deletions(-) create mode 100644 source/images/blog/2022-11/first-day-of-the-week.png diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 2ad0fc7a192..658cbb20402 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -60,7 +60,7 @@ Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET). - [Getting insights into water usage](#getting-insights-into-water-usage) - [Kelvin!](#kelvin) - [Long-term statistics in the entity dialogs](#long-term-statistics-in-the-entity-dialogs) -- [Change the first day of the week](#change-the-first-day-of-the-week) +- [The first day of the week](#the-first-day-of-the-week) - [New template features](#new-template-features) - [Other noteworthy changes](#other-noteworthy-changes) - [New Integrations](#new-integrations) @@ -210,23 +210,24 @@ Nice long-term statistic graphs are now shown in the entity dialogs. Note: Placeholder screenshot that needs to be replaced.

-## Change the first day of the week +## The first day of the week -{% details "TODO" %} +The start of the week can differ for many of us. Your week will start on +Saturday, Sunday, or Monday based on where you are, your locale, or maybe +personal preference. As pointed out in +[this WTH topic](https://community.home-assistant.io/t/wth-week-starts-on-sunday/468998). -- Add a story -- Spelling/grammar -- Replace screenshot -- https://github.com/home-assistant/frontend/pull/14199 +Home Assistant will try to auto-detect the correct day to start the week +based on information provided by your browser. However, if it cannot detect it, +or in case you have a personal preference, you can now set it on your user profile. -{% enddetails %} +Screenshot showing you can now set the day of the week from your user profile page -WTH: https://community.home-assistant.io/t/wth-week-starts-on-sunday/468998 +You can now set the day to start the week at {% my profile title="in your user profile" %}. -

- -Note: Placeholder screenshot that needs to be replaced. -

+Settings it means that all date inputs, date range pickers, schedules, calendars, +and even time conditions in automations, will take this into account when +displaying weeks. ## New template features diff --git a/source/images/blog/2022-11/first-day-of-the-week.png b/source/images/blog/2022-11/first-day-of-the-week.png new file mode 100644 index 0000000000000000000000000000000000000000..767b0a8a7cbb8c5ff536a0bf5a545c99f106d414 GIT binary patch literal 77437 zcmZ5{1yodB_ctjZBBgYvNDI<1CQ&*ow7W^eX9FtXlMiquVvq(p<%Y6p|99R61oVMTGP|gk8ZsjA^z8Q(`cZJmDi>Fs4Fy|wB6ZQCtxzv{bP};nMj$_e5 z?@rTBot=_r(DMEkG|C>ZIQ<`TaVRd1@*f^gV&;|bUi@z1>Evkc^)DgFPe6NH>g21n zyka^7ypHkxh;0AoA_tzg|Doj`RAL&nya<)}13C3G0c)INbbV1nxGeBLw0!tcNbrF? z@2$1M3-2JgW6N`|d~KK^&Ft8_%L-0##;_oTmNO4QIiaJF<5|X;70dJby22(1$U8_)$U7JmGUFCJ_ zA!@_VeEh_eltS9OkCN1jbNwsZyua437iW*4? z0`S5cPIMe69>#eS*2>8r+3{Qq{Hv6gmuYBOFTK&aN<4o%!W?POc0Efl4kyhfALxFu zviaaR;yGd+u}{Fvi-TczJG{eNk?oF2D4 zUE#+7+-~{!WZ4#c=6?ZV0$pf;X}ve&ip`(=5I18O3QDCAElmCa5XFy@qaR~*M&2OZ z+Cl~cZX%X1{zHJ3Xm-SnFZ{XTiA~VTkouTU(@6qBZAxm{HC)zgkb1Iy;d`agcZWxU z-Y6`H_gCP5ctP<1Kp*eO^%GRfv1Hr)p>#|H{xIv%ez5L$-?QVuW&V#Ns?l`Wth42w zDUQK*^U>~07xjSsvVRGshS-Oz+FT7SVGuDiDaTeOS3>;KiNY`Fv62q)gQ z@1Z~0#(`rvY`b_zeQW9mc#>Sg$z}L3Pxi8u0!AnahAEAs90l*G3DV_Vk{_S@kwd0W zYO+~GuA-D{&Q-T?LDukwtJ;gQ@|NNMq@&I1^zueD3B-u$#2HCJF14=$SuQ}qTQ9(< zInJ*SvF1r%Ky@WnOFAFHG$X1%2*O+O^JYbN%(jtT!S;a(&YQ0ZsbC9^%FbN3HU;xj z(d$`AKZ`0;WKI^>i9H4}$=XqJlhMtTDGMk~h1C<}}sQdp-eL zz7+B%Vk$MI-^vCT-4L#{gP(w-AKFZN>w*L6FRnwDfdl`sME+aTc?yWq= zSnN|7evJKoOMJ-U`AugnCuFq8-bW8HVuiT!M#w;#;{SsgAZiq_yFQZuSQ&YR*lq_4 zBkF~gYrT-g`|yiM8NR30skB?!4clEvn$0IoC*~9KiR9pm6Y2-o6`ZKyaGA`zad(>9I~bbvpAO>fc`1&X zxi(py4u=b@XiR{fQ>S0tAt<1#vCQ?;Wql`dSqQ64zexhhDXywpH@r@i$a%R-^LBQS zL}SU50CZJd({E31aiZe5huJgTDD_eRp;u0~<4D^x20l&scOWD?Y-EE_6WhDPe)Arr z9lR^h*$z(Y>&FCn$RIx(j+xG6)GgPq3JiNfym3uC?84Fw$$BD&QZH-jW}Zs{D&ZfA zqR&K`)NVu(J0EP)jOb|izk@TL!=u(mXLKNzaQj2x^ndC&3JPaOp+*K}A?@_yppQu> zX4l-FTO|T;JjgG3q#~$skm}~N>lkkDNc{1 zMrvNm>#s~!?wt@KjaIZhu&(qF`<2LWWjqKky#92b)O+k-yn^~|RIVXRAY&xQxu{l; zLolGjte56Vb^wsr(ZyR!_pZiu0H;t7P=^UJwmp_d2Ia=mTh$^M8)x00@5u&C)_cy) zwMU<69_2=V^ZEhbdEl}SR7K%|e$pfCR>8cR|3UCHK4es$?CE)I=#)yGKFqA{yh@q& z#`MT@Vw?HGOcMAMYr1P3qS;re=UzTDTIb}Tc02!tx!I)& z|3G=T>Vy0!T_6xziSIu>DW(wunQGdP&ukxy~s zIp6LsTcsBP-9|58Bl@E){@aXDVSppp0Gxlv;g$6@rdzOgs6)Y%V8Z67ly9=rgI2`e z1^4B@V@~^M+*^W!Nb=+(llu?@zp5(6+~&LPtRAX%Gcq^6DWA2w`B2-BANg=jRlS2? zD`Ay(+7EXAwkHpuzDMmf7$$@Zejn0mL+%!GlW*%R)NYYUJ#b)XAJoVI z;g9Bq(pT=*55)DFs02-K*QO>!F1vk=er2+6jfdv_!!?VF{=$n#Oas5lzDDG78Ns}I zaIlWp9*!c{?#x^@`5tC((r0hj~D$|2~?P2_tUNA;BnVWL*Y`4_%WP zcFvaqd20HdJ`LWpqMdZZE4A))AJWpP#P`)}y%$|x>{@);|MBLdfH?u+16tFbU%PVR z$V7mEF}>-lM0O*bv;ve>@7m;t*z@f+Hs5zIr0j!`A^-3>`X6TAI>dr zfm7t*rGb63o0vDnStSDLm>>&JX+AR>RCIHdPwYZa`-zRXKu?5;sj2Cfy6%>`Qt7uR zTbUI7x~eHDIxkXEQs#|b(_Ce3HK;(ihG+)$S5Z0U?4i6POWBA|Fi8>}+h2xnsuRM2 z+ma5?*}9oHw-K$rdD9MEg>IP7^B*546U-jI_%ujC`TSJtR`^~yhYu~fC5{0tntjJTji?RO6KrA;B;3stnB*#92Fzi%jnnlT6NI$@0}3)jGT~vq=p!WZsv|V z#+0ObuvDL?97C_ijNo{juYD7IBNwDG*Dqu97V9t7nO2?7g^Vdh zT7T&~QEg|vLn-Z%88obhxPoR7zVqzT_;b*I_}`TV{1w2P->of)ex-IAoOyi_PDl%f zPJ<`WjxcRO%$?OVsftg0ITvE!VqZNIjYbdLy529ZX`Lu|_5p%HY{_wNPZ?+-Dc_>z zF$Or2C{w?FxEYKGWkF-gup>Iq4+N|bkymr8mGf*vnJqVS4sU`3pO@!^g`9*qwSx#4 z1BhPYG6vwj#%;@{rje_sij%vibbHfm18jlkEQ4`+FXJHYNYi zQ#U*z_(K$rERz(M9HgAfSO06K6pID!TnH%3VrD| zz`=#uYpWz5hs|L^@$wFt1%s+@ zr-iX>r>5A`s}${SOK8nB=p2${{|?63iOR5B^ueP=tJS^kr*_f3c;+*Y)+Aq5_E@{O zmWoNQtRPDzL8T_pcn?p!NI>_ja-R+<%EkJ%PVSLw(Y!9FIj!*Y=$gH}9vWlPW<*YX zud!G-OD92(l8(!|q&&F(gUZJ z65jw}58a1W?mfJrFMIaG5|#QDIQc=UH*LRf0(}3` zbS>q#=-Goc9k!8BItN9Hzd<8D1*h|74R!9a#-uMssQE`ktHs|}m`&4KCDaC*a*X+5){eGUBv3Mt;9Ud)<{hy}1 zVFv#bj#f1gFe^}_Yq8fr9fej-99o#YC&hp&8q#pC$_hqlHO*q`o+6q+?F1kE6y9M{ zot^D}j#;9RG=J;%!Up|I(c=Sq>>q`K?^m)$4u59kAA4`Kn}$J@dKvy1Agjc;e$1#; zGD;K6fc&f)?VAkJgjFa875MlZ5(Y10yjTbO$FIm|$DgpiE2yKl>#hNUL+5 z`AC$6GM`B40!g(n61HSf9FX5dXyot}0e^X*Z?{9ly7f&roE?&-e3m@uSHBLMgdJ z45If&cD@eUlWdAL@YlU^5LmYp0f17JO6#%?V7w=^8w z&Q^1*VLGGtcFa3#pJBcgw0&p!gK^S#=;!AoEKHg_GT_+ETvh-%OOd;B5>ReD@z`e}y zH^iqjaF?yup8QANgEWpDkG+((ceK?)rGILmM5QcT9_P781%^rGIXIRU;;u?p)A_uM zrY1T<@ji9@ePb7vZ9o7Aj7^o}lo|?C3;Z^+6O+G7{Wui(^mZ8?9i5uTe$Un5;=W}` zZ*CO>i2k8*Tnv7`G*4>77W``puBOZ2HYE`e(L0`4Llq-`lYRnQqO68XwI^q?W z$H7*{^M@^+9nBi-KGZ4q4A;6(AfS-1bjFe?d45pH;WJdU#r<1g4gcDd&;T*H5?1gG z)^52W*#G!r*KO5qIf>(2;ZLnI9(J$*m-2yrN^{$1A9j+5$DS9dxqD36dyXORFU;+U z9+0F&+>4zGjM}Bq%NAobD)X6yiUo)@W2p*bm;d@72Qhm3VWU7L%B?61xWS)YR=3A# zH(%SZv+j?=@$2MG_`=5EF3hJWk4pGO#bmK1ayvZDdq&U zojXz)%aa@vdF_|9%WG|~{UJD4X5R7*cd~1O6196!eIIt!M`=*|DA?H{#DK?#+xitX ztsT0e6O9m`U${}bNtE62akQjv+68xVsdW|H9*5|$oevOoiDyX)4t_cMQ}{zhND^ls zy7$jRs~I*4(!g&PWj`AUh&SHY`y3v*bQGlo-re;sx)E)oNFJ?<*Pf(tBI%vi?VZDr z`8~u$qn~0(sHs>wLmPlN7L1LEQm)w+dQD@0Z*7`D z2Hx(n;6}JA?R;7*%MUTr7-l?0=L-y_rnv?u( zroht@8w=}$%&kDE9>f+7WrNrMa;D&q00OOC zEMRVW`ryhsU@%uY0N8?N-+jffv9L_!ws!vf;r>~DOn81aG8Za6if~oye(BEB`K_mb zP_J|QYS$rv;*6!!N1n+0h-*(#uaW*)+Ti@Km|-9T_1w#eZU(W-K#yxTqLj(e!rC}F z=JPp|^5vGqBi~G$wkyodGr7sCq7-B#U9|2`3JN3*-_}RIvu5xGl@699@Bt{ZJ7*bv zv6140&#^@E+|0f{jk6}K^BuB|ad2A!NcdfY_q&)o&C&)x!%p&O1^)ph(fdf>VKu$O zWOj{2dY!w{^3nG#Ai5~lA1SXDds}76g@1oK`O6pbF<^}KVk`>O6C`=}Qep-L`^g}Hb7N7i%^ahNk5*&Mt`mdT8sutTRSoQny1Ip!MjHbVj#mjV4 z+c?Sx$L0<)_T>0422){CD=3m~_~4 zF7jtHoYE|)3lZ64S~OOJFAxM#U)<5lGv3`Z5Edd9apjT@fjqhON zZCA{-qF8;+D!-J==~QIILnfZ;QD85t z)N3l5bwqFvB7f%0FdZa7RiXO~Im!*ByNk$>j9X@jozShwQaJwyK5Ja4 z+gwK`c5K~&TF#{uCBYln4yPEgLv*4?)bAH@LN{l0zLem=sZXnbK?z|UO#FJ@zf&6P z1I{mhrq1`VZkMGivyj2uO%E)8tDldAhCllbo}0`NjrtvO4w5T5x78{?eTmCzpglG? z#;RLID|9+*`Z8sNATcPFuma~(4LVyBLJHeM6vGpH_kQ_ek?4~IE5(9FJ!ALX!&j!? zp8U+M4Q@y=!8h=eViu%?@C~+c^FG$LCALI9R!T^em6kq_Yiv9HLM`2kt!7ZBk9UouUNGZwx)>OpFPr%uHHwt+4qm<6QeGUZo)0^kbYXxO?=cystyETU}#pg z#-(A-UCCaSBwe^g(E{&%-|Gz$@}?^O!Tu2#urrF2%6%!bSM-AD{g;Zw{RT>`P$t%Z zkO`h18A~TLToSeKh3l(Du+2l;>hWE-6XM0%i7OMPubl6o9pt^$dsu=zFH7x(sw8Xt z%;#zCk+LF(6Wia-WYAc+@LTA=AGN6+znYS}aiz$G&>yyJJwwYkqQ@oKjkw3Eyje@{ zt0q`8F%w!%5|%Zec(SAQ;N#lW3hG7m-UG9Iqj&kb@AE~CI5T=lWdhfOn7RSBFd7nG5-KQ561Odctq=BeQ$Q?N-mO0g$D4pID>uH`-p z$lCVun?Sj~f!w=#h=qV9nkZW0=`O$gw8>Up7glB2Wb2@6uvPfJs^M^%NzPkwUC`}? zX2mxSAQrx}%vaiZOE-(Q`!jI;Xz{THl5J%H#f-}ytEz_X0lx6g+s=xEEh`lv8;|xX z)weP0O%=IfI9M@NYz>z89fpl1>oxCxPnXD718~0=d}&UuJlfyR;um^LfomANI@z_t z-0_@fmL(*$5V-57a_mny0<^*tzWw2HtYp)P>GsM0Ld5tN!N);Bl6;b-L`yGefI?Xw7qRBjSZ@bqMTBpZV1=u&i~n|jsDLps?11ko z!2%G?>urK-aCG24*!I{$D`U>+Hf~=TrJ2a-C%HA3iiu6ywGcG*G^3Pa=qm2)ETYH6 z34bvjt<8QQ@>C>-WN2ul)P3*cH$}sj)jFq_l?e04JHO@zE?%nsLijXrJi$)c4Rv~z z4=5{hG@oRzZ_BNl)Vd9tc)z&n<1>|ESelGaYB9<5+Np)Z*uyG%FcaiEb7WgW@FtMe zFlGS}ed5`J4`zZdvfC;Y1X!#hZ^&4p8cE*Qd-1bst{r;3h>lus#2%Hlxd%5N3(pnJ=z=>7dpHO$dCsfME%@wbB`!(8t z3C%X$T8FWIvxToKTQm5I`RR%G4$QVDqLksO@a36N_>)I6xt#=}EwcidGHfkaYiWc; z9v38?WmE?6SQ)<vozrHeBelf8GF`|P)|=H22YuNh`rY1AUl6vhWz zYGyh%>z5g`qgK|<2-{3y_jMA8+KycobG7!plb6WT?e`i^o8Qr>*FIo8Xslup;e0Cx zGQ@mtxnxr=Jte0oT{~pBSvjh+D6*%PTP)X`vRBWY`qH^d@}0o#V|&e?)aG8E`TFm| znZ4=r^aPLVihY`uf0<0C@a`mdn(*Y3OIAv?VB)@VY~ankC-bIP3$PcM5Tm>!_&I-n z>sCVPSuwHO-f}g?SLajvFG}qWt0T1+S6-~LYVg8c~=YWP@2!q zg$I-SxOeZxEU_3tZBOD!)*(?d;+^1vJ;T9ce1zSW!t>&iBeXM%`id$YVas!`PT+XY_u~e2A>y3Xtn;N=K zPT2f{!92Z|WuRFbT{_`U*4YZwiC&G@*JX_WtBMUk`WOxpl-wU zPc0U(t@-hdtd<%57=tI-(GPGKItGUDjed`VbH2<2r!!nSYi zj@OaWo8nZ&61X^|Vj5o!*P^5iy6ztxWSr`;EMJwd=B@3N+=9Q?A={T9b&?T@7Q2Ra zH-OdOeDDj|UZJm&Umt-&+DtJZ@Q*<9Z2ry52=7?vw1j!pD z^Kq6GkE6*o=%ct&r!t8ij=J+5sAn^_L#2ClUFwQ2(W&mfheKQK*lODuWClc+yG8R! z#pi`j9(&?4yXCSqYnS*CVt;A9F@vh3`%Q#KTXz0prU$8Q$$Eh4iMP~W%c7GJ6BEZq zfAAB1D^}(;=gH~(xn3pQI}Qs3NdUo5#jkDy0ry8dju|r;8<#Ap44;v zx(|gwD4o;-Zk5VC!@3HdbZ8MD^DH0J=*ZsDM$4fpY6L>B!?q~ULWqYnXgJ3-^@Z@I ztkBbJ(u1z2BuU}ny;D+^4K8wTY(lt?3mN;d*HV{-Srk-4j-JYRev-6*l}7)W&GmUt zV^6DgX0V`HQ@mc{q;=hKD}q~~b>{U=2=r;H)zI`A`@&hOKHhdZ{VS)PQ`uA%OaBSRR!oQhriA8JYC?gG@kk(p zM$@@suRUIUrbz_TU!tzoKPvwP?T3^HIIUepY>Q5&@KVp{S}NP5o%0hb>QfU3*rt4K$RRtxNw=PROBx>(U2wDt5JJwd!KE2`ad^ zsOscyeajB>@_t03Yq)#(xyVBg*P{Cv$Dco$ILgCaVtGBe5)tBMpjYu%$iXqG=e8fW zWy*C4W1fKQRojb^a3lBCFOAtP>tM$5=eK93c-EQ`gD*7&5mX}&Ok-3H!tHpTG)(fv z=u~^HxU|6iE4lxgrb8mJ>W)3!Me9kGFM;F4+M&8!XphGQKfbu@*?3X$jzX?4l{_9i zc?*9%FW*ytndG5J%h+BkvOFV%Off%&y}!Hz+;7Y|^T{;s1AE$!#nNLf0?cqPTNB@q zV(5;l-*;J30~GC!5@7NW8Kokmds6bG_nIR)|lks;LgW+gu)hElb7=0zL0# zi%WUD@1o;*?^#X!TEABNNz3p>%gIb=OB-Oix|Hk0|6)a%MkCc**R04Rt4d&vmJ*y5 z`N)&5_I2@eW$<4~6E(@*@C8T=SLE}i)o|51kxVng66VU*va^v8tzGau$peeB-V?gn zSXbg3Lph->-Vd5i18x>{K{zU+0#df!Xk+^MstzmY5}t4q32K3Lrj5y`Fp&NEKg zH*{~7Hh#vo11X0xhFjs$jY;>kvfcAqqxYeFp_WHD;~i<~5N*M(zvBywBib#HOT^E! z;H3Ts0wNA`&>B!1t;d2xR`WST;X6T}7dt9|>)6Dvqh-7opXxYVPX2?<55B8v+cy^( zl;b%Nl0#uG*B@hB#1&tv$JQ5~taJS%?6uVlO?ADV>a`~CHr!&#t@J&s17485}01Ihd z<-bsD;k@I3bz}l+3_w2$IDX)%<~RMVXgV~ij7;DvW`6J}k^HG|0?}bk_sWPXe_hlk z?LqAkEunv8@%Ohw_Tt_Qd+}S;wGWBq)H2Mc<)9Yz_rYVUzqpz6+aP=T4?lJs@`ZNBx zD^^qyC#vIT68zY84U9-Y&JxjAML`*TlxgjdO0fi0TenN0%1dO4!_65Fb85>rl@G24 zo_-nw?~F6OU5=`Z{;O5M%zHMD+~*QMc${IMiDnXi;iF*v_(->-YqL&p1WJ%J0xJCA zptA}yV>P^>VB;hCgCp3U4LLH@YV%%Vf&qnGu!LCmXiHq+y@_s(HJB&CURZlUIu!Eq`cxss^MAd z%F-++K-NX9kP#2dEuFp1`t~s`{HfQLH8ZF%7MPGB$M3tfYW^ULIF|aZ8hUuNLZ*=9 z(#E`u-445;6P3>6)9)am+ihjGWJ2eh6vFguJF_>90tp!v>y1oCgKs`1)j4{w z*6(qB^(O~6D50{x8;_QHuiGIphZ(Du;>c-+IvmnG6?l~;j9u)dsbfK9r8<>_5*R-V zr?Q!O?!X*&FQs`4?bKemCZS^N@(}5O^H-_QN>O>yChcF5!T=JKhd=0L2{CF@$u>IZ zi^Kvyq><@khLuoL1hXZ?>w1u~f^Chy;M$34GLr*JYIRQ2k%txj2MDh%Og4c9GrEjj zv`Ck>W}Z4hXQ zNeWTb^|MsT*4aDDm-?xAt!_GvFXx)l!qrL;h~U;8Sm5MY?Pd^X{MXW1te0A`dHM@>1*~m%`TgG1G+0$bK_QBipU@vJCOc105|16V4dbFp#R$BF`yGp za%z?iL&G-;{bSq#I%@Bv_`EC#;TAUyTb_qk0iYupyQAya<69V8IA*Uu`<4oqAS5eR zp9xD!QPPK(m&L48oz6e=w)zWAS)m>IHwVu%_~6HW5&QmT$Z7EPvgQr_8l(-NrAmcU z7n_m28I3zN=H^`4b5qvofW28#e^PHmd>QJUz|LDH2UMgq`zKuphIRTa{ZVZYI*AKN zne{EuV+(Y=2Od-J1}fV28$Yn^JPnO{q~xEenU=;THM$xlRc&^9ioqn6_d>vXe=|JP z6N);>z_z7UAPYjJ&?(fI1gCsXiMm@tk&;4r|M%}r;@ydVa7VMov;n4GBm&zjvnzFo zty)19zc+bwalY@os!;}O{_)6xO(esW{Le&SmKw`vEyneThU;>aNjJ)~@6?Il8&X>fFW~D}p-hMS^Dh*9A{XXPr_vlnD%BI^yTGovCLOaYqPZZYX z>*Aevl?Ri3eFfgLJrlT_cEX3*c2#-U4Jfj$*r@#I5Y;@%XP>B8O(31Gl(_%TyeYqr zm(?TWW3<+5uo0^2$b5V2#vERN7$59Hrj%cq^2PV&32Y5*7fCMm1rD905*Ry@rCUPI z*8~Qy{niLcmEc8`Mr!BMxI0{H6;-s}s9w7Gu?MZ-WAinr#sfng=5OPU)9>N?c9O~3 zigsrW7-nU>63bJz7y)0Vq;9&l(HqfZ(HGkdq%9Ll?HOZ@6|%{+`GXu)G% z$$c--4=An3j(qH2DtMY9--@OwrL7Z~QV4Vsh%+hcWga6vkBeSNtQB~B!h#sNit=4i zZOCisx{u0V>zM_q9qm71d1hGlEN)tpUZ#geB zB2T`5)NPtw&pSl7(R|-E_yfyE)B>&J+$rC6%`%vMWN?LK<&2vS)Wj;EO*!_-UM1{` z?n760o{9NsQDA~Nm^MmRYvs%dd&%9FpsJD7^XTgfKBYwT=+uPO6o;qD@3DW(keuwN zIS2+}{KZrZmO~?x2RnJaT{YX|cS2ES-CpjsU zWK(L@BA+TPK)`n@qidV^oQD+I#48}FiYSm&O%(ZH@k;Etfam22Px?iK*p{*_#q{5( z#F~D4D9LzLvs4GLEi-hDM97@jZMSPcnqqbwL5)dS-`k9UMcr zA}PiBn-kZBqxaOUsWIcNH;R>j#(Be8Vx^bX zbw3bOb0%&roUj1>FK(ZZ9vm4V$vNz_>6W?LNuDeYy{N;`$oZrZOO}?pG8|Fsm2R+9 zB?RQ(wP|!a;y)M?FiRzkpnMuJnTAf8c`ionair;$RPBxzP|8EK(P=&0VwtsNI-Roa0W{Z}=7#F605Mm|@P;&$qX9g#~sm^TYA2Eo8sm7m&AJ;)bfctKdxD zehn2PfoeW&6I5OKIyv!#vWe)Z%h<2|KKGDLZetVP@^S9<$6J}1p;KCu2)%Xf(@ccL zA)&+kuurtUkdIEStLBs-Mso1mq0zO1$JoiJlHPd|xKH0h)QhO*Ooz776>qN2W5KMyzjc1aO3M!t(Q3EZXF=-uela zbEyf{v5;EwrSS}6adpN1nq0!NW2xe6JG{O>WcI4*<*dH4TgRjB{(?odFyj(!mO{QM zj{W;IRZn~PsDqiTj|uDS!s(qxmT=zMoe z^moaZ-*(YZOAhuAfuE_VQ;>)i)4ZKYzF`)5NsaV8{WcRMWh9rs?xdPkac6|ewTNKc z*opy$pF8X;Q5tq^eOhaj+GKUg{aMc^pTFupU$ZiLjP|9RgjS++#&(P?dU<)YbE*6% z`SIMr;|)>!!mbY5U77| zk@3fjN4FzKgXt7*DsNXam0icBPtOS2!{qqYJpyd5;I|4cea^nhw(Ae0$#@jzD*omm zqikxszWDRUY0aV>3p8zzx@Mk&JqIkb1{KRip43ym)5Ed-!HCm?IF?SlnU7k2k>!4Y zNx6wIN!4RE&X&he>i(y`s;gXzZ_e(~PswQ9TDHds3dIh!@Ca8eW3>4>shmf~W(Y1n~2k+WkBpswFH#C1}_@wr(yun!?H#ury%S+bR>JjbJ zl0P(fw$FLIr0zb}RO#*+@;5L+tG3HpNl7tRqjGmw4+ z@2nY8*c}ycV~w2_Eu+(4Y(|;A<-_&svUU(F3Qo<|`!(;B_MAyYE|lADJf#Ig%5Os9=rk;PNV1*jv#f(hz6x zk{mJrOaz5RLlNF>5uVUF4%%OnLzvm}MK)7NsnGN-!hnxIV2cUQE?yp+mI!B2N5bcB z)yA6W3#ns;kJ%RNr$el?6mxOIOT|rIyAgrA@{%MIYE8ol1*I52zv}xW*^EV;Eb!T^tMZXB@763rGtPW1RxVq4EB31vjuju23z;rZ?}j}?SQMY+58AEt_<3Oq|4<3Db}k5*8w!{5=w@Ai=yl!6wkP;RK|;A74B=r$v$! z;iwwu_2For{>WMQS!qiDX*cS9>7)^i3T+vKH)LF@QM4qA<&F4gYER z*k$!+hpOhxuYxGco5KV+{1b8q{WqUx%@X8j92IqIb_q{VD2G(+B+rs%r7qQ3<>*<` zWJv00WM6vT_*^8wZ|so|esi??%^Ed>7K>3CJ78x<>$xwwYIL*mW0$$>#`BM!HR5oY5h_eH;D@&YnicPS*WhcA>vzq%YRwwG(7J|r4_E!~kQVPQYCwYRMN zdVmtLS0$5@yR3s&&$3LFig z0&U!M_m+Cv<_@W@bwrqa5Vwn4zqlwrh0f6F^(?orPrUHf9^^fhe^c=%m@9~VeFQJ> z6=WT5_rb5{#rP#JA8O1bqO=WZvSqwXJKVBc5#7cLZSbUx%csHrJrG)McgF4V!ksZU}W;ESjw&uW#GM8h}6kwlv zOJe}Q)z;8I9fM(6>~CfKz`9soc$vJPr>^&TFTeQBdmr*MC$pZJd3X^%_D z%pqtS+M|q=;A(S5IZoSpRbd6v+q`Y+4^H`7IMOkkW;2wuUew9;2iIiX?kHq!pUn)Q zYJ0!|@6lOaq@Xok{3yqjG5PY0CXaf4Uti{a@ce*{@MbjeUk&R6#Kur(v@q}@5BE*h zk!LxJ&C%2ZLVee=EI$L0-caMDccz^Q+h@F)g<7#%z%(!hMzo~58GkF;stl<-n%3U~ z))YA=ebuhLG7$b89(#%mqqPx?$*k_(rIExM86>U4l#ccZD*kxw^hQ)bT{ZMel^!HkJV)-T5kD3{bGBnP)tbHN&Ee z6FG$)Uy2Gnq?y92r4z16FCjJV`v{MH%W&_twf`KqNZ zom+UeK>K+8=&Y@K7A|V`TTwK94U5UbeVwbj{)}4udaTkEZ+(E=U%S$=h-tFf2^^3C zgeYf*Z_htZth$Le_|2hNwfIVBsSq{kvIkPTfAIp@#xgT^Jz?Nxoc73!ci_x(E?JxR z4X--1*ecJH4WR1xJCX)(hebQ2 zmA*;b9H`hnLx5y|57j!xqRCeBYdZ0EIs>+Ro{-OK2Em#S&C~6jARRE8VN(AXb*P@V zKTMt&&RfY^M%YJh2IXk`%~_szMJJBnq{~HVX(jGfB^an}5@;=bW9PLW6wsOEEU9;? zKe<~VI*(XXndjF!8=r+wX`^Xk-f>z7OYHzpA0oflWOaiGHE29XGlzuTC6NBSCXLj94?m%pQig!e(toIl}iuHxqp46StM zo03dzZe(}_XWvhC@d!2@hI27Po!P*F6;r=mv*K)i3?!UD1sNM7)F%0+h8qRX0eOp0 zCC@XhVc!_Jn-%q|fNz#kB=QgI2;X-<2MQF|c)Eea#PRNVqmT%Aoi5Kj20EHg51OsG zMd@=XZ#V_LlxIjWn$&{?B$%cjZ!5h_%tyfDH{+RRePT_t z4ZR_=;Rn^EH=<|C26Jw}pC6lf&X79LxGiu7mOlm@x;=7zu}_YDy?Pgsy_R{RrG zfAp$&+?eILqG40q)yHMQ>+sU6GLLh}Ix=O$a{%AyEwv#G$^s&zm)F^!$~#)$<=F1O z%-v#vluW{_lSU3l&FrX&@BEB<>koPR=5I^hhAlV#X~|v_CER-RjZITlg!!799~=5b z)6%PY$+K*Rd2_LTht;4SYk3Z}rjJmGg2E9bmT|y&ozEaqi+WqV3eMw_N0L@^3mX{4 zg0N;@K&{3ZRKJDml;Ag`X4U^`$ur6I{lS_4wqz>M)juuyy;QBtZ|Jq&O0^Xu_8%gS zJyF&8c4|CNZu+%_!Y(C!J>?tt~pT^>4F z3@Pw13^))>HmCEr18S5KWrj(orobC!Z=ojig=+t#echK=r?>YIHcO+Z%pbirI0%6O z3&psV@`UEICGv#LwJ-@mO@}<%EBUxsr^UW#(i?8&-)=x#SU~-{LDnt-F2ws&ZMHd( zZ3`zuLCso<$;vKiKd+dM!Dri}xmCHd^qW_tH%?w)gWp`OQ{Y?7ONeJO=$&79fU?EJ zIFI8|_5No7#JsKr$Yb9N+l##EXu2QX8IcHTEjI zf%@7F+AVyCH*WlpUboBh!?rqq8K?AW0jihFoGDB2g4UFVycBj|&>=X?TWB zQ9&h)w8%uZZG)`l4I?HUsIpZ{ zG>=Y`tDR-EcfWH;AhZ&co=rP^D$%{Ztd#>o!gr_bAP2C{P*P_U((73M&kN(AekE6x z&<*{=OUT%pQ@2;2rM?GA)CF)g;KFt zC|%Tnp@FAaEAhsKCT8faPrl@mr1rc$|J-P|9+V;JG4(^Q(KLxi?`$NToOdpo9`K;a z8!KzE!HTLnD^Z5e=L5dDZOvA!*-Ne1o83a zK+=-g?AF=lfRKd5!M53Ox?ROR^WX{s0)p?fIn!lcDC8o5*yZx?Yqta*DZ(NZ&g(gn z$LB3~O0CFOTKRDWcUzR8^AlCN5Ifzv*LU+)UGSmRUKcxh<`eJt-74b~0p{c}V|N-R zrf8Du8HeNG;OKptE(6-Yu8yxfY?fOtxK4-CgstXltejU`(UVkOTf+wyqG-h}Z_YL| z4dpy~52i|W4oAPsc%$wvq>|PVu&bIclTVLvn%tn>mj|;(9#=;{aR}+IXHJxWK=5Lt z%SctvlL|Q?1!*^d?{f9$IJ0zNnW^ZvQFd6LtwcFmVun&quqLuqDrjiYw5SY!VGF?AL| zQN7>8r&KznK@dblNS-Lwn{ujT$nfJYO zcbH-3+~>LHIZvJQdCncne~*oN8gGJ z_jyLppB&Yp>u%pwcyH8g+QR-^UG5)RyJkC%!9K3UtcUclgi5{*u0h{;o4C(L^^Wc4 zba0$!u^<$pK@xr=kpbq<7K_CsIZe{I6PGqf#_k(@Uu z%L!!pJ71~C9QihieY0X|-=8+|SS^DpW`YwHMWrJ6(rtYe9Y6lh52it!UfYMRqPjNX z#&v^VeI_Mycr65dh4`_(^Zed_-#9FV!kKOE?em5!63Y2UxHq-#8)OWV7)< zhvFz6AraBc`R7VWa%OZV-@DD`LQRtESsDkM*BQ7YQn{_W*X(^W z*Bv4`h+oam&tL03VS8C`bwx|mC0@|kArtxmMx@@D7^K6nG^h2W{6zV`0{CR?A2*O2 zkFF#y)Ad^)gOSDQC3}W2Zxng znbkov`XjeW=&zdtLtWw~nWp}p-p~eFSNb}KrCL^n$Z6M;wSEe5uamrx$&!aslnj#I zf4>I@>#+L_J9w*<`P5B!0Ei`)`ceo!e?z@0eaBi_o!wLrY@iC=*uPUC@ zcV2HwUqCV9Vz|TMO9!omaWRD&AK271^MAi)d;2_EhVs?#5BG{%YlL|1tTNUglU?Wg~k6N ze$Z+)HeSzryoyzUZ|weC$K?gm%V1S>F1r7HQM&_jFq=&-!B+o|*QXToK{U5yCmwMh)-c*VOC+`Gk!k4$K9Ld z(}Vo%Fiaa8n*=2R0ReB`B#O$)N)27zcf6Gq6&PykqJadWRz?~cuNM{;^1{Ny2~#pN zEl2IXe94K8rTAT1ns3QG!p+Ui)w{pH&xKM{ROHo)Jv=ygCLj=dSyWygERkyz9x{EO zC5iw?42@oxpC3UYB{?4AcWaYt%kkkFCR(cV5XAu&-@`YT^dzOAck zoR*f>pZ(%uPAO_&E%B$iT8`h7q@kv!X7v2LCJh@kd^~y|{+k4s8cOthg~lj(VnUNj zZVhpCB!jVO?d?rB_akDb2rBC6<1;uH6%~aeFE20R5zc+{`ktYMyL&>fougxPZ)16R z6o#XR$EGiHQzH#MJ*%Fc9zHHEGb<~rv%C9K1qB6NUEQ%rN-q{+V_VyyVqz|C?*94t zG$8Lx5d@Oy@Eengn)(_$qoqYMIVDBi%IcZ6|Ks1hm@9P^70jHRocP4V8`|31Q;^@I z?(Xh?XJ?uiHlH#cG% zJYn+s`V9Gbc@-jg1qC0?%<`Vb@fXg|OixE=XRj2S_{YSMhekye0JR=~!3v_INtKP6 zbMWx+^tFks%+wt=Bv|0@?eN#iCDX($H%%k%zY)Lvc zEp3RhKO%x?Er@`?s-PcaZ_g7VgUg3nUS7sn?aFC^Kwzd?pFVMDi9a?ioMe>(Me&XD z=*pO3V`CRJG$ga}NJyjw=>R>HT12R8wHAd!ndo(O^P4@oJUMYbJ16n+!1%0L_ua`? zTi~+z{|z_HIEwek>qD7i^(o)R6Fz+ML}si7NOJZN3xfe?J$4}m2QZ|yHBr*-LV_CQUC>9DUatW2>xS04I2%8>G#EgK#h zQt}~@(;v5)D#NseWj4e^oo{U!#NA7Rws{O7pccE_zlpp?DUv=HLk>wgK90)O)z!l* zox!QmL}9@4rH?%&SQEo8!z`lKeqk2tqENTVy;Lw2%+r6EB*+VNdDIg`qQR4Oo*8pPkx#O^6zM!>t@ew0UYZiAs%+i( z#rb#kh%*OfTZ7A{?&TMag=Vj6QO_ge-HvZ*+uPPFSy=(O9D8xO4|e$Th6wr&7F&E? zK?O&~mw;8GZnS=#y}@o{4Cu_k5Lh}slpplN?vm@Yl8Ko&vm=OKKloNfYI%CF&}3Y{ z?*S~JOMO&~ACBB2j^Vxgun2l#pHJM`h~MZkMS^N2iDf7R3W=BnYn6fAOh)xa(R8NRH9U22YXqlwD(!zFw;gK zz4q2XJm>Ju`7Tmw8e@5=sem=u)Tzb@0$Knj#XrMp_?QknFQ-J$HiqdN`j1joOEg-J;5mluN=ZjxL!vrG{mkR94+{H!eRKM%T@~3D5=OJ%AHk^kH6nmp zg09bnol=SXg5fb_QmyF^pgI1$$>w!ft&2PEr~BvnJzS~8lR*N5>ko;20Uy`*GXj)f z8DrahW6_zgQJ|IQ&Y!f|8emGbT{r|~%Wfo?$+deZ;9EXG1I~tq2@j4-Sj%Fq9lbCl z-J{P_B5`@KJ>-#A(tD{Y<n&4}{j zYnvRzRDULiYvVW`RLDAKy&{VsOk8a5nQ;1j^37^S!-Q@q!8vzJw3pa9MHuZq)$v+) zedvXai0edNSLr=$X8tEHQ|Oz)Xp{v5UgElE{A$~`Zk}x>LhjcX(=^|BrdJpin>hO^14KPw0i#U6Yt>AFQaQtS1BO0%l0Wgpuh zyLXvLCur@HM?0ks_BC@N_HIV%Enu^yOv2Ur(xmfZz0z{V^T-%g@jbSy$dWVxzuigh z$NQBWW1KL2Y7r2Lgo04O{HY}@W5$tmQ3~?P>3m0X<#1nKA@OTD5vfgs#c;~vv->KI zOTwxA7}G7acxLeY|7_}u#LV6Wt4nsKB(vDoa?>k)3NG4B3dpcq?GmGjK^n;$baosy zgCDWi8+Bh%z2S!TSA1l2c^)F86~D(ma;SNKP_l)dOXr~JsDwE*G5ZB9pZ<;>?i z4i|^De;YJ7n-l2d;&b^St|~d${<=?<8MJ(^Vyh?G9pAN+^1FG0);y^ApxclmWAUiI z;k&cUAojAKYNj;!{>1*Sr_A5{_laLWIg{S9=~MS%^%3^*v6HTC#k_DXg9B}jp-pg+ z2VUs~cJ~R?^E0)GkNW|a5)MI`Re!Mm2J*UixARZ&Pez$?6g1i@NS(l<-Kw8X^1!$u zJ%iO_>|TA&0WB6=9YF-jnM2AMjTf@Z6Q@0*>}A4<(rZgXHa9}fKL}v2U>Ip^u12HW zpZD=YoW4_+|ED(m_OK1<8>ZvT+*D~FW|2{6?>co4(OnwP`i77j>rc9YG$Zkg&OX2c#>Ia|WnP^;0lu5Ck>Es)c&vL#L{f#-us+sjpZ|UdrHW_u1 zQX-5~?N8ooL>MdOH$K2_jztZhv&ID%Qy-2q+sdvm;bFoUv7}SVHZ{cwdUjI>I!Uv8 zaiz4rdjdu<$cuIfF^K%?fKhIbff9VM&nTmuTlJ-n>>|!#pM|I!s>z56&(6wesMalw zv&nCU@cfQfgRTiig`@7hs^IgEq)a@CG(7NNSQB-Xj(}B{j{TXpN#%X+Od$OLz9QeG zExRw7sPAbrymD_)TDBw8Zjq+$+_3q7gIdpKdH>N8DM~-(mgxYefFL*E;qT^`QoD~2 zXtt`%^2ME(UI8>e`el33V6u`c#OeqySC)!+NUtdyNqTcOI~ z)nyzSM)(r5gjDZM;+hv0Zg<|a)oz2H`^L9lJ#Xbzh<<0iR5t zk-%4%@h>mlv7aCuVdv(j7-yV)-TQ2?;&Y0DwBUZ=XTO?nuJrI}^?S4#2L zZ>8X7)69PCaA8$Jb!k>rE??snec5Pf_AfG0+nA-THu?aMXh-8{FPi)?hO#fi!DGPiu+^#k&C@FnGOeQx7R8_eR!Z@FJ5zAl%WU%6lwyKvZE!>Yb&jcR=iR92;& zDj3=D7Zh)6*s@&HenO;vUdG0TL5)V1=0?1#lwtECA%8m_W77W1C8%QUp=!h&nD)Mo z=D9d7hS%l6U?Oj-k>zdpf3{FQ)1>7KVHpBAHD;RUcEJw-Fex7gue z8hpM2_IssaD#mCgwE1DA3ug_bPu(Sr=vWy0y zrWj)F7zKo24EL^*hIX(NWAgmne1zR!wswXcOu*;Ap+r7-QX>}C>V1Z|3`WF-&(xu~ z>4#6LH+rjD(%D4z)zr232G6}cYJK)LVULZn-zE|3v)Mipl`SxWLB}U2S z3Mk>niZKUbHxvr$qup02d(yoqnwDWfkamJbByM%*$~421VN}Dip%?*A)hgIDP?Sz= zBB>}W-|e*;WA!D-6m8>s{b|&~#ernQ1r1u$^Ji0xd9t0NK5!CrW3+MUg}NqJl$^vV ztL`sj3Ackd)=MbFIkluUrfi-of*O*HPK}7U+G7Aky6&bgpWM4)I`xY91QO+J7iB$# z%FHW;5jcosWb!hAHugR<%+58mE+FtkaSBL?qK>AIMP1(LNDaJn40y0HOj&EI z?`bR^c51t@;vjNZ(Oo%I!iT5T+oBIWY~j5tC@&LmUWcI0XOO(NmbYyPs_O!_q-x*w zoKD7e2N6Q(Om3Y%^>h3B)kls)Pnhmq$%4EF%WHW4iP}(@W`lt;0~FCd%;3zmsB!Y} zBRNYERr!&aUIhw=D}Lxrl8rdg6Bx4|lw=8!ejW;SU<`2Q^AxPdwiSkl$Gt`~^k}2Mc zj_EaLG`|jT59|BCZ#GZG`XaIqHjPqg{%P=K&yPiqCiFgR2mGwx33>h2ao|&pNVvh( zJ+iLs4PW`&k<}=HYD=k;oneHWOUOSJHr`hqn=BtgM;n!|)!lO(i+o||Di=^*Z`}H) zc~$KF%k#7{@2;DVHu?o!wkGIHWFs%lEa(*|OgheW?ht}*^>qVk+xvAS6O3wjEBxM( zNBa*tixbs}7nh4BV=r25O+37fO6wpqThl)4BrCpu+zhG&^X!*|utuB53%Av_^yUBw z*0|Kt2nHPp^{CfCoz!q-^YZ(O@M=V>u?U)KyBvbLYwbKEWgBiLn}g#r`v}+r?V}Ks z_K{DN?7S1`&5GZfDN~dbOqw|p$v^c(o|Y{^{ebgXvx75DN(6W_V#PAb!ss}^;QCqj z;XobE(w&C;e=grBBFp{c(Q;%=1=qM)ekUd;#xFoexG!s+s;3_@{Mu0N9_EKQ@vVDo zlqW3j-f62r<;9-I?NscIQSwGLuG}YPo+{H+B1m_{Un`V&nPA26iVJ8mI{sSX0wjf2 zjk^;u0I}1oyFz9m8T06AY4M9pDDf}>(R|->&~bI|6D^|Ni)Z6@CmqhiinT}AkqBhV zb;7dEonX;rtJ2NXiRKN{AiqLpHBP~I3VfC2Zq7)r&QC4%ZNX?+eUDTo29EhRIftOF@3KIc6OH#R0vifsV8;e_UD`qqV3yL ztE$gq?W5XCVQRn*$o2PT&p=vr&~rc4u2N^obJ9Ito(W@fr^4(`=jnQxdfnITjukjW z+!Z#Q=7r;&HUz3G*WrkXpUXz$OJH=%{M|D`0&wb^xw!Tz0s}ew^3KQ@k71mhA45T z@NO2w?)84%Qo=2ujkRU}X-Liy&$Quc(TcxHKg)nZl93aFu3F9^7O^jjX5iXr;3Air z^HQI6!shBnm|$aa`jfEQJBKAm>CF{&dzB|W*|kS?ASP#>!|vK;+ZpZcjHVw_&;n)$ z)$nd4{l(^%WBQ*f$w(tp@12=&gY?aA((By_gj)j8o1K&Y38|yK<^+V0ckMXoX7Fgs=vi;(BHI1}c1o`A zT$s$AzR#F>uG4AV@S@nYQ&3pHdUfV7_|&F!@Xeiw86Kz^%?)&a5uVdcHW7J{i(US< z>twwXbXxPNz?&!D@Nq1hv3;$FzPca(36}WAxdt-rcF9X+k>W^GioL8)%6jZD^Ua zj*0aqR&PU(hQ3c2n9uXgqTKaVg2J7|lX&%n@;S6l2`kfpEW>s8`{C&&r&G@0-!rSn z)jf_Ly)1opB*ZCH=|2|14nYm*u!T6nNvmA-D4SHM3&X^GzuPd zR)>_EB#1>(H=z{dClFWx)YPg{@lSg`;2on1bo@9XmRz4qEJrP>ew5F8iuD4*pSB5q z>XA0}XlN6K?1LEon^F5c{2?FEg9u>2GGZy}O=%OPLwjt@Dsk=x_pwqS{{{6HcxY45;(EOV=hSQ4b{k>(r~c?W{QCOyvb@N{#Y*1E zz?;t~Zw{u;-6{5-e=4s8OE#e6n~=Px4A<4pgzKyvwhex<3np1Rj72!<`jdgS2sit2bx*FWR*8%( zm}BSO>(@!7M8Q)iOo3V|jxB^#N)Y1PSZ9cbXlW6MG`>4-5kw=lKww_QQ z$^K2I9e0$aQaBq@+Q$-eUL+xKrFPHE>e>o8sg-=oqz{Qdqp`E%0UKY-I)AuBsz zL1#C&{@jSFWZUOx?fe0qT0;ms3G$}tHha?7!GiW|e@@%`@_^eX6$nTVUM_)oGeI}o zyuX>Q_o`uL6TdarH^jSqwafH5i2uc3{n2o`1#MeoA`d6B;B^(_l1O{|beV43$6&)O z0<#i})LbI+jSZZiwa1#xo_z2CoVvFxYFjha1!=%zFQUZ{n?JTy!=yM5n@?5Djs;D7 z2sxfTyHXBY&dFhExZX%L-5F$4h)W_ST3uH{cRMQU0EdnW z!^WN`J$hO6P(muT*h=hI4_WTtS3}P{TF@Fp;qYX8lX&;2)Pj5;3+58#XsHYLq-zNgSnqaJvmJDXm8pM@h4(>!_Q~9#zmVHv~8M^xK zxP>g9GRqV8{w)u{Pn4t({ss8nz2-S;DqOp+ety)#dqvg063kRaay_1jdV;|L*_|w< zz+kTge0^1B{p8mNO^0UNWBFJBp25kj`zIQ3#0~-|1I|#gfP$FYPMljRyGmNpIQPM9 zO|dWXe2U+GUZm1?_K%{N``$BY)K%_Ks<5gr^X&fST#XGo0X0t?vyj6gm!$Vuv;zdG zB_H*OTMCG41K>yF+x&O&^XD#`P|C~-w`E?Hw9a`)Uas+9$}X2ha>2yk?5_Y?B44vu zs|s*!?hg$Dj7Rqa7e>J^aaXo8Rox4`dG@NAQVUWeU$Z<+KqFbNd|bDVB~_AMym~Hj z7X|;U?ARE0mKj%zA_#FXq*40<^%^jA*P)+%hWe9SFMcK)e#%gHJj?)BgMY+{9n11M z-56_dvBa#lge3?sddi`Wqrfs|ud>8O-GCPzTxd6h0n(4>>oPE=9$Vhh>^&s+ciPy;YI0)m%Xx$P> z&-X>0wvnHv{}=e z%bHZa6VX4FN@72tD0}t%WWi%;e=J52P*D7Ajg8!vMbM24Omg#}LG^rR!pWh^ZSd`! z{d|3;Qp!s_Q(02WpnW+K$+e9?R--J!(5AyydYxPUTO2aKA->+X_k!=J5?6nCejb_} z`0>B{uo=#@io+>rj~_9yLR&ChZStuFYL%+1I-sQ0t6Erqp$6}L=C7#1oV6UigYC~X zWkhA#o_9 zw`jGcI<$ra6FQcpyPy!Ku=l09H8{qSq`NfOe5o(3SG!)~RBp6fF3Rm!`=HyfN#gMT z<6Z<+$GRts%=6IASy%G752kQZ!^Sbw>&EJPsJK&k3{8Z^gs$gBB=RRu|JG+TO!`fB z!KP#v?Ay)CT#Q(P9A8h&1SI<<7) zlm1U?xE^CsMD1RkM8YDM?n6m@Nv!JC=`zwQffQ?h##Q7(1yVd-S;^8o!1v9QfS^&g z_P&k>4Vx_Mb0Mk-vFDpX}$&eZPv$U`kFG?L%C^Sd}Y zV^6&*n1m_v%u?j93Tf`-O^Qt!S;gnh`!hg1Bkj;OLZ~g^!H>^*VQ`A%Rf%I91~cyZYL=U1%M2$M*1PGb zs1KdE5P%wp^G6LLQf^?lCeg&Z#1RC0w;ANWUfpufSm@HaLB-lk!hV&`)*Z*ksLF>J zQJuF18WS-8-Rsb7Mw|?qqmh>$977nl1ky)s*ec=KPpABKHS<*Dx^jf5t=k=K{7}e4 zaIOW-a4s`xbxkLL`cX6e#f0;|a0Nr}?b!0wp;4C*=i_ebrqXy|NyN^c(}`ykydEt_ z{OXI4dI}jy4%Hm?^<~v3?(4gu~R_%gfvz)o$nQe1(uUq(v*`6 zW6%5Kznk@ygObg`Q@(mse3>5k0&!YL$~TnOEtu76}Q*O~gw2Lcnp+qaAv-OG^>q%PeP&1! z%Yw0<{cU=!%-;^=8#>S9f5+piDvmH(J7kRAv+Vbbnu4r;k|zc20AH2RvM4G;pD$6k zrB4G%LE7UL%c09JwnsQ})fPUN9b+*pyV{f4Hd)^D*a`jg*><9~s=vly--!KPg@2Nr zz4>d`*6ZXCna4vmevfL}BLLp#_Y1ZZmiinFvL6Ryj$V}pBX6h;p4=J1S4EzdcpsY^NhtoVxQbSYQF77oo#Z8kPLr*5Uaun{~UUZ{0Pa!U4U1SCUnr?&yNJR+R{%&`>gIs)tM*`IPr$ zM{w~YvPZU)?rIzujeGZqEZ`9@74&8J=uEBkW~$4T2VCdFKf6?$Zs?K<9Qy3Y&y*&w zcK=`^2#wN}xf8pSUCD}j`5VQ*D$Mv;{XcJ#H(KI9ePHEIxM|(SvPN1kK zyx4z>yq8xV&iFsUY+RlORBY84c*jKuRDml5EuYcjs86p+skan*szPrgZaTk_mtri- z;WIZ%@I-Far(rd>Tll{+1EU>tw#(H=z@z5{mhfP)_6u1`=G>=yMJ}&G#qH{()TgGW zYv~1#hOj6e9}6_B3NWVpdreZ=&}vo3den1PB((uJB}9k+i)`grsP1HFM^!F)OG^}KTAPq95xBSVjEcxE&J10H#4t>E) zpl1Ns$K}C7<8K4t7CNe0G8fz93PN_XPx6OT1Z~WKSeH6E^Q5rtG_w?`EwHrYoMQ3p zi+(&-W&R$R_wj{t6RXUCK>f5<7|TC{nL&#uyap!^trp(!meU-^Hk=nMu!_v%-RE#y zBzUf&6&qG8_kgN+U}7a!Bf+hs=Kg7OXZY|ExD23pPy@Q{z|qG*L(uXZ7*% zN1!S>2NX(u^9?TM192SAz|=JWEI_${sWCQ;r}6FG(w6q6RkRf|&x*Tps?hMS?E!#U zHwUmte&aTbWNC0KjqK7=qg$~{CcARVlY95><-Fp``+IS?WMlzN<9Jn~Tl0KZiqPHxZ|=6t*||V{+i^kP*aBb5WQMkvI^5)Vp?FcqqmgvCd_Q-Z_y2? zeYpEpCo_Wt`kChd2`H;!8imKU2_x+0DP%}p-kydi#+hFl z@aor-lH9}E3~E@u#02rKJ_?433)2hRcX@p6M5|zeqTsh}5-+GWG*51+tK@Gjvs~{w zU!OfP?s@PHj36ZQBTld8NVwWxT7gleuZ_^8(>G7+TMemS>_Uxx!c$MJyP{b9@xFbS z1y&m<*dlG9`jnfKuiufRD*iVd8TAkTf#EO6KYzudk$EMr6sPq1X$&*Ri*NoNZ6hC& ze_qcIwJo2wIzTixYcm%b<{xeE7a_~X6@3nCE_83_^&r(3?regBno0nzr>LwPftRcy zehvbGcz`sISLuU}Vemco1V56IWbZ+}Ydv zcbki+XQAd7J>c7B_}sW#{NKJ;PTy-i#{TNn*wVsARV%Q2y#jE5%)@m964KHnLzu$T zn23iLg-O^j43^eWI6Swcqyz(w|DJ$=0Q0Kgu)jZ~q`X{!*W})lV@xH}C|+~J4=>nV z2pb6K1{W7I>?JJ_>+AV@2M5o8+~ECqYVV7&4A6TfJ2y8e$Cz);g4^ciQW00ja!@Gr zp{yhy;G_GN<`wLXi>rw-w!EwqED zSKH0V*L&~Zzi*TxAtAAqv{d=_8`0kWZR4j%ZEdY52$BXd=DUw36ako5;PTr{UY7oW zwnZPJP|~Q7Jdc1bwfZ+_U)r2E&ZpW+oNMlXA%j?d#IERRnL}BVjDqVwE9{Hmy5B5R zhXdj!nH*7(kqLWydq%BKdU|{F0aDd&{Ht+RqnEEQ*Y@@{zoaBL@Es<8A)%g6A8rEw z5`WOp)GXT1&VF1}Qljxp<_x=8v{>o3ukVMJ$v(cZp<%{LAtC%PR#qeLYT5VrEXz7N zI%H}RsDZ;wYioJ48Oh0NM;KphF=InQLij~Qo*5VzjE#-u96h9`FV=KD(NtGwadUI? zPjYc_slM3X-u@XHir>)GMDYNb|Rze^~PoF-0!pbVQGWAhb)_z({GmTph-k6jliQHubY#W*YVM=yVYKE zq8PuveV)wVeExhVu?99UaMG$h!|{#r1}q4656=YMPy6p`)qD!D(+Fy+=V-sxOoGRz zRr1NRj$i16I7@#0^yq|2Pf89w_k*O~b`u%tf0l0&rS_GlL!l4lkmxFp2Wjed4h+4p z8Oz^@SBH-|M&3XBD#N@+0??l_96w)2W5hV><6+72G8cNdPHbJw44t1Q@$E(?_j$G2 z-YWT&*GwAvz_t+=ho4}Lq<%wTnIN*$u^uZr`^U%Hk4fuoG~a4s4pXw?4za8J(9dp} ziwqc)Z%!uQkVsx$ZWRrN@6JFS^>RXf%u*u1H~Lvt*|Q{7{MK*rj^BODg-5{NA@Y;H zo2f2Eudv*Zj?{W~L3jt}+ks)ka>f?K2NH65xCApn1FoVSWy@IzS!>{BGr*JjZN0${ zd;lD_Ymg%7LO9;HBlhH$9y@GnVRsBUxrtd>hHKAUFp3Z=kH1tNzd|=`NtcX+F9eFV zbCh^~#(mT-_>Io-{i5Q#R484o^oQw2u*PAyW}VR;5`vF#7_#MCDyev3XGjGESA%a3^-Ca$xBkt+8kyuMs;etLdc$!v}0XO|kgiaGycOp%UA zb%k|~Rl%*5uYTAr=_+^Uu~@V3@({&N&w!xfVjS{l)&FS95{6wTam)L6j^Pu;W61nb zclEL;K#iu}NKm^NO$dM8e1%(EYf$bzPkm`xxJ3KTUcm5mabv6RwffYJ8cj**Ch<~A9WTC&$m47O%-j84rq3h+RhjomS?p#;&<^)Qz?qXLhT9fRH zM|SgMCn&?C?D~HN21tNWzA7ST$8d#^ly^N_!}E=9HtrTn&0YeQA1->)Ek2h|!sx_! zzLB=~efGQ9qwRHbH+|eb0UV67{CTuBnwtw8#v}N&{-T`7nlCEmnKSB#&+{U(SNTS> zPc`b{lp*ONV?A2{iz#cc$%ndj%V<;mktT zLj+u6@UE0e=b)PQ21fI-Zb;$#T`7sQRnOUj8=%K0GlyjL6!bPjaSglN z)rETFYow8EJg6y^_L+z6%5q;J-sfM4KX1OnZ(o;@0(f+l`ah~>qP2NH*VKWrPx=Pi z`mPUCwMQgEYat=VvplkCiN`Yut27rglwWD~g_56gg$5u;G0ziPGWc6$g~c66m57qpCE{v{Fh$J#I13k3xQ8#B5N z?uS@3z{yZSv=@-0s^DL_#KArNOux{P@w8Ub#1ET9=my_`pHY1A8PD5>|4IK?#2VQt zHI*sGbFRdeI(_e4-s&9T@(1z^yM`C_`H)y+p@-}l;atqY!7b#VE5QSs{z?>g>YY9A z42mgGsIE4O+#;)>D&K(x@0NJU=+GT3qz44%(b+iF;B1$O##QMp+Xi_G$+Dm6M-K$L zn)N&tKvF4#1_7RnpdxTa$&jX}gWG)dFeaDUcWngdY}q+vo)UZZr;*D$#0;WHFZ+(# z>G$)$O}$y-A4M<5WI9yENv)kWlJxfbO{HV^hA{;SzywcC!_Q}Y-yc1^i$+3mri9NS z7r#&*SsyajGod)u5ln4 z{7?llDUSB$x4k|>2rBHNQG|Gz+p=V0(MG1A*&C@yKc1z1fehxmT3Pz5soYMW&R0+# zYYFfAM3eF4#d~Fl4Qa|Bh3N<~G$|z82RumNgu?Qx#7}OkuczMq3sGAyU7C+T5*)U{ zT!U$TQ1Uc7m1iQ~sLMq*z7=~PTSnZXdI>b%z`fUUd%N@K62KUcp_aehU z<>(rtJuug3nxvEpb&qV5p$Xm|ot(Clk7f zu_(9ZY&0We2JOiy2x43!j`(0gZl)KyNI>}lZFC@OPbv8CjH;7Upd>RcJ= z(0)6uaD{N+8h8*6msP;o5X8qKC`;a~(V5u&erhyqlq@Ys@m~o$MwxqHcBG4B3!|9p z%cGv;V=K7NA7lpoQ-xj2_pp}qtL*E1gv3wC3rJ1v+q=;AQ>C+Vl1s>5rq2Pdulds? z>7`ZoEyi9g3C`x8Ztdm@iF3#9GJyN=gV%*1+~SsejP7)&Nd2GKXY^X>xB!7EBVSPZ zp*BL-i-;j=cX?iiihk<3Zy~LbReGP1!u29C_npjC$!?>>668bV(h}O@cGDVK$454>a8c!@x6x-DVs?PT}dZm8I67MM#v9b6LzFxxT z$YW{XXuqEL71NH!Sgx8$648u&3<*D}?5ew~-?l$M!4;uAChxG1{%7Zc`El!Ew@jgKYjX4tmqSMcf7N&p+C~)Zu%;k8E+U6X7X=LoVeK`?7CoJM zIoFuiZ}`x`)x8H4C6=GQ0>covV06iw9n(_Xi(cSnO1d&qqn*#DWNSY6N%@|mh`YHW z6xGlDGupuM;3q`kVw*})P;1A;TJpqj_f?bB>So>5QEtwHlc5hEq&Hxs4)EcwagP8m zSdJ8r@O^p}24J0saKtHh%*8ZCy|X(twK2^cXvNhH`V8*f;3^24dvLvO0vZO39)W%D zj5DRtC(HL0T288r56WxFmUQ{v^8IGw=xPUjI5z>U?|9yI zp1i?nh|~;v;5Ax&@X(U2{tiO}|u_orSz2F0ULr5kQ`_ke1QA?gI?q)~)Dxk_$+^ z0p0Znc_u>k!_mJkZEkmVS!-M#WyQ<-`nCmySI!L>n9MvqA44#_*$B)L8wWt3%*Slc?zS$~;Rp<<1 z(|?&*d>}y;Fb7Y|5a^?^6}m-Nco56Pa49pO&8JE>N`kwqkwAbCU}Nv@o*7TeQp?8Y zkOtr1Tb+v@)jmHGAwNPRXNv}g4wk{_nF%b{X-bpZ>xe)&!{@mEd<~sHdbAwzMaF|7 z2>8N_@S|^O7AIdYyp# z>1F!z%QrVs7w1Mz*POAT&+<+9-cu#{O^=w}stY}#zmAArP!f?rVc`a+EWN345qU=G z?Gs31BzzQ4KV>`LP`A7~(~*9Q|HTB#7QkjphpqVoe~vyW_qQ?DX<{mcgAUD%RG9{C z)E6I*NKQCejLFNK6vssae=Ox7MxqadF0Kl2)V)i`BAv86geR-(gB3hW9E-m%$f=^( z(W1w_`&z=eYP4a0cKR8uKh*eYZCVv+ejA29{T?%A1#3HCD(>7dsd)G@OkAU*XS6ub zQvvpecO;^BHD@V{Yw58&fR@?bDaijp|+t;9LW3LQ_J)`2XYUECZtIqIXY+baxAgbb}xx z0)l`jsI&|rCDNTkcZhU@iiotdba!_S-CaXW+=K7`#;5Bi{4lf6S!eBi_UyHu-xF86 z#bU%fl!dtA5+}RuM=46g@u21CCSBiYIO)nfFG}t-pjI-vDzhp*y4AdH>+UqRJ{;wW zZ0qC$gHvWjVx<=pIHS3(5wAQ^BAYP;Nl6M``3CUhF7G3rv#qXA;I>pveM$b9;JWfP^Yy+CB(`Fby4A)D0&8$H)3K|2e($GxK@ zu7}YSyHs4KIJ-0#?pB0RrRcf_I0$DtW4>IyV@Tpnoxm@8u>zKv>TYo_L^S(#Ze6^l zXl|51>Cc%J(IS)0H*4tJ1kMe?+0S43xZyhK zis2Q!qPg8~hYLtG8=yI7*SGns&KRsVFeH|&t8%n6-913oJUv~HQ3c02%!?70C!0D4 z9t)GIr!G6^8c&6%%Pf3&BtO{oLg?U02@d*BA%4j0lPKw;pyX6)iCB4#w&U8iNVe62#S6G^Kmpg=MXH8R}_|%$F&9Y#u8kO zgv19U%+OaP4OTG+$OWH(%5x3=XF-|g=ECoEabiSbGo>JT7Q!i8pN6N|4bSN+%#nn3WNuj>ikX!wIx zm3N;)M(KjxR35xc!d`N?by=0@A#mTLdO${Kg&^{)6RxPtGqf}^IXZ_)a5*4$@!=njs)ieRxxy-5&CiXFy`tU|NcD*VNSXF8jSe`+Iv2V*H zB5nm~#_GL`DVU;@{sfA>J)&-yT$LxPDiCo;JgS z)s{JBz@kjtU%(yjh;}-yaD&Bzp87 zP0EH#cKsmm==t^9o=V}rcNAcwLHc|J?N+Ve8ESW9x8)OWbv%&n+9FQkMw;jE#|+=! z@bJD9!kZHpO#D4R@1m2>& z+$iK&i)`0V@b=D?F~+qpPt|Q!ZaJ9`86yt+yDaOCN)okf^{fo$MsWUdNO9`>Ebs3{ zG@Q+|SVUF3cY+fz^TF_YeBw4rVHdBRL4b$U*e<1OksC%&>YOYY+a@haVBumscpTWw zjOGnZJACD_!NLJr_*fm!(Te$+r#PfRrqy+O!YRr`qhM;t7blp&lHfJUW(_f*H84hP zF}YG`iHmGj^Xz0foKW9lox#j}GPHIw==?w;x-FEf%Q3U&ej#XNn!lI<@XcDu-+RlX z+mU^D_0?aiw0T&+Xr_hrH?vn($)NR3TUms-qdjoJ(5h&a35YEo9{vpGw<$z^{64nR zRxoLta$=%OZcsFIxFu?H*O`fWlN|RPPH!A%%orhoUrPknAc% zUjWY^kK)_2G@(2}Tq8@2hN3SoeFbh1EVB0-iuK8T*Lf45Pzw-D)(m}j4h|SGnK2Td ziBhD-d}a=?ut-jp@IR3J@v-RUzF*$UiO!+A@Sca{n@50#184dn4Wy3u8hYn z!YS!~E5A4D z_d_jL-bD6utvAAgi6>ZJbHBWKPljPEfW}FMZESHRcc%x2siU+lYnMcq(;P=oItAW9 z+3+eoO%-A33%#Yp6asuHG+$C?wW#Kxw9X4ssu}4wS>wZI>B8ON2mbyRo{|iD z>S5HT;qa*Ur+MlTHn<^>2e1r?S8cWqTd0`5qDe}{OygD0YE>sE7<4|IcZeIvySMrH zCH?!BgBw-Y7on=S0fS<&efpHWZDP@3n5u^VtzyW1YtT58b2AN2oiE!mN^au=4Y;i- z%rH)V^_0DD@w36uRe&&@6(huC!fET>E@?Jhn<(Zi>C(>aleLWSbOwN3hqJPmu6y>| z#!0Iy*1@@rbnzO_{VEByB4+^N#4^*bvE`tKgvFsOWi1sPS$iyLpttwD6QadME?z&m{`#`vk4-(5{{xq)+LSvL#Me&F-&9|P} z$BfO-EcJQ_jQu#*ugQ-Hmd`&$?HpIa;+d_(qsVyz@b3TxWfmjI&k$gsaqo1;FgO8t zIi6#)1|aY|FsKiV{ZpwAw6^lw-jLQtD`EK=o5BkTg|(+w2Vf7okH?iaBaLBDw@wot}*NFO5L+ z!C%f<t4u9jx%r<_!mq5_G|AK4sP7KT@FivRho3o^=L-Ax}P71=@?=0?~hLFC{4x% z|LWAQ{=`Yat>Kb2C;NeUsoF-TB5MU`e(v)}$J_v*g?}8^U(7YQmo+br@5+97(quWp ztOuY^7`*b2n>^27B>Gug?2H}V&}WNxt~uEd4FfPehhy8>a{2qd44}z{Lfm#<%=2O= zUe@zWaS}kAEW&0=3?$j^-GFZKZ$^08QB(;a$GAVUaC}(0Bzjf!sd<7p&L$eUhbf6l z_m#Mhv-CMl0PA-@Lq)`wZLGJ205huoXn%L2z_rl1L(7UO@;w+Fhly)g>#TEGao{R1kgsz}Pa&c*LZ!x@j z@MFKzuuQV6%T7z;ZBzS;>7IS*k`Yq%{2zd3_A^j4+nlX16WF;g?)-e66U(L>C+rkd zB^Lb+=+xiwPD2UZBkK6y?~Z*B`yuVH;vdZdGSbMF<)NaY8VBk%jQyK`+vulV_1u7l z3xobw_o=x^0Vmi58GrjfrI{@Vf#ueAGBx{iC+{^*8ee_d2- z@2-$-wm7ARhY3QL=jnh2TfYlTXjJEw4Yk=)|227Qr0rW5s-_U3s@hQe7p@Dt`^2h2 z(EnsoHK^PTB56DSV^w>E9=S??>&f&bKg;C9S+sXxwHiP~@s$+61tzy$dzD+x`Mn^b zBa9>^2$$sVv*PoySm~M(LW5~)BB_NBARyf>Ie{IOuzCdEiH9hy->dI3`=?4 z5Ha@sMa)+rLTr9;vmrCcuUKBkX7{Px?m2*N6H?jF{wOJ(et!**2o-o-kwGa#kjt1N z5)=9rT-*KG(xq6o5aknAm_q6hl3pPwQh&HwS2Vk{(4?DFB!;%MOlI{hH6aR|t05C|#Ms5G!|G zTu19`r1yPtW)Y0j0-X}>9Wn#B@3pn3BYHt>n0_G?9!?H?UzZE^a^urlXE0z~Cn!0> znsyySRy16TvI@(;eR4j-qI2Rx6a`stNaaW|_+$sE{KIbE$cmxs9s};qYm5&s9+t=f z?~S#qJZ<8Ag=eqJ{YbI+T|UTYIwNf|a8}sO{c7HzO>>TWX`cYRKJ)XfA+0N9&oW(Z zw_UMy)w}%Wm&Vkj7^KEEU$U?)(Dl|19+^rYY!3J?8}r+gR-s?t z@vTx13jF^5jyfYMx_xQZ7FZj1!LLs`_!mo+s~vgK;R(%s2ey{@F3DQ!J{qA)D6GWM zUpW>IvaN~@SI_Sn3kRund`9XLNEp(V=}u=Z?1 zVerZRZatpBm*m}~q}#s4M)8G%DyAL*@N8{*Y6|8ZQu`=7I3WE9h_qcnnb^`+AP> zCQBvOjuL#!rIt;XgY0vr1I;|xk~2G#CzsH7C=Pu^;$lSWZ|3s0Zp>XoL~gA*>h!o+ z2l;>t*?xR~p}n=&u^fRniSt3%EbFy1onV4iCCs+jUFx7Xg8Av*0}ZSUlO476r+!vx zY^A~<<`nhgUCJaz^Zc^Kr}bxd+g7S ztJv=mK+7vIqv`KCJpLV59vGl)$UVN1YhhCwJr>=D?=I;{8rDMT=cB{BL=JFPW4(?it`&G* zl5a}JoxiR36$1t+Hu}E!hww>$N>4~CJ~3)<6|B50b>dlNbc};qG}1k@DtPhLnE>^1 z^Yll!f`>Z}_B9_xW_t#S^w^Dh9+6&2np~XLc3TEXM$0Phq*Gw2inopr_+%vtvibGn z@XeJO@Z`?yBh%KTEg5A-kXw$9S;j)`C@1P2Rrlbyv6&h}?TBo=7K1tWTkhCPm*!%z z*ufJi{;=3soG0H`%j)JDBnYYL5N(s%7ka#_k1VrY}*dBX_*rXrPc{J7Kc(&=GW8#tLnRTgzlcn!k_N zNIG*UHxrHj{BayU>2j>&>1@msbH}nv`yCrrziQa!D}9Z!3NE^!uc#JRT%c96J*qL|gay8O6r^&NeQ$3Bp@e3T)c z=&DFgFwGK($Ko+Jo_3}IOl>C)WEal1*v1kLD=MH7>W*eP9_7bQXkwgC{3?`IpQd~W zKcZbX{BplC$RU@wlu~l;MxWuG)Z_7XkL#~*bY^D${;qXhmI5abnB!1r+&r11Tsvu$ z2|`9(XL>&IbqZAvD+L3%1<7bHMtS(goQd|=QQ>O*u0DhYfxg4oBUyTJaZGp zr-S7YecFi1K_O-kRy>VvTg2hC_eZJbu^OM-Xq3%$|U! z)Jo=CD4gJ9>M5ObmtWVV8WMy18>8hktQo=ITKO#Wty=}EjNJ78_nwbszu>&OpPW71 z43*8KL8hVj*e4D-mFCdtY2gn$etn(29!OAX?&hIzkV*GseI$D1%1TFLAP+$25xnr7 zBpXWKo`%Z<{-fuZe-=b|8LOB1LsCx1phGPm$xNwJbCk_TA@Ez4{AvAZSKno3d|=FY z+lBs#i3#YjMD=u~aJxkiMOysJ!&L~=9fwG(TKLYht|N;1iKjN0gF@?z zD@uLgUD57dAI-dz#nufqVzQE#&1?(BOTC}poKIc*#J&w63z4dAV*ER;-wY_U!r-v` zZStQ|n|lpiHq`n$Hi2Q)J)ReN8IMdsM(D;<#SZf8u3d+&r!m=CpGuEW#Y$de?Sn4s zVtLLA2u@SJUwh9fv-dmnANwuvLUMO)ajm?xS9yQ|DrbFi~34JGG|2bvxU*> zw_qv;wclM_E)q6J)iTSj}!3xDoGNiEvdp6vjuZ}_5}WUsx7 z;Bo}U=Imx|^L)#S)A1pM261i}X!A4Odbi3wbN~9Y9t*O)*p&Bnanw@b5SFo?F_u8N zlxXC4ba$UPIUznHtJ`CD@sHY2{-~t5Gf-93HCr2N$}{?FLsJmV!_o>N$6?B+r_yGR z52-9jY?MFTc*1YB;LF}G71_A-$V=}1O?xc^kELR-PS`PWD--oGnC1jYZpK$5F1Y|c2BwL#+q8+A*H zYBP*N?_5`de9RlN41`uu zj^OT&s0)@4ATeb+ZS!JnC6Z53v4K5Gv-s^5I!7}vvvC`$SJ1Lv3|5ah zX6WXII{0>j=~x!pt4B8$Rsr!dh>1jfHy^$n2c4O`JMCe)cW~{s^c4KNWH;h8q3^w% zY(5974?Xc+uX}SeP|MNAXmf`(^Bpoqk(T#i#f4$sZpS%Tp@uJ{d%m3xa;C3xGW;wD zGk;+r4QpF$l8OlikM$*flb!abyPE%&&XD8*DE9?fw<~Y+TQ7n&nyNz8liI!!5X#W) zQS%}+-yPaw?~cA)^UoFBhZ;}|75pjPuf#hhH?%<*MDnyPLT}dNK#@Lvrrjsv-SZN4 z+FgDmZN;R^`0)bqB~2l$qUQ$EdenDa$Xv*ur9KhW0<%DdSa-&<{UvAdp{ z%C^Os@D^urzw~I8{*x#@lly5lf&q1O;*5q1U@Y%J23%1MM>&k&2d~Fo58$f3_-Gt(Y0j16xz?97{BSz{k~3g=-J$iEoascUC#0ofBKyzF46hjGnif^$_s#NyLGcc3Y-1 z?)qp(pU+B)zj$#!?1~Re(}O~9rrPHVY6uhM?PcK8dl7+U8JT`pbr4|8AM@1i&*~zL zp}VD-L3gLC4d2+ivQGD(;8VdYAYf-te0s>{YDz|1knfRUh)b5}mKX51_}LYu&URQ@V;Zt+Y;du&Mh>Vb%oj z3*ey59P#ya84L`=3&NNTbTXH3Tn!<;#EX2DeQG{E9ZcQOWpe1I9dOUUKYHF0W|K(5pQ(#m#$08I`$;KBN5^>_n!;s@)E@q4#@k5z zZoEeM6x3qd8(*r)S@9otAp4Nf|q4?vJ`BN zj`g*=(`Ul5!1R23p}3r4YVD6;=Pv@xH$f)Dmig7}sL?&~tKGZX4U zH4zMH2eb>%V%&ytrgcss^vk?h9+Kl1&)75y08c>V6$SCl zz-Y`2ltYglqx4HcZ+v2P`9i(-V0W}}J=fCncD1vgC1Pz_jb7Iq5*w)$OoaEW zOED4yrt#lW+=ahFb+FH6Jkg6<3q2al_xlpnxcxG^_8lUM zaNTYX()t~MGq}+bhv^EW=<-otm%Mu%VpmI0JG?FWIO)OJ4V*$O=DSv5@bkQtI-Eaq zd|&$>Hj+LFAteseEStICs|&u`F0<@|kV1;QgR|lkGWIadq~r4+>`4=9j*>d>IilX_ zl%Y)FC6~T`vRERED5iy2nL zu7|9t5N)oZfZ3C*_K2rp&|_s*((9U^J`7eP1|{03!^?D50@R8o@TeZ^KkK(;oL4iPe`*&| zy^HPP_*6~5cll&^`&_voy2qgJF zF)JW20B7#<7!Kt{S$h{T>DL>p(-I~c**(g)%UD~PVm^SXM%>z?4nIa}e?8lu*yep= zT)S}Ek~>zV&wq{ZyE)M~T0iw~Gp%?gkXjT+}VuQAQ~V zmwq-M+CKMCYJrAzta|LH;pDx+3wbVo6xj_le(dwd{2ti+7V+)nk9y07BLke&ieyzz zLjjtP{}Pq7qw}X0PodZN;FgngaEA%)D3(`~QQx-96D1*9#V1+G)hhLd-40U0ZFaTm zb(|z}Ij^Vl+T5RHrK)o!C!eZ3WWSw1l)wl;;fhj$wDlKCI*Nsqu+ zv!<8+kG5OL^Q#iP_)8<$d6x4v+$ekfQgR}*9yU?$yL}_NH9VN+nIc+yWRDyVM!=ZzzybRP;W(jOsq;>W2+GpjI4ANzG^k4v@g5B)D zxAPOj);}!*`XLtD>?;GDV+S`^vBH3}Vw2mJFy+7^T>tjqwL zP;7{f@*BIVFzX2{9IV^F^zyj9;DIu+#x)GM_co0N+8UZV<!-q8{w{zn zG&9aS$Ccz`4gR8t1X}jp0nm((E(}@ZJ=m5<-^V7P#-h4w_CwGEp&Hn9a?R;K(XqS{ z%m8t^{B3I2?RyG~xX>gsS%4Iw#}&CPp%#nPmB? zkwt&*2zc)dHw#noUtgb^NxAI2DP9W$q_T|E{Q8txs#JC&CJjZ}B@YfGM|XMN{tO1d z=}PV%K!ruv$D=(MAI-*vXSWBaNvyY9w)otTM^?G)YOPdK)kJ+aD4No@dkmaa>SgjO z=JXx+>?#HmiKa-{-M)YEjPE?oKwatz=o~k&h1^~72O@!h1zC4RQnkIaSd6v?3an(4 zbR1=@7{vfQoR(BTVjXL*p7$xJ8cjNOZn-AH74?ryQ4UkOdm@2{@-F zZu{`~J}ULs88&=yb3Pcubr~as>-SctAMcWlN%2qd$H#W2AFAamrz4HOdVgm6^swjC z=gMSao4cgUD`}Fhs~e6ukoJdCjR$C)aL?8DkX1mg%CAG5LWS1h$; zGD}0{RwR150~SM->qRkWbu#WpZ-RNWN#&fk2<_~G`JM?-u^K&e@_3ysi+`dS9dYVh z($44?D{67(2>8{Izu;ZeW@Y?>LmuE|!$6At&@=T*-uQa=61GF%RM%zq`|kIa2Zm8K z{$3N!zIW{aAg2Su(``ZQA#)x|Fe3dwcgYx7c{7k{*jeL53!f@C)1Q)FRh%SEsk6&1 z65`F9qQXy_zRDPPf5^&5$~SC3-Hhyc2bRZF}hJOewN= zfXHwR8vw{F3sF_S6yP6yS^9VYPzd35ba8UZra%R2)IxMQ00xK#FiQv!2t>)^oZIhu z%wnm|XlI}>#Iuo>N^@omxyk;>{NhVd6kdo#3LUGZ9G>1X;LK#yGFexM6HA~LD?p%B zif6w3$DBZVShhUej4Ki09$vA!F#&NNdyg})@zTBIzv&<@0=9hk`4QSexvv({lTFY< z=>y3CO4u(mKDLR|y1yOc$8ZO$xe>QA!(aV1hm|;b!IM*m)y`G6)6<@|P#j%; zs~lI0yCaKe8c%t?6guYlo-`F&k1k+4g#S5VCZnCt?vYX(n)z>zgbad% z+UI3@fKEn5MTl)fn0p?WFS5qDD>P8Dm55Y@dF4TV5{x?BI^sk0?N-rrQA^^foI}HU z-2N!`PgM%gH1}p3r{K53IZ}tMezpC;L@^YAymk!69#EwDZf530u%=P{Y z`eS394}cKoV7W;~+jhCaO!@j`RUufoJ+)F%$!yUOh>3C>GZ7HH*w)y6plH10aK82G z8AEDRNS;FuU|A4t6WPH)0HKO#H%4PUdc;aRiN5p9T;|(|PqyFcZ;W#5YhveD=!G8| z+`2IIrFsfW!7Uogg4iV;tr8!j=wQ+iGu;<{hQRm(hr{&Gs6bdb}j+F z6Rl_&Yb2Cv&F6u!rdU+-8}ZCj0PFJ|yF>~`*@Llj$^3{HjlKr~Fr_N8fCB8-gwJL+ z?^6Nmh`;p*AGrRlD~3OO5f$*1!0H-7?n19FxvdS>is@h9W-8itqaructACgw`ri7> z4d5sLHVr=v*nl%npBeE?ADFFLCb#Te-sU#6E#YRNeFg0Ieg{`tWN;hueWtkW4^-$5 z^bVt#^%>v1D^R^OT)NO_8XE0)uRUze@L;rF%D+a zQ4G2q3mW?-Z)Se*Zmij}Ca;oWc$z`DzkK>KFs{BbxsrfzMgLI43+FQ#K&d=(e)~M{ zrvB5mja7B|&%Rr&3b#(_VS(s;^I!S&I&W(^<7mVy`D|n)v8~Y$^vC@ajQ_GL)qXZ8 zah^>F^1xg>f3P4HCQjl%&|bF1Q<+F* zC)ui|A-LM#cog<{Zk~j3AIxJv2-JM@+nok|0hWQd(ok;%^F$q$zpEemN@GEVmjHC# z3ajcZRmK;a$Dhvoc^BQ=zmwez08JM9G*`6VVg<|^X8jP)&Dx*NT~silB+&rJ58lz^G?syL8;^zL<6?#leZBYzCvK3t zRI^Nr%jfwmt3IvT#!`zM?yjJ^(e2VMl^UTh zYigUDvl6+IjI3-0%w6&~&(6N`o&!Dpor->+if^56M?gCq?ldn3%ly16RxT)I)ThCkGT&UZ*DVk8w!^k{xukb1jBCmH-pr=^N%Wu> zivRNKq+PVD*iGCe_w;s?KAVT?OWBJO3!Qq}alfH~DML*Sm`zQo#$AtIi(jSRh&?f3 zTgJV5=1koIF?B<7=@_St_)8r)7wy#hvy>ragp-!5r^ zEKF7JKiDi0YbKApErj=Q_1^sghDX9gb+si0yHp zLEg9cO~>67{2TLFy!$zF9)cX8zp)Ryb^eb0Lm&9|RA_VUhNa+nz)Tn&$Cpn=k=+1% zZu-OCx?e}3ME6%CFnHkZ&O06$x<;(~whd0R$9!&SJ9*svIXa|iN_~;(%2d$$wcAKr zw`cv65lFi?vyTPBG3E9&=MmHV($a_erY3%Vz{ziOYwPF1!sVr_C%}6EE@wPhw5?nm zH5If8`ke9tF-7*$v(W3g);1=rBr(=}kB4eRAttP9q`{yt2lQ*`5~5(nw+k>BWaZ?j zL&s}tYtK$j-ehNIM*#s!zUQ61csvVzYEqcyUDe@F zQebX@cvlA11rfHGD}KG$9)TE6qT^t(qA89+VrK7h@~|*8F))6yQsO=If8S|G;(z0R zV_dSC0%K;wD$5krQjHcauC6nUp44|7&P)6TL%Qp-VO32>3wtDKxt)LB&iu@iKhdaf z0|u!BuC_OTJFb>c3|dC~J9e&_4x;b`Oy4-)tCm6h)! zf7(TRe4NXaqMGGuDQmjp3ctYOYd4Y}WN-^D9C{l`^?WV(@82iVAP`OBJYd#jZDmD@ z9mg*ysOIGKCtwmumC+S~od4d1G}|K3`{~UQ7?5mL&uH4dL$I>FMOf<>g57 z#e&1xxw$zfXJ-xomqA{f-CR?%)va{}gJt1y-#ZQBu_dnL>_S#AJ08v+uXi_P@X4~$ z*W7#rncPK147}8(F`Ar{os@KFYOaf^mZRy8q)~bCA{1as)Yt5=hD<>%0ic6%dP7A8 z8(?)dK0VD96cqF|DTx#C^CTagoP3y-m38!1U;lARO3F6?7NBBpU)E4oP@wGOY9jZIZi1fR-j}yK0m+r)kq0tYi&)oIB<(Z zE`QL`)MP_{Je)fG^XJcRx((A?1qIwG@Z_W<-@m`)<>dnynV9OaJpBBY^Lrk*KWKkRa{7Nyk*jSh3NCo2goL3#XVL=6;=f=(wYHzM;nBCOcl zSU#E=CbtGN@6ej*mZ1sI_w#L(2)(_|xkiwF>nr-%QdCr=_4X|Xzy%4k+OOmSa2E{% zY||lSE}J`mc^-ZT?e~a^j0u~Pq=p6=03ecxmW5kFMrf8_Bk^;gPx%dT;Z_% z+?T-y;gMkcoSuPU^YCz}@5J)r@>2RVD?2;6t4qn+-rgPm?09Eq$KgDt;OEbe=H}QF zW|E;b3a>RZ`fqRlKB$Nk`PpW->|kP&_wc`LRSZgf4OjDvMB(>~{2Y0vC~M40AQ>U) z(Fxs|^|q3ChFyIUnJqdbkSr$M5_FHbOjyk?pN6u34eY6^zG$d@$^P-W5Oz{?J6V|#mGb~e?3>&qz+@dN57P!ZIVg zlxfP6rBm!2^bcW+w~*(H!hl8IBC&@vg~yl=3uD%J$_tN0r&Gozv@xU&dD*i zv{a_)zBLy?0FG&?3s3BxX{NF#9p$$2?eRA>>=J*9KVUE>WHhXcq~#V`lx8_unUDA2 zfz2@W-{atsa{4x#KOjRaJCJjkI~D?ABS*ev*2Kr@&XDWI{8@DZ8cAnt+OkZm8sFbm zXFWP+OSA+(PPT35T6AJjK0f13vVc|%kmLdyx8EqDkMEi-R7_=#rA@@{l85M5#of0e z1vgr|#4apw9dJ70n#s& zjJr}jmzf*9mK>0kHw@<=@c+TLv7-?C=7{4)h@Fmo*cM5q^LjC}ZKLwS2vHS|0i^1} zr-ni>9o*leg=9K|`Tj>(#wI}QcOmRWSoEAt%=r9bKQx+33W)*UlbN2fa`t1L495&{ z=N`~&TQ-PyBB=Y(zqjZBPz55mg?geEg_bvCDlGU+w(p3_V$4=NViN{d4d6{{QT@uI z)gkah&E{H#d%fPc_(Dw*_btu9>1$X^7t+%x&_+PKGQYBE-TrAd+k1h7$4zE~m}U~P z_ItZP(dPbL`|yK6+sIYR*>7anIy*>JXcA5)Y{X(`857|wvmfcq(1NAD(~9LTcBc&T zlauQ!i#x06`cEgD9)i3KM7l47Y_=eO$uqgxjZNFBa?IDazPd$i?xfFI!JnQx2HbJq zoI^IfWiH6?w=Z(s9)*ymTonK1Yg5`+>Q>(6mD&PIwYnBt5_8JxpSLznz}WO>_PySZ zQS;9KxZp3Vr_Z_(aa~W&MsxxVWDh)6&SU%R4S!oi^|bIOH^?vtF2;*PB4fubV>yhlL3iduls)dYj;n6BSaddUMMp`A?7%`-L)I+<(pkyYMP``>Et z-7@9DBj_k6YS^;3%^=+Kz8o0OwU7NBZtgCDt?K>L zMee;u5Z!^F4uE*ui1I|~FQX%daSy$^w5IzZ5zk!j3E!N4VHmQq3DBQGOJ2#Y5%qHXyBpwd5; zUz9;u0P6WJstq*YI_}5_GnyX5Mp3-JtKV$5J`kN6L)mFM%q{7LZ#SLiq3LYc_FA%R zL<*hX{3`H7W*R5HqZ|%^Jq=Xj3p!uzRF6LQX`>@c!9-%zAAkmutwC4{Y6zWBYvgSXi zJjie_kcH!&_f{nubx%L-R;VwLEerQ$!P0Uz&ZG2)TWbCr#dxWQ1Aua2e9d#0)AM8T7SS8ZA)%%cEc!>xG63&_?aK57x8wBYj%2 z+9GCI>V$n+T$2Q%rwdQz?p8D=M>f_?%kDMt57ka&u3FB0eqo=<*%8WWMth4LB#%&Z zKRgc`5O>S3`$4BV(O`~%8=ZNX;-O``e%AVUb;gCajM=RKbwbW_Bo%`=Fi z2V|tu)>SnaCtXvvWe}Khp9@Z$b%-~p1;{VdE6TkD_<53X&1s)8yn|e9+3b%8=(I(K zn<~K^8H;*wG6f$Z{|6tK$)O-LtA;fFLQMgbdtePF6gkNzg2Y9LNkG(}91qBq-ww1K z_V)WQH)O`4C}#fUTnm2oj!nw#44|UFv+UU}s8w*zjfhYuj)q{uthVipv&`v9G>%er zJ8rPo9hr%G1h)+W%kHP_k7aMq(UyK7YRTrMa+dfSG8(_60)iwNJ1~45)Wu*v$ce!Z z?W2<*Q<;N+_2l!o^+*4WSgVk8QFexjutyCe!^nrG)^FyzbulT@toX4W0MvP z>}e~vwZvn66QMbMEmxWUnTXhwWL}ir03Y{ssE$U} z$Az#+&hvHN{}cLJg-S@%TNFd@FQ1_=oo>s{?N(R(8RG3WM}t)0-he1;DaZ>XnYoWN z#G3Qp%O!Gvw*QbL7<{U^e_{ z`3@XakUT5p1Jky)ybx)axdKdC{zp#@{4rCzoSxPVlDYf|w6=dt=$|fGEb(axGyZvZ zVRyQ4w3{s`x_mxjK3GK_{tFD$9w#A4`sc{~EKtl&*>Oz8pY-kW_m!dFHE_+cBRX5LtT^wI{kou?4?6o{gTzJR=gjf)D>mCSlC1WJ`$Ln&@&-_J+M1?@~koM%rPLZxxP znOI>P7h*NLu|K=(aOoUN3nqOAT%DrJ&ybbsEf66uD&o!sQOY*E7Z%=S({otd)w=06 ztzG46dP0i%z|`O9;hhEvD2(~iw)R%|1u4-$06#TYjy%uz)S#MUDb@B)#^1+)7HJ&Rn{Zl-Pf0%c-Edo%{t=S?RGge`{3W zn$tR<++$6Udl6`Gb5wC=abKt+^~9S@XuCf;CzG&l6&-hX!?axi@+TOE{N4$*6v@7e z;%q!E8~Ej0wzO3Z`LycUV!H}as0QlC>^pKt zmTHGWS*IBh!MI2VvX<;{-P7$f{~1Jm$b8Ed`|??jxi02?KLdS}bD;NjS>9F)`dI;e zcygD2^s=7XYo(&F*qC`PnO_0sPo++E(7E?gzAdNkooB9?d=thsG>Plkj>DR4c5Cd6 zb&Mjgb^Bs;vrRo*Ik$GGL)RlJsJT+FL)$TfWcZywQJpDjSBKG&w`Tck=|XqF*&sG zZ`#_IP4i@Y#QH5n9nU9KTZc$I;qZ^YBzu1+D?>MOgBD46%~x0^$aI$0O^6=TEbNuL zF0SZMkX2(c@JmSYYiC*}1fidd+(f4aa7^Iq%x@YKKHgq5W?ed5d}V0g(j&-aTD^EX zsns2S6HK-J304h>>T-XrRDA7tcR7Fe-<3X8a4;;md3|NwN$9xas;Kp@a4sBO_f(I% zL{d-B-HrZmm;C459`$6r(`E#g}VH4&27y%&z}=b zm_NsBt(TxzY3Sjz=#PGHZk(sCf=1l8Qsi^xKmfZzVl;d5-l=y8~T)8T;YE2(3+C~~vx%2F&eR!MnX$~J@R(}_y zn)PR~Z`dtut{>VM-5OUIW3!W#_Q1EYx*4;#9na>MtE@a$X5MNJv#*0i$+n>fqYC0O zix*$i3dDUj!05FywLKI9+ACMvpV!tF-r+6pJ5C$6hoKDCWEYs+V)RIX_M5SAeQ%^_ z(8hi4`Ml7ZPC-chiqansBijF168MJ#Uv?k!>*hr@t)Ui#%;D)?5Bi>WHifz+kQ27= z8iY|Bx~=@gw*aT-?0P<4mmiXC&DnT(JV1MnlL9pviz_-To7Z9Z$lnHNsYnOEz6+qR~#y0%KciePU)cXVy>hT|LhYp75AQcI=(Ho}cAWzJf- zA+aLyO~>Vxr!JB2GC9cT|eRo`jQO*?+^Glrn z3>LbqkUB{UHhE0$O8!nvpS8+49$ofA>6~ z>#lgu0BtmH_W7Ird{@;l+HxI`E-7qa{|#pR+f_}Ug5lsjedvWAG!Fx3#Wk$45Q87* z-BbJGjQ#Df>Kl>uZA&GeH8AIqLn+R`)cw&17axRM-VH&P_F+cES=ujeZ_&5(DJNz} zdBBS{lLBMfEMAM|^sux`Fb4 z9%uV9?zdjkH+A617r`PE`&|*`<%Nnu)V!S^*d4^C`_V&t!V;)WvP?m;n& zLO9IM$s-s(Nnm?mTm6r$^4H!3uqxWV0R26J@ZPLHgcv0m%Yl~Yh7-u%-CGsO*jcbA zlmS*na)4Eln@*U~KbTlZMK%<5a^rqEl78cHZ&j2tT1OT>8e#dzfO0P29uyNb(^y{# zUyp|izo^f+-+$a>8S5WHE?p6VEPw;xWF^Bt2S8!~41SS%?*K@<5xd=33*A1asm_K# z+yCu~en?whHBTWWjiyjdNSK^8Lm-=ze4Ud5?49>GEAb3$1K=jwJ8>zG#N8 z?RXX?a8?GxFRk}}On0*Eh)nWtp7iHRH4vXVFc;t^dW;SB6E^gKBi#&0cXtfZT|*5FGw%VP_x--}gX`kQ-e=d@v-i5!y_Qqr z($!6?T)`GJMb|q@*ASFCs@9i2h5CW_Kp3>^8EvX8Uiy$V(~s*l8_Dvg;4a>c70@#6 zO_^iKR?2|AQq<`(stYx96gV*YqH(zW*%Q96;2@hyH{sudPotvZCGjSm16xnUqQh2_ z;0OO1i~)%jTjpz~H|~5kH|~54Y_HQ=B5x1YODP}r>(FEUy1>C2)b2Ws-Nm!P)TOom z>2UV02PFz&yT^(i~|!f)!&c3X^s z?L62ODqS{`bb*1LK>?_%J1HQml`e#!lMLLYi3yZ0W@E_nXH*tlmW0LyYCvCl89pup z>GC>;PK9ccWG9uOqr5{9*j*KVdiN~Wne?wIm1sL8fsc)wTCi0)akaMW%SV#dI?JcV zz)^gEud>UB$$-^f7|IWVotG=#w5f6tYBq*`0*@6o?1WHtE??bQ9Gdy-Il6o&rt6Ai zYVdx8#9-e>mn_wBO$G1){X=_#U%5N!8jKNfpE($6r>*x&a21EPK zT{ds0W}fY$9@JF*AErcXD`{xRm7g^?L-oSIIt4qG-UO-plNpWeL$=l+JsNP+p@K=H z#cFh!f%45q6gd!mXYqgr*;(+u+8g;nU}2$*z*TwjE0O`h0DKky{9f$}aLz^dK#fn% ziDXKvRklY`M2UYc3oFzmjokrvb@scqdZ<;NGI<|Z$ehJqYNG=F-N#PqI(AVc*G@8k zQX2Ov;HYWBO;q|Wm`Ed|7GutDQ&rtlzNF*v0xeyS1aN`%L3cfCYTB3`n z5m280Af=$ecu(n-Ycc>*BEEr?T9J3nLr}kOv7ymFUcs<@v~{3tA9NOQ+{sY_Sy>-=Rn=*V~l9f0w|t$Y{$Eg?ICt0}H4bJIOgG6*5&9`bH%kdGhc{?bZN z4BFq=!8sxd^3AM3q%{CvbDP22doIqp3j}7yJ_`EGhOP}{K;@fLw zxP2o5U*828ig|Mjx-3SUlXtqB2Oc!t;sT`%U0PWn=_a%idLAkOvO(z*taBQ#=zSFU z(fQE7xof>$d7tP$wj&L8jCh|7W^*s32Ean=Vs2hq#}A-G6_-q=r_cl>kf04w;|GKH zZyfhHef))v7(@kQd!`9JoeFG|aV_Cd$F6)mn zy#b5NZoncoAx9h*_vPeWDkV>g-)ZWL7ZQ&9+-PssoBOf;1(}}>2Fn<2#}PU`nFK%U zI}R%$4mmChvm6Hnhn8X%PVUe0nb&eytY75ujqW~tD2Ms0_!-Ve{;8d`l&LMDo&B#h z2h|N|bM<7&^F_D)?>$4}Fa)48`vtImcCB+%-g5bcvs=BpQn+!WEcOo_r&K;Zikoo z>%k*&n#lH!O1m-Vl}?gkvnEkU% z#V^five5;sS69lq!S`i#`{>7#{GO4lstuGX8>`mwvC(D5I4wVRi-hFVDp7pFELm3T zJNnL{Q%N`vI6fpSVPfO8s2yINAC!U6fgctdAH*<9%ZCB(HYE`kj+LVC@9b;h7t~kFWp&mx8J)fyjsHj{v1d{u|tDf4)Ev8YTkt z3xd`FBMv|;ngX9W;QL*s!Np!CmiEgV8vvMQk$|-I-?C<|fKe9Q*dbd6n183V@+xbgKz#IZEz703J90B1m~wsH z&P_pm_<`rszQ8}097IW!yrnX~$`Hc|e<=! zrfiLXgA})UGyRJs-VPwq{4IA=wOkB?B$crJAG8D{5dF z1%w|Iw6tRNLWl?nPY#q6NmIN&;gLA+P7B}z9vy8PLtp_QH~;nf+Z9p!M2wpatss77 zuIP{MR4tH9Iq1N z7=5`$T}$G`sus+vy|`h;x}0w7mei}^o;d|p0x9>Oi2*TaWr$hRt0Fxf{Lw_y8b?zc zIr8LBANWMxwByqQMuf0JH)!DX$)y^}?FYcs+T(f*eJzfFImr_Db;T6pNYb4XMV(r| z7(Q!yp$AJH3Mi0t@0q>es7ZE}Il@-s{}TUxqOd^4ai$y>FhgtsoHTxW?#%)^gPsSA zrd%~Foul&COkRAy`m1e6ux7ptS^~loaTO6|D!-*(+)fm8NNwvM%Tm<+c=Tfwx$M{X z;nku91Ag`w97!tL(GAr8=G6~8(%r$iFS(h_hprAmV5E@ngL{tG-CnG>w ze?Mc>Y~ehhQ2|g*83o_<4_DO%Gp)Z1G2&_h^xWkP?M8FHR14U!NrVH<%e3xGl=ypj zx-&&1WJ`WK6Dku1lpj`wxQjp?o1jJ6v2|~jLW&Q2QtsDN1U4&~TO(&O;)7 z$curIk-q>`&O-o`wk_KEexc3niK1+PT_*g_l02!YtLw#{1XST&0bkw?}-h@1fnwKNJpW1T%2dwLB1?ABbP4=Ng92 zOHa&Sqcj~^rk$o>rc0fc_6P~s#nYt?P#C%CC%?^MW(Q?pjJ`U?zcw)VT%eQxX1za| z{E2!>2%rRG@8JzdaoEmP^MrK8Fez+~=0=j%P#g_>&=m@}bf0hZ(TUzUEita?1k*^k zvp>;D`;35Z>Ld>l_R9jY?h44BMY}_@*7}USX#X2(Y5wsO9Q9L@?qHShxzHo_;)r4N6M9!sB+K9JoRA1 zWjYsBf~G%dX9Uw>cst>5<@VP@9JmRlQx7uRmN9K*uFddLw#4fe2qd`l3} zemt8w0pbz zUqYjprvKFdI5&<4ghfU~7~tMA1PY8+_ss<^%tJtUW+~a6t1& z*PWvaiyG^h3rX7F?ETN_>vM_!5j;Y^*&d%mrjbKeHnRtO^o9hUU1-Y#4R`tu%!kCE z26nHYPF59cqY&-MR&|>!6?6?-$SaNK`W+v=b~n~Wh*JDl)Q6=Queb)&HFw{8o14j^ zgkzyHy$4PIV#OQlS5tJCuv$>57!00lQE9DVxp5YO*2}=|f=h`rG|`U4)&S{R;N()u>zWNJqlea`2hN5pZ}gG-69>y&K>F-ePj^xfgY;L<6m$B&_{N=Vv6)wkFg21 z=k}a0gIXSP3 z?En|vtKS2!O4m+0cFF`Q8keMARGyko*9bE0s047Kjc()ltk*T|yJy(f2el*UK=svw zPbkB~*<9e-m$9qMxbW+1t1hz5Vx8V)-mdHWDHS4r1{siid)%&vp(hb2QJCxsqxCvm zN?6ulyAFu^0@UgIB*<>uIPrj}*3%26pE5m8ux?l>6UOF|SQn}tDF zI7eD(=N;=6$R}m}0~#@SUkB1RV?*lT^}jwH5b!eH#C=&r;eEew;J!Du*iS_=Xqf6( zPRD|RoH-lQuUyrC$)S7&pc#KD$^O}516sd;E%pp538Bv$zW*sNU6db8n^*QAO;iwa z^nEifl5s;w>}me7xH>9nO&nNss-x8oeSjYP(NA>1LZ5Onp5tK)y~&rvg}Zv$fFd!M z+0~;!!)YIG!J}ppbMh`%4nR6w>UQvE&jT#cm!{WbXy~;CsuSr#(5X|+AJF)QKS3@H zFQ((mxygT;#Bg>d+zX#TabVs4vzkBtR5lGY8%Em#p?bI^JXzX|jb?{WAkFFda9o!% zCG60W^sTGk7kFX=Ld-EWkpDJ(PCAmHCsxsmP1`jxql6}qo4H(Az%<%`Y)Pl_*Tt<3u^0rds)MgDG* zDIdrue}64FVv6zW4Wy+i5&g&)=8oPu*aorpxS(2J@~`StiA9-SVBQTWSg(D4Wp3;* z9&-W&anpNb1tC1QZ&Lk}P!GAJ?I?Y4r;~@gP z#og0#tWrrpkwLFTK*SP|zD0qnzA2Hn)-o~agI$1IRj%wz!zcO<%ZFe8Xrwih1>LsF(bI>;gnUC28m%vP6SJ zj^XQyl&EiCC|Aro826@0ibMFNmq1vYjw*kf9sSLCJ;n{!PCDEw{NTq~L0252Hm5o27H}!BloUFi z3SWap&`QUYskFPBEi-+63kHmej$}O72}R$o`epD35}tOEcc$(%{0pIze1pnxqaXX1 zGP?sqGU(qT_EIP`*d>|~*RTIU7fEK(lxQcqDzNLa^!E0z{izdKWrRu{0x!&aZvJ8k zA`>&0r{!bb>%ub<&I!yrxo~7d*)D#E;GRpbdn1t#w${$AN2?dlhImR@h29;TvmI|bzbMTJDi4;UxBBr7LfCDKO& zp_+4hA`T*{m2-QeK%(FQkP))ae6hi92N1B`4+<*zK?3xA1E7OmFf?>YhF4fHSFmZN zA=pa83+kD`_~+9ot}JrH4IObQzQJ1Zm&wm-DO2TM7bdb{Ah;tKcNltC?($9?2Fqvs zpoe$m@O2}8g?ulhU}tBRPf%kAG$>WDu%@>9SB|7aI~QCT0+|fn^_?f(ZEi{yWsJGg zw?MISTboOt!y{$0R`(+*8hKcZJOi&9oCFPM!*I-ZT`=wV@ zYX(_@eerFIh9ijgJsZk)udX%NVs3pAH_su|XR_%iyKnGQ{oq_tLQG9d3vAiEky^yh zh)Q~gZxx}PXq`c7nWY8|lnxh|H~b0Y5P=|w?+JNV(L*QztUOxG4 zzzyU#zq%JXpv!)*rE1P0XUxvu-+#F0)-N}6183(PGIa)pZh_~W$Yer;7FW}&R&#B) z@>WFcQg_3Jrgi8wE_I*XJqF?XzO{aLiUGt^#@7;zY`>J1FX|b_)>zbPrudf4qe0}2p zR%!_)>f+)X1aQ!!3Mn8aA+hsyPszI^S-8HIPH_ws<=i?rpe|i8Fg70h;pOG!>hE7X z^zp=wUse`yq2t?r2rRBYx_Wna|4IDT;)`7FP;bem2-?n&gH=L){*2h_Ot_CUc?wn3 zduuq>RF<6o=Spq_yAzkER4`T2F;q(0&s!ZwZi!>$G^iwWO=xAwdzl`ag<^_7_!p4n zG44ix2M=%6X?S=T!{tk+aIK2DjD$p7R1^t<*E?{0e>wT;@-m0k#>U3^V-=~7v-2yR zbQeBbC#R(3W;6gtoZ`8@ep2+{pvKnb<~Ojb zpI;FRB}qQkXK`ui5|WB%Zf@`zI;|Uz$rmpoMFtA-s$a;bAO8KD$<4>tx4Oy-`pNv5 zwqTqF{hR1^h)E|!3|2x;Ng+Yr4zC@qU+0U-PJwcnHlchwnmXC^pZlfCJc4=d``W(B zvcEgmcV>)Pukk53HC%9zw@b61eo|rs${ub0qyu~*)2dPO%<&S&WC$~wm0bIa#_WaRefH5|($J#`1Xp2SBnd%vC!q3Z9}6nw!OoNk1X zM9q+-3o&{FWF4Vlj`Jg>t)dT(j@zQOfIp?Pk8sJC zpx;U)0`KFsB8jOl5eUOY80>M*`=Nn>%*h{Pg$%d81@sUC6wl>Q=TKq$P?2P7@t~?p zyaY96NcvoasuJM#+1Oq%S?wXr73j-bJs=)9xSbJgosxgoO%BITU7_S~JbP?Rrxv2( z*IBK4MuNwXF*0F@juH_OdC#`df*(lMUa{s@Rq1YYQN2`GSLgic<>?u+uo)Ri zgzusb#`E*@Lsxi#3LJL*X}W~tj+^N|cunkQ`E7El9r#TdCw)tOhV>w7Ft+vZ@TWjI z+x}Ag!JYmKNMQLKj%@66!a|H@nzG0F(gNHBtbr$1In>Zs!oowll126oz0ckomryl~@?C>%APL!vd zT;r@$8dl8^UiI|Hr%TcYjIAVC9wL@6pT6X6Ltwm(`3nedhVlWppninoO$DA23mOQB z=P_(9@scXZl^po z^(Kbmh1%Tasw6`OU;3L;RGpWR2*{U%AF|m~NpohuN2t?PmJ@@uD|^#+SLx_p*mwx} zlmoJB^`{#=r*pE)G&hBo(k$HUP?3IXvS40^Qyv`Sw&UeDstb~7z8ni-1(EmoMtiv7 zjrmoVXL6<{;Lx(pn?lb@CR|}12&Wk?w5rP4nFDL>kp9H`ER*1Y174BwUAM~A4@??E z%cr?!^}hq-yQ)>NZc25(oOQQBKuk3sol4`d%{ldK=nNg#%IIqvO-^yk1kZcdCtWeF z^5Gfph`yk~yD1T}&PNV>!o0Us9|uX2%O&mHZYz_^W}J(T@U z1^=YdO$ld>L)UC1wa6-T@ANt>T)Tm<_wYEDOrbAeAd4X>vN`sl(-WV79jp3k8RiR? zn-Vkx8lt@*#B&5h?dSd!6Ai(nkXhAlldPzF%4B`64ZWvt(nkm1U;AHjwS-+#GJ6x> z6q^3?r!N;_pO2&-8aE%*2(NxlRaZhFYpkr@0OM`luR|-L)^~Q?_#k}f&x97O zm2jY3i+C%AM$!nf$_fQX8m^*Fw}vNQB}Bh=FyM{sA32+7i3r^~n|_;0%jOgC?W~fi zfB{mXiO+buD006K_n7}RI|heZKM1HM|6ruhL*etgGhRv=`-I!!z3cfkxDZ0|MD+)rC}DTy-H)vtaj=v9bx%Z zJm!nOaUzjqx_xebr+tZ+$YIDz5>%EHXtY;W3<*cB^Apen-756b3^A0i-RBY@QOWl9 z#Y)^dkC1V1(p5yxDXa3H?e9uR7IE^>)VPghvCGX!{UCKf>|`9nScJ0}azB^3n>Dt@ z?Z&g&b1(*2^IkoBH@Cr|HfIE?<_~lUK&5z)f(RzE&F^4fTtI#wNV?*DU4uyWf#e*o zWd7LXE3iqn8qgK$4bOen=2uHa)qg1RZR**nnFLqLJZgOj2fEtQ;>Fr*Y^i{n6+oA) z4cXaBRHj?ZzpaBB(DEgo1z?tRXhU<{=jK!wD+Acc^vB7JWH;zB0$XoJ7+Yi&l70-{ z7+Ss}iusDOb6qhH8O#2}imD|O$Cv8CtX@-x)zW3)pzc=E1Ju0lMdc;Z2XMheG=FbLG4LzWxxu_+# zB0f(=3mF&(#7bg{sgCr7RYhthCuVNH?~$?fO>(||Sfqi5>0OUz9;q_gcir)6ni?`P z=N*Gib6sGMg3e=y=h9GWv(bCUK%fm|E1^IR+>aufUFp4&)TurZK5uBYHTN`?3umympgh*DzTw$Wo zE5995caH+VD`LM2Bj8d#O=dsxRLODtWte8GtzllvV(W6qZ1y;}a&84(-9+oZ^}Nk6 zK1&)k^@qVFrS_8^2{tXnZQtq-sfgR2O?i}Sj0puo!6xBqaUpgo>=D6ILq6n~hKY~i zQZHnuJhrYfgw(a}tqm>C{A@49v8>FOjAvWIG6^RlC#Pm!;xzeKOP0iezlfCPYz&T3 zP{!kZN_IgS!sr*b&wl>YO?zUZgU0Hsz|=}y_(e(8wV+h9+t(EXM@PrA1OAb1ue2pB z4$qXz$6`~n8tDOEHm8b;wwlZC6={-vKe*`21@0T2QLQ6W&A2Giil44?7R#0b!qeUp;3d8xbPZ(R)l`QoEN^WU zNJ&ZUx?WvhH`R;@DZTcV<%_0y)D8zSR{P(exV;Iu6C?u5)Vm30 zkAH=x13KN=S9gLLXwUOlZ1&rm`xXwM;^a4Js^p8IRn_VyMZG(?!G=oSqIZF`y*)$R z2eGh-H--|9uj<(N2X`E^-L+V0sGXi-II66^&Vr7DDmyPiLZ>#+olI-e(Ph1eM}v0k zRnpYh+^sX);m^-@QkMKvQp)KR%~gJ%b?kWm@l{Nt9+`nYD}^peV_>3+>VWqA*jd4M zW_#0hz{kMOm~^yhqd?Tcgbj0f%|BDkNU7`ggBr_KUZL4#fj2*!>) z$UQhxeV->~15)(U`FQ&Cg!X1Yka$h_yiBY4NbO)Bo-TLJ%GPtk=K*wyJt#Sb0?v)J z99>oG$^GE%A>z1E*~t06tY9v;qf<@@*`rnx(eBYvw$HA=PtV-ra0hK(?`Cb5a@KG* z)jC?0iXL|xpY@54RXbR1S<&C0v~^}gV9JY6b~{%m!iwGiZ#D=^-Y&lTS1K#!j!t2e zWtiL$bP3cNjQY~5d9gwWr89U%v~vIR(+%?pSr0}N=rwCA5uRO>>PV?8JSDWwBU^ zm94}H7P{yuNV4Ce`5{GPuOcqgp!IENM-jivE9-vBLPc<`h2i3qU-I3*49s1TAF6V8 zt=>(TTh+@GBXThSbc^Pk9(?dp8C5XVZGYd&W5)L$!Mh08XF<6>PM- zvJ6py48lWV(WXfb@% zn!~i*Tg-q~qO%e9U5lynWF7i#hpB@wqbudm4ucR~$2w)_7JMhOIYUu@C1w#|V!w8r zZ>WuY81WK|K7#VR#UIkXEAbPgz8o$%@7PN9yaeM&^K>A%ANB^G<>t`Ik9L_WLOPoxnyBHHTzcjVJ zKUCGdPoVh=Lv`GKN4(7$Iq)tyiD*N4c0XEL(2H*YmLVuOpCO5xl9ToeD$WZLdeQ|I zQ!2$xIg4DjPf|1>{$yn zNcXV+fx`tgG&PS(7K6Nn$d^om$6&!vY$@MW4NB<(HpQ~>-iR$fMaAj@6nVch2#E|Mp$b7l{ zbx2>P&+pz%9iB8!Tio2@x=#cXk@>UTrvd~u3J;*s2S2}_I88jC3I_Qk3lQ^EF!Fvm za|;B3nzE**y`ehw4LUkH0b$|Lpdd_qNlD3Hg@u3q{K0BgC}mro7#sT(7KVpp6%`dN zg(@g0gtou2vcd)u+Bf(1q7uIX*VXay@t+XLP!!_mNK5gBljwceITk$=Q-j|)fJ||< zK3%-L^!<+Qv-B|FTR01#%V9xEMpg!e9w;`Imp{F1K5SY#{~TMLnwkorNs)oC4o^;2 zI|Zesqi80lrUYbVWB&fNqzSX6v9z-$80;fx+CntZQ zRK|r71;+fCoYX5WF78$c-sDrDXp0dJTU)c<@;llAx;H&=6JJ)*ij6%i0*{9x!ZD0b`}jQ6V&s}P2BL75Ds*zC?Xn4Rs+hY7Q6 zb4~VKo*dRiFsDW$CA57;w$0-1x;XR_ET^Lr@2CE>c5iR577Fd^=^=Rj{CS#*3Ig(W z8hMIBX73VYb%JQ6)K zmvROp4I;E=7`pBTOQn_WR1S(oKgP%Eb2zoV-l@+D3p}+nq~hqK*d4c*e)5&bb;qAo zHA{*@3NA+4)QOj7o&4rO7-oYgjRS8>R@btWCPxI8%*jVSbsgsJo)?jJDNDzNOMfuo zsza}mwZ1_L_f7d2#k0ERsvnq>nZWMAI}b1%OTpW}EvO1`r!abXBYCRr*29usP%ULK zUgT?Xua)l1zJZ9hM7UuncSbe|E`8>XSiTtO#X4cW#0VlJh*04OmB-iSWM?P%{23!t z`!NT5LZO;a+s9-}nO6VkAYrSigWp{)XM=u5E&JD>lF!!{{0{13e4yvD8`9q=y3j>A zIXT~H_i7$vX!H)TDD403;Au0*N-B-6*?J!my8-MM2pu(<;r_0PM2ACj`n*5 zo642B@6$TeFI&k1+QOq6?X5}-8M_`o2bn#W)X}g3$xz&uY|U?jq@LQB@vojaoZFCJ zRXhx+8nNwG3aB!|Md2(Bx3ytcCAw;9)N@cT0tyPCN*6yrF6u1+Ln|L3ybza=z`DSR zi;0QJ&2Y7~Wp8))@gXS2Bzs2Kh0P&R18fURSl!IH`tM(|J$dqxb~`AD1tSE7^B&MN zz>xuBMpoTU5% z1CQzKinI$<98P+BBhredrlu_Y{EX$!x3*L#L)?Og0A2SM891|Ps`oN!h0Ly1K>6hb zn|(xlT%7hL9EMfq6&)WZg=37;UXQ3)Cc6U;Ll;+)427hB5G5`1_@*_MxOr(KSGQv1 zgG@fnu)sA3Q|w{rHaA$f*XApszvfG%2CvoXUJqb62|mrx5G1&>qS7i>*OIJOPS$k{ z(R^AkBBmjh(~|P%`!&hFJ|Oc7?Do%6E9+`%x&%zxi--U`ott<0`1t9^2PIvre?T8T za6hzIK03O45x-LMkQ2wkcLF~$ zY{WQJ%7Jr+kCVlp!0FaQ?F)xrrk?+9!N z_czFRaNebHjow0CY%+QSg`)QJB7W0xKNM4}*w)-0rhmqcZ!~LQ%lx^jX?ofYHfunG zBNv=&>)>P#{O7PLP5^6>?T)Efp-Bwcy|z4TO266{cY9}cjJg85?K8PaSA-ILi?U#T zCRP0*O_!LM_^Wit9ZbfH(3GVfE#v_?N_V3Tx4~s1v)X9;0XIl_fWSmauWC-rTJN*Vd;^Jui_=-6Q{}ABfnl^O+~zhQ6vYd(NJuHW&@-yThSq@%=A9ElR}1&sCOa`)6j?hxw(r z?*VPmHh)@nt)~jlG$CTv0_i!`l zwbKw*E+s(8-ZG0=dv|W16OfW8Mc2^!M0;_d!z7<3L&CE?MfMG|r~Od&Rnmq4j&ND# zs@kdNz;>peac+)RgMJx9oKv&|9X2+$4eqB+$D%fDY{|2q84+j?YTK?q3@^sNUixi1 zBt)>uhm2V7-$xO^Qs5qWE*x!uE6ZjI`=D@J%zL7}Zu2#juYcriBcGXfH=53;K@+Zt z?tgBsG^;$cv zBkH)M(|ZE^e9&0sh}fXdr=31JCPv4&+0M!Wcyg4;b~}Fo?lRK6C=d42s{1BluVEYq z`QH|nQwWO&v=;SfIV_PB_G)!KP)I}c z#^AhxTz@)(reTTlzbYsYPjUWusf#1$@J3}EkjY)g(+s+2xSeS<29V?XBlJI&s|<`1 zf8i|HBKuL%`eZZ+5a#-vcyHmGC#$OZ)ABDgDjbvSL?aIEB4Bcj!i;-M?6E(qA0Xsk znQ&h32>aRFO{?_cK5 zvFxkRXr~NzP?7$MHiO8S7P-Gs6dCHy2*kaoMUpZ8x1NbsGxr7j$+p>UM}~nppaQCK z8hF0XVC?3JBTuIypqVWYQEIabENV9stb&dGs7ren-qkuP%^58J;Dh*`uzDrYpGqd() zv;hK~#_QOAZQ7#%X}?^^S-zb7DW`r>!9BF0JU)3W;5^trkU*XZh+?w1 znsTK)QA=UiYX3T}s%b4~H}U-?tCAa!B6h6lS>s*`VDTl&@N>d@vC+pZ>A={9+@7Qu z@JwsWaWXcsmA#bEVPwud2aNkl-2wylW~;1`3k_bmQuf|T>OwV8am|?tQ#vh5{RpXQ@I*j6XX?GWQF%*U429O{QH&VYaR# ztz;rYtNCTcc_|!4qzt2@p>$aJp&MBG*sgtrhq1x*=Q3??cOIc8#n3CW2!E5SeIT0$ z<;(FX>&74E^JfZf@wnY^?Osui#-kcJZ@T>nooE{s_{V4YhmM9E(P9Qt2*;`)kv!CT z!8%`cyj6|dVqnEMZXmP791cMHT}Y_>`EEZfEB!PXIfZj$@Buta=4fFwmrHc7bD#-% zYmDt%ycCsg8es~(#GeBB-pX}I(QOt`XL2OckP2`Ysk~{%=g+TL^-*3<5 zYQ)BKJ2SoDvg9K!29ZU}D{h6D%0L6(7#MPM_xljNph9RnF$(a5={9_$jXXu>8^UFZoBiT-0ov>ISMd`m9 zp1wd6+0bvuns*WQYc8nG&!1PE zH@$AnGg%z()XOnKE}0es{-9A3XcIMO>jH5ehOzfB#u~X$PBZm=dza-V>C@0p#nljXW zfI7OWlu&}^t1+1)P3NvRhE2euicZl-a^VQ2k)o)th{MUp(9c)-fP6~?*EQVo@ejV| z!4F7EU7|YE84|Ee1esp!{Jx4HlVaKDL|dS`+A{w+Ua&@dzJqjX5pUo;H^G}7G7?RPvs*uS>e0e4h+vY}g%CVG+*t5oT_5Y>Oa9G}yS`xyv*Y( zv(Qmwm*&z3=BGo|0NMJSS2y^Dp4p>kvtD01_gvmC%X7s%TB}MsieWo;x?Ax))H|{7 z-%R1>cw}AHA43tM2=iQYM@7GR?A3Y5+YlEwaDMOc)7|Fd1#a_f7r_izEZV|D!d1h6 z_bvlU9A&I!O0)Cd@Z`&u`8H(NU&Xlv4q3&(NztjFA0(`OcA+>Jll7~#cBK&kDetdQ zsXp-6HexP>N1JMzK$VVL$p*qghk4;$Rk5QP>9L6a>(#i?7{W|-=uMFOF#6cH85>Ra z7sOK<&@Ow`gzV#q8(mk3@cMyJEDw6`l2`<9;#qdt+NMpPG>}l1Ool2;db*>oI9vZs z+#o?|@oMJ?>=5b?;if7n^oD@OW$$962*9hVG#-`-R7@Ukm%f?plbMtw>EFQ=%>3N< zqo*H5_k)jOHctk>j7?E>Qv6$ypKa8kgw&0e({RRvs8IBPq*A}tU+^4w6>Rmm)yi_# z?t(jtDN=)OWGPy_Y5wF#+fTM9a?sT#+cCzW{(dyqza^>2=ti&X(*{+$n87^HMh_f9 z%a3Iv_>c#Q8HDJ0-iwW#^J7+~w=3_BL?kSg+c)WN1^xY%If_PtG;z*6-eV=UO*{ zZ4B$dsR{?qKazpRZZy40nX~80PP(!&UuG*Q-E-M>G+V1so#bTaiNPQPUWK^`o;;`1 zZ(sesgpT2*Zjql2M!uu387@uOVLz{~`hnlUp*ft}U=xkiO9qdJ`*Sr1{=FF;@}04f zR;|w4CM8F#c<~p|KrIdQ140-z7fR6eoaIu}PQOMaPVDRB1yG*OijNHAcR(3f;D^IF zkyX*oU3H&;wWQ!8NzdI)8Pvr}l0%41Fq(k9v1Jy7c>}uJs;80vx%fRvW93vx6OT5F z1Jx&&PYL|-G#KnqN|s+#Z!XR?f1UBjuWX2)dal=X)>UW%u`u%hX# z-{*9`Rd)RFb$=U^wq>oT0J1`bXNss+$#$fX?g(EW0)x8X!2>Ue52vRM7)g)8f-N`5 z`;iR9H>syUV9e)^8IYq`@?Dx(kOL;%&mqaV2K}~CUE9`6zby0B5s=RtBE3B2i5u3H zUSe!glIix>>#}M?F1HG?X9s=@bfKi@9B9hBcy*q`cO($y1m*;!yo%QTqKj_g7@fuo zwt@KqI+uPu8FsC~xH0){O+R{#PR+Z?hF2sR(9|PZg)|z=vI(5#Bh(TP4Rl|CIrzQw z{@z*qjn}G3{hu3sL5;ntTjE=?E5t~f_Tdj&2LzoV%gvk}@69-;>abrL@j@Q_ znJ29G8~LRX4eO+s89n$rPempG@+p!*BjJ)Mbe8?E!|y)0>4y~lfly~RTL9od=A~0E z(b01+9hoG>gw+4|fTzDKYw7$PBM=|Oca(pjxqY5ruIbFaF{!%hi>jg59`a|sGHE`zgHUD10;)YX9(>MV)>HULG11W3YuHN)1i_-rXSeZlVne;~F2Picg$b(%?8z zn8_u*CS6#G(Bbd|vPw6)MPdFGI_8x?kmt59-Az!_sVL=R)rNON8R^t*vl+{k{w&wj z&lg8QBj6si%LbVFCC|0ZFNEf%jf8J&1e$&rhf?F^{;NEE6Wp&+JkgSCb!tLv+6vHt zwOWBi6Jy4eK8hWk-8A3;JQ5>wxj77EXKM5j@ATCO+{Sr;fF(G*(=B2%Pd!xwbn!P_ zIZjjJJE>Q$fsXIfWaAHV&YNbL$uXdj;8M{$vq&r5EQ zPi;^{T3RbX!cXim92HM1h_0EdNIZ^Om8CxGaPXP|M%%Iy5|_Ra_6=SKG9Fw<-H&33 zfrAvHOPu>z0ZYiYa6((C@HO+6fgOrFX-mvpl#wNAZN;SY^4Mk)?RIjo&@kn<{DrNv zPqCn6r_vx~mg}T$)@*yH*DHLqY1TB?)0bj{`snXG9(EpZCiF@{}&A_CR&Pf$9O z=5c08ewxy!Iekt4J2y~p?brV*c+drh?# zS@zy~yEu@&bAM&{*l6v&d%=A!kH_B&zv87dzkU<{NO^JN?WR0?dEbL8V$pdt0f{d@ zl%|~}fW}X*$J$Br%t)vk{w+fi>gOz5jJ9jO$L8`Uy?O?q79Ob zaH1@`-X4AAlPo6!MO@xC`~T|!Sx%s+(slJPG;!HKVuj-@Uo2($t-!e9^Ap~@pNo9a zAnOASXZooGZepG96~1W69fuPN37$AW$10@k%w($vj6)BGyoHJ3r2Ih6$f>4lG;qj;yi*J zU$eW>hr&%CRVaRdqCv$@S&+okK~AF`ul_Z5D^0~+?rPq_reBnf^F^V2>JF3WlEbjO zOEoO5_`gdZDs&GlBRR21Y{2+yly_%~Hj85ySfa^TdY}gX)77=dGu^)bry@#1ITcx@ zT1kkU**b_kg;YplB&QZj4kNRb9CBRc5jpK~h~%(@9LAQRg^(n2+U7Jl&gQW5etW*J z@AE6)>yOXw*FJmQdw;I`{l2dIzF)7;bvF_^mK@5yD~=F4>a6w@?2geoHdyGLelij5 z?QxB8;{KGKV)MD)&SmHBoFw+!pjywt)nS{Rin#;bN<1bc34jzyB;GdQ=%q0F`bGW%(%|WIW^KS z+DgIO@1F0h_`=m`8YQOSR2Lazvack{+PK!H0ob_^yw+)!%v}@t*FzWdus;X;4K3=W zf7%6obEX&Rh81Wj)(qH9>)k!R$kH@Ygj8B1Yfk*@&;NK9z~BqP2Lp6o+*(o~dpn$a zRLY-1u$7WxpX3i@7r<*{GvO#z2^ML@)GS!Zr5Q~ZW1HV;UsrZ1Te z3_vaSbjCUZpMB%#-hu9IX@f;xy&icD4?087RQqBRzaPynfjOInh>FR%n}47`P$X%5 zCK?)oHb4<>5@_(YoP>`q+o)JRG?)#8+xIOo_=Z6)H^IsCL?hNnCBYBu_br`cwOsCf z1(jcKaw)2y(3WsK%3-)rcK#cOG5C$VS77y0=4ysb-t?%izc%g0&)Q+orz1B<5M<>dj&GxKiyi`o$`+xjOK2R`k(oLn>cmsET+iho||j+ zqK<=Li0<mnuwV zb^AZ4K^@$&dPcf7INTd9nIjZZD-Ke&6ZPiyyjnV;OzsS z?ynB)Ps`T}h>ZDHTmMm6!k=u57jg+oJkRumvg@&VuiaKvS;@Y1hq@lq${Te{EJFK` zxpw{F8$l-SkJp@Cm7~h=CfQmnB*7)-gz+%s{D*FhP^qfzKiWJ~@qgN`pQ}t#SM%D5 zlAJ~zpQyg!bF%`Ak?9s{Fe|I7^Evi7cRisgcb|`J4yZi~02kC6jnH({D{<>Nd#5&` z8Y$S{gO&`z4b=&uYh$YdGA_&xg|r+w&vMQ^VNOcN8uHQRN!*}%Uzk)j_H-uzZ&@K6-gpZ=(~7_kG~NlQt#v^}8< z_E0M_m!A&KZg|~E+tzpLNipr-=piqnIQTW}ZEo1xMBPE@2My|NydyL%@hCYlwqU z3eQUafZOEkr3Yv*T}O3pF*F;ks3*i~E!7xu9~mm9J4r?R1(TM!Ll4s9usW6q+)4T* z&Kihw7DsxFg4atW?@iz8#W@L^;C%dDHOJepgHi`kgPpD_(GR@JJG4z9450s%kJSI? zn|~-ylfw7@aAvj8Sc=~t!fJoEksa`W!Cop@ZVbLw3+JO#uCOpE)^|C%6E34-t|SaSaqCy#doy-_z}a<_sHmt*;M3qaWiX-f!)yheG(tTrB+&D|d|e42Jv=^zs9msDfzEQ&9n#pt~OYn`9TXJ5s zw6%wn4@n6J8BM}p`AyUkAesr39%8K}OEde?kt)UT%y*yR1`U~#eP6xN2RUQhJQ=2Lc`~5cSOINB%wF2!NS>Spzd1cMB!2P0 z@O4RwRa`PKo*qFQ~1NB_V>JLy0Cc5Kibn0F9FbvZ7D zN~@-{ukRKZ2E93ZlWRp)@k5FVg9%>qbSui@FYEtN7s`8@8%`pDHGj|jBH!T0Z3GX&hWXVe!R)S`T?_?|Mz|~>{P~+ zpw)qQKTeiRbj5bgf(0PkxG@YgSmDu=Fy1ZdwF41Dbiguu|LpqnmBNSUrp zRm~i$ro?=BW&Pd1kbhgxv%ZpUf2dCKR6$Pv+cOUs{;e5Hra2gZL-qLIR_0oo`_@i3 zVzT6ao-Zha9KJKUtrRo%l;OG>PxB)X`G4=^XvqEi$sVCpB~^~vjGHJuT3;-kA8Kq_ z+K31+GJyDqtp1)G19tnot|J>)k+EjdaIF1q+v3u#o|=oU)2yLY@Hl@+GF<(8!6595 z9k*urgYD{fp60Hk8xoC;@!V67Tq+Tn0irntYHTvLmI#&~qDR!bEe>hwz;1iSwVl7c zC>&A+k0Nw(K0KfjtJBz;YVY`&Y(_J&Di3#_9DfKwdWv4Q-I^!=0Zb8ZNNUEZ6^3>N*=P7WNoMGlu)EFzcNu z_kqkshEQm-Pa`GK3#}>@4BA% z_vjRRcZy-!c)JY{gK~kE=>W7YDLts{`xdvHNNASZ!q2Ac0h-MfA z%oc))0~Z!3IVt_?==j5@eJKIWZzh&5o>w47@Qv4}YF?BG#umTiqU0%q(X~BUK}xqA zSG6ZvS@@rO&5dgVZ(=LE!+@V;SU|L&iE@Na?3&9+IXHCv*2#5yl1I`-VGyDbf~6-w z?rz@@mj`e>hO@V)YJO?b8On}Fbv>s>E&d*rbrQ_n~g zSjaOuX1hjaqyIP|Ry@9_xf2w~Yq_A^C=pIkG$%8=q>6|4$W3Wj)XZ6bimVTcaxIkn zi{_iAIMY_qta`-1m9Phvwy(6kuE^r^eY5$qPSaZngZ8W#xedG_2!sTl?E}W6efy9R z0|MOuR4RdD$11cL2v5(vIgd@!wd<>rR(wO~)+Lzo;q$9x8H=cwpLZIRv@9qd&tfiQ zY@fW3_5J z#-v`%niEG6F)_~QWK~$3pE1P4zcBnLy+j=U#GunO=}J_a)IOM-yNk2nr z>?#`%P=!aoJNq?jGz?&75`WEGY_cfEU_$An?Uoa&b>$0Q&CL~3q|5v|YXx|v4ep%Y z$Ht4P?q!{ACsHSD5?XP*TR|I8fRi^9DB7&KSi zT9<1KP_+8&i@l*(quy$6g&$qWy~m5=R{!0^J8|{RloFsr`k=euk)PT6~;1kN}uAhx!QKJ)YxeuZW0mA~``PB$-ph6?-6 z3|}y(efpm$ho+OHQOzg=NJ3+zNubr_&?V@|D=nonkuQpzx&mcK5-V|Xum%%5TD&7J zL3qO0+>I-w9c;EGehSbd4exbFI_Y4(_h{Hk1@$jCZKK;{sSWnd)hG3DcN#w8ISfKj zND}EzknrtY_8uJYL}?PHsN?mk0EOo4MbozAshq}Yj)AES6fm} z!jFBmgpbOfmZ(tTFj?)vzK~JZolqaS3Lx>?fw?)0vN4dAGLlROB3iYm>>EiFblNvZwHow ze#$5kr$4+ppim)K10Nq}&CLqvz64iLz66~rFWk%yrNl(7u%DII54syyw+J5H0_X!2aw zUpWl9`9!vMr^PDD3;zYPK!us`M0oU_a=meY8%3r%fTT>M;c+*`WY1>wJ`$)MpAdoJl>FmB|uvKgwB_i=R!0lHfH zu!~+wmR(+AZscWNUDHGXP(v66o??a*)5v4*Ap9!y=geHQg|w9-!TtGwNmT-+lTa>c zFg|2Va!okX5kz7yN~%s%g1X}Mf~#@zcB+21NOcPc#4<@@6%U06UFZ+ft$jS_M8(l# z+g4TWSaT_aN+{(qjkbXVGK72kpg*o}$IDGz?gfK{%O zFnC_&tJ(EUV@3g}(oA=Sda8eq!;{(8qRV6FGfMhh3vc2~DVwwC=nm}xOo;uD{vCp7 z*lUyz3Ri{cdgzxICfZ4iXLYTRlWcC39( zlgoMhL0$!aNKfef^Na1)bEO~5YTpPz`NK;?@p}02Ajg1kvJnh}>giHLfa~&hPmgHb zT?kQX-KUUC@aodxEpH_VyEgC&AXo;n7J3+amQuh{D7-)6XK%!r$a`b)%Ap`AR`@Mw zef0zCoLthxT0O;7UA||rA$$Ims)c9Q;emR_z;vYl$IKYhw?0IucI&F{%^sZL;NA(T z2qP5ak``d`xIl8lWCRrr9-G8EAwIsqhPgg*VppklF3sfTj9ulv<_RZ?|A1-qI8tH0m{LVDG&Jv8qaP);`z1O%4z*N;uHmX{pFjz2-WTAk`E^vjEU+pp0T1k>;}S8`5XOMCko6D@9{+uPf@Cdh5j0Y@ z*|XZ!{o(|+dDNO_k~3=y^#KXOfvm-nE1iU3_*Q+!UN)LR3C>k`k5T$5wQ+Q5=6d_HO4a=1_kX=XvPb#JGVip*X z;op{IqWOx@QIIGU0<>315AwjsM83tdT2A80bx!H+o)>f49IXG_?v#`NUs8IO}jAuax?U_1rRN>cPJCLBpu4ea7osv8E}p0mBs%W*p?GHUK>}hW2L^Ss zVn8n*_Y4twhQX_IkCEXTqGKNaH3Dd63C@cg2hgp)3ZAhh3c=nBq~*rf_mHEVN1CgA zeT_QYi!YXjM-CmkcU5=^-`bs`1k%fe{AB9G4)XjN;VV*+VK2d2tn>f&2!RMoc>E~v zB8%G!h({H=I0gwX4E3Pwd>FXTLW*!{5Z`;NhSu>JP@u>&KInL7I+&MYTipx|%jx0? zrfvj}j8q90CYln~-hbICD9!^bBI{?AM2DUK*Z9SZxdPDrL!6tjU4Q;qQP~AM^gf*X z3<1xWIxC0^!@Q()$R!~#uybKUlb@3!7PnbOnH-6@YivTN73djsYkEpQ@MI))crWXj@)RS3|CUBx0zL2z%bM!Of`74!DKpK zYq#IWh#oPlaNmX4z`pui-pAyDu+TTNyKAWAJ|y&i4FN=igVT>SOa5W>wB5yEA6 z?p(|oAR5(sNk`pTJq3{UG0?WTYKtmWFZA;lHP%TeM_pBT5u-5t7RW9`iGhPzC8+(z zP7Y02~Lf?OqX%a`e9lBG^ukAWt7=i2+~X>XF&d@5c!|`lk|jZr|mj zi5K&z6W5=gf-vpPA1n+wbIJXpw<7*E3=Loen_5cehjW<-X`0TZs6DI$GxPygjP6NG ztHC2Z5^6rLI-T1ankgYGrj`~vL$9T1oyT0P_Z;r^Sg-vZR3A^BC(R0>>Y?x4OtBHV z3B&>Hfgd{CrhTp6r!-P64e)4!3C_8B_GoaM#`jvCsCS36h;Y_{3hv-3a?8Zh?|s3V z!JwDIYm;Cn29{VjdWdx+X|mGGQ2y$=`O5@YBhs?C* zb^I?AsC5_gOm$0-vC7be^;B9)1q~vZO0nA-Fi%N7T}(;F)-~&!(QNk3pIUh~*liF4 z@QKVeWg2S)eb`B&pc*artN}!4gZ{q}jtM{UHUSopnnF&l*r0EA2g$Qd9)+e&a1>#; zj4+NeSW}bsSdyaK038_`X}4w$yCBH=g$IwE78di0y#`vs>u07yJU^3L+}!SRELY#B z$fYINrz&e62f3giQO)*$#~zj(CSrYCUa*@_b0J^;9V^i%K#76IcB8gNmNn?-0(FRw zp6yO*kXQA*tIYR(xqHVi`9|{LE6GanpscTG(!D-Y7$^VgayIArZ*cGeZp@>U5BhA? z6CTB-*1*!4r~U@_nHInQ1n=Qq7@hM3&Fq?HKFeTRGO-(I2;LLhdK0 Date: Wed, 2 Nov 2022 15:40:07 +0100 Subject: [PATCH 82/99] 2022.11: Long-term statistics in the entity dialogs --- .../_posts/2022-11-02-release-202211.markdown | 18 ++++-------------- .../long-term-stats-more-info-dialog.png | Bin 0 -> 138691 bytes 2 files changed, 4 insertions(+), 14 deletions(-) create mode 100644 source/images/blog/2022-11/long-term-stats-more-info-dialog.png diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 658cbb20402..9272c022663 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -194,21 +194,11 @@ so this is not a breaking change 🎉 ## Long-term statistics in the entity dialogs -{% details "TODO" %} +The "more info" dialogs of entities now use long-term statistics for +the graphs shown. It makes those dialogs a lot faster, especially on +mobile devices. -- Improve extend story -- Spelling/grammar -- Add screenshots -- https://github.com/home-assistant/frontend/pull/14199 - -{% enddetails %} - -Nice long-term statistic graphs are now shown in the entity dialogs. - -

- -Note: Placeholder screenshot that needs to be replaced. -

+Screenshot showing you can now set the day of the week from your user profile page ## The first day of the week diff --git a/source/images/blog/2022-11/long-term-stats-more-info-dialog.png b/source/images/blog/2022-11/long-term-stats-more-info-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..3882b12c2612a59e5c8e93df8c4f35bfa2cfdb8a GIT binary patch literal 138691 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%0Dk?+B{-`)nf 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�y~ze>3^#lTG%k19@L{M$dn%o;amwzDp0l~K{+ycy0G zZe}8-Y>$@^AV;wp+V0)KWljx@k1(%=9zlu3g)T$IwA~u5ech1Xx=XXaJd3L$Iwxu{ zT)uVfFK>WocE9aEurS_4jGPQ2_>DAV=gmuwLXrEq`E2@dsxwLDlMD)3#CyRl2P*#j zN3zNv1SguhQq6k{%Dglp)x{4da11y~ER+3Afrj$7YsBV=PV1fvO2Twgge@pNzQ%6E zf$NJ%@s+cB^bCI!Mw% zNW1P9D!o~0q&wW-v9ZOSgsd9_+@1^s!?l=n_dNPwatTZ(H60<~>TGRV;l=1x`Bj^1 zn;-9yZR#R^r5%zHvUVr@&`~=!U7R8VR$TPmo|5?7m-Lc2;O5*5=m*J^U5%7Ty>73n z+2!PD1&F}|@Y6Rf$A6M4B8|={gc;P{gey`^Y$PMP82nKh?^v@&#ZP^fL%ogWZ=xmv zG4eXY+BH}EW90V@Zi&5odcVKu44v0Q-Zk8N`tJQX+uQ7;0Y0y#jx|G_g_|k-rm+>G ziHzEJ&VHiD`#n*O2r0DV;EJ*H9hhNM*azwd1>1FWXo)OL^63Ny1{&8rM3u0{~^<>RD9%7 z*2obtl76A9&aF`#^!bjhX?5leZQH=5r1ajki|uEQ>z+j-*uTdSd({J&yZ{{EgL!eI z7y07%`y*}?ZX;@VG~mGZbgby)QJ?`F+rbaN3F@V*+TGiF8||YM7wCZy$MhZ(Rgcf$ zyq+rkqzTWbun2IKn0%gR&E}tzAk8ya)DCo=VyM!|k#w>4cTrx#ur-({(>ey!1#*#I z`H1UO4lrY2S&Y6Q3>hc#m~UB@{nZt&@}( zYhSnf$^-cFGLA*eD>dCZ-8($+SKy8!HdO!Lz^QHO&=56AWurQP?qmyU8jQimjLm%k z92ELr_N9=M>bjMtQR2u<#WQ|S`pcX0PrzYKD{uuKvl}?M#s3yKxl{RiN^Q?_E%Yp& z%_?EGgbZvOR$OW2)_+V}{V9wMMx`r#pPRJ%_VOvHsx8m<^rHtlrl~>rB&UJcxSa?@ z+Sa{90W+;1M{1khozDX>;L|1n0VKKu~)mi3!-up=8Z}Z$-c=r{K7x}I_erkrOoMx^gzvPdB&Z~aPtCDz( z8XaAaLd=g>4&6SrkBLdpq}TB`uRVn5q4($gRW;GmZOhcZlV=2y+|L8CS@qAPD`Yw$;fgE0pFfZBjvQs&q4O& ztMP(F$+#X@Z?hb`DVuT(9QXgu{&ANF$w}2HX;G@Xw(gsn*^{-$k!bLaPEY1CJFL-X z;f<|el@2XEx(=s;U*}8Nq?GL?rKOap7YjrH?XQry&W9B)?Ur@Oo?qn+?@XLrj_p7F z>%d*u6fgjZ@0IVmRr=c8@zDLeV8~5ld^*?zTlX<^Do$(F?sB_O#?c#)e3;HXu z(&#}!FVWe$R@?UV)waFahP(`qsrHpAppaabizz^~_q*-S$~@_$DATYAFUFd^9?V5cV!-TtF4m=lX7ts=Ut$PHv? z3dSO;*m|~Zu}UM~KR9kR!YLi8AwS&)_uxdaN$0Bmda5Mv+rFRh58z?pUNs8kk~P{o zKENVj8tb>}#W6A}O5Z5%d3NL&V$1UN(tQ+eb!9mNqNvgo-BHvORZ`wWu!xGlB&cel z(YB^^CoB(!D9%h;K}7+-!5fXc-vqN+m;hbo88$vLz4UhJOV-OpY$?h52P2tTVpU@A2) zaDf~E=3RQ>ezs!ad5H9Z0d*rb_ydgUtX>%+%J^D@0XEt*Ttzg4J-+9)YVVr$BN6r< zB!bF}j46ftR{lp3kEZnCv*osj`5OXl9Qz%?r`hcYF_)p(HMxFt?k&2jyw$=PPzMx2(r$M^kfn{dl#AHQsZ)9NvHRJHWy zJx5}s6H_k}Fc6bO2jj`Rcq$#A^_*<;Fj9TjbLH^2|8$Ln-!meF#!t=mr`5jcducWY zx5j#tB58Dg&i_|BTE%Q`Z%iaSfFY9`gsrYq1|58yiCr*~^(N)#JTXhxHd&3@CUxkv zkk~puLaTM$ek0v^D_y1T)NAE)DE>J~=q5LWva5irq)mD}eqBY$4$O1)8%%TL`CJ8R zo-)dqTGVkuYpA~E<-pl5D@phH~zWe8@P5vQ!xU5%ggg7MNF4C0rvB) zS^!Z6O={%!E8&cMz5%(o(wFLRRW=Y0dofc_^&E`B4aP88JRQhk`$M#i=s8PQBwV4W&31$*l@C1G{%Vr|CJ&Uk;n$?J~@9KDJ zYsW5XJwL_!TZoJlE;~ksZqcPv0LnN%H$q1Hav!gFES~^o2CF-~KN0*!--$6Yi&$=? zqprBXPb%T%CkU2u>^qY>UJVwSyhwhSzJi3xsO(reuqS5VyXW3*W2F-`5o+UyJ%aRz z>p5ia>M96WGW!el(jGUwEQ*?H`2Ju^Z1fi_M>HXg!+i$Z z;^&=L8Hcu{Rbn*b0j*^`FnkPHlTGD%Kwgxzoh2|(f{v!j7T4k6VjK1zexrTKK4V5Q z61OD|F}8fxzvjGZ`bnai-hlVYz}61DfQIsIu_EV$9|u>#*~mefDRaZeV)#Xns*zaV z=tvN``?|=3JL-3*nvxPzuo0EytS>pUhzg!LpA$C@RDEIao2f@Fn%6A6%&_*>0|x#W z$~UqEiiv7lKIANZqw$D{DUK`tP2=ZLf3<$hHt`-MNY79jcZPBBXw%4p%hLs(TM(X; z^DXA@Upn58*Bfx9yH>=%-8e;Vh!MAi%k8RhdSKw+YObD26%&la+HLz(dV!6mAF#;= z)^!LnG$QVN1mTPLb%lj|;{Q;NOmI_7;Z;rTED6U5iv8zbql(Jre_0NW%|M|?Vo6>N zEQ(6NQ2+0S>((1jw>&39b{4`_^Sk1Y7Va}MZU-iU#fYT5+*LQnDOKM{Fj zm}TC5y-fVxh&k$X82KGO@xSk~gF}8@@#0eQF^P10$w$+}R2yBQtmurzhJQ_X|n!bu3TccQVe1tq@M+w}iHp-QhSxUi;y0`upSYM9MJTkh+nKk+x2qvMJr z6T8=mTVYL;VUFO^Y1)wUI_k9FYM=oC%C2Q)qkWC8lZbk9Rfd{rbZ6XU=j*Bp_>h-z zzKMLY()YBw#zV8$!Z|e4dq1+4l^iu8M87((K$|j2+SIjU9k@GwDGhAjs#y%E#IbmPGl-E(S zCMrgze4lal03;O7H&=UfF9kxM4heVjG{g1f{a+BcCw|@XR#%sMQyv+Au+R42so zv!UTRW6g?oU)Mklt0NmRr^)7*k86l2aVIen-)pO=vLlV^LDAXaa(>Adt)atQh!Owf zlG6bN!#+GQna!ZL?>JMbaVU_#OAukPlJXxQJF}NezA>^$0;PwB<}#Ft|6<)^entAx zeTx|h?gnssO;v|@l+L&bf^hw|Lq+!mNc{obi{ zZtB!~=zhxDMk)tR9PAod($yhCX-I-abm`z#eJ%z~V8?7+*Cr1N9BOV6yOpI2e;o2L z8XUP%XX+tzIgM{TLeq@88=WK)ReGoj@p1yoSNgZNk4bdu)>X(#m$RkyDajPG`oKPl zw%ee*(ev=h`7XG4L)kxwqs-|qVg;^DP!RA`sl!*r7x;0Pk-;``l|VQo`tBP&7ZM!P^nQoT-S3!WwZpHxFIcDgxoY|;~nyEKl~bqS3z<#2aFD^~gWTe_g(DGst)fuHss}2e?|DgYI+0`MYVeJz z9cn*E3#P4WWXNb#l=i&}83#ACXoA*Po1(UgfT${l`1nl=I03w>6cBgrh~A^158xjRpJ-MjVtfx9LfstH=K%4&tZiCk$() z6E=2ugmJbWnmmLn{~#q{#~s8x5QYf0{`8o&k&X4tbDMTNgFhSmLl`w}FtnMsAUxp& z<(X?@lKQ53V3G+{`T|R3h3}7YH;2LM;o#pcovua|2AQ3NU zWPdP^@?bK>rz%OkN;`2^Zllz&kt2dtp~0@5%>d<-nm*+B6_bd>>m|`#iyl7?L-W zFz(|6@UGTh#Ic$GL&9UH@nYn>N^^J%zZgx2$LVZ9k~FpyrEfTSlO9U{Bcpx zf4Q6S*VZc{nt>FRd5uBBGNmC)5K-=@F)_-d>sZTZgU9}%&(V70x|#jUY_zHbV^L zj+?-+COdv7Pa!6ryT+#5Mv&L-7Tw1N=vOd~Q$bH2@4 z{F~*xm!*ru)$Bn=+pH-ZlP^VV+b7hgSVs90KW-;8O94#Et-T)o1ehHeDI7@m%p_}R z%-eiXgCO?7f+oUd8`9YuycHxs(gl={>-D1{TnjokK8`~HKSBoR#xYjq3%CT2v)|6$ zSw*&K`}}x-b2dyTNvvlx4u1>uHq4IpZ z`Zqb66H5wDzZGY88a~3mje)w0l+*HvyZwqx)p!wMS>KT~J$NV6%OZZiEhLP^z;QQ{ z9~vDMcU_}K#4|*UABHp$&Iu1y8sGw&igeh~gJ4!fo0?(@fe0EKlN$b;aB56WDe>fT zu$3>lmAL0oocoC!Ocu(3S?-;}xzRzwG!89jPJW&5j#(tyHFK|_D~dMJ*3NAm&qnnn z#WC-JZF(IGYqWA>U}3UGQFKM)Xq}3eQyyf%+n74Z&zMyIol_%J&qI%LYK~QN(?2OZ z;3h;5Zf3||nj92-ERf+-1Fy}!u!fFB(~R-GVgA;TgJeh0Ni_n2el>Srz+hRzw9=n# z_DY&@6MmJJS`kFAYqQk0=v14HB`$xkh&Y3MPTSSqPZiU6*bxkY6ukB1!8mSTi%4ob zgV_3KSmNE*Y`|HZkS^~$=NJfj%liN$YHwl`qwk4r6trv#YhzB|YO<-dgr`Jh7gH9| zfv{r2(+LyRpf%gbbuq+w?`M&v{Fss)y!dk=M^fX~se-N7%xpd_V;ep9D%8U!Ic?op zOP0@7sk4F$ z7+rAGOpX#Xl=5(V`%2P3dY4q|$YYl+rbnb%hprmfjU78#a7RxrRY7GhUnC<87aO3Ab8-V-E z+yPcjB%KMZ_pfa;E|Et}j`@)dh+cis?qL0oVxiyQXEOgo#8EBG>vg!ej9$d8J?o`^ z*k*iNF+Anam9Lh4cmESuKI!v#yrQ6x!oXL@J6bz5IVsNRrawG$)(YE{!PqYj&vy#K zNTaB#I>lPt?2bDnKrN$UuxBRQEefp~*;TdCg+@mFF&0$FWq(Y-Fp9~MUFhp36@Zmg zeS%ytI8B)7|VSzxZq+M=dqovP&1>-zF zN5+g-kQ4$=$Zn#@99^G-D#SDuBW`X)N0vQw%_VfsowF!GYRdDOsU%B~L+hfQdNa@W7R>igK(6>h`la zWv&D8IPmtm2op&~O71rE={aJkB)%jO+q~KeuLG6~SEGg%$j7*ckAUFQd?M}oAB!s8 zfvMsLGHnv6M{fr#+v;$ zQqHnEb=A*!SU)=WIf{(+J|YB9?la=s3_9u$dIMnd`S1)rLDG!EyFj)RL1WXpy zpeDh^y^1SG1d|o0Fvc2!n(9mm2mSVFF#y^fTSe`JFBCpbdFbNzdtoQhqs-iF!Ph;A zC=8psbG%Z$0b!R*iTm_g7f6q3P+=a0MbMCmQjfkWl6m?1VXA7J%t3r z@s83vPKMOyE?w|64bV&0fA!t~d--9He+fcfb(O>~ZNAabFnK_8tibFR4)I`VRWWkN z+SFJ9&L;Nkg_FNQ^`EK;**&@)bbTq6cF@y9SuCH(sp`%F*YP@5>(#Ygo&Fk=0%*2l z9uun>|M(m9L6k@psm*Ri$d?QvSD@`6=6z6avlJ)Img|r<)#sKdE4f#v<Y3utS z#Nzp91ccc5^e?;gK}tsW-urRGZd3o&Y+ErvihEF|j3jA9330wE5(0_@K3HsQCQ)J= z92kb;e|lsGyU+U;ZMad>u=*ZUIqgL zFL^2mUVnA=N?%cB-`PSSUk4`cT^F=?UA;$jgOyOC3J;bXMSYbVOo4cGWzux*@>Thi z*>WiOu4-PQel#A6F9{^)M}N%cKL#>f}oycf4fcz&`rrS5Gu`I3HJU$J%%VdHnen#(9F-sw<}_a zSsnj|<$JaVQv7y1&%rp_!qaPet$g$$O-UnySWu>rypIri zJHe4LN({bv6+$iEn&;~ z&5P|2s4d%Ntf#&>m2xy$EUL1;IgPW^3(`zAn5z*%1LM3m&uU+8Io5R)>|Mq46xlL= z9~A~Q&6*u0Ccp-U7`}b8&T*HD}ZaywKA5-{O;lw9S&Dih&H@K`=XU}bs zK-di3_c?p_jm3?Y&!&&Ef?~`WQ}Yr<`&w9dIWH$*QXpU;{3|VCssJ`+rZ7km==p~e zeYpg#X=A3d6f!ml`o`mH{L(Va%=S{=p+w_X-CFW)TBl$|?Kdo4etQ1McxE)Pu2ryZ zRPll`SLtH-;%y7v>&1!SefD8u4YeSzy6P~w>Q8I;*%&C7m-VALz`&!uO0t#uT@Cy1R=kzxq7^QfO-sC4e|H++@=}p^AhuUA`{zmKY zoZcq(Mvo4#d22*cR)8;x>T`ka;H2D9EiKwCE!>Cf4S#$+ zeHkhx3R;+o*M2cNq+`w zZL5PGcfo4N-Q$<~+OIKlPoX#>{yA3~DQ~R`O}5lPpLb;p;ZP$Yib2s(s#P{tzt-*s zl>i$tZiVJe>ci>kme?9w_{OrIND#$1} zD0QNj`b!gOIVPQe{|g=F`0Fe0`>OAY?d8jxgtT<;V&}VaU46Yi%ViWw=hy+}+mcO+ zLsQf4;N>ITMe#M|#g>g^ywiVn`QXPp20l?4wU~{^XB$_<@E9;FLA`S|aL-4XTpO@* z=CUp1jU3c-JHWC{bt2`)-+HC0(6ejS(nAF>=OABv zD-V|?(T=O}cQTWy99W!Os5RoTY6`}DYkEro*#6OzK&4`#C)}@BDbOHs@SKY;~FN+ThLZH93PN~MDysGSTrrGDJ@iGBBm`JoHxDB3fa^N)R{5>T<&d07E-RWYC=DJ#7TZ5kRmda^(Jxx+p|+`wn%+8S78s_^9i{d1}U?Kd@#(K5qD< z9R-ewyedi*J?G<53g9hJ)otd{tYt&R&i%xXAO6%oCnhBlVse%P3!Gbp-Nz68Z$lG? zsZ|I2+^PWsZzCuCgjkf3L&Za~(tY_Wi%PZOX6HDGZ^lWBA&~%WTUX@Knz8GY2*5uB zLEU>j)@|c2T;K8U*zSH7kB6$xn>BhPQb!9p%=^uy5XJ(l+~baFIQ({upw*cpJ9RN} zaRqt#Pr^Pvz=45*DpZDz^X?CC5ZXrb6degM|5jtXbR^%5U6Z37+CGxGOr7|Md;|Rd zxn~0Xi9Oj}kmRb8@qPvYZW_keo|cthg!d+4kb zK$Z`==(Y0xI>hx`-w_Ju73&>xqf#^~wu3T(fG zOGAt?Fi2*LXY>5BZFiI%NzIg(AD5HuL!M;StF6-As$cM_fQ;`j_PnJ0=$PjUA@W)K zb(-+yl#K41Tv)V5vcSFcBvJq3W{3Z#_Zj}s0bzN-jdLZhVrXTjBN#ms$5Kd2o)9s& z=c1tO6LNgk#Dn!D<38xNtSLO#Z*#6Vs#r8qOMB@n79yIn_1-5NIx#&qenJA6jJVvv zs7?8{|9lQdn`i~Qkigo+es~m@_V5}dK`=c@3O?}ec{{b&6G>K2D;Bj)i_mq6D8sVoL7!b0lEtjcmWZnYI4a!dL-0RR(xKhum6ykN?5x}sAJ+>{1x)FUb zrrLM$+|llU#XyjL33-DTpsJ`PjzSQ5Iq)U)ILvV^8eLY|kwz{VXSX|qn&fzUsBrGS{YeSos|%Pel2a_^)26>Z zq8)r3dzmz~lEyKNU>d+SWbd6IMVMRt33Q*w_PcN_OyycIm=uWw-65F|1ck?M{4ER- zqs=vSDi$dK%&-7A^)`(n$%^di0S?;|7zcvo)5bLmdgU1x_T3VR(&A;e_*rESJg6N0 zH{L++d2s&yj%@{%@jP`$d0CVGI+S)my`;IHJ?91omumOD;q6lUoMi@D8VY#RaT7y< ziF?Z3(j|q_`zu-(NHZ8OJR2UtICmrh=Ps243MXoddAQzP1(BJD-8MgDGM-4hnLe)g zY2ix=LSAk7PxDUhsCX1u)55gbHP|>(?fc=ABqJxs%*h$Dn*q8WWi-Wk+XUV;GfvGOi=8gj zSMo!7)&dY9APZuqxH4{@vrXfF!yu1bu@|NA>EiL@@f(6n|6LspNxYj>k`i$dN;!?1 zRT=(TbYDCQ4&U$CR#9oEj|Sf4ST`S1Qm_w%FIs7A!>ZMZjm~bPX4)&jkIwrLgJ>SvCcZ4!ndGT&;WMSW~WoUBj09SlwPRuBfqU( z*R`OAMmk2HHW55xJ*pfd7>otl~NCq?hbR_`~5o3)6f z9NDofl=COhq*tX~6&{TSB-e~Tj7@ZO-YKq`rb|-NTaQG4_O!Y3lrEx^bj;o*>mrJI z6NO(mC+DGK6{r>8_w9!Z$QNch5H|D5$+btRDr}CHWiL*fjTI#8j9_&>idMAWYgRPx ztmDYVm1K&UYxrri}(z_qLaafOEPwK`tMcS43ZE1B7#p*SV`(~3Riy!CuQ9H{@ zW^*AGzXm-5QGQ0&L@CX-W^z}`XxBc#<3>IW|M2NS_I(uI;Ve|AGx*;>a{#+mV}@0f z-sm(`;CmcS+T)zxw^ES8zGWz<*rY(xlLp;HddSVm>yL_}xcxofv}ocm%Ig5;vjpnm zM|#w3IZPFfC{8uv37l|8Zl-mQ^*irPQ~=i_PK*tu8uz#J;~pe1GfSJ%A=N1GcVvH$aT4yXrxV-6V~>Fl#jPwgz&QCgTp z#x;h?1NuErD2ZkqN+ldo=h{&KS(*_Wo6ISDgF#*J6ztXX5Y)xoXtiJEWbQ z&d3CY`->@+t1_|s3}jVCX8*gYuWGMY?!ByEtzILHu}2x8YrWnRvm~F=m#%qmoni8L z1-!CD5N?gM3S@-)_lFl`?7a}la#ahDVU9(UhF4B1*S8O{_b(BCucuWp7)8^@GfGd}OC z@Nor+mCjpa;F>r&0l*Kr)2EfkW$=~ScE$4F&s&Ws%-XxRr%N4^5&M*mLcGVQe-=un z^l?^#Ae&@fDRYbOkmwO)v4=-Ft6;B9{GP-SR2;oDsB0+>^8R?i@@(uBMI#Rg{8hbO z9)YB~#9dRLE%4GoDvO?hoam5RlZ*4=JgGw~hBIrf>ffsy9VBXDk!oY^s)Pfq)i`x+vlyjp zwz+7Hy!7{b(=5+@jeFUN8cUO)Oz|Q&>kEji)#mU;mva*@i!`y?WnV1Am&|d;sGM#6 ziPl3Qv5C%K+t!AN9e5I$;iAycFw`p0IK|3b7je=hQ4w*4)Q?lv^=4yo)lGt#k+rq8 z4cB%5U7K<*Q{~C}8NZc^7PEY72m`4YXJnH4ZLN1bXv+E;c1 zj}c-B!aS<>xSZ09@DVlmm8q*5SNip`I^IH?&lvpejn3&W= zS$cJv`c9*tuxwVva^&@j)ye48uyJun9f9EV#&kE)GI?n;TW2C(f<3?GnAubZslCeH!lU>QP!cy@=g{~&U8E& zDpiLiiMh4LCLbnTcgbY#PuY(;S<-~*Bl${kltaqjQ--^zMzzAj6F0@Vx99W=J(i8D zCZ0=ht3p(k9#*7Jy`S9SJANGEuR_zdefZxjYf>xN0r~Fa`n>XnH&Qipc-#^o#VNq4 z8$BN%KhCIcmvB9wHIBD?NVLSnFEjIIZJ7ADCQeTQvq~U3_Vm~6c3ORNGPpe3nH^kH zfPG@R%KaeCpRG`TVx+R6Z*G1M-hUJ%0rm@Q1Ek66Wz+a4bzEcn7$|8ZvvoWgg~rc< z_P2{il`r1TUUw}@iSjDN!<1j7BTueJvD~y6kI;hjVBEby30~aT!0C#4PRcBjUK!g=LtrajES+!?*8RvG=$<6K2 zu+hzNKgNbFj_bWCu(Da z=me)ZPEZaD3rp088nmjDjYTw2g=ZBU;fns2bM z#1}|6IsTpcnBdxN(l9n8BSrIoSBNj4eg0P1>f0OQy}&TwH?3V}e1xj=`laCZN;5=H zW`8`M_sc{2b#XxB;td<2wYRtLFrLX3p+iDKN)#v-2h`WIF;z7*HiFL2kqiwD3$2)` zEEX0Q^9l+?ACE6CuppZ^fIK`1%@tW$S@7wb7r}vDMxmjoPln%;ZTF*pzxVZh!P46g zkh9A*UqRlVghnsU$|6J!FD#@0?_%w9tp^uB0mONDc=~Tx;K<(*kn{5L44CH^7J|;s ztp8S4rq>LgtlE(XFdW58+KG$9_;>3q%T2gNO4;k_6Pb%%KDqnG$H(vGXQ9Ipf^Jk0 z0Q5MNVa{G9Jxu=I8=mf=3+wCjEB3;|kU_!0SC^NUz74wmS5ye_%)EritCe(m;Y;I_ zlL%4eu<-R(rf~uW{-luU5L8z2l;LfQVlNknvXd@#{i_SXSJBO{Rzlk)QN2%IkPZ?pI--^acaPjb{VOfd{GAj(;Y6Zvr-Pa~L516Mq@#!!Z zHp4JpJ8>(fir`*a2(y=->;ug z5MW{>#1&4Qb{02%#2Iu&Xfg#W)PE(7f;49TP_fx1jC7u6)_agjqXb5$;*im^T%>{L zJ};Lz8Xm%2qHD{&5l-O$G$}k~2E7ZOq*u~Mryhi8l$K^ya65}-rll3aJlK>J7fU>x zuc?SRg!#PfVU<@_5=m9pVGt6Nr=_JSD=6e#Upw&myrxX(RFw?{7zij%&CZg(vaqp< z?ug`^zb~;5jgBfwN``7`X|Vx;a*ACdWTqL+<|~=~r>Cb%k_!f%&(9umBa@SxwQt12 zRpQRh^&Xy{iAhO?92;(+fU^S#19*RbCPhunFxzh${^&bew(WaQi$Vqlx%>P3%IfM= zcs4Eq)+T^?ZDyCkq9PSAc2rTppmXxPR*3?a1?GU({(&5ezr(AEGUMTAr= z*wOX%^#(qmXYenMjn>^cn#kl?0+Llr#tyhT`cIm^W~mxOU2Q+SKv}&subN%l|F-M0 zv9hJUwH7#DvS8@YRR(Ky@#NpWe1@QBWGu_c(bv5v%?iQUsVyuF!rptLwBkn&!A_wS z6BAQbQ3>?DN>%EH?FKz9D$?COJXpH9apqqqb9w9Q3t~nU6LP(*S~hx(?kb-%H9Ta5 zJ(47)Dw&#^Hp}L{bX^^EgXorkO_#bWj33TlUem`vmJx(MPMUt$h=4j7B1+zhVm~if zOhJDv`x2XzrLrrH4)eO=4exKhJbGPj+Nfo|gNlgm-o%NHYbGlP7b}miBBfi>vhq)G zs9R1ZV;I>)tEWSyz&;29-y|EOd@6dN*k5h}48n@J0M7MG<3kr>u*=x(?dByrEF?lv zTQRKWbMoEGrteAbWXD{vt~ae{m4Hm$`9@1Y!#(?agVW(eJY`r^bjTh20il1D<@-%(63Pw~W7x z^2GY4B&*G4N4XNTvMIp8Ng;B@`o}%XNNJf`<;d3c-YBIlKXQ!xBLq?HD7_Cm2+}i` zMsE!~t)ziE2aem7Ck9sdJoVto3y7w4!y85$=D0ZM0;xO*@RfT}G@8=0FHJCS*&3Wh zN@ys?rp6R1DOp%pxZMe7Jg#5VnLR$H5ml3icmbd4(K-6QFACFOw6?ZFNq*jriVPLD za>JaOnaQ1)kUMBdBRL!zWE3?Q6!hb?Uk{?bmKnQ#TFNrGVx>V`%Cynb6NrtC{oL@D z|FO)2uq2U0iuf^VS-Fj~$;1+%fGsANl8Vz8ovMLiVq&r{f-*2DGiapVc1l@Npm^fK zp4S{Yc<^4Z5LE=jJFo7mrXoH{Rq-0r-%EJ^Jz)cV#CEm8I-;I^7vk-k!+6Fial;el zN^yGdKq67+oNW5w9Rh9VrvU;w00Fjd~smR|B`E7LAF;I8rTZQ6QXWX?d*~gpgi;uMY^Q&&%Nu8~nc{IJ2 zMT+W8;}1D*fQ*htmrp?ZLfh<`8mrJy{7&14?-A$y+M{j#3O&ZPyR597nTMB<<&W%z zLp{+%0}Z@EOHB^Vh5f5IiXhsw^h(Pr`8kRD(mnJd^ZDESLP`o&Ah2+IT0xL(|AtE+ z<0=}@cIL;&CFOe4L6yxaevK%NNBp*scMiT1jQn2Yb`q6zYF9z|o;#n&nJjopj8cV z)PTG?Soo_!x(|)1>NCw8M#;az{6<*Qdl&1ev2|6M^CN%LQ3vWawbkWp1Rqs&dG6URhBcV{!m?ZUNca9V_v+LTbJ#w70E znE6T6RxK^5kyLgNzW;k!&El^6>o7K%Z){yR%w#7W}`=9kmYZKgCoV}T%l@W=#8gT!{>wS zkNh9LM<*>GU8v*pt29Y4b^34I)@yZ=tqs;{t@GzD&o6Vui_U*uPM=JK7rbeyvB@IH zrGIso>AqQ@!529mR13s9)4IES7qpKAuN7#=1b0=>YEJk2+H86R)dgbSRCy-s_q$48 z<1K%{P(~^TLtvBN<=08?bH{4E5K{hRTS<~Au4IU(z@M8jHz&Fu9&1WfD81M83ASE+ zagZQDP2FPiOWw6dZ2C}KpEs2+6@8M~T8%NnqCT77DEx(hpf=#l*vUzm3LtY|0^?(b zm;g(Tm52^#rJdWU{U@TBD6p z!0H?$C;fR(8F3%7DGIqlsLrf@4pMcGb1Uw%J{I!YBSiN0O%;@^>%;X{Oqwn9RQN04 zd5C&LSDdsosy|anzhp@J*K^<^GB?Ui#O@tqSKygO>1CS@{fA1`s~YkDc99#;~pX zKox%#fH15N?Z(){Q~QP9eL)pAa3>jK_Pf%03R_iSoiqNh^J%|Ei!Pk+|>JD34 zLynuhOko&C>dHEmt|ZcEOv<4w2cvPrU(pQ#utg$t6evUy9fOqJv2gJ|MIxLC>c=$k zK6Hpxw}w!e@14nIoD7!g3@HDrt^W>dvT6PYP%H=vNR!@+pn&w=A|RmBY&404-jUu* zDAEa_NRtjK2-3ThNDEDxNRtvE^qNqUkaBp>_kG@T{dms&kzC1rU9)@7&U|Kec6T;` zu{W^B)nBV1h%vHS{fc7)$lmqc-8rTXBq`m-vwGZ4HD@m!C+0{Lcq2__=`V$;?_R?+ z9WuWr$*l;|<1kl)1w5u7>>5ZukJYeG3tWwf(8>R0M>&6uHl>A-+!5WVeKqBo$;}%1 zJKCX@qh3otT>8brniKt%EOKw5V(0FYuVr8Tu*Fy659WaUA1(x^V(y^2v*bLW8i!aW z@7vnPH*(ks&R5V)NuxwfT8JwBmQ;pp)i4Dl*}pJG;ft-U7yo(Fd06aO(}y-FVBEjS z6VnzySu50V#juQlA>pq1JFB8wQ}GLJPA%U%!^?!eSe-SO%9I#5OvE#==4X!eZ^k-x zYY2UO>g1PHSD5gr;%l^%Oa(LBR9OwJtEp_Ew(FY`J!c~)|LU?d=PAcv&(|$LZ7FT) z{4tkI!>{iw3dFBOU8`QQtm9CWrF+Y5a@K69th?%pV-c|{)%ZSNtKR=eQBv%R`?OWH zwP16i5P|05u3~Hs+V?S+$neTwa(K3($Q>G>LiM8+Y*ZSE#P(tS6;q8COTC{8Y+m9Y z-6$UoTv6{nIZv^xe?Tt28V78VQxs#VCb#|2=Vj_{s{4@B#oJl{JF-A&buGib?P@8M zW;*HFqky7hD;{d&?YyamW?QA+i_2r{ncJ?Rxd6Cj>K)V3Kt_rio{!7%E3_nz_`I_= z?SsJS)<=PTN{iw1_=TYW)ylwK!jpxe&kcPSIqMf)S~SI}@07V+o{LuCifr!agsvje z(d%+h)BcgWKqiHQ$k61493CVZE_vgQkI0A#O_6z_H)20N+X{$5$xXKo=SuQJNmljq zV-rn(dAfV-t78Pzov{7ira)#h3WnYsI&S(5t%N8li+TNt&LRm?LIUCsM$VbV5ze9} z-KbJG*x15?CcY{po7?(1^mqN*+&b5NR_Fn+=Nuxw0?k)X?CLx}VB*j(Ofh!#e?^+fyIBkbhgM(b9i@3RHA&T`xJZ?)y*03{khXPcYvyA>s+bYe0F zqeV^lY2`t;e&%pYw+dIay)b^`lV*~|+gxpCYI*HS>wS``i_)?Fg{ntcqnlA;!90;} z-sXql@ru1RD&@lE&5i1^D~jDu1yMs*L&=k>A3x}bw!HIv_@0k2di5e)7+}0PT`FAJ z9Pxxr(x)cmp0I#xVeolz6?=827wTHe4Ru6aK3?STQDuEyN5B(5w;oRhVZh%Lt83S9 z+)5#B)u~nDXC&>3)+h{9_Oy6@^Y=B16!W(e$JR-AI#&>0`R6&0?~R+1WlM|+g3ssR z(c)e=4`tF$cVro=A9m1mOws*q1Yz&wWjwz+C-9Nv%z2IJZn4Q>(*K}<+ls7e+_oE+;}zaBhsK?n22TiX(g7x@M4Bs@Bty=7>t1PrtEl(Bu_s65O8lZ z6I^R;zD?xgIOvuqLl0+x{M-hVh3#iv)Aa?U#>15BT`GM7@^^d{Z3X1pkujqo>b*u9 z*Sa-W*;#0FdvNn@>q*0#Kg02#+@z(Yl!TwLu`pI%?OuTU7ToBKs0og%^#*vg%*~TGug&JIV ze!82%<&TMGd%MZ@l6)v3lsoTwwz7EXJ(6iofIy6o@NvbXXFUs;*tWZ*-xnRk;#OmR zFR%Qvp|C_2L!QYN2B&rp@;pt?sS6)0KDt_j^<$bA=B|f(uQKrza|1eZPct5e&bswo zDGZ*_7}NeRG&EJS`|F!JP>WHs=HZ)d3);1B1|i#RpEI&JO0orDRx#Fxzc62G?s*6B z`%(8vPOojnt4yyqGG)}PnF{#sE_ z({-=~X4E8ldTqnjZvD+f^*0q?Grbo&LXVr15-9}rODklfyN~d^La#rS4ZfW02HC9B zS`*eA3Tk}X3s6;|_>FN#SqW%;m{BVmnb(w+WL}Ts&WO@0pQx4=&h+W26*@;V!_uK! z9s)Lek417@4hVA_P3q@^)>1K2|p&dYvmzrMy3eUH^E0a@8)aU|r6HBOOx z?H>@t1U=IRM^$vvyeOH7o0xLD>+lM!*4JLKe+>N-7yExyR@Mc_FTmB-B`wBGuA)^* zWWsL2DG84@H)+6HU&wC>bKhF2qZC*(PdI#CWhbJ(kX<%UZI$I)QLA38_|kgnw_|&y z(&G0U-bLiEmK=IE9J37tYAc_r<(B5h?>ry@*PYn!jhiHDOYqk>KnjZnr0Un#S9W__ z7TMQ-c*)oQV9c2L8gS!41?c)d)T_lu;{G!|0pt{qJhid@v-G=KK^o{X^>mr)+CXw2 z!@ev?B;iJU`xVNoiU|o0qhb~>%Pd|EwzfIrzid`QW>tWs-tO+Zha6Jj}ZYq5`2;@$T$p^a3X&s~09amd<3xlVQ{k$t84M>OXk|NJnU=+jjfT| z*jGARTF*bjj9=W3gr9l-B z|5Ww**Q$EUIinVOG@cy$`Mktce)z51@!kKv$D_EXDi3%+ZvzFKwy>zbW~BhHm-ACN z<(xD3kt=a(zxz{c?$=5~AfkVB-|q55_`@4yVBI`7%;sih7qx&|t`8#4`m+vV}Ux4*C!E$h)lvi;j-nCHn0k&5pY0e(!JoG1Q?ZST8hSp!-V+9tytZA#09 zIEi?$pt#Tuv!qjB5=VEgF98>DkyA!YR)zW~|F`F{Z*3HiSyJ}y+kfu+AE=$vL%FDb zej5`{t7Ei{ar6ig3Y~H?fW5vRVPq5V>};z*GS+!}3zJXDUi@ec9423A%PX(zZHcl# zu`X0-LGHJ{BBOnJV^Y?vQf^eU^j?YeHg-U5TWP~xWns;bIrZn~``drJ_-~A~$TQd8 z;S?236V>8-l}b0IG&5KU>- zOnnyL5ZmKg%1)(MYs_ZGqRYg*5ZWtOCX@*mM?Wc6&hz9wu7Z(d;IN4jgFZXi|0>y| z>8*PlQtzBi)qmZ&%`W-jC1$Q3Cp<5OnLEbnPi53P?)01teS2nLFz}1SpW*4YGvukc zluYzuHJy_|ANtTqm+X;VTG=4#gQ-r5F=sHdJ@Fi#GIjIQu$}J8g!C2lht;=7=Gf7(y5M{0d1R7`E9^74l%esQDeXCypNFzgZaLjzfE}s{~3%msUCa_jT?Zy&uXD zvknPSsZ43R&wu(Xk<6R=4lO^-`B93)*$~wG8nZ;6VYqdX-4j+8m-vlwoi7tRt6)oL zfkbRV!41RCLUIAa*JWM3z??|*{T+V~u~+y4rN9z2_tiSTo1nDc0~uA7VxFTPSedtj|xnIiMzk7itLjzw(~TLKyN9Zg!m zMfE?cx3&xcbvHMhW&#sK!SsT80Jd`dAXr*jT5HEg(+A&@$Ve`-%P>6e#ro6uo-bnD zL7Mp?-TxP9X%|Yut=>#~z7Di zt2N5wdBJpcf~95pnuA~KOj{tsPKIc&3iC$LQB8}kv*qn4dA&PrNB)E;uNlsy>ijb( z5#MZle2({@XXpJd(a{gL4Z@vNmi5;_=EDNVLNwAVK@ToUatUeE^Az^O=@!^D0iy(Z zy0iRohd*~l99|E($T)l+v30uHsG1Qg(MEpfW$ur%jQ3Dxju+dk&ik|&>dhkwhv8-7Fzkcj@A@}cCL(2B+^0x3DmYt{ei(FXtYmrklQ9y%13v6On4SK zd$($c!F>Hdgd%Z5irY|jWA*0nwQ9xKSDF$2H;aG&D&XuXlUca9;amIbetGykz{8MI zY|06BZJS?c00VUgK~Lf#d$JZYrC*I4r)9HT&%S$Dr+aMYJ$(k)qD|sog?Bwa&qyrJ=6rEg(RQs={sp49UfG8Kooa3lCC!k`1O^J7(*ogbbo3SiF+FW195sue@Z|)V$`e7t%s|A9wnF6hB>k zUID9{{^s^|lA33U+x&cyx=Zk8bP%75i>sxd_|Fk{rq+ujiR^7{Ym<%VA4#=(nNv~n zBVp_i7<00q_>Igv^mjCGTI*7>Y23PF8&_8Oj8W5tRf;7U*)>bSoFtHW>XNHZ1|njo zJ&4@@6>Sm!6B2HAZldR5V{0B%uj=4z82+dC#h7#JiC;sTqM>!q&ZPXxVt?sT9NPAJ zgM@A1wG&7sm`}~RRVhXgenMd8WlW`OMbMW0wUW=W5NGXFjL|Bljr=*;AoHE$;udxw zQ$SvKP%`0EfA=pXNq4)7jU!`*aq`gBG(Ti#_cUXxQmg;zu4Z#c-VWIXVp>n6os<0| zzJP-(+^uOiXD!0|fd#?tv;x5ApnF`eyHNYur!m|qH+Q?okdcu(FHWL@`DG(2{bWt* z@6IIC!Ls%1;D-inTdw|SA2%%qO5amhb8}79g>u1;rjrOGBw}ZBHO8-I<~gnKPq{MA z=VsXSNSIyR_6jEU3)1Aq-qu%(!@GYUT2V3w9jWxhR0=7d%_lV1D!rq8xb|TyIe3+? znfQP4*hNH^to0szSBUr`CIHE-vI=KK8LvVsCoD zI3i0pf_I9D(JpWrw)=whRq&R)3#btd#nlLVN8>=%6HWa3aR*XgO+ zmqN8W)Gt4biQA49m@k$d{4n!r(;6CiVcgWT>{!R;LUi7y`18aH zuT~RKmA(-@Esveujo2#<+~$8vV=|~|URm902%Rejg=IiVWEu?zoGZWzWEEAimGv;@ z`NS$bGI@FUAQa4ATB-BdF}gR3^fQD~%*}1(xTS8B`o?A>n@QGz<(KJh>pp4(!~l>q ztwNw##C{S)^=R~YxcD&Gnl42hWgr1!mEELO{|Rz~N&m4T*~sVgSRsWtH!VW?d=&1% z#S)aPvsQ7irAOqabe7R?{L-aNQOtt$SL_6SXv^79c~sn{qzY3GO#&c%XilWE{=_5F zgO?IOopHr|NB|fwc+byoDTj=5Y)|^xD@H_7PqUCkg(jcgcq9F*DJw@0TGJ0jWl#M# zB=SDWd-!q$rK8LFEB}x?6Et2n z`@v`p?3rG~&;o1&|BDVYQk3$RR14^lBtx0j5yEtnXf1Hv=>XJ zKWOO9djH5ylDN^d;&b57#2IwrjH&`-?9os#Mw|JX^dV(HdcmAS(VEH!-w3J7o&b8*Av&UR~V4P{_HOg__zZOJx1L%*C2@>Dg|e{(BMapBcje3zDtYdEvuG%Adtjr7R5!ESoMk6<%%*kG2$}tcxdx^!i2rIYP6P=yX?;2IJ>L2VMe{!v# zJCd*Uz0P&MF9_{iG~Ims!TR~1t=Qel*B82vI^2hQCz$<#igUALBMC{2&RNk}CC%ws zWnHI#zr~MFrlk!BCmnyhavP*=7hjnNr}z){UnBW1&1bLXM5eLsp0M3)L>OoH>IyFV zu(g}&n7*v@5J=e9-Nt~YKEkHwH{EhiT^_k5?1_GD$)$MHb|;Pff^(GEWKTUd@kynv zl+2n=t%z=mD7K`VYN-x{I~4k-2@=r~t>Q^F-4!oexxH0_5PvbU83ERm5>N1dJKNSV z?sx5cgOxbiq@UqqR`OC1;Vzz0`}n%l)po;1d%4?+B_c2Kb;`uf-T=zew}+TqSRhSz z{$b5s?D2bD=m&>sC_{R1X0@_{Ay4^`H?4>(5Zm;};rc&asg?a9@x~@)D!~-GiVkZ8;-t5fBW*~ z>OcJEo#w$qQ%#Q~$*cOo!p^uR? zBJR$1e$r?i-=zMIWD?2MAMNZL^059$$~2xRYrOycewO3KM%{uPLq8)}QqyxO=KpbZ z+x+m$LWIsdMj{}_sr<{#5!`Oj2T82m5tbm|fAqu4@$AFo{yjvXobbmIqhw*=mng(rhQkQ#_e_0(?oIu|e5sgGg zi97TfTnCH`GN-F+sST~CpCFL&j(^f`PhG7aSxOUGnf#QAV*>3>GxXN5GY zpRX_B8MPVz=wol<4u8ZsNO8>v2`}PsE^&gV0e>~ohe)wTb>0XJ>3y=Vt@QT&Zk9_{ zN_^ASlo(&d_%th|^H@+y5DaZ-I7zl-{)aKi&kAlB^TmEH;&W;u|C_?ezWAxTfjo0* zt%Pi#L7}C2j{W`ksTb=97`MKo`Jw}eH7=`iJahOtWTn_yJ|gf4?w*`{Pi3#K>{-f8@~=zpiJPybV7=8V)<$d5JP%YkzD&=XNVq zk&s<HWH}LsLAl5T;>)Z{}`C;n=WcbjLD)XF> z?U$17v3+qu;lki`l`tPzAiVoxFZiY3yd3pWTZ|L%4=i!m4oE=t3}4*kd;ilwEuYMg z$Jx?SK^psd`D7KwUnVk<8JDD3o_;0LO5HhAU6aOx0Qaw2bdc(v5 zqd#N7#Wqr(h$Tm}f$QR0O3B-yf!Zt*Bnz~LQe)X&{(~D9N1{HXO{&7vwaob?tEMt+ zh+xsty-D;|B(*BKn1V_4U5;1g*ZcDh|7-X4%G|e?C0+P4I1w6%O=TrZzbDsVFbupy z-0OFe;`FN}XYy4wHCpBG`1?68XY&)(o&bVMc&7(BzR@ZMte)2-y!%nLxMo-TI=Off z_^0>LxB;DTh-os^gf160w$*b~cd_%2i8BLh?67>O515&KH&zl5;8jIRz5^qr( zg?ZL{4|g(V?9Ps#rU_1DI*F`dwB85k&o*?k8ko2F*FYX@Tx>+NOO#;e;HZ#fuM+&{ zwIAxi(l@78YWg^XIs#v~MbYF{*6`uA+RUw9T*N&)E=@ITscKT(?VWWFrBzcV+xj-+ zV)&%#x{j>(T9jH<4;tl*6rX=!x-Xm21T*RuA2|7r&;z}hbMRvD2qkMZSKKOwsz|WG zFSZ8lvblnAN^s0bbxlo;XZjphL2ugsY=${O0+!ZS-_pXecv9&X^`q67_$y1w%}{I` zLeuq9CX`-i9jw=AZPH$U&-w$#t#|!3u#zYc7qn0OqJsu&OcSMG)wj)3a)Jc2d9C(q zMTfub`DC7^&-TJ}Uli2Nu>OhtBW>VDO0a>zr@62P8zZ^ro!S8Gc*TW6&k+fWXB~dn zi)EJiAi#f4YgFSUJV(j_+V^c4>TW8)&FmjHq96gf=eqZYk19syN;s*zt3Ne)G+++` zMuQfojQ3#5`KsmEvdN@3(D9KI1^k`;Cl^Di&2{MmzqhvsaCLRXSNNtA4iL!zLQ;2k z_vx6JGp-G0UUI{#YWeWJ?ftUCjMbLTk<>JX9S|{7PMW>!9{LOS zCj}mKy!qP-zdpyN`gD7p`|L)xQvA2(j|yfY`jwE{uP+-7f)$c85U_8l=Uf%2SyoUv z3d71(i89}b+w8&E6WpxNY0@dhoc{}@;f_+YalMwOY3SC$8g23{p7r>kDGDJev&42S zHmZ%3(eExfr2(PisyZ)~BAzYsj?DEbjcDAgE6hpPj{=-rBIt}5(jMDiYgg~FJTe_; z7D;9l))AAP@YTjbo)z$#w!RxLm5aSgYysb`% zsiuRf7>+ZS&-8?IL_#GlY8FBcXn7aKtK&({6&Za8qO1Z%aKE3|%+Q!L%8Lr~z>CUi z*MyD6Lc5=|@koG&Jc3toQ`AcANZHPB-BjKI{CGt3cr_h{|s<=CVa_Bk5soTAU?`^JZk=yqI zR4@>NuNtfF0200uDztu zOI^ickFB_{J4<5zUK>)>5rCs~>%^!l@JAL+n>;pce7_Qoo*V=dmOY%AjdiG7ILf(p z?i1BXfDQmQ>2wl59^P&>fyFeaElEsRwKiG~G3EM-=55*SV!*hTEeOMOGf3majygZi zzjwfHYhRiFIEtQTqoD?vLBC@8P4a1A)|7RZzV6sn=v(}}`N7U58WqG}b?#La`QF;q zf;fE}9h{nV`|rAmaWG)k+{D=_+*JmUx` zbaSk`xa!86Fa-4m?y=#_P8j5Q9U@>mo;QYs+=2vP7A%BG0hVu z;z5}V-n9lYy9H$e_Ufcm%TZQ@-X%H=9P2RF@4Bb1BJ%b(GT=*iQq5uVsJRQf$!=;W zbrr%-)c@s@_8?@g#^b8gg67ZuxmM%)p%kB$gDCEg4DaWgJYVo&M2}~u=tF1OrJys@ zm&o3Bl@!X!=-N^YCGA`cuKw+{42sSJo@7;#%aIAodHkAz0JHlcSuanD! z&Bh{Xn>3#xQW-!W%GrlXoXd?aA9s6hVS5JpAdp?vYI;-tra~KoMbMI|8tY_aODz+#FGppX>nEUlOUY_!HlW{UddWf zrO;x`);%AbR%L;C1g!~vi+QtGgn6gCHzLAMCLWC6L%6U!;+1zn;U9GM1Npy}FjUE1 zPgmZLHYZE2Z0ZL>c<>*rFLiheCVL8AB8BEc?UXYi*t;CxG75 z8Snbl?8ytZ{$WoT$q~FMFw|R3-)H6Hf_;oVBmBN(2t+F=XYjfh{rT;8{%1%sToj&n zLv1EHtzKeke$xv#ZHe=6R&4^a5pGUs7>E;I$22mvRbW_r{Fq9UMUr@;r9WM4099*{Xj zp7vtpLW-9JxcnDU6})pC3i_H!x!CM9EZT-RVrh9ysqxe7Mi%^@MaLxb}&g{Qp?ho}{2g!rULjcC({iHyF4n!R(o4!M& zamx?A@ApCy4w@|}nY`{hAfli4%{Re1T&i%V8wXH!vbl>zUTbAaJ0?c&`)xl>#<4K( z%njDHGF<+<-kY!|VNZa|XAlrHuIdtjmc1ApZ=~NnZNcBhutumgc00iq0@;B(T<;>4cx}U1~K|q9L2<) zS0U>OO&>Fc{U8|T0|x>d14LKBZC9MrVK!jL`+9Ils-3a&LCUCdn7 zX`63m@UcZwnBEG04;DQ1`Ei>siLW7eCQ%NFddD@~ND)9VUJ-#?1bdQKq)vEnHV zHMeR}zOFV#qzZq2V(baV?wqP`#!YBG$rveW`8SQV%uw5w(@yn<(nIyIIl8Df-4BMD zgatg**+d@`7TqP}9ThBvhm0k@Z96s;GI!f-Lyp_tW$ytu;qlU;d7RR$u%}!htsVa! zWH~|z)1pLbr!#kcA$VN-%X&l5IwBPTn#pH)4|G&Ka}1ak?;77z7wcd1EfhKW@neWM z1|Kz+u6;?n{bt4wrE;+kJ1Uqb(Z!*z_dIE^e?eVRgf#g7PQ^UXnlFzeGb(Ns^>CPjg)Jz-X1BG0U|l$VlK+H%Hnz|M zV1**?7I?gmS#jcI0qwDP*!wC!ttdx?GMH_`L7!WcHu>lgSY>OP>0cdMdjfuo>$0b* z9i$ePFt{EhKzV6LBo%Rzt`G z8i8uyohUVS4TWes69(2Vbx4WkxD;{S=(J3cn%)7MFMPys@#mav76IW_?7&aK7DNhb zD}YWWQ-+TH-`s&fG)Czq_PEdZvRA;$r?(7{r-l>;4T37qk^rI5rO|G*U|({u^P#V8 z60HKAThRX8nF%#1!l}RZ^-Kw_Dwx0mnU|%gv5+Z9>Rk0m4S%x>uO=CKkTm4fN$f70 zpcmGF+6r+Zg1eo@(k9dj;xi8v zqa%(}l`-}vIB3W#5zx_x=2F$DUFMRhn%u`R)em1+N_K8D;0ndBUv>)wd9+N(uH5+k z$=rszFeQ9yIeh~**h?vg$?2y&q7fp*TTgJIMe*T4$J%BpYtH^Pe?m)xcumOul;e#k z<*hV&s(fKGmSqk>`^E)kk}msig2tU$%!r-?hEVHSr$86Bn;7-OH{vWvB>|EBjlP;R z`o!}BfN>ylh+Y*&d=Pv|N_fNq+LHAC zuiA1}+jJQFZTx+)o2*yryCqkt2JAJKGLGo^eL@-m=qNQDN2J3%Z) z(Fz1R0$u(V6FQ3GhXsz@xu$?Bew{|hX#SQ;7I;rs<81Qtcl{89n6TY;FH1yhR zTzfjS75;@>!3>>1uZa70$w3kU$7J#CjTnmHXuDsai_~WLfxu}#(htFPa7=L|l*3ec zW4PMmaKzk5$@2lts#`W`F4r1()NQZ*obOf6rp-oFJlu_Z=4no1bSeO$Vz8TNtUnb& zgS;hn9@_V)h0m2hg!Yx&)N;U+;c(($94(Z1@rWQimw>2i4{G}j+MFBUGWeI>VMjLr zKwB*5dH#{02sgbe_4V@P!>YU{*_dq1>rtf4seJa6OK;x|QCZAIr;`*TPpHoZ1!*n?Wg(pi2h)r}P^_f-4Mo+gg=w zXxGNJma#qzd4TM@2F24{nuCDA$~%apiBu@>Jr@ky)&A1~)Y)(XSjMhMhnV>WeYJO#tt zOVv47`B1q|!QXqG6u->+$MZYwZ;4aEK6k}Gog=l^GI7-31uPq*PnI&kS(j9$3b0(2 zn>^Pr+efF5O;z=*cu9~N_gyQJVAfC*okV7}Fu8#%s~HKB7PevMhXwB`en@*qSn^J+ z3wKmGIIl^xfS9)ouqZY>EXuU`>ZxTz(YzL#ML=IvVdN&mNG?91@vvx7qLN{6Y$JX~ zH%|R>A)wdCy#E@KG5b(YjtyC?tW?-_!>SYx#nk|NuCN3IMystU}NZL zE?7V3u1rCc>_ePlRt0I2RpGA4WgrfvddZ_imIP@O-)7 zSF1VuRv)?Cb1e$6mHPB98}161KzeF26ltcrTAcicYp?CsrP<7M6=iSHUhyb=2{f)% zoZKM$>|^vV`+Oqhji_VV%?8BY6gk8DKAGdQOt9tqtT&0H6^8-(ZkveD& zfkiI-VfQ7h3&GbOElWzn%3Kk0Cb^{v8_&?JX#vVIHxn z)WK$hRk2@4`^GyCM~TQGSd8=GbxXQ2G4z}V-T888@Qq@THykYn=rrq2*v;S1^b|Z) zg;EKr$-m!Vg>f$Vgsx_V&`a&(tIk@U4O&Al9C;`=c=p6+_drr*1E3Jf8Ts&d9NohC zxZB@Ud74&!CD`VoI!*|_VnVq?(gPMoL9~0AwIvhrlTBYY;WLveojs5SO#zqr+^6zl zgOcEDz5F?E_uARbk{Y0FNAj275(6}`U2HM6ixC5=wM1n3B_~9XJJ~75kwPU#zx9Lm zm%WHjxnPuRSGF|3l0?fi9w{05v~$29G^M0rVSAo=Bg07g@U!3iMEh;Q&r&V0-*XS< zMr6lCU#_tI&5EHITgsqhd2Tm^AOj%KyQ6PEFnnw=e_T?PgHu+8otQ##I+txVMD$pP zNN7ve40_L{`M58>uYLj~LAVKxN>+6-9?R>8+M&m995yjiVBt%_{^e^2E|5Yl#g5GD zUY(2r7k7hajRGEJ&N{BhIyTNOo#_#8MGQAFgZkiF!~s;(0^0HjlT452%8@SVP+rd9 zTECQ%+Zh$aJ;?`m4?gV~D3ZpFbkr`q4-E#?z~2F?M+U+GoQY6nKximo&|X?~ABYh8 z0}TH}@p;v?hn!hBq8sM5i1!{&W)iao#OG9;9kKTvk82Rtco4ZVhkI+8&+I zL*?jvS3Pu%CHv_4P7LO<&zMdn6y)!5gMXNe`IZ!BuXFl&(4)rpkU}SG%+jyK0@AI2oWC&@u z0+MUKFXH3w?O^(Sh&?6fj0A5zuPfiwgToZZX!aM6rr7M zuwkHbKHxNr6u#EyZXz=6=lp$X=8!5<>vLhLOV5+R0%SDB5WRPI`(~?IHIp&U^3$*5 z?9i|905czRo9hMa2#fR0m&0&GW}c&Lxthel>}`C4DsBg~dwJaDMEBLX7*dz*-$n|- zya+Gz`@sSsch=G_97jYS`R&ygQ5ZHHovM&LF_d&g_%BeN2Xcj9{byUI+dW8yf6@w- zV90XENiRR!S(Y3&K%%%J4lfrfa);ix?d=AtSVS)5dLvQ^zbS<$+yrl5Y8?C$9NGoF z9a=c5u8gnr7zNf zQ;sGz4i;8pAY=e9Tel`KGrVz(iGQG4V%;8hi@0KfOfeAHT3glTf(5KxYIO(f3|(n3 zt6$qas4G+B!i}#ZR6>V=3Pb@rN%h4Zok-E*e`O#{L-02Rh z%Iogh>uIw#PfzeHTwn`b8u^r4mBoQ8)It|eFt;?SJs(s+@}UJu&A2WAlj zU==JgswIgn`l@q7i4=zKDK&)mqg|PaQMhsdG7Bn$UK2Ewt`(7P>ZOlQl^WNMPNEWI z`zFol%|Z}eN~D-9cHM_hjLM1+Y|07zzBuDxjkDaxAO1V}L@Xxw|E?kfbKpq9onp)v zRaM0@FJ{3Bsv|>Qm^q3j!XPX_N$SI7V3~MN+)UmxcCSdo+vP`zf_N4f!^Tz;f#K^} z%=w|tDd1vC$c{T@;SyFgyzDWEu^>VbTrM=g3I{p=ny=}yIaG&m6DcbmMWXDDq`TBT zUneJ2akuws{@B}h)?QowIlzwO8(zFo2^^0hsQgWiYdCSnO4wbjk2H~mV!{BI6SYLX zi+@3!=$$1dEIBQOClA&~iU2Z5gsOTFCPV=3MKw80uPtj6rJ3Wz-)1eQ)ivtLH!m5W zb%V4C(cT!#Em5rTk}+2IDM;kr$4JM%<>j=FSsLyn1`AW^boYB$OBB9H3N&5d?qkPzgCoEBQ>`qr0&5UBB~ae{QGYX z^R>`k4f@4za^K06#~U!&lmSac#gI2=TvxR?@U z?JTc&w73~*9$se>m=w{VI)4w^w1eIh6UC8BU1k!^1`BiQT$#xdZ54i;4fEe>TR#p&o}eG z9k14rbdC0O!~~p55RllZKJ@#Jd>CN)GSm?LiE4yeG+vfCdv2Xg#9hp)(bL^1YZObp z@v`4VWb+qmyz&?*Y@7|dCfq_papr2WXTLmYvG-z$Kt{Z^kss1`4bX(W4SvU!x}Qww zB@5qA52OzIS2N|f5W)*C^v-*(+ei7eCxASnNHCz~#sDGcT_&h`@(>~m^iEG+pAvuK zOVRF~K4*3KeIBrAZ@5B5jSXJS@WUSEhT`ciiyj1SpUCGr9wO_54$95E#+b7iuP@ip zoU78p&5?0;e>w+qHs1>f-)eFfgxuTz%ExL6w^l)Xv9_v&05&QEj z8JDmuENGm=cgZS4@MoANWd1Oi5%0HZV3N4rjWM?V=`e=g_*sKe`uJH^;3x2zfWR~T zSVs85;Yyz{K4&#VZg#~FOLXBnk{GZe7F`Mrs)%$K_JMj1xT=Zf8iKC0t09ycd%ZK^ z8}DKhhVEpSlU6VTCf08vjGnR}1qc0<1dY*r_{@)7XAz*$eWrr-(BRrhMqQqyp8!4q7RLHcxrtZ_Gcka(b=+qB=VsS*YPT7v70CSO zr*D4zV-L>Mu)!MHt_UXn1rF;i7q)}*4D{uw1RMNuF&=)wZhV8IMc5o**P50Ot-0gt zLATsAd}~7Dro?mKax=ui&+Ui67r4_HhUh^)K;lB}I)iy1+Wuehg#j36{cgI;o}fYW z!AvyG&u2Qxb@W|a0&e>CHKOtn1jw;g1qTzzoT?#T~6JH!Hat0Ul%!2t6T-F z@s5|_prd0hbkebj0gT~jg54aNd?(I>@@oZR63L?Vm2uu4bkLrEaRx=radmW`68}b8 rU%A*}6Q)L(@|t<0^3P_Qe|^)0@UgFPvLqh<=gAXI{YRDR77_m+(!+5T literal 0 HcmV?d00001 From 63d324ec0310191da3725ab9f790e19d5067e467 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 15:52:07 +0100 Subject: [PATCH 83/99] 2022.11: Breaking Changes --- .../_posts/2022-11-02-release-202211.markdown | 75 +++++++++---------- 1 file changed, 34 insertions(+), 41 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 9272c022663..1f3ece3a8b3 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -361,26 +361,18 @@ other news about building an Open Home; straight into your inbox. ## Breaking Changes -{% details "TODO" %} - -- Proof read/spelling/grammar - -**Note**: Breaking changes processed up to PR 81013 - -{% enddetails %} - 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 "Unit: Revolutions per minute (rpm)" %} -There are multiple integrations that provide sensors with a resolutions per -minute unit. Two different units have been used throughout Home Assistant -to indicate this: `RPM` and `rpm`. +Multiple integrations provide sensors with the revolutions per minute unit. +Two units have been used throughout Home Assistant to indicate this: +`RPM` and `rpm`. -This release standarizes all integrations to use the lower case `rpm` variant. -The following integration have been adjusted: +This release standardizes all integrations to use the lowercase `rpm` variant. +The following integrations have been adjusted: - [Big Ass Fans](/integrations/baf) - [Danfoss Air](/integrations/danfoss_air) @@ -389,9 +381,9 @@ The following integration have been adjusted: - [Universal Devices ISY994](/integrations/isy994) - [Vallox](/integrations/vallox) -This change of units is automatically handled by Home Assistant. However, -if you record history externally (for example, using InfluxDB) you might -need to adjust to this change. +Home Assistant automatically handles this change of units. However, if you +record history externally (for example, using InfluxDB), you might need to +adjust to this change. ([@epenet] - [#79986] [#79987] [#79988] [#79989] [#79990] [#79992]) @@ -443,8 +435,8 @@ The `UPS Last Self Test` sensor is renamed to `UPS Self Test Result` and a new `UPS Last Self Test` sensor reports time instead of the result. You may need to replace `sensor.ups_last_self_test` with -`sensor.ups_self_test_result` in automations and scripts that -are referencing the `sensor.ups_last_self_test` entity. +`sensor.ups_self_test_result` in automations and scripts +referencing the `sensor.ups_last_self_test` entity. ([@definitio] - [#80773]) ([documentation](/integrations/apcupsd)) @@ -474,10 +466,10 @@ to adopt those for this change. - The `caller` option from `ClickSend TTS` notify service has been removed, as it prevented calls from being actually made. -- The default name to `clicksend_tts` instead of an empty name, otherwise - service appears as `notify.notify`. Now it will by default appear +- The default name to `clicksend_tts` instead of an empty name; otherwise + service appears as `notify.notify`. Now it will, by default, appear as `notify.clicksend_tts`. This might impact your automation or scripts. -- Recipient phone number now must match E.164 format. +- The recipient's phone number now must match E.164 format. ([@CharlieBailly] - [#76669]) ([documentation](/integrations/clicksend_tts)) @@ -517,8 +509,8 @@ for precipitation intensity has been corrected from inches to inches per hour. {% details "ecobee" %} Setting up the `notify` platform of the ecobee integration by a platform section -using YAML configuration, is no longer supported. The `ecobee` platform section -under `notify:` can be safely removed from you YAML configuration files. +using YAML configuration is no longer supported. The `ecobee` platform section +under `notify:` can be safely removed from your YAML configuration files. The thermostat index can be specified by using the `target` parameter in the notify service call instead. @@ -534,7 +526,7 @@ notify service call instead. The route sensor has been removed, as it could contain more data than the Home Assistant state engine is able to hold. Make sure you update any -automations or scripts that uses this sensor. +automations or scripts that use this sensor. ([@eifinger] - [#79211]) ([documentation](/integrations/here_travel_time)) @@ -546,7 +538,7 @@ automations or scripts that uses this sensor. {% details "HomeKit" %} HomeKit instance ID assignments are now stable between restarts to comply -with the HomeKit specifications. This prevents accessories from loosing +with the HomeKit specifications. This prevents accessories from losing track of services between restarts, and improves stability with using Siri especially with apple watches. @@ -556,8 +548,8 @@ This change may dramatically improve the stability and re-sync times of triggers (all) between restarts which was especially apparent when the home has many accessories. -Because the assignments were previously unstable, it may be necessary to do -a one time adjustment of accessory room assignments, favorites, +Because the assignments were previously unstable, it may be necessary to make +a one-time adjustment of accessory room assignments, favorites, or re-pair camera accessories after upgrading. ([@bdraco] - [#79913]) ([documentation](/integrations/homekit)) @@ -570,13 +562,13 @@ or re-pair camera accessories after upgrading. {% details "HomeKit Controller" %} As older versions did not correctly set service identifier values, it may be -necessary to un-pair and re-pair some BLE devices or to manually delete -duplicate entities. +necessary to unpair and re-pair some BLE devices or to delete duplicate +entities manually. If the service identifiers were loaded incorrectly when the device was paired -with an older version, operations may raise `StopIteration` or `RuntimeError` -error. You can correct those by deleting the integation for that device, -and doing a one time re-pairing. +with an older version, operations might raise `StopIteration` or `RuntimeError` +errors. You can correct those by deleting the integration for that device, +and doing a one-time re-pairing. ([@bdraco] - [#80798]) ([documentation](/integrations/homekit_controller)) @@ -587,8 +579,8 @@ and doing a one time re-pairing. {% details "Hunter Douglas PowerView" %} -This change ceases creating battery sensors for hardwired shades, -existing sensor entities need to be manually deleted. +This change ceases creating battery sensors for hardwired shades. +Existing sensor entities need to be manually deleted. ([@kingy444] - [#81013]) ([documentation](/integrations/hunterdouglas_powerview)) @@ -602,10 +594,10 @@ existing sensor entities need to be manually deleted. Minor "breaking" change with very low impact. The backing unit and the API of the device itself uses `0-4` as a flame height setting. Through discussion on the forums the community has decided `1-5` is a much more logical setting - for flame height and accordingly this has been implemented. + for flame height, and accordingly, this has been implemented. - If you are setting the flame height using automations or scripts, you will - need to adopt those to this change. + If you set the flame height using automations or scripts, you will need to + adapt those to this change. ([@jeeftor] - [#79901]) ([documentation](/integrations/intellifire)) @@ -618,10 +610,10 @@ existing sensor entities need to be manually deleted. `logger` no longer changes the default log level of Home Assistant to `debug` if used without a value for [`default`](/integrations/logger/#default). It -will now only change the default log level of Home Assistant from -`warning` to something else if `default` is explicitly specified. +will now only change the default log level of Home Assistant from a +`warning` to something else if the `default` is explicitly specified. -If you do not specify `default` and want to Home Assistant to have a +If you do not specify `default` and want Home Assistant to have a default log level of `debug` will need to add this to your YAML configuration: ```yaml @@ -683,10 +675,11 @@ changes and new features available for your integration: Be sure to follow our [devblog]: https://developers.home-assistant.io/blog/ +- [Add new precipitation intensity units](https://developers.home-assistant.io/blog/2022/10/25/new-precipitation-intensity-units) - [Deprecate IMPERIAL_SYSTEM unit system and linked constants and properties](https://developers.home-assistant.io/blog/2022/10/14/deprecate-unit-system) - [GitHub Commands for Code Owners](https://developers.home-assistant.io/blog/2022/10/21/code-owner-commands) +- [Introducing new unit enumerators](https://developers.home-assistant.io/blog/2022/10/26/new-unit-enumerators/) - [Introducing virtual integrations and differentiating hubs, devices, and services](https://developers.home-assistant.io/blog/2022/10/24/hubs-devices-services-virtual-integrations) -- [Add new precipitation intensity units](https://developers.home-assistant.io/blog/2022/10/25/new-precipitation-intensity-units) ## All changes From 55831487b379db725534643d355723a097bde111 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 16:12:48 +0100 Subject: [PATCH 84/99] 2022.11: Statistic card --- .../_posts/2022-11-02-release-202211.markdown | 26 ++++++++---------- source/images/blog/2022-11/statistic-card.png | Bin 0 -> 104280 bytes 2 files changed, 11 insertions(+), 15 deletions(-) create mode 100644 source/images/blog/2022-11/statistic-card.png diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 1f3ece3a8b3..60965f4f46d 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -90,26 +90,22 @@ Note: Placeholder screenshot that needs to be replaced. {% details "TODO" %} -- Add an actual story -- Spelling/grammar -- Replace screenshots +## Statistic card -{% enddetails %} +More cards! We already have the [Statistics Graph card](/dashboards/statistics-graph), +which can be used to display graph long-term statistics of an entity. +This release brings the "Statistic" card! -WARNING: Isn't final at this moment yet, but is likely to be in the second or third beta. +The “Statistic” card, as the name implies, can show a single value of an entity, +based on the long-term statistics stored of that entity. -More cards! Presenting your the statistic card! This card -can be used to show a value based on the long-term statistics. +For example, want to display the average temperature of your living room this +week on your dashboard? The average power usage of your home today? The peak +power production of your solar panels today? -

-This is how these new beautiful tile cards look -Note: Placeholder screenshot that needs to be replaced. -

+Yes, all of the above, this card can do! -

-This is how these new beautiful tile cards look -Note: Placeholder screenshot that needs to be replaced. -

+Screenshot showing the UI editor of the statistic card and all of its options ## Smarter reloading of automation & scripts diff --git a/source/images/blog/2022-11/statistic-card.png b/source/images/blog/2022-11/statistic-card.png new file mode 100644 index 0000000000000000000000000000000000000000..7611bd24632ba5708c0c621bd1f477ead69f6940 GIT binary patch literal 104280 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 f{&fZB|1 Date: Wed, 2 Nov 2022 17:13:14 +0100 Subject: [PATCH 85/99] 2022.11: Tile card --- .../_posts/2022-11-02-release-202211.markdown | 24 ++++++++---------- source/images/blog/2022-11/tile-card.png | Bin 0 -> 63000 bytes 2 files changed, 10 insertions(+), 14 deletions(-) create mode 100644 source/images/blog/2022-11/tile-card.png diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 60965f4f46d..669ef29ff05 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -71,24 +71,20 @@ Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET). ## Tile card -{% details "TODO" %} +This release introduces a new Dashboard card: the "Tile"! -- Add an actual story -- Spelling/grammar -- Replace screenshot +Screenshot showing a couple of tile cards -{% enddetails %} +The tile card is a lovely little card that provides a quick overview of an +entity. The icon can be tapped to toggle the entity, and the rest of the card +brings up the "more info" dialog. -This release introduces a new Dashboard card the "Tile"! +This first iteration of the Tile card is one of the first cards added this +release, that brings in a new style of card into Home Assistant. -

-This is how these new beautiful tile cards look -Note: Placeholder screenshot that needs to be replaced. -

- -## Statistic card - -{% details "TODO" %} +Curious to find out what else will be coming? Join us for the State +of the Open Home live stream. [Go to YouTube and click the bell 🔔](https://www.youtube.com/watch?v=D936T1Ze8-4) +so you get notified when we go live! ## Statistic card diff --git a/source/images/blog/2022-11/tile-card.png b/source/images/blog/2022-11/tile-card.png new file mode 100644 index 0000000000000000000000000000000000000000..372ae2758fd47d0288316e05e9fab507896ad9bd GIT binary patch literal 63000 zcmY&<1yq~cvT$%K?yg0PwYUY>;!xa*ySqDu;uM!6#ogU0Qrz7s?hb+c;oSGmegCYi ztgK{a@3B3W{e4qXkU~W!LIwZ;s4~*xDgXeCFaQ9}iwF<-CW2QR3;^72$cT%mc|e^E zH$ed?5CLp|z}z~7X=zx$ny4U1|AkLS5zSss8z*alR!kLS5|_$!_b=qlM{uby83SFG z4+=6fnVcBY1h?E)fi|CQqog{|G_uHE>dVR{JP+Gjs{V!Z+hC1Yi9^jv-Qo}Xd9_0R zgd+p<3;#kmcp*ijkIJo3_k-j<^rq|c?u&Afx$nR5a(;3Ar)*)X=yN6l-Y@M@yx712 z6Yqb2_I=rZIJ=@y|C>)KSnIdrjyE--#e6gO_xqFi4Q^~1%lTm``EL(zgMWcMr>igG zK2IPBy?63~t`A+sP=TfjJJ6g>LXsCxaGK6fs~Uq2?|qK_6ny7@K?qu-@$?=D27-wu zg4hV3(*r=Brc`?`1N~!})n&e2%T>BV2liiUXACYu<~`o+6YS-nP$d6w|AXWIg|0yG z(Ej=Ieuv-7qkoqKAX3Cm0s3h7IufHUm5g14?&;+7&n5GlCS#~ibL+Rtowxr27!J5x z)OGey96SMT*jQ%(+J0@GTqGW%%;+PK)Ai zx5DMR1UJ$D%Z0(oJpw5I!h4Sz@zkYvV-&lp6QPRD+V%x_i@^9t>O`kZMw`(J}SRh@;qPKMX@#b8|D?)!f)$^}#VBy--}g8(;k z^8Fzu(%Z?z6GZmP^IsiXeo}*cSkG<6H%^K){E`PuHrN!oNygUtY}`S){~lg&@9S$n zaH}XygNVOQxH0+)JqBs3*h~JN5DHO-rL!n}Fow?uEbfnDnrNOBK2SHJ2w#~g{Mie= z>+_-`Fl!4L>I~5z?DVfC47z-`S?dLtz~rAsxSx2pM(I}`{ewIfwc0gyV{?|Ev_E^M zZL@7ggFkpjEv$}P^YnrI7xjs^%xXyod{>p4Zg%t^fABpqXJ(mRK8ynMCy0NOn);vq z?-@Hjt_l|d7m~YDr&4B$FWqk1sXYjsl<(NbDcB^BrsjMT4hLOkieY%IYQl7W%KTaG z%uNrU2xTd?7Py-d)jBD)-WMUURYLH&nm;r8{*OPjdNg?~3Gn4n^uM9twZOnf;#9bU zG}nxpWQ@As zvCL-0PvRek^E)b%04Jon_Rs15YrUuAn2F2_%-hOZi$02e@IAIhNLF+lcWtc0f&2Hw z9q=n4WOsx>=Z;pL@ZNv`eDuZGW(7oS&6H_)8qK|oI`5XLUf;Og zV7t=zSbyDmUa?%dkX3NC7qfQ#l2BD;bw=2Azcol~nJ(;~^Bitl~XDjrz1I(Zu>j~Ho<5qAoTrTr=dv`C-V~SM1?2IhXEkss5M3O7} z3~2oC%N_)}RrEFRy^vd2nRvb1OLT802YNPA_chY|^7RHIObRXOOpQP zu}(DDr^CI7$3x~a5*AK`mxQaCCN6+qyzDoaEwTbW{b}r8OzQQDCfFjS(MNd?|IZep z5n~y$$wuOH#x`p|&kJXAe0Lh<@{znK52g}MZRM}9v*%NbO#~Mx9i>_$V8qmv(E0*N z*2m)n~gPx14}*|&o{+DSpQ0u--e`yE?_kT=Et?oc7`iSVIYLUgu7f3Gb5^41 z%vz5p@)x*9pZ^hB4>h*Z5v4FTr^A9EVCkE(jA;omNy-R8x?uV|s-w<{>o}lhW;^$@ z&{8n|0F1PVSVHX;l;p$UB5873wq)RHF3f+FC%W6&Kx%h2{zo97Yi2diquwNv(Gmt$ z`_F5i3N@^hq-DiBrJlY>9*F^%1P?^3R=AjtVwM>v1JvNo>w~@ZJm>#e<^yYhk(@gb z%%**P1M|oa8iU#&9x2H0)dtMRi_;%n$tS1 z4E@g%^5_pp&XQ26(q!EQ&LW2-CP`lofd_)twgJs-42pOATInbz3~UM3+3))u>D1{) zGgJ3@`4IkNC-E(TQfza1ShkXW^I7`qPd`oMvmY?;$d%zdlU;3tCcPMJO_>r}vp?2} z!GAmZRZ>>q96bC1nZSkbKmNI>XwWk+x&`GC&c#)+mit%`!zWX;uxboY3)(5ZT;{V6 z{4;bSE`Uq_V-ET93-^T1uEm#0N%3a%oWSQZ7@K!K6RZ^;BCic?BVT7+&8gmOr0jj; z^se*C;vN5~zfLUXN5TojXsJHJoJN}jHY4!X(5{D7^y$KHz@^C-JK*5&LJIB_h*EPMQsQ6uJoYmW(+?&tY=Q0lrt;8_lL&|}Q`bPEpZSYCZM2fL-H`x9`QNJHvau@Z%og5*OBm<37{IrItdgaIxJ{aELJ(+DxU<>1RH+5sL)V8b>(f_FtR@vm{m>yDIj93h`h2u$Rz3)^ZL zJ4zP!%eld0wl`(zDpc~?#+JKBifc2Ns|V)GgM*;Fzbj>Em(+iVx))4oN|CTQV=i)? zbFUF2UY{NFb4=@4D5M{hu8VyqQ%ZH&iS33iQ8zm7zqr4%wE0b}kw;$;J?&l@oO%1F zix2eh=!zqKyOMUpD@(@rZc4{p@+M3fQOFf}_e$#_hkeI9sneahk=E%FCuyx6#wElF z`a8P)z?Z!g?(PW%#;~t($H`Pr%fI4?llRY?Oc+lX401Jx;Fn5&d3Y%G4_fwAWjhx2 z@;)4;=WB4^l zj|+4*IWdHcUX-6?FalFp12XTMu+jmvN&9$e8LW;okg>T(DLQ5kJV4Jx1dJPTx{RJA;u7O1 z6CCcA*;l^A&Q;WvrnGQ7FBz6ViIuBD@bKI_u<(1{?jlfBOkgiUTaFo zdEd$+{8FBIUE|i4QSo^rn1(+m=E2tg$_*uV4#(l+V30P4v|ONbWVQ0OrGHL^Nlxxz zY!GZ5Tqqvg$NI^HU!esz?ff}++>QE_<7)BTP-8bhV5&iH< zzF@4;Eh!4W8$HB$Y=P_jky9J^KnZLkcY^Yc`cH9(Jg}X=W&#aMh`jkD4uL%5oY50@ z3poQ;YP_3=l;L@x#pf*zw62FM8J?Xl_Y{IR4h85PNTO?UPP==xhZF~V@c4>*FKnt8 z178A%%s;I(Gy7b>LQ^JLTvX{nd-r%?1QG&!?54>ED5m!W=+@-R4UVun$fr9tpR;*R zzPPdqx%R_-WC$tr3%2=l7E$turTH;*-%j@1@M3&Z{>eT!<=ia|NOqRc>f};2J7CFM zLtOg9o@NfiEJ*Hl8SbD1Mb-@b_Y7et!(61Fl{k8LC|_C9GUN-_etYPyc|>E&zC$c& z9Dx`8=pBrwJ|#||qOX|&-P$BE72!$(q<@nZ8Pt;pTpf1>8`Aj-A;x^>utB{p zPhm1>A=H7%eHyCus-7kG2?Fb9MPbNlvaK~rU6ry@6qsBlS+2tck*K`Sj-Zh+_c}og z5>GeiFm0OMpF25Fg6;jLgpp_J{;E6f$b?GWiB`OV!$%`3_xA+`J7CEjJqdIPHHs-E zQtB;o|7W2T|6-<0+I0i!pa}ss;AXriUyb*ESa2LBp1=#SKft%?S{x1$z+l~?*!e2`60|`<+>zWIS2Wvp6>^{L0y6CZO4c1h$WpeUSy)m1s1Q<%bAhR5&e>9)Tlrpg3Me* z<~3Ih8Cr?QIPZsJjv&%Vo@?1NPpFRo*s)(v%z@~3FkhHAyQpiA)+3&n4a_i=i zV|g{bB7hv2$DOBTeousB4%M#Nfw4qOstIBfE#BZSeL0eJ7BUrN(_pZ6{IUMQ!JE%fVko=#-t|R$8Abve~!7Yifa= z78AU+OW6h+sTT8IZMOiU*IutLXqs?h;2aEY@RUR_94|hmmj;U9eU*V?ybj*N-rHJ_(GI9g{tGA(Bm^&RM>O*5mox zRFbFAqroDnjYMobr(1yDjFsC|`6bUmv9l{r0lPWZMN)gCKn!|D;FR!SDB&X>ie0~k zVvj}*-bj}V6mD)OG>ZxA_9TCc-3ciEhgb3Kg?~=iVDlWkAFzli)J8N~|3t`kp}2~u zzDq)u4y9wC!ldLXq^4XO^8y zrBtJi!6+(K60FuA)EUf_(L_U`x0~75+KtrZPAyeGO$UTh#u8a#=Fc;v5fHHIz+fx| zf1wZB6c30L*G}ed6=N=g6SK%UM9w>S5<_nkmJ6=aeF?Q@LeYasst~8pN`I)ShdQE* zPiH1Je0OSY1*H}Y%{Vc#{XFmE9U4hN$0+tSzZH|YHSi~iJ82a`kW^3o0kXmG5YUUB zTkqa3D=$&Ne1|gbC`+Hx)eh5#A%EG3AI5n3SEysQ8!t!kn~5?uq){&D#fCnvHOMmmPQu0I`Q<)d7n zxlW_FRG!VK`j2g|@>iC0KQiVimu8xG{#DbZY()Nj(6*(zgWuuqEMe~^^^jps2}4O2 zM7M$}>;Wp;R2giP=ekP9DjL%Ny6M-hKqFJ)7)H*5T$`r6VQb2W%Ch3g6XDWyI(uGq z#aDRr`-B5F_uOFj_S44}s9gK(@ZsJvhY%pFDiY?-u{p1b=t9Qd1hu@$=z8Xm-?1Vm z4+vQ;4DS30mRNtS{IELRtM-qnsiG-leg+Nm+OO?q^nKLD_j|v5NIvJ;jTU zL_+J&4lDSyv(M>T?!ZX za$i#axvHe1?V{mm*iuX>>L@qU8k}Gmp$jC5&uEmA5~AB_V;7cM8r>eyq9y)t6L^4qaqCE zkmhxZ*YMO8s#I1RSK^{7HR>Qb|G`U#kref`{*ozBbV?={iC^{Gw339DO&Pe8{^f`v zW=K3+0O`_~CHH)L^?F{ullQZ)FFe%<3ogHOF{k5H?D_UHX6l_FklYi~u-3{4>W2`% z*8?IXc>eZxlidy%SIXTEZ(PBeZd`>Pm{*w#!S-;Z5>sCw*Zx$RerRHWNuK*+td^5( zU39(>iVm(k#RteT-bJtb-8^xra(|85!G8oVpdrQK$`EU{pe~jf;cgw+@|(S!;HYCv zNhkmes?MCZrlp^%ZOWy!my234@}z5)0BUpu#Kt4fsvpKWdl$LQ`KR*r&3a7mr2QE-JP)qW^)mohPFsL^TGpf>l%=ft$7Z_L34pf{2e zAG5i3gdPb4im`Db9^gPiY+A$-=HS?lw#^z+ttugX^}Dk`6qs{jGmH=|5;Ly%z zp09giA)!VJ;u<7oBB_LCf8X7@shgJC>u772!pu3{JMx2bOm1o0PMur5y-$md96L(O zXJKsY-6<`8u5oT5001BZRAD|2g`AaOH@zBlV&tMQm`N0dcChuv3SYZVpX;WlPC6M! z3YIPhBCeJTtX8Ak$%kbl1t$gHX~1sm!njHPa!Z1Bee%L^c1FcVm)6b~6oU)7D!-eY z4wYWB>e$~fSRwU-ZYcUs9ZOnF12K5NAC^4BKW38H{yjFum2{xRB6PiB^m9d0iC za*M+Yf3%iOtoP`Ko!2vdHcHsXq6ISHIhArsUa&Z8S(#`Pr*+vrhVe;fn8^GEOWXj!@U*I$x1auTIseV^ekn!Gy4$E6)eCp9fI9?Y_@letb}dYkpvqVe`* zwz_Lnv79m~u0nC+bO{{XmQp-#ln5MSL|zG5;E4qM`k+tg!1iMo5+vb)u;#IOIJ;?k zi;mWbET&pBIfvI(i8p))B~EFP0%rUK%4CICo+Z}+vkCI(-Pq+n#Ry+|gVzmdU)rW$*jn=r$u{k^Ek(P-kgalcaWI=^u@22gDSKP=%H8tClUCVM>lZ z=yP5*E^%4PH1Wc{Q4HeD5b1j1Gcsp^lf!+fxpX>zS_(bT?G?3!9Ebm6$*(g$lR|t3(0w_Z z-oUGUq;IT7O!j^MO;He&`1HoRdC!>8-gkUxNZ)Ni(Ne5phkawHIDsKU-JfqOlPG_O@UFf@;s061aF{y_Ch3$|;~Zp0 zJf1w7zBG^SNB*{b&yPI99(%fDaluUB?lFx>X$(BYX-!AuI-}0-O?jbvDK|A$-K1we z{WpDdJ2DA-y`B$Xj*} zBl<(`m=D5~%%H&WjlSP$d=%gtXL0?#%UO4t8u^d>Q~Q7xC+^2Sn7DYx%CP7yg zvm{&6G;A7yInIVRsR7|%R;bc8XFJh$V>wR*KKj3N53ECFfr&NJ-h#EF_LJ_U>Umi%yVnLQx{|~fuKEasXX|G)?J0dcweRqa9!f@U$sEgtu^61 zR*=r%)gvMgZ(1}dWL#lF$bxyp{F%JD4<<6C@&8QxH#V2jLE=lcPkt>9VdB0Xel1*y z7NhV$rJQc0T^27ioXeuZPHLYCcK5Lu$z7p%TX*u>zv{{Zp;_(^VOjAU z=@|Kyda&vtY^IRC26I)#yk+i?^8jC`L`%+I0RGA$4jK}KMmW=~V(8$pOCvNH^;(LM z5SrV1Iw4x^#jF!`NqMbgQOmyZ40Ru)59*DXV%{d!x@@q{fcZ6u-HY_6M9?Io4)U?y zMA0R?d(@9#UL9@bOIHNq~-6#mjMjWx#rON>Y^8Ww3dI-NltU*9A( z{Ekn-@@9M#5Ntrh?nT@+*uocjoOn03+0LE@Ai>0c_(E?$w-R=L7}Hv5+cwguLeIOZ z0k|M!RV0ap+=l5V0D(4$2*eqZY%+kOBv1A2YV#}lehKgYNJO*vY{#F3z?W-fP=(Z2 z`mJ2ROMI;`Q60sr!_%X5ph z!TG6Ud2GYZ+#3AzSzOshB0uY)l>+p6(5XF6NRFp;(08+M^&};GpqUW+9^m%X|1On({ro?1xSQApHtFUzuEeFayUUe=-f0X;c5Ve zcZoTT+mec{c+r~~yf=CAwYY(S_C0U$8Z!`hDJ7Zgoxu0IAgT1RLfmK^1gO=Tqg1@s zKbsFDleytd&~VKarf{c!)P^dZ_uQh{lHx9>ERxAW!5pitkU@JWI2K|Czpk-{F#Aj@ zc3|BV>&V9qx;96Bp}N!6iW^*DTS$IZcC3z!)d;x(%L3tkuc5n7p`#?BQR^vIb4oi1 zxa;e+hpS8ZH7##6P=kB{7a@hb(s;#Of@TRAvnHOWztH>>FA8EUv*~NcZX4k!cJK)k z-s|AQzl3S?GA{I()n0u`u$ub7pH*ehCFnAk*rZrJfBBcl&+Vk9uQXb9Q@zq$ z=U4wuzj9w@zVGtcidYtS8I?08Oye|2N|&_G0qxtWatDms%fXdk(YnITEt zVWHm18FWFd{m}Ak2zZ9oX97O+OqrlbHnk<9gKV8zT%A>pSB@!f{4Fb#z$~f1>DqW{@_Uq(!j4HIE~oTvOJ2;kto($l{SHOk-lMZ;{vx)vF0hg}0o>+nLln`kc9IJnV8Tt=VrxKu3ACU-$QE zx*kPy6gcH++?Z!M2v>@2)1P5cEN|F$+s*y<-{}&o@$T5f?9ss84E@ zVDkNg#E*fikyVCS0(4=~FEMUwId!mE7V;QgE2$^lwO;~FO3r^G^}_pC@6oiOrdY&Q z{1MxSJFu42F$%6!cwL0z6Jx(KhzWnRY{DVg-EhlFSsDseY{M^|d(?6VKZ~K*KMU?d z7sCkSH)~&~Gq?BM@N)3o$P+rGwBBhCIqv#Kj=IIYCt$|x}qHnq2f z9EYlWUC-s3PBe<;me5$1_&m_cJL*K-WR$qm@`7z!j$d%5(3;YcM&{&>`#0t@lauWfK4A;ato0yq1m-uXMhCnFbcNJCvNsnr29T_g6dyvd+L}^?-tJqAj(yWbaySwVpM93 zH(9z4R~)$1hj~h$VsYphk*X`AXHY-9?sS%M7ft@UQU>Kt7zE!tAtI!eWNU{mWwrWq z40vYytiwCpd3aea=I3_d-0)h_s!YeB zgq6oQYph$&)^jaDAs&@m-hh)rs5Ey9C-{jOaHpA54+kwfS0t4JX`z9Czl&m4OiHUk9bq2{%2E_D@UUjcmf<)?|06|_t1b45!RhMR%geq(j0t(NeY28e!~ZbPug$PmBp$T^z4->E8eH8ToN0l;K|~;tWQS!O*bd4i zkT@G=m%}-e-03ijv2Q1DH8x$UU7}IfWDYv+lEtpEMFffeuMl!cHS6t{^sC z8`{BV@Vt4hjLHLdTWCtr^ZZzX^fsv5Pe68sW#=qNuPTB5{vPa4orNGc%R?H|0Y}*@YKHSt>k!|wF8qMJYY)nTOIWOk22%=~i$pPK6bp}YXiZHC`OUbc5f;6Nk zckADrLr(%QFJH`6Cn0{FAJHiBZOFA*4&@uNogh!t_!g9in|Zfbxvr{1X0LF3 z?bJ22gRc@Kd-ZVWWx4W{#tQm@K>k<+?)ayr7`z&0RoHqlxX$iEq4asaz4eu~cB2SQ zkf?liZv3)j?wJLjNwu{5K_YYaI$X^wh!#nfK{Bk)E;^EuD-GZfPO0vFF-@$sjBL{{=97Bw zV7j{6&dzx(2rhuc4^bD}wsU;`F`t3jwpwGDkHtfy*`lMdgWElsR2SW_Hp^xt{@?bX zPxt$)Jme2l&FnK|#~fE!<^*gu>XX)%3- zw2A7urhOn~$*}IR^m-F&^{zBKG51+FMz{Hl3hzGNeh1+pg25=xs5M$vN z1SK{YXLbn5mPW0o_0WDI#eiT3XghffJ^I%RLG7bnNhO`OumP_aE2am=e$W513#b)Z zOP-{)_oZ8r&E5SECtu&Wy&6<3X(x#e=RJybTB$b9J$W<;t4n22cz6zTC!Z3VKJp!o zdmza+a$2i~#1;OJ0H}Vi_F081FZIf=^xTBd_`W21Ri;_1IVQzAjrE+vF$ha(5^i=v zcEmPsTp`Ehfd42p=;sIT6+VhJs!N4+zhC2(Q>sHX{-^NHllRbm|DVDe?ai{nN4ksk zZchCs6B7yY0{&`Rc{XkD&;t{r)t=4t{nE>wl1$!hP#xnf{WV$9w;JCHfY1PvNFZH~ zWMtNRdz*ORzZL7=FRQHWgkRiU7*iis(su(CYgr(;l`qfkT^M#V2rsitP|cra%CB8Z zWj&?`6GF4C^op1dZg82X$FThJP73U)4bD9dlbX_H?4&Fc9FP&- zMlwI|#=#4NZ*w2pBw*M+z;mET6OL{ON?gmTh*~VpYSQFa*&cTnXzAju+vCZZ*y4Jb zX%Zw4Xj8F9omhPAxRAIS8RtponO}km z9i$=j02SFS%zf}4-nA5gZIDt!Ul4kHoy$D&ggaz9#>k~r(ofK5^tKT!g&??UnaQvZ zRHOMy(1|ulW69)I#w%wdK}>BS1uySaE57mw^X9p6&S+k*_AQk5KY%7kko5n1Cath> zNi^F1>!fi09v$gx@?H%mF4;Q>YJg>W5X6$1S)Rcl_WP?rX~497>9-Rb{xuT@J%%o6 z<$5~@nPhEQq<_w*5|r$`Nd@qRNd~h+n))RZ6u%t-!{*M3NiF|CLR{6vD!A z#HTUx%8E%kCIv1sMR$GfOw*z=n+lY&9sAIx4Zr83bfguuB3MAcnO@Nh zgTVFZr>!OP9Mo%paAjeJfwtDeQ<@$LV&YweSNd$=2aH4OBTYa8*~(R`g>!I%;5mPa z3!Mo=V@KmVn4bNH1$`9z&d0xVF{IbOOQu0s%75t?sxD9%$rXZNCup*!!VT8KmTm?)Un*-v>~Fg8Z+=u~ayiDM&M{ zp*N8eE0k&Hf)+=(G@M(u9K*{!IQAR4#HV62dNmxdE4tJ?VhKtA2B4MS27D=Y7io_(VkO45h z4=VqWQv{i+mH+s8M^*tamoLpzbBt8zS`zaA-q53es7o%-pzk$(8~H&QPcXu8fk-95 z8Wnxn!tU|F#meK zaaI!&WsLH*ohsd4FA(>1i)6$&pYu3z4S3oIOI(R8(fCU%K_(4}O-XgAidRIa@=IRZJ&*(<}^V*?7*!G#tpe5c(M zE6CcV38ye^7lxK{NcJBn+tsajQZSrQH3|uO8A2~?BDWrSL)<40v))5i-MqA|j=~jp zDq?hL6#ee@eTHRjn3zJ-P*x0=BCTo1wkGQIbNxl$&Yc3+xP8K{!hA=dNdAMt-8i(Q zowaRWm0%q~m9YIEL$Y$mOi;SJ;8Ifc6w;hsw{+|6Jgvhu&=m>)5l2CSeEr zFT&fz-$B(%cNT+=BYg zUE@fAsUP@0v%dL?0Mv)FA4MhH=tg%+;{A7~V#D#-#e2M?-?{Ui_W>vou^beizV{=T z!Pc>lmzO(-vNW7O9C*&cSx^`6rD6IARihW!2_%R6FBw zyuR73m4%0r{*%V^Xxg-pa9*QkEfbq^&Pk8?g_fh!v<#im&B2rdp^y*HxWM)2lL=j) z%K@Ite(V~zQ*HMRL}U!1mmAeLskggBNOK^nESlkneenPVQ+pw2?*E-qpQ|1Ju)JS1 zJm=gdP%uU(HS&R_gljRcao1eOlc)hM2e$|o7a!kz)v~RiAY{YH-*l@tH1(q?vfKH3 z^n$+kKiVkv#-zA^*${W}IBD~RwK^g=8G`7tM( zN|@@|(!PNa_$BC0hHv$1@6Y9`^TgKWAbC*$g~>{zt;gj6KD+;`Pl(UsUP@)^=6;U< z@BCPy$n!36wxw0ILyY^nCjvH|LjTR-j529e=M$rov-4DmYLOt;Px%b4OFkj;C_Lt% zy^5ywUhWN_;Ne6%`p4K?3@TAMaZQ+fP?ZY!(1WoC1cj%bh_J zm1DmV&pYnP#`(_$R^3)?n~y8oCY$UH+Cf);C_am{U5zkZ&S@A>?he!C^ha~A6P(R{ z$E21t><)nPfN;caHcF7`wrr`{;`AO7_?A9Er}qAR)Ug6VMtxz*e6QA1I~n$!-|8lW zh*R{v7zVyiQK${9wm47KnJcck%*f;53!%8LIwFWZY}}-Df#6c~+z8LQz^@l1uQx?N z_OTf2p03wh*6$>|SYl!Cde+=G#=!azuYu8NvOz+|B zpP}-eFV{L)sLCPLZ1-RnCAfV!HULMm=(Vz`h)(rD>>EpL*K8CE8{q8weA@IdSLG++ z*aML&s!%@TiUe^W+?7A`xhTgk&!Q$QT$$1&Xkw$;k^1TWJXXKMiyf;!0;4o2K5Hk2 zKZa9;1a#haJpqi(%cBZmLygPpD^`^D^AlQ-Zpo`QI+`tMhUngNR2p*z_VRH*C;tu; za%jarriDO`nMvmR3V(-_U;Y>RtdW2vi)ec;$=fVlL3cELRlDo+&r?{V{;=PFUGgA^ zntXG8-?*aVa@kVr^r0N|_(Nik@Is~Dsj!F$l&INgs)$G~ z&rg{|TAqi^V8St@XbgyCVMi8gt(@n^M1%uj6Mf<2enSVS12CV=$HkxTP8qm7UTzmW znfH1Nm$Z1$kLJpxlto{jZXL&Y_cveeH=0C^dy19w3AB2H;857yPBaVq*nOkpsY8_F zcnq%pj$uyMn#yrl%_4p-I-Rc|M$A_T0mlxtdtO&h{PQ%%^D8s5Zx;;g z5wzM0?NOPZk4@3~53+Ig`T8vpvHOEeQBr=(%hb130bctH~lh_AXPQ zjb;lHOOd+bjEszI_FCZNvkaSHb-kS0GjNw58u_BVFCMw+NK_OeY+CnX;<8^Ktz_q9 zu6Kz&)qRVt#iuwt5O;*tPtdxFMbz6IWlMaN{OUtjn&?!{Y;>lWG0~k${(Wj71|y@i zCYlcKhfyxI2x-RCqG~y!qqu=8sNQx3uV2!;R}#)fY>fV0jXYF2fs)Q(UY3uqb2A(Llg-++ZG7$? z`2%|58iQNZhC!}x;A5jVRE$k}HC70_)UMG3CU1mjDjB}7{AJ%0zT`K84$q^KqKif2 z*cvG4z3{6Z9B$-yLJylTKA_9Nllm}nzlR=4+l#i1mzb*_j{52ju9*|fuD(J997f6P zMamdUC!5;tiBd=(z}h zegYXtA;i_&>DHA!?^ASp(QKQyBbn$mGQ)#lQFK(CZ_d^-CW1maWxkJJEU|q4alGEa zzc6IJHLI!!m-`**Eq4VRK=1RfD`BSir;4;QN))AEch)T_ZQ5v>OnBxFr0tM63vFdW zPK>?!tD>d41d|P=rg!gb<{Aqy4yB-|@0=1KAz}x+!eiy-JAa7M*g}`*3y_Trkp%~x z0DXX@K)`!RixK%xAs361uF|0`LVMD2ZRBy$$m--!PVfE@X|;G-NQcIgMd>u}@~&
L90us{UuvxqiPK3l`3{gx9cd?n# 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 Date: Wed, 2 Nov 2022 17:15:47 +0100 Subject: [PATCH 86/99] 2022.11: Smarter reloading of automation & scripts --- .../_posts/2022-11-02-release-202211.markdown | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 669ef29ff05..907472565a9 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -105,28 +105,22 @@ Yes, all of the above, this card can do! ## Smarter reloading of automation & scripts -{% details "TODO" %} +> [WTH do all automations get reloaded when you change any of them?](https://community.home-assistant.io/t/wth-do-all-automatons-get-reloaded-when-you-change-any-of-them/467270) -- Improve extend story -- Update vote count -- Spelling/grammar -- Only reload modified automations ([@emontnemery] - [#80282]) ([automation docs]) (noteworthy) -- Only reload modified scripts ([@emontnemery] - [#80470]) ([automation docs]) ([script docs]) (noteworthy) - -{% enddetails %} - -Results of a WTH topic: [WTH do all automations get reloaded when you change any of them?](https://community.home-assistant.io/t/wth-do-all-automatons-get-reloaded-when-you-change-any-of-them/467270) - -It got well over 170+ votes. +Good question! And that WTH topic got over 180+ votes as well! When you change a single automation or script via the editors in the user -interface (or reload your YAML based ones), they always all get reloaded. +interface (or reload your YAML-based ones), they all get reloaded. This +means if they are running, waiting for something (a delay, an event, or for an +entity to be in a certain state for X time), they would all be reset. -This means if they are running, waiting for something (a delay, an even or -for a entity to be in a certain state for X time), they would all be reset. +This release changes this behavior, resolving that WTH! Only automations that +are actually changed are reloaded. All others will remain running and untouched. -This release changes this behavior. Only automations and scripts that are -actually changed are reloaded. All others will remain running untouched. +This works when editing an automation in the UI, and even when reloading your +YAML-based automations in any split YAML setup you might have. + +Oh, as an added bonus: We applied the exact same for scripts too! ## Getting insights into water usage From dda762c0753266abf9408ae0686332cc8d699bbd Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 17:29:53 +0100 Subject: [PATCH 87/99] 2022.11: Color temperatures in Kelvin --- .../_posts/2022-11-02-release-202211.markdown | 43 +++++++++--------- source/images/blog/2022-11/kelvin.png | Bin 0 -> 53585 bytes 2 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 source/images/blog/2022-11/kelvin.png diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 907472565a9..edc0b35c610 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -58,7 +58,7 @@ Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET). - [Statistic card](#statistic-card) - [Smarter reloading of automation & scripts](#smarter-reloading-of-automation--scripts) - [Getting insights into water usage](#getting-insights-into-water-usage) -- [Kelvin!](#kelvin) +- [Color temperatures in Kelvin](#color-temperatures-in-kelvin) - [Long-term statistics in the entity dialogs](#long-term-statistics-in-the-entity-dialogs) - [The first day of the week](#the-first-day-of-the-week) - [New template features](#new-template-features) @@ -146,38 +146,37 @@ or ESPHome (requires [ESPHome version 2022.10.1](https://www.esphome.io/changelo available to track your water usage or how to build your own water usage sensors. -## Kelvin! +## Color temperatures in Kelvin -{% details "TODO" %} +Another [WTH topic](https://community.home-assistant.io/t/wth-is-light-temperature-not-in-kelvin/467449) +that was voted for almost 150 times! Why doesn't Home Assistant use Kelvin +for color temperatures? -- Improve extend story -- Add reference to WTH -- Spelling/grammar -- Add screenshots -* Use color temperatures in Kelvin in more_info_light (#14016) @emontnemery -- Adapt homekit to color temperatures in K ([@emontnemery] - [#79713]) ([homekit docs]) (noteworthy) -- Use Kelvin as the preferred color temperature unit ([@emontnemery] - [#79591]) ([light docs]) (noteworthy) -- Migrate Shelly to use kelvin for color temperature ([@thecode] - [#79880]) ([shelly docs]) (noteworthy) -- Update Fritz! lights to use kelvin ([@flabbamann] - [#79733]) ([light docs]) ([fritzbox docs]) (noteworthy) -- Migrate the LIFX integration to use kelvin for color temp ([@Djelibeybi] - [#79775]) ([lifx docs]) (noteworthy) +Well, a small piece of history: The Home Assistant story started using Philips +Hue a long, long time ago. And Hue uses mired for its color temperature, +not Kelvin. -{% enddetails %} +But today, Kelvin is much more commonly used. It is even on packages of the +bulbs you buy. So, as of today, Home Assistant uses Kelvin too! -Also a [WTH topic](https://community.home-assistant.io/t/wth-is-light-temperature-not-in-kelvin/467449) -that was voted for almost 150 times! Why doesn't Home Assistant -use Kelvin for color temperatures? Well... now we do! +Screenshot showing the UI now uses the Kelvin unit to set the color temperature -Integrations that now use native kelvin instead of mireds: [HomeKit], [Shelly], -[AVM FRITZ!SmartHome], [LIFX] +Kelvin is now the primary color temperature unit. This means all lights +and everything color temperature related shown in the user interface, +are now in Kelvin. + +We still do support the good old mired. Mireds are still working and +automatically converted when needed, so this is not a breaking change 🎉 + +Additionally, integration can now optionally use Kelvin directly if the +device or service accepts that. [HomeKit], [Shelly], +[AVM FRITZ!SmartHome], and [LIFX] are all now using Kelvin natively. [AVM FRITZ!SmartHome]: /integrations/fritzbox [HomeKit]: /integrations/homekit [LIFX]: /integrations/lifx [Shelly]: /integrations/shelly -The good old mired are still working as well (conversion is done when needed), -so this is not a breaking change 🎉 - ## Long-term statistics in the entity dialogs The "more info" dialogs of entities now use long-term statistics for diff --git a/source/images/blog/2022-11/kelvin.png b/source/images/blog/2022-11/kelvin.png new file mode 100644 index 0000000000000000000000000000000000000000..e9977ffee92f7c62b6f103cbd919f9c1942288fe GIT binary patch literal 53585 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 Date: Wed, 2 Nov 2022 17:31:30 +0100 Subject: [PATCH 88/99] 2022.11: Adjust water usage screenshot --- source/_posts/2022-11-02-release-202211.markdown | 2 +- .../2022-11/{water_usage.png => water-usage.png} | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename source/images/blog/2022-11/{water_usage.png => water-usage.png} (100%) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index edc0b35c610..9327748aac9 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -135,7 +135,7 @@ to track. It is often tightly coupled with energy usage (like gas) when using hot water, and the gained insight can help you reduce your ecological footprint by using less water 🌎. -The energy dashboard now includes your water usage +The energy dashboard now includes your water usage Some integrations, like [Flo](/integrations/flo), [Flume](/integrations/flume), and [HomeWizard Energy](/integrations/homewizard), have been adjusted to support diff --git a/source/images/blog/2022-11/water_usage.png b/source/images/blog/2022-11/water-usage.png similarity index 100% rename from source/images/blog/2022-11/water_usage.png rename to source/images/blog/2022-11/water-usage.png From 6c4cd14f6316f65d0c96d2eb3523ff65edd74dfb Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 17:32:48 +0100 Subject: [PATCH 89/99] 2022.11: Adjust blog post date --- source/_posts/2022-11-02-release-202211.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 9327748aac9..8fc08ca84f4 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -2,7 +2,7 @@ layout: post title: "2022.11: Beta release notes" description: "Beta release notes for Home Assistant Core 2022.11." -date: 2022-10-26 00:00:00 +date: 2022-11-02 00:00:00 date_formatted: "November 2, 2022" author: Franck Nijhof author_twitter: frenck From 8e8a8d1470553ca56605f7383c2daa7d18e3d44e Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 17:57:30 +0100 Subject: [PATCH 90/99] 2022.11: New templating features --- .../_posts/2022-11-02-release-202211.markdown | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 8fc08ca84f4..633f7b9ad37 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -61,7 +61,7 @@ Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET). - [Color temperatures in Kelvin](#color-temperatures-in-kelvin) - [Long-term statistics in the entity dialogs](#long-term-statistics-in-the-entity-dialogs) - [The first day of the week](#the-first-day-of-the-week) -- [New template features](#new-template-features) +- [New templating features](#new-templating-features) - [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) @@ -204,31 +204,23 @@ Settings it means that all date inputs, date range pickers, schedules, calendars and even time conditions in automations, will take this into account when displaying weeks. -## New template features +## New templating features -{% details "TODO" %} +We also have some great new advanced features added to templating this release! -- Improve extend story -- Spelling/grammar -- Links to documentation -- Adds states and state_attr as a filter, adds is_state and is_state_attr as a test. ([@Petro31] - [#79473]) (noteworthy) -- Add ConfigEntry template function ([@engrbm87] - [#78030]) (noteworthy) -- Add optional default value to average template function/filter ([@ehendrix23] - [#77499]) (noteworthy) - -{% enddetails %} - -A bunch of nice new advanced features have been added to templating this -release as well! - -The `state_attr()` & `states()` functions can now also be used as we filter, +Originating from [this WTH topic](https://community.home-assistant.io/t/wth-state-based-jinja-functions-are-not-filters-or-tests/468187): +You can now use the `state_attr()` and `states()` functions as a filter, and the `is_state()` and `is_state_attr()` functions can now be used as tests. The `average()` function now accepts a default value, which can be helpful -if no average could be calculated. +if no average can be calculated. Lastly, the `config_entry_id()` template method has been added, which allows you to look up native IDs of integration configuration entries using one -of entities it provides. +of the entities it provides. + +For more information on these new features and the Home Assistant templating +capabilities in general, [check our our documentation](/docs/configuration/templating) ## Other noteworthy changes From 1f71d221fdb99049b4f0bb5339092482c44f0db1 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 17:59:07 +0100 Subject: [PATCH 91/99] 2022.11: Tweaks --- source/_posts/2022-11-02-release-202211.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 633f7b9ad37..7766ee94c96 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -79,6 +79,8 @@ The tile card is a lovely little card that provides a quick overview of an entity. The icon can be tapped to toggle the entity, and the rest of the card brings up the "more info" dialog. +[Read more about the Tile card in the documentation](/dashboards/tile). + This first iteration of the Tile card is one of the first cards added this release, that brings in a new style of card into Home Assistant. @@ -103,6 +105,8 @@ Yes, all of the above, this card can do! Screenshot showing the UI editor of the statistic card and all of its options +[Read more about the Statistic card in the documentation](/dashboards/statistic). + ## Smarter reloading of automation & scripts > [WTH do all automations get reloaded when you change any of them?](https://community.home-assistant.io/t/wth-do-all-automatons-get-reloaded-when-you-change-any-of-them/467270) @@ -220,7 +224,7 @@ you to look up native IDs of integration configuration entries using one of the entities it provides. For more information on these new features and the Home Assistant templating -capabilities in general, [check our our documentation](/docs/configuration/templating) +capabilities in general, [check out the documentation](/docs/configuration/templating). ## Other noteworthy changes From 5468b7fb2864aead099e2885fec04391e174f4af Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 18:37:11 +0100 Subject: [PATCH 92/99] 2022.11: Intro --- .../_posts/2022-11-02-release-202211.markdown | 47 +++++++------------ 1 file changed, 17 insertions(+), 30 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 7766ee94c96..6c74f20708d 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -1,7 +1,7 @@ --- layout: post -title: "2022.11: Beta release notes" -description: "Beta release notes for Home Assistant Core 2022.11." +title: "2022.11: It feels a lot like Christmas!" +description: "Two brand new cards for your Dashboards, get insight into your water usage from the energy dashboard, reloading automations and scripts became much smarter, color temperatures now use Kelvin, change the day your week starts, and some cool new templating features." date: 2022-11-02 00:00:00 date_formatted: "November 2, 2022" author: Franck Nijhof @@ -15,41 +15,28 @@ og_image: /images/blog/2022-11/social.png - -These are the beta release notes for Home Assistant Core 2022.11 (and is thus a -work in progress). +Home Assistant Core 2022.11! 🎉 -If you encounter any issues with the beta release, please report them on GitHub: +The November release already feels a lot like Christmas! 🎄 Quite a few +suggestions from the [Month of "What the Heck?!"](/blog/2022/09/30/the-month-of-what-the-heck) +already landed in this release! Ready to unpack the presents in this release? 🎁 -- Issues with integrations, automations and such (Core related):
- -- Issues with the frontend/Lovelace:
- -- Issues with the Supervisor:
- -- Issues with the documentation:
- +Talking about the WTH month, it ended. Well, sort of, at least. It is now closed +for new topics/suggestions, but [existing ones](https://community.home-assistant.io/c/what-the-heck/56) +remain open for discussion and can be voted on. I'm curious to see more of +these WTHs being resolved in the upcoming releases. -Please be sure to include the beta version you are running in the issue -version field (not title), so we can classify your issue correctly. +This release has so much goodness that I have a hard time picking a favorite. +Water usage, maybe? I'm really not sure, so I'm going to cut this intro short. +Let me know your favorite this release in the comments below! -Issues introduced in the beta are processed with priority. - ---- - - -Home Assistant Core 2022.11! - -I have nothing to tell yet... this is still all beta! - -Thanks for helping out testing the beta! ❤️ - -Enjoy the (beta) release! +Enjoy the release! ../Frenck -PS: There will be no release party this month, instead [join us](https://www.youtube.com/watch?v=D936T1Ze8-4) -at the [State of the Open Home](https://www.youtube.com/watch?v=D936T1Ze8-4) on +PS: There will be no release party live stream this month, +instead [join us](https://www.youtube.com/watch?v=D936T1Ze8-4) at the +[State of the Open Home](https://www.youtube.com/watch?v=D936T1Ze8-4) on Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET). From 0b341c152da5a8ed8abb876ed1b398903e77af1a Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 2 Nov 2022 14:49:19 +0100 Subject: [PATCH 93/99] Add energy water graph card (#24786) --- source/_dashboards/energy.markdown | 15 +++++++++++++++ source/images/dashboards/energy/water-graph.png | Bin 0 -> 9749 bytes 2 files changed, 15 insertions(+) create mode 100644 source/images/dashboards/energy/water-graph.png diff --git a/source/_dashboards/energy.markdown b/source/_dashboards/energy.markdown index c91d1ab98ee..d4af8744d3a 100644 --- a/source/_dashboards/energy.markdown +++ b/source/_dashboards/energy.markdown @@ -67,6 +67,21 @@ The gas consumption graph card shows the amount of gas consumed per source. type: energy-gas-graph ``` +## Water consumption graph + +

+ Screenshot of the water consumption graph card + Screenshot of the water consumption graph card. +

+ +The water consumption graph card shows the amount of water consumed per source. + +#### Example + +```yaml +type: energy-water-graph +``` + ## Energy distribution

diff --git a/source/images/dashboards/energy/water-graph.png b/source/images/dashboards/energy/water-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..76eaf4ff4963628683c994320fe952c366c35c3c GIT binary patch literal 9749 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 CAJgFg literal 0 HcmV?d00001 From 2fb3dfa65da20eb3f88b3c50d886f732b5ebb02c Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 2 Nov 2022 17:41:30 +0100 Subject: [PATCH 94/99] Add statistic card (#24787) --- source/_dashboards/statistic.markdown | 172 +++++++++++++++++++ source/_dashboards/statistics-graph.markdown | 4 +- source/images/dashboards/statistic.png | Bin 0 -> 2293 bytes 3 files changed, 174 insertions(+), 2 deletions(-) create mode 100644 source/_dashboards/statistic.markdown create mode 100644 source/images/dashboards/statistic.png diff --git a/source/_dashboards/statistic.markdown b/source/_dashboards/statistic.markdown new file mode 100644 index 00000000000..071486262b5 --- /dev/null +++ b/source/_dashboards/statistic.markdown @@ -0,0 +1,172 @@ +--- +type: card +title: "Statistic Card" +sidebar_label: Statistic +description: "The Statistic card allows you to display a statistical value for an entity." +--- + +The Statistic card allows you to display a statistical value for an entity. + +Statistics are gathered every 5 minutes for sensors that support it. It will either keep the `min`, `max` and `mean` of a sensors value for a specific period, or the `sum` for a metered entity. + +If your sensor doesn't work with statistics, check [this](/more-info/statistics/). + +

+Screenshot of the statistic card for a temperature sensor +Screenshot of the statistic card for a temperature sensor. +

+ +To add the Statistic card to your user interface, click the menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Statistic** from the card picker. All options for this card can be configured via the user interface, but if you want more options for the period, you will have to define them in `yaml`. + +{% configuration %} +type: + required: true + description: statistic + type: string +entity: + required: true + description: "A entity ID of a sensor with statistics, or an external statistic id" + type: string +stat_type: + required: true + description: The statistics types to render. `min`, `max`, `mean`, `change` + type: string +name: + required: false + description: Name of entity. + type: string + default: Entity name. +icon: + required: false + description: Overwrites icon. + type: string +unit: + required: false + description: Unit of measurement given to data. + type: string + default: Unit of measurement given by entity. +period: + required: true + description: The period to use for the calculation. [See below](#options-for-period). + type: map +theme: + required: false + description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/). + type: string +footer: + required: false + description: Footer widget to render. See [footer documentation](/dashboards/header-footer/). + type: map +{% endconfiguration %} + +## Example + +Alternatively, the card can be configured using YAML: + +```yaml +type: statistic +entity: sensor.energy_consumption +period: + calendar: + period: month +stat_type: change +``` + +## Options For Period + +Periods can be configured in 3 different ways: + +### Calendar + +Use a fixed period with an offset from the current period. + +{% configuration %} +period: + required: true + description: The period to use. `day`, `week`, `month`, `year` + type: string +offset: + required: false + description: The offset of the current period, so 0 means the current period, -1 is the previous period. + type: integer +{% endconfiguration %} + +Example, the change of the energy consumption during last month: + +```yaml +type: statistic +entity: sensor.energy_consumption +period: + calendar: + period: month + offset: -1 +stat_type: change +``` + +### Fixed period + +Specify a fixed period, the start and end are optional. + +{% configuration %} +start: + required: false + description: The start of the period + type: string +end: + required: false + description: The end of the period + type: string +{% endconfiguration %} + +Example, the change in 2022: + +```yaml +type: statistic +entity: sensor.energy_consumption +period: + fixed_period: + start: 2022-01-01 + end: 2022-12-31 +stat_type: change +``` + +Example, all time change, without a start or end: + +```yaml +type: statistic +entity: sensor.energy_consumption +period: + fixed_period: +stat_type: change +``` + +### Rolling Window + +{% configuration %} +duration: + required: true + description: The duration of the period + type: map +offset: + required: false + description: The offset of the current time, 0 means the current period, -1 is the previous period. + type: map +{% endconfiguration %} + +Example, a period of 1 hour, 10 minutes and 5 seconds ending 2 hours, 20 minutes and 10 seconds before now: + +```yaml +type: statistic +entity: sensor.energy_consumption +period: + rolling_window: + duration: + hours: 1 + minutes: 10 + seconds: 5 + offset: + hours: -2 + minutes: -20 + seconds: -10 +stat_type: change +``` \ No newline at end of file diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown index c39cdfb4d59..79239b9d2c5 100644 --- a/source/_dashboards/statistics-graph.markdown +++ b/source/_dashboards/statistics-graph.markdown @@ -7,7 +7,7 @@ description: "The Statistics Graph card allows you to display a graph with stati The Statistics Graph card allows you to display a graph of statistics data for each of the entities listed. -Statistics are gathered every hour for sensors that support it. It will either keep the `min`, `max` and `mean` of a sensors value for a specific hour, or the `sum` for a metered entity. +Statistics are gathered every 5 minutes for sensors that support it. It will either keep the `min`, `max` and `mean` of a sensors value for a specific hour, or the `sum` for a metered entity. If your sensor doesn't work with statistics, check [this](/more-info/statistics/). @@ -30,7 +30,7 @@ type: type: string entities: required: true - description: "A list of entity IDs or `entity` objects, see below." + description: "A list of entity IDs or `entity` objects (see below), or an external statistic id" type: list days_to_show: required: false diff --git a/source/images/dashboards/statistic.png b/source/images/dashboards/statistic.png new file mode 100644 index 0000000000000000000000000000000000000000..09ff7b6ff89ecfb6f35eb4547bbdae5a91f58b83 GIT binary patch literal 2293 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 P00000NkvXXu0mjf%=V3w literal 0 HcmV?d00001 From 8909dc0fbff2d8e48bafdaa5aa67ac6a68d4c2e5 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 19:50:16 +0100 Subject: [PATCH 95/99] 2022.11: Change title --- source/_posts/2022-11-02-release-202211.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 6c74f20708d..648ac23e06c 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "2022.11: It feels a lot like Christmas!" +title: "2022.11: A heck of a release!" description: "Two brand new cards for your Dashboards, get insight into your water usage from the energy dashboard, reloading automations and scripts became much smarter, color temperatures now use Kelvin, change the day your week starts, and some cool new templating features." date: 2022-11-02 00:00:00 date_formatted: "November 2, 2022" @@ -17,8 +17,8 @@ og_image: /images/blog/2022-11/social.png Home Assistant Core 2022.11! 🎉 -The November release already feels a lot like Christmas! 🎄 Quite a few -suggestions from the [Month of "What the Heck?!"](/blog/2022/09/30/the-month-of-what-the-heck) +The November release already feels a lot like Christmas 🎄, what a heck of a +release! Quite a few suggestions from the [Month of "What the Heck?!"](/blog/2022/09/30/the-month-of-what-the-heck) already landed in this release! Ready to unpack the presents in this release? 🎁 Talking about the WTH month, it ended. Well, sort of, at least. It is now closed From 3e227b60195c256649f02c206a4ba3fa1c2520e8 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 20:15:17 +0100 Subject: [PATCH 96/99] Apply suggestions from code review Co-authored-by: Martin Hjelmare --- .../_posts/2022-11-02-release-202211.markdown | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 648ac23e06c..e7e8eacf078 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -78,7 +78,7 @@ so you get notified when we go live! ## Statistic card More cards! We already have the [Statistics Graph card](/dashboards/statistics-graph), -which can be used to display graph long-term statistics of an entity. +which can be used to display graphs of long-term statistics of an entity. This release brings the "Statistic" card! The “Statistic” card, as the name implies, can show a single value of an entity, @@ -159,7 +159,7 @@ are now in Kelvin. We still do support the good old mired. Mireds are still working and automatically converted when needed, so this is not a breaking change 🎉 -Additionally, integration can now optionally use Kelvin directly if the +Additionally, integrations can now optionally use Kelvin directly if the device or service accepts that. [HomeKit], [Shelly], [AVM FRITZ!SmartHome], and [LIFX] are all now using Kelvin natively. @@ -191,7 +191,7 @@ or in case you have a personal preference, you can now set it on your user profi You can now set the day to start the week at {% my profile title="in your user profile" %}. -Settings it means that all date inputs, date range pickers, schedules, calendars, +Setting it means that all date inputs, date range pickers, schedules, calendars, and even time conditions in automations, will take this into account when displaying weeks. @@ -434,9 +434,9 @@ to adopt those for this change. - The `caller` option from `ClickSend TTS` notify service has been removed, as it prevented calls from being actually made. -- The default name to `clicksend_tts` instead of an empty name; otherwise - service appears as `notify.notify`. Now it will, by default, appear - as `notify.clicksend_tts`. This might impact your automation or scripts. +- The default name has been changed to `clicksend_tts` instead of an empty name; otherwise + the service would appear as `notify.notify`. Now it will, by default, appear + as `notify.clicksend_tts`. This might impact your automation or script. - The recipient's phone number now must match E.164 format. ([@CharlieBailly] - [#76669]) ([documentation](/integrations/clicksend_tts)) @@ -448,10 +448,10 @@ to adopt those for this change. {% details "Coinbase" %} -The previously deprecated YAML configuration of the Open Exchange Rates +The previously deprecated YAML configuration of the Coinbase integration has been removed. -Open Exchange Rates is now configured via the UI, any existing YAML +Coinbase 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. @@ -559,7 +559,7 @@ Existing sensor entities need to be manually deleted. {% details "IntelliFire" %} - Minor "breaking" change with very low impact. The backing unit and the API + The backing unit and the API of the device itself uses `0-4` as a flame height setting. Through discussion on the forums the community has decided `1-5` is a much more logical setting for flame height, and accordingly, this has been implemented. @@ -582,7 +582,7 @@ will now only change the default log level of Home Assistant from a `warning` to something else if the `default` is explicitly specified. If you do not specify `default` and want Home Assistant to have a -default log level of `debug` will need to add this to your YAML configuration: +default log level of `debug`, you will need to add this to your YAML configuration: ```yaml logger: From c27981d4333cf20fede0e44ba4c762ab3f1bf4a8 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 20:21:39 +0100 Subject: [PATCH 97/99] 2022.11: Add HomeKit Controller noteworthy change --- source/_posts/2022-11-02-release-202211.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index e7e8eacf078..6fbfb5acf1d 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -245,6 +245,9 @@ noteworthy changes this release: - The [UniFi] integration now provides individual PoE control per port for the client and device PoE (switches are disabled by default). Thanks, [@Kane610]! +- The [HomeKit Controller] integration now supports encrypted Bluetooth + notifications, reducing state change latency and the number of active BLE + connections made to devices. - When setting up a new [Generic Camera], you will be presented with a preview of the camera showing you if it works. Nice! Thanks, [@davet2001]! - Support for `unique_id`s was added to the following (YAML capable) integrations: @@ -273,6 +276,7 @@ noteworthy changes this release: [Bayesian]: /integrations/bayesian [Fully Kiosk Browser]: /integrations/fully_kiosk [Generic Camera]: /integrations/generic +[HomeKit Controller]: /integrations/homekit_controller [Jellyfin]: /integrations/jellyfin [Min/Max]: /integrations/min_max [MQTT]: /integrations/update.mqtt From 59dca60cc69fde136f55fa9100085af41c729b3e Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 20:40:34 +0100 Subject: [PATCH 98/99] 2022.11: Remove a couple of 'release' words --- source/_posts/2022-11-02-release-202211.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/2022-11-02-release-202211.markdown b/source/_posts/2022-11-02-release-202211.markdown index 6fbfb5acf1d..8ea365184ad 100644 --- a/source/_posts/2022-11-02-release-202211.markdown +++ b/source/_posts/2022-11-02-release-202211.markdown @@ -17,9 +17,9 @@ og_image: /images/blog/2022-11/social.png Home Assistant Core 2022.11! 🎉 -The November release already feels a lot like Christmas 🎄, what a heck of a +This November already feels a lot like Christmas 🎄, what a heck of a release! Quite a few suggestions from the [Month of "What the Heck?!"](/blog/2022/09/30/the-month-of-what-the-heck) -already landed in this release! Ready to unpack the presents in this release? 🎁 +already landed! Ready to unpack the presents? 🎁 Talking about the WTH month, it ended. Well, sort of, at least. It is now closed for new topics/suggestions, but [existing ones](https://community.home-assistant.io/c/what-the-heck/56) @@ -28,7 +28,7 @@ these WTHs being resolved in the upcoming releases. This release has so much goodness that I have a hard time picking a favorite. Water usage, maybe? I'm really not sure, so I'm going to cut this intro short. -Let me know your favorite this release in the comments below! +Let me know your favorite in the comments below! Enjoy the release! From 090310d52a2b0fe4a0c3bede8b15dac225abf574 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 2 Nov 2022 21:43:31 +0100 Subject: [PATCH 99/99] 2022.11: Update changelog for final release --- source/changelogs/core-2022.11.markdown | 705 ++++++++++++++++-------- 1 file changed, 460 insertions(+), 245 deletions(-) diff --git a/source/changelogs/core-2022.11.markdown b/source/changelogs/core-2022.11.markdown index a2aac99b9fe..749872fac03 100644 --- a/source/changelogs/core-2022.11.markdown +++ b/source/changelogs/core-2022.11.markdown @@ -680,6 +680,105 @@ For a summary in a more readable format: - Move upnp derived sensors to library, be more robust about failing getting some data ([@StevenLooman] - [#79955]) ([upnp docs]) (dependency) - Improve readability by reducing indentation ([@kneirinck] - [#81040]) ([comfoconnect docs]) - Bump dbus-fast to 1.49.0 ([@bdraco] - [#81043]) ([bluetooth docs]) (dependency) +- Add WS API recorder/statistic_during_period ([@emontnemery] - [#80663]) ([recorder docs]) (beta fix) +- Bump aiohomekit to 2.2.5 ([@bdraco] - [#81048]) ([homekit_controller docs]) (beta fix) (dependency) +- Bump zeroconf to 0.39.3 ([@bdraco] - [#81049]) ([zeroconf docs]) (beta fix) +- Bump zigpy to 0.51.4 ([@puddly] - [#81050]) ([zha docs]) (beta fix) (dependency) +- Handle sending ZCL commands with empty bitmap options ([@puddly] - [#81051]) ([zha docs]) (beta fix) +- Eight Sleep catch missing keys ([@mezz64] - [#81058]) ([eight_sleep docs]) (beta fix) +- Bump aiolifx-themes to 0.2.0 ([@Djelibeybi] - [#81059]) ([lifx docs]) (beta fix) (dependency) +- Bump nexia to 2.0.5 ([@bdraco] - [#81061]) ([nexia docs]) (beta fix) (dependency) +- Update blebox_uniapi to 2.1.3 ([@riokuu] - [#81071]) ([blebox docs]) (beta fix) (dependency) +- Clean up superfluous Netatmo API calls ([@cgtobi] - [#81095]) ([netatmo docs]) (beta fix) +- Bring back Netatmo force update code ([@cgtobi] - [#81098]) ([netatmo docs]) (beta fix) +- Bump dbus-fast to 1.51.0 ([@bdraco] - [#81109]) ([bluetooth docs]) (beta fix) (dependency) +- Add support for oralb IO Series 4 ([@bdraco] - [#81110]) ([oralb docs]) (beta fix) +- Migrate KNX to use kelvin for color temperature ([@farmio] - [#81112]) ([knx docs]) (beta fix) +- Update frontend to 20221027.0 ([@bramkragten] - [#81114]) ([frontend docs]) (beta fix) +- Allow empty string for filters for waze_travel_time ([@eifinger] - [#80953]) ([waze_travel_time docs]) (beta fix) +- Fix Shelly Plus H&T sleep period on external power state change ([@thecode] - [#81121]) ([shelly docs]) (beta fix) +- Bump oralb-ble to 0.8.0 ([@bdraco] - [#81123]) ([oralb docs]) (beta fix) (dependency) +- Bump pyoverkiz to 1.5.6 ([@tetienne] - [#81129]) ([overkiz docs]) (beta fix) (dependency) +- Bump aiohomekit to 2.2.6 ([@bdraco] - [#81144]) ([homekit_controller docs]) (beta fix) +- Add diagnostics to Switcher ([@thecode] - [#81146]) ([switcher_kis docs]) (beta fix) +- Bump dbus-fast to 1.54.0 ([@bdraco] - [#81148]) ([bluetooth docs]) (beta fix) (dependency) +- Bump aiopyarr to 22.10.0 ([@tkdrob] - [#81153]) ([sonarr docs]) ([radarr docs]) ([lidarr docs]) (beta fix) (dependency) +- Growatt version bump - fixes #80950 ([@muppet3000] - [#81161]) ([growatt_server docs]) (beta fix) (dependency) +- Bump aiohomekit to 2.2.7 ([@bdraco] - [#81163]) ([homekit_controller docs]) (beta fix) +- Bump zigpy to 0.51.5 ([@puddly] - [#81164]) ([zha docs]) (beta fix) (dependency) +- Bump oralb-ble to 0.9.0 ([@bdraco] - [#81166]) ([oralb docs]) (beta fix) (dependency) +- Add diagnostics to webostv ([@thecode] - [#81133]) ([webostv docs]) (beta fix) +- SSDP to allow more URLs ([@balloob] - [#81171]) ([ssdp docs]) (beta fix) +- Bump pyEight to 0.3.2 ([@mezz64] - [#81172]) ([eight_sleep docs]) (beta fix) (dependency) +- Set date in test to fixed one ([@balloob] - [#81175]) ([history_stats docs]) (beta fix) +- Bump dbus-fast to 1.56.0 ([@bdraco] - [#81177]) ([bluetooth docs]) (beta fix) (dependency) +- Bump pysma to 0.7.2 ([@rklomp] - [#81188]) ([sma docs]) (beta fix) (dependency) +- Bump dbus-fast to 1.58.0 ([@bdraco] - [#81195]) ([bluetooth docs]) (beta fix) (dependency) +- Update to bleak 0.19.1 and bleak-retry-connector 2.5.0 ([@bdraco] - [#81198]) ([bluetooth docs]) (beta fix) (dependency) +- Today's Consumption is INCREASING ([@macmenco] - [#81204]) ([enphase_envoy docs]) (beta fix) +- Restore homekit_controller BLE broadcast_key from disk ([@bdraco] - [#81211]) ([homekit_controller docs]) (beta fix) (dependency) +- Bump dbus-fast to 1.59.0 ([@bdraco] - [#81215]) ([bluetooth docs]) (beta fix) (dependency) +- Fix Squeezebox media browsing ([@rajlaud] - [#81197]) ([squeezebox docs]) (beta fix) +- Fix Danfoss thermostat support in devolo Home Control ([@Shutgun] - [#81200]) ([devolo_home_control docs]) (beta fix) +- Add missing string for option traffic_mode for google_travel_time ([@eifinger] - [#81213]) ([google_travel_time docs]) (beta fix) +- Mute superfluous exception when no Netatmo webhook is to be dropped ([@cgtobi] - [#81221]) ([netatmo docs]) (beta fix) +- Bump dbus-fast to 1.59.1 ([@bdraco] - [#81229]) (beta fix) +- Catch `ApiError` while checking credentials in NAM integration ([@bieniu] - [#81243]) ([nam docs]) (beta fix) +- Make Netatmo/Legrande/BTicino lights and switches optimistic ([@cgtobi] - [#81246]) ([netatmo docs]) (beta fix) +- Bump aiohomekit to 2.2.9 ([@bdraco] - [#81254]) ([homekit_controller docs]) (beta fix) (dependency) +- Set the correct state class for Eve Energy in homekit_controller ([@Jc2k] - [#81255]) ([homekit_controller docs]) (beta fix) +- Significantly reduce clock_gettime syscalls on platforms with broken vdso ([@bdraco] - [#81257]) ([esphome docs]) ([bluetooth docs]) (beta fix) +- Move esphome gatt services cache to be per device ([@bdraco] - [#81265]) ([esphome docs]) (beta fix) +- Provide a human readable error when an esphome ble proxy connection fails ([@bdraco] - [#81266]) ([esphome docs]) (beta fix) (dependency) +- Try to switch to a different esphome BLE proxy if we run out of slots while connecting ([@bdraco] - [#81268]) ([bluetooth docs]) (beta fix) +- Bump bleak-retry-connector to 2.6.0 ([@bdraco] - [#81270]) ([bluetooth docs]) (beta fix) (dependency) +- Bump aioesphomeapi to 11.4.0 ([@bdraco] - [#81277]) ([esphome docs]) (beta fix) (dependency) +- Bump bleak-retry-connector to 2.7.0 ([@bdraco] - [#81280]) ([bluetooth docs]) (beta fix) (dependency) +- Bump aioesphomeapi to 11.4.1 ([@bdraco] - [#81282]) ([esphome docs]) (beta fix) (dependency) +- Bump bleak-retry-connector to 2.8.0 ([@bdraco] - [#81283]) ([bluetooth docs]) (beta fix) (dependency) +- Do not fire the esphome ble disconnected callback if we were not connected ([@bdraco] - [#81286]) ([esphome docs]) (beta fix) +- Include esphome device name in BLE logs ([@bdraco] - [#81284]) ([esphome docs]) (beta fix) +- Bump bleak-retry-connector to 2.8.1 ([@bdraco] - [#81285]) ([bluetooth docs]) (beta fix) (dependency) +- Do not fire the esphome ble disconnected callback if we were not connected ([@bdraco] - [#81286]) ([esphome docs]) (beta fix) +- Bump pyipp to 0.12.1 ([@ctalkington] - [#81287]) ([ipp docs]) (beta fix) +- Bump pyatmo to 7.3.0 ([@cgtobi] - [#81290]) ([netatmo docs]) (beta fix) +- Bump dbus-fast to 1.60.0 ([@bdraco] - [#81296]) ([bluetooth docs]) (beta fix) (dependency) +- Create repairs for unsupported and unhealthy ([@mdegat01] - [#80747]) ([hassio docs]) (beta fix) +- Only try initializing Hue motion LED on endpoint 2 with ZHA ([@TheJulianJES] - [#81205]) ([zha docs]) (beta fix) +- Bump aiohomekit to 2.2.10 ([@bdraco] - [#81312]) ([homekit_controller docs]) (beta fix) (dependency) +- Bump zeroconf to 0.39.4 ([@bdraco] - [#81313]) ([zeroconf docs]) (beta fix) (dependency) +- Bump oralb-ble to 0.10.0 ([@bdraco] - [#81315]) ([oralb docs]) (beta fix) (dependency) +- Update base image to 2022.10.0 ([@frenck] - [#81317]) (beta fix) (dependency) +- Fix Yale Access Bluetooth not being available again after being unavailable ([@bdraco] - [#81320]) ([yalexs_ble docs]) (beta fix) (dependency) +- Update frontend to 20221031.0 ([@bramkragten] - [#81324]) ([frontend docs]) (beta fix) +- Improve esphome bluetooth error reporting ([@bdraco] - [#81326]) ([esphome docs]) (beta fix) (dependency) +- Cherry-pick translation updates for Supervisor ([@frenck] - [#81341]) ([hassio docs]) (beta fix) +- Always use Celsius in Shelly integration ([@bieniu] - [#80842]) ([shelly docs]) (beta fix) +- Fix homekit diagnostics test when version changes ([@bdraco] - [#81046]) ([homekit docs]) (beta fix) +- Improve MQTT update platform ([@bieniu] - [#81131]) ([mqtt docs]) (beta fix) +- Tuya configuration for `tuya_manufacturer` cluster ([@javicalle] - [#81311]) ([zha docs]) (beta fix) +- Add task id attribute to fireservicerota sensor ([@cyberjunky] - [#81323]) ([fireservicerota docs]) (beta fix) +- Bump gcal_sync to 2.2.2 and fix recurring event bug ([@allenporter] - [#81339]) ([google docs]) (beta fix) (dependency) +- Bump aioshelly to 4.1.2 ([@thecode] - [#81342]) ([shelly docs]) (beta fix) (dependency) +- Fix power/energy mixup in Youless ([@frenck] - [#81345]) ([youless docs]) (beta fix) +- Revert "Do not write state if payload is `''`" for MQTT sensor ([@jbouwh] - [#81347]) ([mqtt docs]) (beta fix) +- Lower log level for non-JSON payload in MQTT update ([@bieniu] - [#81348]) ([mqtt docs]) (beta fix) +- Fix individual LED range for ZHA device action ([@dmulcahey] - [#81351]) ([zha docs]) (beta fix) +- Adjust time to remove stale connectable devices from the esphome ble to closer match bluez ([@bdraco] - [#81356]) ([esphome docs]) (beta fix) +- Immediately prefer advertisements from alternate sources when a scanner goes away ([@bdraco] - [#81357]) ([bluetooth docs]) (beta fix) +- Bump aiohomekit to 2.2.11 ([@bdraco] - [#81358]) ([homekit_controller docs]) (beta fix) (dependency) +- Improve error logging of WebSocket API ([@frenck] - [#81360]) ([websocket_api docs]) (beta fix) +- Bump zigpy-zigate to 0.10.3 ([@puddly] - [#81363]) ([zha docs]) (beta fix) (dependency) +- Bump bleak-retry-connector to 2.8.2 ([@bdraco] - [#81370]) ([bluetooth docs]) (beta fix) (dependency) +- Bump aiohomekit to 2.2.12 ([@bdraco] - [#81372]) ([homekit_controller docs]) (beta fix) (dependency) +- Add unit conversion for energy costs ([@balloob] - [#81379]) ([energy docs]) (beta fix) +- Bump dbus-fast to 1.61.1 ([@bdraco] - [#81386]) ([bluetooth docs]) (beta fix) (dependency) +- Improve supervisor repairs ([@mdegat01] - [#81387]) ([hassio docs]) (beta fix) +- Bump aiohomekit to 2.2.13 ([@bdraco] - [#81398]) (beta fix) +- Update frontend to 20221102.0 ([@bramkragten] - [#81405]) ([frontend docs]) (beta fix) +- Update adax library to 0.1.5 ([@Danielhiversen] - [#81407]) ([adax docs]) (beta fix) (dependency) +- Bump gcal_sync to 2.2.3 ([@allenporter] - [#81414]) ([google docs]) (beta fix) +- Update frontend to 20221102.1 ([@bramkragten] - [#81422]) ([frontend docs]) (beta fix) [#66469]: https://github.com/home-assistant/core/pull/66469 [#66996]: https://github.com/home-assistant/core/pull/66996 @@ -1185,6 +1284,7 @@ For a summary in a more readable format: [#80658]: https://github.com/home-assistant/core/pull/80658 [#80659]: https://github.com/home-assistant/core/pull/80659 [#80661]: https://github.com/home-assistant/core/pull/80661 +[#80663]: https://github.com/home-assistant/core/pull/80663 [#80664]: https://github.com/home-assistant/core/pull/80664 [#80668]: https://github.com/home-assistant/core/pull/80668 [#80669]: https://github.com/home-assistant/core/pull/80669 @@ -1218,6 +1318,7 @@ For a summary in a more readable format: [#80739]: https://github.com/home-assistant/core/pull/80739 [#80740]: https://github.com/home-assistant/core/pull/80740 [#80746]: https://github.com/home-assistant/core/pull/80746 +[#80747]: https://github.com/home-assistant/core/pull/80747 [#80748]: https://github.com/home-assistant/core/pull/80748 [#80751]: https://github.com/home-assistant/core/pull/80751 [#80752]: https://github.com/home-assistant/core/pull/80752 @@ -1257,6 +1358,7 @@ For a summary in a more readable format: [#80833]: https://github.com/home-assistant/core/pull/80833 [#80835]: https://github.com/home-assistant/core/pull/80835 [#80836]: https://github.com/home-assistant/core/pull/80836 +[#80842]: https://github.com/home-assistant/core/pull/80842 [#80843]: https://github.com/home-assistant/core/pull/80843 [#80845]: https://github.com/home-assistant/core/pull/80845 [#80852]: https://github.com/home-assistant/core/pull/80852 @@ -1307,6 +1409,7 @@ For a summary in a more readable format: [#80947]: https://github.com/home-assistant/core/pull/80947 [#80948]: https://github.com/home-assistant/core/pull/80948 [#80951]: https://github.com/home-assistant/core/pull/80951 +[#80953]: https://github.com/home-assistant/core/pull/80953 [#80958]: https://github.com/home-assistant/core/pull/80958 [#80959]: https://github.com/home-assistant/core/pull/80959 [#80961]: https://github.com/home-assistant/core/pull/80961 @@ -1351,6 +1454,100 @@ For a summary in a more readable format: [#81041]: https://github.com/home-assistant/core/pull/81041 [#81042]: https://github.com/home-assistant/core/pull/81042 [#81043]: https://github.com/home-assistant/core/pull/81043 +[#81046]: https://github.com/home-assistant/core/pull/81046 +[#81048]: https://github.com/home-assistant/core/pull/81048 +[#81049]: https://github.com/home-assistant/core/pull/81049 +[#81050]: https://github.com/home-assistant/core/pull/81050 +[#81051]: https://github.com/home-assistant/core/pull/81051 +[#81058]: https://github.com/home-assistant/core/pull/81058 +[#81059]: https://github.com/home-assistant/core/pull/81059 +[#81061]: https://github.com/home-assistant/core/pull/81061 +[#81071]: https://github.com/home-assistant/core/pull/81071 +[#81095]: https://github.com/home-assistant/core/pull/81095 +[#81098]: https://github.com/home-assistant/core/pull/81098 +[#81109]: https://github.com/home-assistant/core/pull/81109 +[#81110]: https://github.com/home-assistant/core/pull/81110 +[#81112]: https://github.com/home-assistant/core/pull/81112 +[#81114]: https://github.com/home-assistant/core/pull/81114 +[#81121]: https://github.com/home-assistant/core/pull/81121 +[#81123]: https://github.com/home-assistant/core/pull/81123 +[#81129]: https://github.com/home-assistant/core/pull/81129 +[#81131]: https://github.com/home-assistant/core/pull/81131 +[#81133]: https://github.com/home-assistant/core/pull/81133 +[#81144]: https://github.com/home-assistant/core/pull/81144 +[#81146]: https://github.com/home-assistant/core/pull/81146 +[#81148]: https://github.com/home-assistant/core/pull/81148 +[#81153]: https://github.com/home-assistant/core/pull/81153 +[#81161]: https://github.com/home-assistant/core/pull/81161 +[#81163]: https://github.com/home-assistant/core/pull/81163 +[#81164]: https://github.com/home-assistant/core/pull/81164 +[#81166]: https://github.com/home-assistant/core/pull/81166 +[#81171]: https://github.com/home-assistant/core/pull/81171 +[#81172]: https://github.com/home-assistant/core/pull/81172 +[#81175]: https://github.com/home-assistant/core/pull/81175 +[#81177]: https://github.com/home-assistant/core/pull/81177 +[#81188]: https://github.com/home-assistant/core/pull/81188 +[#81195]: https://github.com/home-assistant/core/pull/81195 +[#81197]: https://github.com/home-assistant/core/pull/81197 +[#81198]: https://github.com/home-assistant/core/pull/81198 +[#81200]: https://github.com/home-assistant/core/pull/81200 +[#81204]: https://github.com/home-assistant/core/pull/81204 +[#81205]: https://github.com/home-assistant/core/pull/81205 +[#81211]: https://github.com/home-assistant/core/pull/81211 +[#81213]: https://github.com/home-assistant/core/pull/81213 +[#81215]: https://github.com/home-assistant/core/pull/81215 +[#81221]: https://github.com/home-assistant/core/pull/81221 +[#81229]: https://github.com/home-assistant/core/pull/81229 +[#81243]: https://github.com/home-assistant/core/pull/81243 +[#81246]: https://github.com/home-assistant/core/pull/81246 +[#81254]: https://github.com/home-assistant/core/pull/81254 +[#81255]: https://github.com/home-assistant/core/pull/81255 +[#81257]: https://github.com/home-assistant/core/pull/81257 +[#81265]: https://github.com/home-assistant/core/pull/81265 +[#81266]: https://github.com/home-assistant/core/pull/81266 +[#81268]: https://github.com/home-assistant/core/pull/81268 +[#81270]: https://github.com/home-assistant/core/pull/81270 +[#81277]: https://github.com/home-assistant/core/pull/81277 +[#81280]: https://github.com/home-assistant/core/pull/81280 +[#81282]: https://github.com/home-assistant/core/pull/81282 +[#81283]: https://github.com/home-assistant/core/pull/81283 +[#81284]: https://github.com/home-assistant/core/pull/81284 +[#81285]: https://github.com/home-assistant/core/pull/81285 +[#81286]: https://github.com/home-assistant/core/pull/81286 +[#81287]: https://github.com/home-assistant/core/pull/81287 +[#81290]: https://github.com/home-assistant/core/pull/81290 +[#81296]: https://github.com/home-assistant/core/pull/81296 +[#81311]: https://github.com/home-assistant/core/pull/81311 +[#81312]: https://github.com/home-assistant/core/pull/81312 +[#81313]: https://github.com/home-assistant/core/pull/81313 +[#81315]: https://github.com/home-assistant/core/pull/81315 +[#81317]: https://github.com/home-assistant/core/pull/81317 +[#81320]: https://github.com/home-assistant/core/pull/81320 +[#81323]: https://github.com/home-assistant/core/pull/81323 +[#81324]: https://github.com/home-assistant/core/pull/81324 +[#81326]: https://github.com/home-assistant/core/pull/81326 +[#81339]: https://github.com/home-assistant/core/pull/81339 +[#81341]: https://github.com/home-assistant/core/pull/81341 +[#81342]: https://github.com/home-assistant/core/pull/81342 +[#81345]: https://github.com/home-assistant/core/pull/81345 +[#81347]: https://github.com/home-assistant/core/pull/81347 +[#81348]: https://github.com/home-assistant/core/pull/81348 +[#81351]: https://github.com/home-assistant/core/pull/81351 +[#81356]: https://github.com/home-assistant/core/pull/81356 +[#81357]: https://github.com/home-assistant/core/pull/81357 +[#81358]: https://github.com/home-assistant/core/pull/81358 +[#81360]: https://github.com/home-assistant/core/pull/81360 +[#81363]: https://github.com/home-assistant/core/pull/81363 +[#81370]: https://github.com/home-assistant/core/pull/81370 +[#81372]: https://github.com/home-assistant/core/pull/81372 +[#81379]: https://github.com/home-assistant/core/pull/81379 +[#81386]: https://github.com/home-assistant/core/pull/81386 +[#81387]: https://github.com/home-assistant/core/pull/81387 +[#81398]: https://github.com/home-assistant/core/pull/81398 +[#81405]: https://github.com/home-assistant/core/pull/81405 +[#81407]: https://github.com/home-assistant/core/pull/81407 +[#81414]: https://github.com/home-assistant/core/pull/81414 +[#81422]: https://github.com/home-assistant/core/pull/81422 [@AngellusMortis]: https://github.com/AngellusMortis [@AustinBrunkhorst]: https://github.com/AustinBrunkhorst [@Cereal2nd]: https://github.com/Cereal2nd @@ -1398,6 +1595,7 @@ For a summary in a more readable format: [@cgarwood]: https://github.com/cgarwood [@cgtobi]: https://github.com/cgtobi [@ctalkington]: https://github.com/ctalkington +[@cyberjunky]: https://github.com/cyberjunky [@dala318]: https://github.com/dala318 [@danaues]: https://github.com/danaues [@davet2001]: https://github.com/davet2001 @@ -1410,6 +1608,7 @@ For a summary in a more readable format: [@emontnemery]: https://github.com/emontnemery [@engrbm87]: https://github.com/engrbm87 [@epenet]: https://github.com/epenet +[@farmio]: https://github.com/farmio [@felipecrs]: https://github.com/felipecrs [@flabbamann]: https://github.com/flabbamann [@flacjacket]: https://github.com/flacjacket @@ -1443,13 +1642,16 @@ For a summary in a more readable format: [@liudger]: https://github.com/liudger [@luar123]: https://github.com/luar123 [@ludeeus]: https://github.com/ludeeus +[@macmenco]: https://github.com/macmenco [@majuss]: https://github.com/majuss [@marcusrbrown]: https://github.com/marcusrbrown [@marvin-w]: https://github.com/marvin-w [@mbo18]: https://github.com/mbo18 [@mdegat01]: https://github.com/mdegat01 +[@mezz64]: https://github.com/mezz64 [@mib1185]: https://github.com/mib1185 [@mtdcr]: https://github.com/mtdcr +[@muppet3000]: https://github.com/muppet3000 [@mvn23]: https://github.com/mvn23 [@natekspencer]: https://github.com/natekspencer [@ndbroadbent]: https://github.com/ndbroadbent @@ -1464,7 +1666,9 @@ For a summary in a more readable format: [@pattyland]: https://github.com/pattyland [@pghazanfari]: https://github.com/pghazanfari [@philschenker]: https://github.com/philschenker +[@puddly]: https://github.com/puddly [@pvizeli]: https://github.com/pvizeli +[@rajlaud]: https://github.com/rajlaud [@raman325]: https://github.com/raman325 [@rappenze]: https://github.com/rappenze [@renaiku]: https://github.com/renaiku @@ -1478,6 +1682,7 @@ For a summary in a more readable format: [@slovdahl]: https://github.com/slovdahl [@starkillerOG]: https://github.com/starkillerOG [@taiyeoguns]: https://github.com/taiyeoguns +[@tetienne]: https://github.com/tetienne [@thecode]: https://github.com/thecode [@tkdrob]: https://github.com/tkdrob [@tymm]: https://github.com/tymm @@ -1488,248 +1693,258 @@ For a summary in a more readable format: [@wrt54g]: https://github.com/wrt54g [@yozik04]: https://github.com/yozik04 [@yuvalabou]: https://github.com/yuvalabou -[accuweather docs]: https://www.home-assistant.io/integrations/accuweather/ -[aemet docs]: https://www.home-assistant.io/integrations/aemet/ -[airnow docs]: https://www.home-assistant.io/integrations/airnow/ -[airthings_ble docs]: https://www.home-assistant.io/integrations/airthings_ble/ -[alert docs]: https://www.home-assistant.io/integrations/alert/ -[amberelectric docs]: https://www.home-assistant.io/integrations/amberelectric/ -[ambient_station docs]: https://www.home-assistant.io/integrations/ambient_station/ -[android_ip_webcam docs]: https://www.home-assistant.io/integrations/android_ip_webcam/ -[androidtv docs]: https://www.home-assistant.io/integrations/androidtv/ -[anthemav docs]: https://www.home-assistant.io/integrations/anthemav/ -[apcupsd docs]: https://www.home-assistant.io/integrations/apcupsd/ -[apprise docs]: https://www.home-assistant.io/integrations/apprise/ -[aqualogic docs]: https://www.home-assistant.io/integrations/aqualogic/ -[automation docs]: https://www.home-assistant.io/integrations/automation/ -[aws docs]: https://www.home-assistant.io/integrations/aws/ -[axis docs]: https://www.home-assistant.io/integrations/axis/ -[azure_event_hub docs]: https://www.home-assistant.io/integrations/azure_event_hub/ -[baf docs]: https://www.home-assistant.io/integrations/baf/ -[bayesian docs]: https://www.home-assistant.io/integrations/bayesian/ -[blebox docs]: https://www.home-assistant.io/integrations/blebox/ -[blockchain docs]: https://www.home-assistant.io/integrations/blockchain/ -[blueprint docs]: https://www.home-assistant.io/integrations/blueprint/ -[bluesound docs]: https://www.home-assistant.io/integrations/bluesound/ -[bluetooth docs]: https://www.home-assistant.io/integrations/bluetooth/ -[bmw_connected_drive docs]: https://www.home-assistant.io/integrations/bmw_connected_drive/ -[bosch_shc docs]: https://www.home-assistant.io/integrations/bosch_shc/ -[braviatv docs]: https://www.home-assistant.io/integrations/braviatv/ -[broadlink docs]: https://www.home-assistant.io/integrations/broadlink/ -[brother docs]: https://www.home-assistant.io/integrations/brother/ -[bsblan docs]: https://www.home-assistant.io/integrations/bsblan/ -[buienradar docs]: https://www.home-assistant.io/integrations/buienradar/ -[calendar docs]: https://www.home-assistant.io/integrations/calendar/ -[camera docs]: https://www.home-assistant.io/integrations/camera/ -[channels docs]: https://www.home-assistant.io/integrations/channels/ -[citybikes docs]: https://www.home-assistant.io/integrations/citybikes/ -[clickatell docs]: https://www.home-assistant.io/integrations/clickatell/ -[clicksend docs]: https://www.home-assistant.io/integrations/clicksend/ -[clicksend_tts docs]: https://www.home-assistant.io/integrations/clicksend_tts/ -[cloud docs]: https://www.home-assistant.io/integrations/cloud/ -[coinbase docs]: https://www.home-assistant.io/integrations/coinbase/ -[comfoconnect docs]: https://www.home-assistant.io/integrations/comfoconnect/ -[config docs]: https://www.home-assistant.io/integrations/config/ -[conversation docs]: https://www.home-assistant.io/integrations/conversation/ -[daikin docs]: https://www.home-assistant.io/integrations/daikin/ -[danfoss_air docs]: https://www.home-assistant.io/integrations/danfoss_air/ -[darksky docs]: https://www.home-assistant.io/integrations/darksky/ -[deconz docs]: https://www.home-assistant.io/integrations/deconz/ -[default_config docs]: https://www.home-assistant.io/integrations/default_config/ -[denonavr docs]: https://www.home-assistant.io/integrations/denonavr/ -[devolo_home_control docs]: https://www.home-assistant.io/integrations/devolo_home_control/ -[devolo_home_network docs]: https://www.home-assistant.io/integrations/devolo_home_network/ -[eafm docs]: https://www.home-assistant.io/integrations/eafm/ -[ecobee docs]: https://www.home-assistant.io/integrations/ecobee/ -[ecowitt docs]: https://www.home-assistant.io/integrations/ecowitt/ -[edl21 docs]: https://www.home-assistant.io/integrations/edl21/ -[energy docs]: https://www.home-assistant.io/integrations/energy/ -[enphase_envoy docs]: https://www.home-assistant.io/integrations/enphase_envoy/ -[esphome docs]: https://www.home-assistant.io/integrations/esphome/ -[fibaro docs]: https://www.home-assistant.io/integrations/fibaro/ -[fints docs]: https://www.home-assistant.io/integrations/fints/ -[fitbit docs]: https://www.home-assistant.io/integrations/fitbit/ -[fjaraskupan docs]: https://www.home-assistant.io/integrations/fjaraskupan/ -[flo docs]: https://www.home-assistant.io/integrations/flo/ -[flume docs]: https://www.home-assistant.io/integrations/flume/ -[forked_daapd docs]: https://www.home-assistant.io/integrations/forked_daapd/ -[freebox docs]: https://www.home-assistant.io/integrations/freebox/ -[fritzbox docs]: https://www.home-assistant.io/integrations/fritzbox/ -[fritzbox_callmonitor docs]: https://www.home-assistant.io/integrations/fritzbox_callmonitor/ -[frontend docs]: https://www.home-assistant.io/integrations/frontend/ -[fully_kiosk docs]: https://www.home-assistant.io/integrations/fully_kiosk/ -[gdacs docs]: https://www.home-assistant.io/integrations/gdacs/ -[generic docs]: https://www.home-assistant.io/integrations/generic/ -[generic_hygrostat docs]: https://www.home-assistant.io/integrations/generic_hygrostat/ -[geonetnz_quakes docs]: https://www.home-assistant.io/integrations/geonetnz_quakes/ -[geonetnz_volcano docs]: https://www.home-assistant.io/integrations/geonetnz_volcano/ -[github docs]: https://www.home-assistant.io/integrations/github/ -[glances docs]: https://www.home-assistant.io/integrations/glances/ -[goodwe docs]: https://www.home-assistant.io/integrations/goodwe/ -[google docs]: https://www.home-assistant.io/integrations/google/ -[google_cloud docs]: https://www.home-assistant.io/integrations/google_cloud/ -[google_pubsub docs]: https://www.home-assistant.io/integrations/google_pubsub/ -[google_travel_time docs]: https://www.home-assistant.io/integrations/google_travel_time/ -[graphite docs]: https://www.home-assistant.io/integrations/graphite/ -[gree docs]: https://www.home-assistant.io/integrations/gree/ -[group docs]: https://www.home-assistant.io/integrations/group/ -[guardian docs]: https://www.home-assistant.io/integrations/guardian/ -[hassio docs]: https://www.home-assistant.io/integrations/hassio/ -[here_travel_time docs]: https://www.home-assistant.io/integrations/here_travel_time/ -[homeassistant_alerts docs]: https://www.home-assistant.io/integrations/homeassistant_alerts/ -[homekit docs]: https://www.home-assistant.io/integrations/homekit/ -[homekit_controller docs]: https://www.home-assistant.io/integrations/homekit_controller/ -[homewizard docs]: https://www.home-assistant.io/integrations/homewizard/ -[huawei_lte docs]: https://www.home-assistant.io/integrations/huawei_lte/ -[hue docs]: https://www.home-assistant.io/integrations/hue/ -[hunterdouglas_powerview docs]: https://www.home-assistant.io/integrations/hunterdouglas_powerview/ -[hvv_departures docs]: https://www.home-assistant.io/integrations/hvv_departures/ -[iaqualink docs]: https://www.home-assistant.io/integrations/iaqualink/ -[ibeacon docs]: https://www.home-assistant.io/integrations/ibeacon/ -[intellifire docs]: https://www.home-assistant.io/integrations/intellifire/ -[ipma docs]: https://www.home-assistant.io/integrations/ipma/ -[ipp docs]: https://www.home-assistant.io/integrations/ipp/ -[iqvia docs]: https://www.home-assistant.io/integrations/iqvia/ -[islamic_prayer_times docs]: https://www.home-assistant.io/integrations/islamic_prayer_times/ -[iss docs]: https://www.home-assistant.io/integrations/iss/ -[isy994 docs]: https://www.home-assistant.io/integrations/isy994/ -[jellyfin docs]: https://www.home-assistant.io/integrations/jellyfin/ -[kira docs]: https://www.home-assistant.io/integrations/kira/ -[knx docs]: https://www.home-assistant.io/integrations/knx/ -[lacrosse docs]: https://www.home-assistant.io/integrations/lacrosse/ -[lametric docs]: https://www.home-assistant.io/integrations/lametric/ -[landisgyr_heat_meter docs]: https://www.home-assistant.io/integrations/landisgyr_heat_meter/ -[launch_library docs]: https://www.home-assistant.io/integrations/launch_library/ -[led_ble docs]: https://www.home-assistant.io/integrations/led_ble/ -[lidarr docs]: https://www.home-assistant.io/integrations/lidarr/ -[lifx docs]: https://www.home-assistant.io/integrations/lifx/ -[light docs]: https://www.home-assistant.io/integrations/light/ -[litterrobot docs]: https://www.home-assistant.io/integrations/litterrobot/ -[logbook docs]: https://www.home-assistant.io/integrations/logbook/ -[lovelace docs]: https://www.home-assistant.io/integrations/lovelace/ -[lupusec docs]: https://www.home-assistant.io/integrations/lupusec/ -[lutron_caseta docs]: https://www.home-assistant.io/integrations/lutron_caseta/ -[lyric docs]: https://www.home-assistant.io/integrations/lyric/ -[map docs]: https://www.home-assistant.io/integrations/map/ -[mazda docs]: https://www.home-assistant.io/integrations/mazda/ -[meteo_france docs]: https://www.home-assistant.io/integrations/meteo_france/ -[mikrotik docs]: https://www.home-assistant.io/integrations/mikrotik/ -[min_max docs]: https://www.home-assistant.io/integrations/min_max/ -[mobile_app docs]: https://www.home-assistant.io/integrations/mobile_app/ -[modbus docs]: https://www.home-assistant.io/integrations/modbus/ -[monoprice docs]: https://www.home-assistant.io/integrations/monoprice/ -[motion_blinds docs]: https://www.home-assistant.io/integrations/motion_blinds/ -[motioneye docs]: https://www.home-assistant.io/integrations/motioneye/ -[mqtt docs]: https://www.home-assistant.io/integrations/mqtt/ -[mysensors docs]: https://www.home-assistant.io/integrations/mysensors/ -[nest docs]: https://www.home-assistant.io/integrations/nest/ -[netatmo docs]: https://www.home-assistant.io/integrations/netatmo/ -[netdata docs]: https://www.home-assistant.io/integrations/netdata/ -[nextcloud docs]: https://www.home-assistant.io/integrations/nextcloud/ -[nibe_heatpump docs]: https://www.home-assistant.io/integrations/nibe_heatpump/ -[nina docs]: https://www.home-assistant.io/integrations/nina/ -[nissan_leaf docs]: https://www.home-assistant.io/integrations/nissan_leaf/ -[nobo_hub docs]: https://www.home-assistant.io/integrations/nobo_hub/ -[notion docs]: https://www.home-assistant.io/integrations/notion/ -[nut docs]: https://www.home-assistant.io/integrations/nut/ -[nws docs]: https://www.home-assistant.io/integrations/nws/ -[octoprint docs]: https://www.home-assistant.io/integrations/octoprint/ -[oncue docs]: https://www.home-assistant.io/integrations/oncue/ -[openexchangerates docs]: https://www.home-assistant.io/integrations/openexchangerates/ -[opengarage docs]: https://www.home-assistant.io/integrations/opengarage/ -[opentherm_gw docs]: https://www.home-assistant.io/integrations/opentherm_gw/ -[openuv docs]: https://www.home-assistant.io/integrations/openuv/ -[oralb docs]: https://www.home-assistant.io/integrations/oralb/ -[overkiz docs]: https://www.home-assistant.io/integrations/overkiz/ -[p1_monitor docs]: https://www.home-assistant.io/integrations/p1_monitor/ -[persistent_notification docs]: https://www.home-assistant.io/integrations/persistent_notification/ -[philips_js docs]: https://www.home-assistant.io/integrations/philips_js/ -[plex docs]: https://www.home-assistant.io/integrations/plex/ -[plugwise docs]: https://www.home-assistant.io/integrations/plugwise/ -[pushover docs]: https://www.home-assistant.io/integrations/pushover/ -[qingping docs]: https://www.home-assistant.io/integrations/qingping/ -[radarr docs]: https://www.home-assistant.io/integrations/radarr/ -[rainmachine docs]: https://www.home-assistant.io/integrations/rainmachine/ -[recollect_waste docs]: https://www.home-assistant.io/integrations/recollect_waste/ -[recorder docs]: https://www.home-assistant.io/integrations/recorder/ -[remote_rpi_gpio docs]: https://www.home-assistant.io/integrations/remote_rpi_gpio/ -[repairs docs]: https://www.home-assistant.io/integrations/repairs/ -[rest docs]: https://www.home-assistant.io/integrations/rest/ -[rfxtrx docs]: https://www.home-assistant.io/integrations/rfxtrx/ -[ridwell docs]: https://www.home-assistant.io/integrations/ridwell/ -[ring docs]: https://www.home-assistant.io/integrations/ring/ -[risco docs]: https://www.home-assistant.io/integrations/risco/ -[roku docs]: https://www.home-assistant.io/integrations/roku/ -[roomba docs]: https://www.home-assistant.io/integrations/roomba/ -[scrape docs]: https://www.home-assistant.io/integrations/scrape/ -[script docs]: https://www.home-assistant.io/integrations/script/ -[select docs]: https://www.home-assistant.io/integrations/select/ -[senseme docs]: https://www.home-assistant.io/integrations/senseme/ -[sensibo docs]: https://www.home-assistant.io/integrations/sensibo/ -[sensor docs]: https://www.home-assistant.io/integrations/sensor/ -[sentry docs]: https://www.home-assistant.io/integrations/sentry/ -[shelly docs]: https://www.home-assistant.io/integrations/shelly/ -[simplepush docs]: https://www.home-assistant.io/integrations/simplepush/ -[simplisafe docs]: https://www.home-assistant.io/integrations/simplisafe/ -[skybell docs]: https://www.home-assistant.io/integrations/skybell/ -[sma docs]: https://www.home-assistant.io/integrations/sma/ -[smartthings docs]: https://www.home-assistant.io/integrations/smartthings/ -[snapcast docs]: https://www.home-assistant.io/integrations/snapcast/ -[snooz docs]: https://www.home-assistant.io/integrations/snooz/ -[sonarr docs]: https://www.home-assistant.io/integrations/sonarr/ -[sonos docs]: https://www.home-assistant.io/integrations/sonos/ -[speedtestdotnet docs]: https://www.home-assistant.io/integrations/speedtestdotnet/ -[sql docs]: https://www.home-assistant.io/integrations/sql/ -[ssdp docs]: https://www.home-assistant.io/integrations/ssdp/ -[statistics docs]: https://www.home-assistant.io/integrations/statistics/ -[stream docs]: https://www.home-assistant.io/integrations/stream/ -[subaru docs]: https://www.home-assistant.io/integrations/subaru/ -[suez_water docs]: https://www.home-assistant.io/integrations/suez_water/ -[sun docs]: https://www.home-assistant.io/integrations/sun/ -[switchbee docs]: https://www.home-assistant.io/integrations/switchbee/ -[switchbot docs]: https://www.home-assistant.io/integrations/switchbot/ -[switcher_kis docs]: https://www.home-assistant.io/integrations/switcher_kis/ -[symfonisk docs]: https://www.home-assistant.io/integrations/symfonisk/ -[syncthru docs]: https://www.home-assistant.io/integrations/syncthru/ -[system_bridge docs]: https://www.home-assistant.io/integrations/system_bridge/ -[system_log docs]: https://www.home-assistant.io/integrations/system_log/ -[systemmonitor docs]: https://www.home-assistant.io/integrations/systemmonitor/ -[tasmota docs]: https://www.home-assistant.io/integrations/tasmota/ -[tellduslive docs]: https://www.home-assistant.io/integrations/tellduslive/ -[temper docs]: https://www.home-assistant.io/integrations/temper/ -[template docs]: https://www.home-assistant.io/integrations/template/ -[tibber docs]: https://www.home-assistant.io/integrations/tibber/ -[tile docs]: https://www.home-assistant.io/integrations/tile/ -[tomorrowio docs]: https://www.home-assistant.io/integrations/tomorrowio/ -[toon docs]: https://www.home-assistant.io/integrations/toon/ -[tplink docs]: https://www.home-assistant.io/integrations/tplink/ -[trace docs]: https://www.home-assistant.io/integrations/trace/ -[trafikverket_ferry docs]: https://www.home-assistant.io/integrations/trafikverket_ferry/ -[trafikverket_train docs]: https://www.home-assistant.io/integrations/trafikverket_train/ -[trafikverket_weatherstation docs]: https://www.home-assistant.io/integrations/trafikverket_weatherstation/ -[tts docs]: https://www.home-assistant.io/integrations/tts/ -[tuya docs]: https://www.home-assistant.io/integrations/tuya/ -[ultraloq docs]: https://www.home-assistant.io/integrations/ultraloq/ -[unifi docs]: https://www.home-assistant.io/integrations/unifi/ -[unifiprotect docs]: https://www.home-assistant.io/integrations/unifiprotect/ -[upcloud docs]: https://www.home-assistant.io/integrations/upcloud/ -[upnp docs]: https://www.home-assistant.io/integrations/upnp/ -[vallox docs]: https://www.home-assistant.io/integrations/vallox/ -[velbus docs]: https://www.home-assistant.io/integrations/velbus/ -[vicare docs]: https://www.home-assistant.io/integrations/vicare/ -[vizio docs]: https://www.home-assistant.io/integrations/vizio/ -[volvooncall docs]: https://www.home-assistant.io/integrations/volvooncall/ -[watttime docs]: https://www.home-assistant.io/integrations/watttime/ -[waze_travel_time docs]: https://www.home-assistant.io/integrations/waze_travel_time/ -[weather docs]: https://www.home-assistant.io/integrations/weather/ -[webhook docs]: https://www.home-assistant.io/integrations/webhook/ -[websocket_api docs]: https://www.home-assistant.io/integrations/websocket_api/ -[wled docs]: https://www.home-assistant.io/integrations/wled/ -[xiaomi_miio docs]: https://www.home-assistant.io/integrations/xiaomi_miio/ -[xmpp docs]: https://www.home-assistant.io/integrations/xmpp/ -[yalexs_ble docs]: https://www.home-assistant.io/integrations/yalexs_ble/ -[zamg docs]: https://www.home-assistant.io/integrations/zamg/ -[zeroconf docs]: https://www.home-assistant.io/integrations/zeroconf/ -[zha docs]: https://www.home-assistant.io/integrations/zha/ -[zone docs]: https://www.home-assistant.io/integrations/zone/ -[zwave_js docs]: https://www.home-assistant.io/integrations/zwave_js/ \ No newline at end of file +[accuweather docs]: /integrations/accuweather/ +[adax docs]: /integrations/adax/ +[aemet docs]: /integrations/aemet/ +[airnow docs]: /integrations/airnow/ +[airthings_ble docs]: /integrations/airthings_ble/ +[alert docs]: /integrations/alert/ +[amberelectric docs]: /integrations/amberelectric/ +[ambient_station docs]: /integrations/ambient_station/ +[android_ip_webcam docs]: /integrations/android_ip_webcam/ +[androidtv docs]: /integrations/androidtv/ +[anthemav docs]: /integrations/anthemav/ +[apcupsd docs]: /integrations/apcupsd/ +[apprise docs]: /integrations/apprise/ +[aqualogic docs]: /integrations/aqualogic/ +[automation docs]: /integrations/automation/ +[aws docs]: /integrations/aws/ +[axis docs]: /integrations/axis/ +[azure_event_hub docs]: /integrations/azure_event_hub/ +[baf docs]: /integrations/baf/ +[bayesian docs]: /integrations/bayesian/ +[blebox docs]: /integrations/blebox/ +[blockchain docs]: /integrations/blockchain/ +[blueprint docs]: /integrations/blueprint/ +[bluesound docs]: /integrations/bluesound/ +[bluetooth docs]: /integrations/bluetooth/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[bosch_shc docs]: /integrations/bosch_shc/ +[braviatv docs]: /integrations/braviatv/ +[broadlink docs]: /integrations/broadlink/ +[brother docs]: /integrations/brother/ +[bsblan docs]: /integrations/bsblan/ +[buienradar docs]: /integrations/buienradar/ +[calendar docs]: /integrations/calendar/ +[camera docs]: /integrations/camera/ +[channels docs]: /integrations/channels/ +[citybikes docs]: /integrations/citybikes/ +[clickatell docs]: /integrations/clickatell/ +[clicksend docs]: /integrations/clicksend/ +[clicksend_tts docs]: /integrations/clicksend_tts/ +[cloud docs]: /integrations/cloud/ +[coinbase docs]: /integrations/coinbase/ +[comfoconnect docs]: /integrations/comfoconnect/ +[config docs]: /integrations/config/ +[conversation docs]: /integrations/conversation/ +[daikin docs]: /integrations/daikin/ +[danfoss_air docs]: /integrations/danfoss_air/ +[darksky docs]: /integrations/darksky/ +[deconz docs]: /integrations/deconz/ +[default_config docs]: /integrations/default_config/ +[denonavr docs]: /integrations/denonavr/ +[devolo_home_control docs]: /integrations/devolo_home_control/ +[devolo_home_network docs]: /integrations/devolo_home_network/ +[eafm docs]: /integrations/eafm/ +[ecobee docs]: /integrations/ecobee/ +[ecowitt docs]: /integrations/ecowitt/ +[edl21 docs]: /integrations/edl21/ +[eight_sleep docs]: /integrations/eight_sleep/ +[energy docs]: /integrations/energy/ +[enphase_envoy docs]: /integrations/enphase_envoy/ +[esphome docs]: /integrations/esphome/ +[fibaro docs]: /integrations/fibaro/ +[fints docs]: /integrations/fints/ +[fireservicerota docs]: /integrations/fireservicerota/ +[fitbit docs]: /integrations/fitbit/ +[fjaraskupan docs]: /integrations/fjaraskupan/ +[flo docs]: /integrations/flo/ +[flume docs]: /integrations/flume/ +[forked_daapd docs]: /integrations/forked_daapd/ +[freebox docs]: /integrations/freebox/ +[fritzbox docs]: /integrations/fritzbox/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[frontend docs]: /integrations/frontend/ +[fully_kiosk docs]: /integrations/fully_kiosk/ +[gdacs docs]: /integrations/gdacs/ +[generic docs]: /integrations/generic/ +[generic_hygrostat docs]: /integrations/generic_hygrostat/ +[geonetnz_quakes docs]: /integrations/geonetnz_quakes/ +[geonetnz_volcano docs]: /integrations/geonetnz_volcano/ +[github docs]: /integrations/github/ +[glances docs]: /integrations/glances/ +[goodwe docs]: /integrations/goodwe/ +[google docs]: /integrations/google/ +[google_cloud docs]: /integrations/google_cloud/ +[google_pubsub docs]: /integrations/google_pubsub/ +[google_travel_time docs]: /integrations/google_travel_time/ +[graphite docs]: /integrations/graphite/ +[gree docs]: /integrations/gree/ +[group docs]: /integrations/group/ +[growatt_server docs]: /integrations/growatt_server/ +[guardian docs]: /integrations/guardian/ +[hassio docs]: /integrations/hassio/ +[here_travel_time docs]: /integrations/here_travel_time/ +[history_stats docs]: /integrations/history_stats/ +[homeassistant_alerts docs]: /integrations/homeassistant_alerts/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homewizard docs]: /integrations/homewizard/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hue docs]: /integrations/hue/ +[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/ +[hvv_departures docs]: /integrations/hvv_departures/ +[iaqualink docs]: /integrations/iaqualink/ +[ibeacon docs]: /integrations/ibeacon/ +[intellifire docs]: /integrations/intellifire/ +[ipma docs]: /integrations/ipma/ +[ipp docs]: /integrations/ipp/ +[iqvia docs]: /integrations/iqvia/ +[islamic_prayer_times docs]: /integrations/islamic_prayer_times/ +[iss docs]: /integrations/iss/ +[isy994 docs]: /integrations/isy994/ +[jellyfin docs]: /integrations/jellyfin/ +[kira docs]: /integrations/kira/ +[knx docs]: /integrations/knx/ +[lacrosse docs]: /integrations/lacrosse/ +[lametric docs]: /integrations/lametric/ +[landisgyr_heat_meter docs]: /integrations/landisgyr_heat_meter/ +[launch_library docs]: /integrations/launch_library/ +[led_ble docs]: /integrations/led_ble/ +[lidarr docs]: /integrations/lidarr/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litterrobot docs]: /integrations/litterrobot/ +[logbook docs]: /integrations/logbook/ +[lovelace docs]: /integrations/lovelace/ +[lupusec docs]: /integrations/lupusec/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[lyric docs]: /integrations/lyric/ +[map docs]: /integrations/map/ +[mazda docs]: /integrations/mazda/ +[meteo_france docs]: /integrations/meteo_france/ +[mikrotik docs]: /integrations/mikrotik/ +[min_max docs]: /integrations/min_max/ +[mobile_app docs]: /integrations/mobile_app/ +[modbus docs]: /integrations/modbus/ +[monoprice docs]: /integrations/monoprice/ +[motion_blinds docs]: /integrations/motion_blinds/ +[motioneye docs]: /integrations/motioneye/ +[mqtt docs]: /integrations/mqtt/ +[mysensors docs]: /integrations/mysensors/ +[nam docs]: /integrations/nam/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[netdata docs]: /integrations/netdata/ +[nexia docs]: /integrations/nexia/ +[nextcloud docs]: /integrations/nextcloud/ +[nibe_heatpump docs]: /integrations/nibe_heatpump/ +[nina docs]: /integrations/nina/ +[nissan_leaf docs]: /integrations/nissan_leaf/ +[nobo_hub docs]: /integrations/nobo_hub/ +[notion docs]: /integrations/notion/ +[nut docs]: /integrations/nut/ +[nws docs]: /integrations/nws/ +[octoprint docs]: /integrations/octoprint/ +[oncue docs]: /integrations/oncue/ +[openexchangerates docs]: /integrations/openexchangerates/ +[opengarage docs]: /integrations/opengarage/ +[opentherm_gw docs]: /integrations/opentherm_gw/ +[openuv docs]: /integrations/openuv/ +[oralb docs]: /integrations/oralb/ +[overkiz docs]: /integrations/overkiz/ +[p1_monitor docs]: /integrations/p1_monitor/ +[persistent_notification docs]: /integrations/persistent_notification/ +[philips_js docs]: /integrations/philips_js/ +[plex docs]: /integrations/plex/ +[plugwise docs]: /integrations/plugwise/ +[pushover docs]: /integrations/pushover/ +[qingping docs]: /integrations/qingping/ +[radarr docs]: /integrations/radarr/ +[rainmachine docs]: /integrations/rainmachine/ +[recollect_waste docs]: /integrations/recollect_waste/ +[recorder docs]: /integrations/recorder/ +[remote_rpi_gpio docs]: /integrations/remote_rpi_gpio/ +[repairs docs]: /integrations/repairs/ +[rest docs]: /integrations/rest/ +[rfxtrx docs]: /integrations/rfxtrx/ +[ridwell docs]: /integrations/ridwell/ +[ring docs]: /integrations/ring/ +[risco docs]: /integrations/risco/ +[roku docs]: /integrations/roku/ +[roomba docs]: /integrations/roomba/ +[scrape docs]: /integrations/scrape/ +[script docs]: /integrations/script/ +[select docs]: /integrations/select/ +[senseme docs]: /integrations/senseme/ +[sensibo docs]: /integrations/sensibo/ +[sensor docs]: /integrations/sensor/ +[sentry docs]: /integrations/sentry/ +[shelly docs]: /integrations/shelly/ +[simplepush docs]: /integrations/simplepush/ +[simplisafe docs]: /integrations/simplisafe/ +[skybell docs]: /integrations/skybell/ +[sma docs]: /integrations/sma/ +[smartthings docs]: /integrations/smartthings/ +[snapcast docs]: /integrations/snapcast/ +[snooz docs]: /integrations/snooz/ +[sonarr docs]: /integrations/sonarr/ +[sonos docs]: /integrations/sonos/ +[speedtestdotnet docs]: /integrations/speedtestdotnet/ +[sql docs]: /integrations/sql/ +[squeezebox docs]: /integrations/squeezebox/ +[ssdp docs]: /integrations/ssdp/ +[statistics docs]: /integrations/statistics/ +[stream docs]: /integrations/stream/ +[subaru docs]: /integrations/subaru/ +[suez_water docs]: /integrations/suez_water/ +[sun docs]: /integrations/sun/ +[switchbee docs]: /integrations/switchbee/ +[switchbot docs]: /integrations/switchbot/ +[switcher_kis docs]: /integrations/switcher_kis/ +[symfonisk docs]: /integrations/symfonisk/ +[syncthru docs]: /integrations/syncthru/ +[system_bridge docs]: /integrations/system_bridge/ +[system_log docs]: /integrations/system_log/ +[systemmonitor docs]: /integrations/systemmonitor/ +[tasmota docs]: /integrations/tasmota/ +[tellduslive docs]: /integrations/tellduslive/ +[temper docs]: /integrations/temper/ +[template docs]: /integrations/template/ +[tibber docs]: /integrations/tibber/ +[tile docs]: /integrations/tile/ +[tomorrowio docs]: /integrations/tomorrowio/ +[toon docs]: /integrations/toon/ +[tplink docs]: /integrations/tplink/ +[trace docs]: /integrations/trace/ +[trafikverket_ferry docs]: /integrations/trafikverket_ferry/ +[trafikverket_train docs]: /integrations/trafikverket_train/ +[trafikverket_weatherstation docs]: /integrations/trafikverket_weatherstation/ +[tts docs]: /integrations/tts/ +[tuya docs]: /integrations/tuya/ +[ultraloq docs]: /integrations/ultraloq/ +[unifi docs]: /integrations/unifi/ +[unifiprotect docs]: /integrations/unifiprotect/ +[upcloud docs]: /integrations/upcloud/ +[upnp docs]: /integrations/upnp/ +[vallox docs]: /integrations/vallox/ +[velbus docs]: /integrations/velbus/ +[vicare docs]: /integrations/vicare/ +[vizio docs]: /integrations/vizio/ +[volvooncall docs]: /integrations/volvooncall/ +[watttime docs]: /integrations/watttime/ +[waze_travel_time docs]: /integrations/waze_travel_time/ +[weather docs]: /integrations/weather/ +[webhook docs]: /integrations/webhook/ +[webostv docs]: /integrations/webostv/ +[websocket_api docs]: /integrations/websocket_api/ +[wled docs]: /integrations/wled/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[xmpp docs]: /integrations/xmpp/ +[yalexs_ble docs]: /integrations/yalexs_ble/ +[youless docs]: /integrations/youless/ +[zamg docs]: /integrations/zamg/ +[zeroconf docs]: /integrations/zeroconf/ +[zha docs]: /integrations/zha/ +[zone docs]: /integrations/zone/ +[zwave_js docs]: /integrations/zwave_js/