From 3c2747bcd0eb46ef67962c536e59704810cc1737 Mon Sep 17 00:00:00 2001 From: Martijn van der Pol Date: Sat, 6 Apr 2024 23:34:10 +0200 Subject: [PATCH 001/123] Update ollama.markdown (#32183) --- source/_integrations/ollama.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/ollama.markdown b/source/_integrations/ollama.markdown index 446c838add6..ceac5c6a7f2 100644 --- a/source/_integrations/ollama.markdown +++ b/source/_integrations/ollama.markdown @@ -3,7 +3,7 @@ title: Ollama description: Instructions on how to integrate Ollama ha_category: - Voice -ha_release: 2023.4 +ha_release: 2024.4 ha_iot_class: Local Polling ha_config_flow: true ha_codeowners: From bc0377429829a5d870814e3e4598b8fa8c7e6f9b Mon Sep 17 00:00:00 2001 From: "Cornelius A. Ludmann" Date: Sun, 7 Apr 2024 12:26:11 +0200 Subject: [PATCH 002/123] Update mqtt.markdown (#32189) Fix minor typos. --- source/_integrations/mqtt.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 9288d8e15a6..1dcf1d649be 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -175,14 +175,14 @@ If the server certificate does not match the hostname then validation will fail. The MQTT protocol setting defaults to version `3.1.1`. If your MQTT broker supports MQTT version 5 you can set the protocol setting to `5`. -#### Securing the the connection +#### Securing 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. #### Using WebSockets as transport You can select `websockets` as transport method if your MQTT broker supports it. When you select `websockets` and click `NEXT`, you will be able to add a WebSockets path (default = `/`) and WebSockets headers (optional). The target WebSockets URI: `ws://{broker}:{port}{WebSockets path}` is built with `broker`, `port` and `ws_path` (WebSocket path) settings. -To configure the WebSocketS headers supply a valid JSON dictionary string. E.g. `{ "Authorization": "token" , "x-header": "some header"}`. The default transport method is `tcp`. The WebSockets transport can be secured using TLS and optionally using user credentials or a client certificate. +To configure the WebSocket's headers supply a valid JSON dictionary string. E.g. `{ "Authorization": "token" , "x-header": "some header"}`. The default transport method is `tcp`. The WebSockets transport can be secured using TLS and optionally using user credentials or a client certificate.
From 6eefccf36649f7b2e1b40b7d6c5e6fa5bf1775f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 8 Apr 2024 08:43:23 +0200 Subject: [PATCH 003/123] airzone_cloud: add missing Climate ha_category (#32192) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas --- source/_integrations/airzone_cloud.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/airzone_cloud.markdown b/source/_integrations/airzone_cloud.markdown index db9ebf63bc8..502cc5870e2 100644 --- a/source/_integrations/airzone_cloud.markdown +++ b/source/_integrations/airzone_cloud.markdown @@ -4,6 +4,7 @@ description: Instructions on how to integrate Airzone Cloud within Home Assistan ha_release: 2023.6 ha_category: - Binary sensor + - Climate - Sensor ha_iot_class: Cloud Push ha_config_flow: true From c240d0117a522d49dd4f0579a17f3cf689b0d665 Mon Sep 17 00:00:00 2001 From: Brandon Rothweiler <2292715+bdr99@users.noreply.github.com> Date: Mon, 8 Apr 2024 02:45:59 -0400 Subject: [PATCH 004/123] Update aosmith.markdown (#32182) --- source/_integrations/aosmith.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/aosmith.markdown b/source/_integrations/aosmith.markdown index ebbb212fe28..1ca9c57b701 100644 --- a/source/_integrations/aosmith.markdown +++ b/source/_integrations/aosmith.markdown @@ -33,6 +33,11 @@ Before using this integration, your water heater must be connected to a Wi-Fi ne - HPS10-66H45DV - HPS10-80H45DV - HPSX-50-DHPT +- HPSX-50-DHPT 2 +- HPSX-66-DHPT +- HPSX-66-DHPT 2 +- HPSX-80-DHPT +- HPSX-80-DHPT 2 - HPTS-50 - HPTS-66 - HPTS-80 From bfdfccf2056eadd5bf9f3c78218db2c7444eed94 Mon Sep 17 00:00:00 2001 From: dontinelli <73341522+dontinelli@users.noreply.github.com> Date: Mon, 8 Apr 2024 08:50:42 +0200 Subject: [PATCH 005/123] Amend fyta documentation with hardware requirement (#32175) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/fyta.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/fyta.markdown b/source/_integrations/fyta.markdown index ab2cfd8ff21..74eaa15c24a 100644 --- a/source/_integrations/fyta.markdown +++ b/source/_integrations/fyta.markdown @@ -18,7 +18,7 @@ The **FYTA** {% term integration %} uses the open API of [FYTA](https://www.fyta For the authentication on the FYTA server, you need your login-credentials (email and password). -The integration provides a device for all plants with a FYTA Beam sensor. +The integration provides a device for all plants with a [FYTA Beam](https://fyta.de/collections/all/products/single-beam) sensor. In order to be able to access your plant data over the API, you need a [FYTA hub](https://fyta.de/collections/all/products/single-hub) that uploads the data from the Beam sensor to the FYTA server. Alternatively, the mobile app can serve as gateaway to upload the data from the Beam to the server. No direct connection to the FYTA Beam is supported. {% include integrations/config_flow.md %} From 8f96b386345d7b971151e18b85dc1650cdbbcf74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 08:51:45 +0200 Subject: [PATCH 006/123] Bump ruby-lsp from 0.16.1 to 0.16.2 (#32202) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 2beb6445d99..0412b102790 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ group :development do # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' gem 'rubocop', '1.62.1' - gem 'ruby-lsp', '0.16.1' + gem 'ruby-lsp', '0.16.2' gem 'rackup', '2.1.0' end diff --git a/Gemfile.lock b/Gemfile.lock index c21b4d1b652..fbb3d2f4567 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -115,7 +115,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.31.2) parser (>= 3.3.0.4) - ruby-lsp (0.16.1) + ruby-lsp (0.16.2) language_server-protocol (~> 3.17.0) prism (>= 0.22.0, < 0.25) sorbet-runtime (>= 0.5.10782) @@ -161,7 +161,7 @@ DEPENDENCIES rackup (= 2.1.0) rake (= 13.2.1) rubocop (= 1.62.1) - ruby-lsp (= 0.16.1) + ruby-lsp (= 0.16.2) sass-globbing (= 1.1.5) sassc (= 2.1.0) sinatra (= 4.0.0) From 9aab7177a417fd61546fb451135ae58aca809625 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:45:45 +0200 Subject: [PATCH 007/123] Delete a dashboard (#32205) --- source/dashboards/dashboards.markdown | 9 +++++++++ source/images/dashboards/delete_dashboard.png | Bin 0 -> 58059 bytes 2 files changed, 9 insertions(+) create mode 100644 source/images/dashboards/delete_dashboard.png diff --git a/source/dashboards/dashboards.markdown b/source/dashboards/dashboards.markdown index bbd9f892860..4959db89f44 100644 --- a/source/dashboards/dashboards.markdown +++ b/source/dashboards/dashboards.markdown @@ -70,6 +70,15 @@ This will leave the default dashboard intact. - To continue, in the dialog, select the three dots menu, then select **Take control**. 7. You can now [add a card](/dashboards/cards/#adding-cards-to-your-dashboard) or [add a view](/dashboards/views/#adding-a-view-to-a-dashboard). +## Deleting a dashboard + +If you do not use one of the predefined dashboards, or created a dashboard you no longer need, you can delete that dashboard. It will then no longer show in the sidebar. + +1. Go to {% my lovelace_dashboards title="**Settings** > **Dashboards**" %}. +2. From the list of dashboards, select the dashboard you want to delete. +3. In the dialog, select **Delete**. + ![Deleting a dashboard](/images/dashboards/delete_dashboard.png) + ## Using YAML for the Overview dashboard To change the **Overview** dashboard, create a new file `ui-lovelace.yaml` in your configuration directory and add the following section to your `configuration.yaml` and restart Home Assistant: diff --git a/source/images/dashboards/delete_dashboard.png b/source/images/dashboards/delete_dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..9b05ffc4e2e4bb0b136d9ef4d94e2b99c2aae54b GIT binary patch literal 58059 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 Date: Mon, 8 Apr 2024 14:13:29 +0200 Subject: [PATCH 008/123] Selecting multiple items in a list (#32208) --- source/_docs/organizing.markdown | 6 ++--- source/_docs/organizing/filtering.markdown | 22 ++++++++++++++++++ .../asides/organizing_navigation.html | 3 ++- source/images/organizing/multiselect_01.png | Bin 0 -> 46071 bytes 4 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 source/_docs/organizing/filtering.markdown create mode 100644 source/images/organizing/multiselect_01.png diff --git a/source/_docs/organizing.markdown b/source/_docs/organizing.markdown index aa0eadf11a7..0ab5f7ece4a 100644 --- a/source/_docs/organizing.markdown +++ b/source/_docs/organizing.markdown @@ -1,9 +1,9 @@ --- -title: "Organizing your assets" -description: "Organizing and grouping your assets makes it easier to find them and allows you to target groups in automations." +title: "Grouping your assets" +description: "Grouping your assets makes it easier to find them and allows you to target groups in automations." --- -Once you have more devices, you may want to target entire groups of devices in automations. It also becomes more challenging to find items in lists. There are a few tools to organize your assets: [Areas](#areas), [floors](#floors), [labels](#labels), and [categories](#categories). +Once you have more devices, you may want to target entire groups of devices in automations. It also becomes more challenging to find items in lists. There are a few tools to group your assets: [Areas](#areas), [floors](#floors), [labels](#labels), and [categories](#categories). | Taxonomy | Automation target | Entity can have multiple | | -------- | ----------------- | ------------------------ | diff --git a/source/_docs/organizing/filtering.markdown b/source/_docs/organizing/filtering.markdown new file mode 100644 index 00000000000..1777bfe05e8 --- /dev/null +++ b/source/_docs/organizing/filtering.markdown @@ -0,0 +1,22 @@ +--- +title: "Filtering your assets" +description: "Filter for items in tables." +--- + +When working with tables, you can select multiple elements to apply an action on multiple items at once. If you have [grouped](/docs/organizing/) your assets by assigning them to floors, areas, labels, or directories you can also filter your data accordingly. + +## Selecting multiple items in a table + +1. In your table, select the select the Multiselect icon button. + + ![Screenshots point out the enable selection mode button in the toolbar of the tables in Home Assistant](/images/blog/2024-04/enable-selection-mode.png) +2. In the list, select the items of interest. + + ![Selecting multiple elements in a list](/images/organizing/multiselect_01.png) + +## Related topics + +- [Floors](/docs/organzing/floors/) +- [Labels](/docs/organzing/labels/) +- [Areas](/docs/organzing/areas/) +- [Directories](/docs/organzing/directories/) \ No newline at end of file diff --git a/source/_includes/asides/organizing_navigation.html b/source/_includes/asides/organizing_navigation.html index d69c217e252..1b6b2225de3 100644 --- a/source/_includes/asides/organizing_navigation.html +++ b/source/_includes/asides/organizing_navigation.html @@ -3,7 +3,8 @@

Organizing

-If you want to manage users and you're an owner but you do not see "Users" in your main configuration menu, make sure that "Advanced Mode" is enabled for your user in your profile. +If you want to manage users and you're an owner but you do not see "Users" in your main configuration menu, make sure that **Advanced Mode** is enabled for your user in your profile.
### Your account profile -Once you're logged in, you can see the details of your account at the _Profile_ page by clicking on the circular at the very bottom of the sidebar. +Once you're logged in, you can see the details of your account on the {% my profile title="**User profile**" %} page by selecting on the circular at the very bottom of the sidebar. Screenshot of the profile page @@ -38,6 +38,7 @@ You can: - Enable or disable [multi-factor authentication](/docs/authentication/multi-factor-auth/). - Delete _Refresh Tokens_. These are created when you log in from a device. Delete them if you want to force the device to log out. - Create [Long Lived Access Tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token) so scripts can securely interact with Home Assistant. +- Define language and other locale settings. - Log out of Home Assistant.
diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown index dcaff9ba899..9c634d6ea02 100644 --- a/source/_integrations/http.markdown +++ b/source/_integrations/http.markdown @@ -131,7 +131,7 @@ The `http` platforms are not real platforms within the meaning of the terminolog To use those kind of [sensors](#sensor) or [binary sensors](#binary-sensor) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived. -Create a [Long-Lived Access Tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token) in the Home Assistant UI at the bottom of your profile if you want to use HTTP sensors. +If you want to use HTTP sensors, create a [Long-Lived Access Tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token) in the Home Assistant UI in the **Security** section of your {% my profile title="**User profile**" %} page. All [requests](https://developers.home-assistant.io/docs/api/rest#post-apistatesentity_id) need to be sent to the endpoint of the device and must be **POST**. diff --git a/source/images/docs/authentication/profile.png b/source/images/docs/authentication/profile.png index a6b88e17cbc711b12060c3a1d3d3ca62a5211a33..deac23c20c79e9d264fa516bdee8a0c7553239cf 100644 GIT binary patch literal 122709 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 Date: Tue, 9 Apr 2024 15:45:12 +0200 Subject: [PATCH 020/123] Bump sorbet-runtime from 0.5.11332 to 0.5.11336 (#32226) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index fbb3d2f4567..7116922aa6f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11332) + sorbet-runtime (0.5.11336) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 37007aabc1f02dc9589ca2bdd337ccf801edd88f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:46:02 +0200 Subject: [PATCH 021/123] Bump rubocop from 1.62.1 to 1.63.0 (#32227) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 0412b102790..9a5fd848afc 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ group :development do gem 'stringex', '2.8.6' # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' - gem 'rubocop', '1.62.1' + gem 'rubocop', '1.63.0' gem 'ruby-lsp', '0.16.2' gem 'rackup', '2.1.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 7116922aa6f..6cf9f8cb69b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,7 +102,7 @@ GEM regexp_parser (2.9.0) rexml (3.2.6) rouge (4.2.1) - rubocop (1.62.1) + rubocop (1.63.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -160,7 +160,7 @@ DEPENDENCIES nokogiri (= 1.16.3) rackup (= 2.1.0) rake (= 13.2.1) - rubocop (= 1.62.1) + rubocop (= 1.63.0) ruby-lsp (= 0.16.2) sass-globbing (= 1.1.5) sassc (= 2.1.0) From fcf8d9f4258a4e6adfbef4fbccd0984346258421 Mon Sep 17 00:00:00 2001 From: David Radcliffe Date: Tue, 9 Apr 2024 11:08:30 -0400 Subject: [PATCH 022/123] [withings] Add note about 2nd config entry (#31921) * [withings] Add note about multiple withings configs * Tiny style tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/withings.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown index 9fbc0ee4abe..2bbf743b617 100644 --- a/source/_integrations/withings.markdown +++ b/source/_integrations/withings.markdown @@ -57,6 +57,8 @@ Withings will validate (with HTTP HEAD) these requirements each time you save yo {% enddetails %} +Note: You will only need one developer account; the same account and credentials are used for each Withings configuration. + {% include integrations/config_flow.md %} ## Data updates From 6c3bef2a2b0478e79fe4a8cf5527b9a206a24a7f Mon Sep 17 00:00:00 2001 From: Jonny Bergdahl <128166901+jonnybergdahl@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:30:36 +0200 Subject: [PATCH 023/123] Twitch: Expand app creation instructions (#31972) * Twitch: Expand app creation instructions * Changed wording. * Remove the suggestion --------- Co-authored-by: Jonny Bergdahl Co-authored-by: Klaas Schoute --- source/_integrations/twitch.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_integrations/twitch.markdown b/source/_integrations/twitch.markdown index 2e07e18c2f4..f6dcd84459b 100644 --- a/source/_integrations/twitch.markdown +++ b/source/_integrations/twitch.markdown @@ -18,6 +18,10 @@ The Twitch integration will allow you to monitor [Twitch](https://www.twitch.tv/ ## Get Twitch application credentials -Create a new app at **Register Your Application** in the [Twitch developer portal](https://dev.twitch.tv/console/apps). Enter `https://my.home-assistant.io/redirect/oauth` in the **OAuth Redirect URL** field. Then, get the **Client ID** and **Client secret** from the new application. +Create a new app at **Register Your Application** in the [Twitch developer portal](https://dev.twitch.tv/console/apps): + +- Enter a **Name** for your app. Note that it needs to be unique all over Twitch. +- Enter `https://my.home-assistant.io/redirect/oauth` in the **OAuth Redirect URL** field. +- Get the **Client ID** and **Client secret** from the new application, you need them to complete the integration setup in Home Assistant. {% include integrations/config_flow.md %} From d176e517fe0b2fc3c6e42fad594602fc16e05e90 Mon Sep 17 00:00:00 2001 From: FileGo Date: Wed, 10 Apr 2024 06:59:37 +0100 Subject: [PATCH 024/123] Denon AVR docs: add port information (#32213) * Denon AVR: added port info for VLAN * Fixed spelling * tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/denonavr.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index 832015de2ad..8c7c893d980 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -112,6 +112,8 @@ Known supported devices: If your model is not on the list then give it a test, if everything works correctly then add it to the list by clicking on the **Edit** link at the bottom of this page. +If you are using VLANs, Home Assistant needs access to the following ports on the AVR: 23, 8080, and 60006 (all TCP). +

If you have something else using the IP controller for your Denon AVR 3808CI, such as your URC controller, it will not work! There is either a bug or security issue with some models where only one device could be controlling the IP functionality.
From 34dfcc4c97a2f1b8fe621923e956962c0757fee6 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Wed, 10 Apr 2024 16:56:04 +0200 Subject: [PATCH 025/123] Matter: sharing from Apple/google: update to reflect current SW (#32255) * Matter: sharing from Apple/google: update to reflect current SW - Sharing a matter device from Apple or Google Hoome: update procedure to reflect current software - https://github.com/home-assistant/frontend/pull/20188 - remove links to outdated videos - merge Apple / Google procedures as the specific steps are now described in the UI * Update source/_integrations/matter.markdown Co-authored-by: Marcel van der Veldt * Make title more generic to apply to different controllers --------- Co-authored-by: Marcel van der Veldt --- source/_integrations/matter.markdown | 37 ++++++------------ .../matter/matter_share_from_apple.webp | Bin 0 -> 2172662 bytes 2 files changed, 12 insertions(+), 25 deletions(-) create mode 100644 source/images/integrations/matter/matter_share_from_apple.webp diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index 01e786283bf..a4abaf6fd30 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -214,37 +214,24 @@ Use one of these methods if your Matter device was added to Apple Home or Google - Deselect the checkbox, then select **Submit**. - In the next step, provide the URL to your Matter server. -### Share a device from Apple Home +### To share a device from another Matter controller (like Apple or Google Home) -To allow Home Assistant to control the Matter device that has previously been added to Apple Home, follow these steps: +To allow Home Assistant to control the Matter device that has already been added to another Matter controller, like Google Home, follow these steps: -1. In Apple Home find your device and select the cogwheel to view the **Accessory Settings**. -2. Scroll all the way down and select **Turn On Pairing Mode**. -3. You are now given a setup code, copy this to the clipboard. -4. In the Home Assistant Companion App, go to {% my integrations title="**Settings** > **Devices & services**" %}. -5. Select **Devices** > **Add device** and on the QR code scanner page, select **More options**. -6. From the list, select your device and paste the code you just received from Apple Home. -7. Once the device is connected with Home Assistant, the device page opens and you can control it from there. - - - -### Share a device from Google Home - -To allow Home Assistant to control the Matter device that has previously been added to Google Home, follow these steps: - -1. In Google Home, open the **Devices** page and select the cogwheel. -2. On the **Settings** page, select your Matter device. -3. Select **Linked Matter apps and services**. -4. Select **Link apps and services** to link the device to Home Assistant. -5. Choose Home Assistant from the list. - - You are redirected to the Home Assistant Companion app now. - - Select **Add device**. - - **Troubleshooting**: If Home Assistant fails to add the device, check if you have the Matter integration installed and the latest version of the Companion app. +1. Open the Home Assistant app on your phone. +2. Go to {% my integrations title="**Settings** > **Devices & services**" %}. +3. On the **Devices** tab, select the **Add device** button and select **Add Matter device**. +4. In the dialog, select **Yes, it's already in use**, then select which controller it is already connected to. For example, Google Home. +5. Follow the instructions given in the dialog. + - **Troubleshooting**: If Home Assistant fails to add the device, check if you have the Matter integration installed and the latest version of the Companion app. 6. Once the device has been added to Home Assistant, you see a notification **Your device has been added**. - When the process finishes, you're redirected to the device page in Home Assistant. - You can now control your device from within Home Assistant, as well as from Google Home. - +

+ Screencast showing how to share a Matter device from Apple Home. + Screencast showing how to share a Matter device from Apple Home. +

### Using a Matter bridge diff --git a/source/images/integrations/matter/matter_share_from_apple.webp b/source/images/integrations/matter/matter_share_from_apple.webp new file mode 100644 index 0000000000000000000000000000000000000000..3ddf4e2945854478d1669020a77c37925d4dc205 GIT binary patch literal 2172662 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�GlT*Q~ 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%0AZ>VmVq&)#1z)&n*4@FLO0pe(}MV zS-p@isb$YfWa#M`LyPl;x3*!luxesg$0tm5aQop))2TLHu>LDVzBo|Ix1Ca+gA`U=T)2exUCbiE}FhAyzAOnH8CsUxN&N0wG`&vK`RycJ(k|pcrV$| zPh1S#T$FC5I7lQQ$?;w`rC5`}-9$%^YG)Fj1)lKnl7@5H^DI7|J;$orpM}9gt3Q^3 zn3lCs^!l_l5t5zAUF|z^XYN_7#o_02vOms=bkc{oR=zq|#_q4ETG5$%-9MLJ@ z*W?}g;4VP8`#6-%P&>qs*E$b<0H+`ijDh4S?;IdYKK#a_I!Wr026^=_OqS)B;u

-## Migrating to a new system +## Related topics -The preferred way of migrating to a new system is by {% my supervisor_backups title="making a backup" %}. Once you have created the backup on the old system, you can download it to the system that is running the Home Assistant frontend. When setting up the new system, you may use the backup. Alternatively, you can upload it to your new system using the _Upload backup_ menu option of the _Backups_ menu. Then, a restore of the uploaded backup on the new system concludes the migration. - -If you run the container or core installation methods, you will need to manually make a backup of your configuration folder. Be aware that some of the files you need start with `.`, which is hidden by default from both `ls` (in SSH), in Windows Explorer, and macOS Finder. You'll need to ensure that you're viewing all files before you copy them. +- [Creating and restoring backups](/common-tasks/os/#backups) +- [Creating backups for Home Assistant Container and Core](/integrations/backup) From 900355707d04bd7f39e4acf1e1ab8badd2c7f4f1 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Thu, 11 Apr 2024 18:11:15 +0200 Subject: [PATCH 034/123] HA OS cli: remove screenshot showing old command. command is 'ha' now (#32275) * HA OS cli: remove screenshot showing old command. command is 'ha' now * Remove screenshot --- source/_includes/common-tasks/commandline.md | 5 ----- source/images/hassio/screenshots/ssh-upgrade.png | Bin 4011 -> 0 bytes 2 files changed, 5 deletions(-) delete mode 100644 source/images/hassio/screenshots/ssh-upgrade.png diff --git a/source/_includes/common-tasks/commandline.md b/source/_includes/common-tasks/commandline.md index 455bb86d9da..e031e13872d 100644 --- a/source/_includes/common-tasks/commandline.md +++ b/source/_includes/common-tasks/commandline.md @@ -1,10 +1,5 @@ ## Home Assistant via the command line -

- -Home Assistant upgrade process from the SSH command line -

- On the SSH command line, you can use the `ha` command to retrieve logs, check the details of connected hardware, and more. ### Home Assistant diff --git a/source/images/hassio/screenshots/ssh-upgrade.png b/source/images/hassio/screenshots/ssh-upgrade.png deleted file mode 100644 index 64d80f9943b8dd8787f15a9bedc192d14c2f6042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4011 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 Date: Thu, 11 Apr 2024 19:29:36 +0200 Subject: [PATCH 035/123] Move ODROID and Raspberry Pi specific installation guides (#32274) * Move ODROID and Raspberry Pi specific installation guides - move them from Operating System page to hardware-specific installation pages * Fix link --- source/_includes/installation/operating_system.md | 15 +++++++++++---- source/_redirects | 2 ++ source/common-tasks/os.markdown | 4 ---- source/installation/raspberrypi.markdown | 2 ++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/source/_includes/installation/operating_system.md b/source/_includes/installation/operating_system.md index 73f64578b7e..99d8a7bddca 100644 --- a/source/_includes/installation/operating_system.md +++ b/source/_includes/installation/operating_system.md @@ -164,9 +164,9 @@ Use this method only if Method 1 does not work for you. {% if page.installation_type == 'odroid' %} If you are using ODROID-M1, note that booting from NVMe is not supported. If you want to boot from eMMC, [update the firmware](https://github.com/home-assistant/operating-system/blob/dev/Documentation/boards/hardkernel/odroid-m1.md) before installing the image. - If you are using a [Home Assistant Blue](/blue) or ODROID-N2+, you can [attach your device directly](/common-tasks/os/#flashing-an-odroid-n2). + If you are using a [Home Assistant Blue](/blue) or ODROID-N2+, you can [attach your device directly](/installation/odroid#flashing-an-odroid-n2). - If you are using an ODROID-M1S, you need to follow this guide to [boot your device into UMS mode](/common-tasks/os/#flashing-an-odroid-m1s). + If you are using an ODROID-M1S, you need to follow this guide to [boot your device into UMS mode](/installation/odroid#flashing-an-odroid-m1s). {% endif %} 3. Download and start
Balena Etcher. You may need to run it with administrator privileges on Windows. 4. Download the image to your computer. @@ -184,9 +184,9 @@ Use this method only if Method 1 does not work for you. ``` {% if variant.key == "odroid-n2" %} - [Guide: Flashing ODROID-N2 using OTG-USB](/hassio/flashing_n2_otg/) + [Guide: Flashing ODROID-N2 using OTG-USB](/installation/odroid#flashing-an-odroid-n2) {% elsif variant.key == "odroid-m1s" %} - [Guide: Flashing ODROID-M1S using OTG-USB](/hassio/flashing_m1s_otg/) + [Guide: Flashing ODROID-M1S using OTG-USB](/installation/odroid#flashing-an-odroid-m1s) {% elsif variant.key == "rpi4" or variant.key == "rpi3" %} *(64-bit is recommended)* {% endif %} @@ -472,6 +472,13 @@ With the Home Assistant Operating System installed and accessible, you can conti {% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %} +{% if page.installation_type == 'odroid' %} + +{% include common-tasks/flashing_n2_otg.md %} +{% include common-tasks/flashing_m1s_otg.md %} + +{% endif %} + [generic-x86-64]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_generic-x86-64-{{site.data.version_data.hassos['generic-x86-64']}}.img.xz [vmdk]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.vmdk.zip [vhdx]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.vhdx.zip diff --git a/source/_redirects b/source/_redirects index 7255f72546e..1b07874229c 100644 --- a/source/_redirects +++ b/source/_redirects @@ -357,6 +357,8 @@ layout: null /topics/state_object /docs/configuration/state_object /topics/templating /docs/configuration/templating /common-tasks /common-tasks/os +/common-tasks/os/#flashing-an-odroid-m1s /installation/odroid#flashing-an-odroid-m1s +/common-tasks/os/#flashing-an-odroid-n2 /installation/odroid#flashing-an-odroid-n2 /docs/installation /installation /docs/installation/docker /installation /docs/installation/raspberry-pi /installation diff --git a/source/common-tasks/os.markdown b/source/common-tasks/os.markdown index f8303d89533..f1027abf4b7 100644 --- a/source/common-tasks/os.markdown +++ b/source/common-tasks/os.markdown @@ -18,7 +18,3 @@ This section will provide guides to some common tasks and information which you {% include common-tasks/lost_password.md %} {% include common-tasks/third-party-addons.md %} {% include common-tasks/data_disk.md %} -{% include common-tasks/flashing_n2_otg.md %} -{% include common-tasks/flashing_m1s_otg.md %} -{% include common-tasks/enable_i2c.md %} - diff --git a/source/installation/raspberrypi.markdown b/source/installation/raspberrypi.markdown index acfdfa76f7d..1213f45d225 100644 --- a/source/installation/raspberrypi.markdown +++ b/source/installation/raspberrypi.markdown @@ -87,6 +87,7 @@ With the Home Assistant Operating System installed and accessible, you can now c {% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %} + {% include installation/container.md %} {% include installation/core.md %} @@ -135,3 +136,4 @@ _Select and copy the URL or use the "copy" button that appear when you hover it. We get commissions for purchases made through links in this post.

+{% include common-tasks/enable_i2c.md %} \ No newline at end of file From 8ba6db24e2353355d418fd3db9f779de3bbddd4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:17:34 +0200 Subject: [PATCH 036/123] Bump remark-lint-unordered-list-marker-style from 3.1.2 to 4.0.0 (#32247) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 166 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 157 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 47bf50b257f..b24946974ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "remark-lint-ordered-list-marker-style": "^3.1.2", "remark-lint-ordered-list-marker-value": "^3.1.2", "remark-lint-prohibited-strings": "^4.0.0", - "remark-lint-unordered-list-marker-style": "^3.1.2", + "remark-lint-unordered-list-marker-style": "^4.0.0", "remark-stringify": "^11.0.0", "textlint": "^14.0.4", "textlint-filter-rule-comments": "^1.2.2", @@ -4798,17 +4798,163 @@ } }, "node_modules/remark-lint-unordered-list-marker-style": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-3.1.2.tgz", - "integrity": "sha512-JFiyB4ZprJGGndCaFB8FssXd48m4Kh+CUqzNgu3lBLEiW8dEAGRlD9M2AzyyA+Q29WJP/FntDCbP22DeON91UA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-4.0.0.tgz", + "integrity": "sha512-XlP4Wr4KJNovyWVv0H5axfUlF23iE9Kt2SxaVq4+ieum5YcMmKE6KsL+aqt3kiJb60SH1u6a0bxKFvdM/9riOA==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-phrasing": "^4.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit-parents": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index c5b33b5a2c0..16353d0a310 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "remark-lint-ordered-list-marker-style": "^3.1.2", "remark-lint-ordered-list-marker-value": "^3.1.2", "remark-lint-prohibited-strings": "^4.0.0", - "remark-lint-unordered-list-marker-style": "^3.1.2", + "remark-lint-unordered-list-marker-style": "^4.0.0", "remark-stringify": "^11.0.0", "textlint": "^14.0.4", "textlint-filter-rule-comments": "^1.2.2", From ede06a9ac242194698a8aa9a2066ddd632245564 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:19:00 +0200 Subject: [PATCH 037/123] Bump remark-lint-heading-style from 3.1.2 to 4.0.0 (#32246) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 184 ++++++++++++++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 171 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index b24946974ff..71ba5fb4320 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "remark-lint": "^9.1.2", "remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-heading-increment": "^3.1.2", - "remark-lint-heading-style": "^3.1.2", + "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^3.1.2", "remark-lint-ordered-list-marker-style": "^3.1.2", "remark-lint-ordered-list-marker-value": "^3.1.2", @@ -3051,18 +3051,27 @@ } }, "node_modules/mdast-util-heading-style": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-2.0.1.tgz", - "integrity": "sha512-0L5rthU4xKDVbw+UQ7D8Y8xOEsX4JXZvemWoEAsL+WAaeSH+TvVVwFnTb3G/OrjyP4VYQULoNWU+PdZfkmNu4A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-3.0.0.tgz", + "integrity": "sha512-tsUfM9Kj9msjlemA/38Z3pvraQay880E3zP2NgIthMoGcpU9bcPX9oSM6QC/+eFXGGB4ba+VCB1dKAPHB7Veug==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0" + "@types/mdast": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-heading-style/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/mdast-util-mdx-expression": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", @@ -4585,17 +4594,164 @@ } }, "node_modules/remark-lint-heading-style": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-3.1.2.tgz", - "integrity": "sha512-0RkcRPV/H2bPFgeInzBkK1cWUwtFTm83I+Db/Z5tDY02GzKOosHLvxtJyj/1391/opAH1LYbHtHWffir99IUgw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-4.0.0.tgz", + "integrity": "sha512-dQ6Jul5K0+aNUvrq4W7H0+osSoC9hsmwHZqBFq000+eMP/hWJqI8tuudw1rap8HHYuOsKLRbB5q+Fr7G+3Vw+Q==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-heading-style": "^2.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-heading-style": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit-parents": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-heading-style/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-heading-style/node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-style/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index 16353d0a310..aab02286ef7 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "remark-lint": "^9.1.2", "remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-heading-increment": "^3.1.2", - "remark-lint-heading-style": "^3.1.2", + "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^3.1.2", "remark-lint-ordered-list-marker-style": "^3.1.2", "remark-lint-ordered-list-marker-value": "^3.1.2", From fa056ee0c7c044838e95de11987f0274bf7f5249 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:27:49 +0200 Subject: [PATCH 038/123] Bump remark-lint from 9.1.2 to 10.0.0 (#32245) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 2260 +++++++++++++-------------------------------- package.json | 2 +- 2 files changed, 621 insertions(+), 1641 deletions(-) diff --git a/package-lock.json b/package-lock.json index 71ba5fb4320..f9a616ae679 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "devDependencies": { "remark-cli": "^12.0.0", "remark-frontmatter": "^5.0.0", - "remark-lint": "^9.1.2", + "remark-lint": "^10.0.0", "remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-heading-increment": "^3.1.2", "remark-lint-heading-style": "^4.0.0", @@ -868,24 +868,24 @@ } }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "dev": true, "dependencies": { "@types/estree": "*" } }, "node_modules/@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, "dependencies": { "@types/unist": "*" @@ -1854,15 +1854,6 @@ "node": ">=6" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2009,19 +2000,28 @@ } }, "node_modules/mdast-comment-marker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-2.1.2.tgz", - "integrity": "sha512-HED3ezseRVkBzZ0uK4q6RJMdufr/2p3VfVZstE3H1N9K8bwtspztWo6Xd7rEatuGNoCXaBna8oEqMwUn0Ve1bw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-3.0.0.tgz", + "integrity": "sha512-bt08sLmTNg00/UtVDiqZKocxqvQqqyQZAg1uaRuO/4ysXV5motg7RolF5o5yy/sY1rG0v2XgZEqFWho1+2UquA==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-mdx-expression": "^1.1.0" + "@types/mdast": "^4.0.0", + "mdast-util-mdx-expression": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-comment-marker/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/mdast-util-find-and-replace": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz", @@ -2130,23 +2130,51 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", - "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", @@ -2198,574 +2226,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-frontmatter/node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.0.tgz", - "integrity": "sha512-pIgcsGxpHEtTG/rPJRz/HOLSqp5VTuIIjXlPI+6JSDlK2oljApusG6KzpS8AF0ENUMCHlC/IBb5B9xdFiVlm5Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/mdast-util-frontmatter/node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/mdast-util-frontmatter/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-gfm": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz", @@ -3073,30 +2533,68 @@ } }, "node_modules/mdast-util-mdx-expression": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", - "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", "dev": true, "dependencies": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "node_modules/mdast-util-mdx-expression/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" + "@types/unist": "*" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-phrasing/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/mdast-util-phrasing/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", @@ -3104,18 +2602,18 @@ } }, "node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" }, "funding": { @@ -3123,23 +2621,89 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-to-string": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", - "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "node_modules/mdast-util-to-markdown/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0" + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/mdast-util-to-markdown/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/micromark": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", - "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "dev": true, "funding": [ { @@ -3155,26 +2719,26 @@ "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", "dev": true, "funding": [ { @@ -3188,21 +2752,21 @@ ], "dependencies": { "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-extension-footnote": { @@ -3254,58 +2818,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, "node_modules/micromark-extension-gfm": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz", @@ -3487,9 +2999,9 @@ } }, "node_modules/micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", "dev": true, "funding": [ { @@ -3502,15 +3014,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", "dev": true, "funding": [ { @@ -3523,16 +3035,16 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", "dev": true, "funding": [ { @@ -3545,14 +3057,14 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", "dev": true, "funding": [ { @@ -3565,17 +3077,16 @@ } ], "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", "dev": true, "funding": [ { @@ -3588,16 +3099,16 @@ } ], "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "dev": true, "funding": [ { @@ -3610,14 +3121,14 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", "dev": true, "funding": [ { @@ -3630,13 +3141,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", "dev": true, "funding": [ { @@ -3649,15 +3160,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "dev": true, "funding": [ { @@ -3670,14 +3181,14 @@ } ], "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", "dev": true, "funding": [ { @@ -3690,13 +3201,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", "dev": true, "funding": [ { @@ -3710,15 +3221,15 @@ ], "dependencies": { "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", "dev": true, "funding": [ { @@ -3732,9 +3243,9 @@ ] }, "node_modules/micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", "dev": true, "funding": [ { @@ -3748,9 +3259,9 @@ ] }, "node_modules/micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", "dev": true, "funding": [ { @@ -3763,13 +3274,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", "dev": true, "funding": [ { @@ -3782,13 +3293,13 @@ } ], "dependencies": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-sanitize-uri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", - "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", "dev": true, "funding": [ { @@ -3801,15 +3312,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", "dev": true, "funding": [ { @@ -3822,16 +3333,16 @@ } ], "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "dev": true, "funding": [ { @@ -3845,9 +3356,9 @@ ] }, "node_modules/micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", "dev": true, "funding": [ { @@ -3908,15 +3419,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4544,14 +4046,14 @@ } }, "node_modules/remark-lint": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.2.tgz", - "integrity": "sha512-m9e/aPlh7tsvfJfj8tPxrQzD6oEdb9Foko+Ya/6OwUP9EoGMfehv1Qtv26W1DoH58Wn8rT8CD+KuprTWscMmIA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-10.0.0.tgz", + "integrity": "sha512-E8yHHDOJ8b+qI0G49BRu24pe8t0fNNBWv8ENQJpCGNrVeTeyBIGEbaUe1yuF7OG8faA6PVpcN/pqWjzW9fcBWQ==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "remark-message-control": "^7.0.0", - "unified": "^10.1.0" + "@types/mdast": "^4.0.0", + "remark-message-control": "^8.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", @@ -4627,20 +4129,6 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, - "node_modules/remark-lint-heading-style/node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-heading-style/node_modules/unified": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", @@ -4868,19 +4356,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-visit": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", @@ -4910,49 +4385,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-prohibited-strings/node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-prohibited-strings/node_modules/vfile-location": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", - "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-prohibited-strings/node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-unordered-list-marker-style": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-4.0.0.tgz", @@ -4986,20 +4418,6 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, - "node_modules/remark-lint-unordered-list-marker-style/node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-unordered-list-marker-style/node_modules/unified": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", @@ -5117,17 +4535,149 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-message-control": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-7.1.1.tgz", - "integrity": "sha512-xKRWl1NTBOKed0oEtCd8BUfH5m4s8WXxFFSoo7uUwx6GW/qdCy4zov5LfPyw7emantDmhfWn5PdIZgcbVcWMDQ==", + "node_modules/remark-lint/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-comment-marker": "^2.0.0", - "unified": "^10.0.0", - "unified-message-control": "^4.0.0", - "vfile": "^5.0.0" + "@types/unist": "*" + } + }, + "node_modules/remark-lint/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-message-control": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-8.0.0.tgz", + "integrity": "sha512-brpzOO+jdyE/mLqvqqvbogmhGxKygjpCUCG/PwSCU43+JZQ+RM+sSzkCWBcYvgF3KIAVNIoPsvXjBkzO7EdsYQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-comment-marker": "^3.0.0", + "unified-message-control": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-message-control/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-message-control/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-message-control/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-message-control/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-message-control/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", @@ -5165,485 +4715,6 @@ "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==", "dev": true }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse/node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse/node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.0.tgz", - "integrity": "sha512-pIgcsGxpHEtTG/rPJRz/HOLSqp5VTuIIjXlPI+6JSDlK2oljApusG6KzpS8AF0ENUMCHlC/IBb5B9xdFiVlm5Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/remark-parse/node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/remark-parse/node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/remark-parse/node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, "node_modules/remark-parse/node_modules/unified": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.3.tgz", @@ -5735,146 +4806,6 @@ "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==", "dev": true }, - "node_modules/remark-stringify/node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dev": true, - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/remark-stringify/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.0.tgz", - "integrity": "sha512-pIgcsGxpHEtTG/rPJRz/HOLSqp5VTuIIjXlPI+6JSDlK2oljApusG6KzpS8AF0ENUMCHlC/IBb5B9xdFiVlm5Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-stringify/node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/remark-stringify/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/remark-stringify/node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, "node_modules/remark-stringify/node_modules/unified": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.3.tgz", @@ -5894,19 +4825,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-stringify/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-stringify/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -5920,35 +4838,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-stringify/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-stringify/node_modules/vfile": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", @@ -6101,18 +4990,6 @@ "rimraf": "bin.js" } }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -6192,6 +5069,16 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -6832,17 +5719,51 @@ } }, "node_modules/unified-message-control": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-4.0.0.tgz", - "integrity": "sha512-1b92N+VkPHftOsvXNOtkJm4wHlr+UDmTBF2dUzepn40oy9NxanJ9xS1RwUBTjXJwqr2K0kMbEyv1Krdsho7+Iw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-5.0.0.tgz", + "integrity": "sha512-B2cSAkpuMVVmPP90KCfKdBhm1e9KYJ+zK3x5BCa0N65zpq1Ybkc9C77+M5qwR8FWO7RF3LM5QRRPZtgjW6DUCw==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit": "^3.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", - "vfile-message": "^3.0.0" + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified-message-control/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/unified-message-control/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified-message-control/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", @@ -6850,14 +5771,14 @@ } }, "node_modules/unified-message-control/node_modules/unist-util-visit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", - "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^4.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, "funding": { "type": "opencollective", @@ -6865,13 +5786,42 @@ } }, "node_modules/unified-message-control/node_modules/unist-util-visit-parents": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", - "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified-message-control/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified-message-control/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", @@ -7043,24 +5993,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dev": true, - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -7088,13 +6020,61 @@ } }, "node_modules/vfile-location": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", - "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/vfile-location/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index aab02286ef7..8adfd796dda 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "devDependencies": { "remark-cli": "^12.0.0", "remark-frontmatter": "^5.0.0", - "remark-lint": "^9.1.2", + "remark-lint": "^10.0.0", "remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-heading-increment": "^3.1.2", "remark-lint-heading-style": "^4.0.0", From 0a8047c452502c168d4043eca1e1bb6ba4645142 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:44:24 +0200 Subject: [PATCH 039/123] Bump remark-lint-ordered-list-marker-style from 3.1.2 to 4.0.0 (#32251) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 219 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 210 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9a616ae679..8cd9b11556b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "remark-lint-heading-increment": "^3.1.2", "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^3.1.2", - "remark-lint-ordered-list-marker-style": "^3.1.2", + "remark-lint-ordered-list-marker-style": "^4.0.0", "remark-lint-ordered-list-marker-value": "^3.1.2", "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.0", @@ -4264,17 +4264,216 @@ } }, "node_modules/remark-lint-ordered-list-marker-style": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-3.1.2.tgz", - "integrity": "sha512-62iVE/YQsA0Azaqt8yAJWPplWLS47kDLjXeC2PlRIAzCqbNt9qH3HId8vZ15QTSrp8rHmJwrCMdcqV6AZUi7gQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-4.0.0.tgz", + "integrity": "sha512-xZ7Xppy5fzACH4b9h1b4lTzVtNY2AlUkNTfl1Oe6cIKN8tk3juFxN0wL2RpktPtSZ7iRIabzFmg6l8WPhlASJA==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-phrasing": "^4.0.0", + "micromark-util-character": "^2.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit-parents": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index 8adfd796dda..dd9826d0696 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "remark-lint-heading-increment": "^3.1.2", "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^3.1.2", - "remark-lint-ordered-list-marker-style": "^3.1.2", + "remark-lint-ordered-list-marker-style": "^4.0.0", "remark-lint-ordered-list-marker-value": "^3.1.2", "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.0", From a0a3bb46e02ba8f5e7fb599058c8f79836616c90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:52:38 +0200 Subject: [PATCH 040/123] Bump remark-lint-ordered-list-marker-value from 3.1.2 to 4.0.0 (#32250) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 154 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 145 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8cd9b11556b..964a3140339 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^3.1.2", "remark-lint-ordered-list-marker-style": "^4.0.0", - "remark-lint-ordered-list-marker-value": "^3.1.2", + "remark-lint-ordered-list-marker-value": "^4.0.0", "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.0", "remark-stringify": "^11.0.0", @@ -4481,17 +4481,151 @@ } }, "node_modules/remark-lint-ordered-list-marker-value": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-3.1.2.tgz", - "integrity": "sha512-kG08nhsFk8rhoXK5EeDN/wN28CxefraDud/MaZnji8LEyxF3HAkzFuETr9laOn8Ey+n8h/C0mpqAwUf4thyJ5g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-4.0.0.tgz", + "integrity": "sha512-7UjNU2Nv9LGEONTU9GPmTVoNoGKD5aL1X2xHzMbSJiTc50bfcazYqZawO+qj1pQ04WPhto1qHnl0HRB5wwSVwA==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-phrasing": "^4.0.0", + "micromark-util-character": "^2.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit-parents": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-ordered-list-marker-value/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index dd9826d0696..8f53da15cee 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^3.1.2", "remark-lint-ordered-list-marker-style": "^4.0.0", - "remark-lint-ordered-list-marker-value": "^3.1.2", + "remark-lint-ordered-list-marker-value": "^4.0.0", "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.0", "remark-stringify": "^11.0.0", From b95f904cb2058ef8cb827f7fede837d4d6109564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Thu, 11 Apr 2024 22:39:23 +0200 Subject: [PATCH 041/123] Fix #31366 (#32277) --- source/_integrations/frontend.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index c7db8fb08cc..cdb056af35b 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -94,7 +94,7 @@ Note that the variables will be used in the listed order, so if multiple match y frontend: themes: my_theme: - state-cover-garage_door-open-color: "#ff0000" + state-cover-garage-open-color: "#ff0000" state-media_player-inactive-color: "#795548" ``` From 4d0a2e709ac7199678cca6a83a7ff45f67a962a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 23:16:26 +0200 Subject: [PATCH 042/123] Bump remark-lint-no-shell-dollars from 3.1.2 to 4.0.0 (#32248) --- package-lock.json | 147 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 139 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 964a3140339..30b29f49846 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-heading-increment": "^3.1.2", "remark-lint-heading-style": "^4.0.0", - "remark-lint-no-shell-dollars": "^3.1.2", + "remark-lint-no-shell-dollars": "^4.0.0", "remark-lint-ordered-list-marker-style": "^4.0.0", "remark-lint-ordered-list-marker-value": "^4.0.0", "remark-lint-prohibited-strings": "^4.0.0", @@ -1188,6 +1188,16 @@ "node": ">=8" } }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4247,16 +4257,135 @@ } }, "node_modules/remark-lint-no-shell-dollars": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.2.tgz", - "integrity": "sha512-np2MDEhXHviXhbQFjnC1QYv5/fxCV1cIHfGMoJpqiW7Zcu/UGCOo5TE3XswZH4ukHZJ65c3X2A6qfLDW+ur3CQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-4.0.0.tgz", + "integrity": "sha512-ye2h8FzjsgqqQV0HHN2g9N4FqI3eD9Gpgu7tU5ADIJyQ3mUJdwBoFn7IlGnpmumR1fb/l6u/AhRavIZxXYqG+Q==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "collapse-white-space": "^2.0.0", + "mdast-util-phrasing": "^4.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-no-shell-dollars/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index 8f53da15cee..f5db76d4cb7 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-heading-increment": "^3.1.2", "remark-lint-heading-style": "^4.0.0", - "remark-lint-no-shell-dollars": "^3.1.2", + "remark-lint-no-shell-dollars": "^4.0.0", "remark-lint-ordered-list-marker-style": "^4.0.0", "remark-lint-ordered-list-marker-value": "^4.0.0", "remark-lint-prohibited-strings": "^4.0.0", From edc7900ec2dab5428db23b7c15d33458c0931c2e Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:19:42 +0200 Subject: [PATCH 043/123] Remove page on browser support (#32278) --- source/_docs/frontend/browsers.markdown | 93 ------------------------- source/_redirects | 1 - 2 files changed, 94 deletions(-) delete mode 100644 source/_docs/frontend/browsers.markdown diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown deleted file mode 100644 index 18afa58b960..00000000000 --- a/source/_docs/frontend/browsers.markdown +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: "Browsers" -description: "Browser compatibility list" ---- - -Home Assistant requires a web browser to show the frontend and supports all major modern browsers. We don't test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works. The "Release" column contains the release number which was tested. This doesn't mean that older or newer releases will not work. - -If a browser is listed as working but you are still having problems, it is possible that some add-on or extension may be the problem. Some add-ons or extension are known to cause issue with the frontend, but it's not possible to test them all. - -If you are having issues with the frontend displaying correctly, you should disable all your add-ons or extensions and enable them one at a time. At last but not least, consider restarting your browser. - -We would appreciate if you help to keep this page up-to-date and add feedback. - -## Microsoft Windows - -| Browser | Release | State | Comments | -| :------------------------ |:---------------|:-----------|:-------------------------| -| Internet Explorer ([IE]) | 11 | Not supported | Does not support promises. | -| Microsoft [Edge] | deli. Win 10 | works | Streaming updates not working. | -| [Chrome] | 61.0.3163.100 | works | | -| [Firefox] | 62.0.3 | works | | -| [Iridium] | 48.2 | works | | -| [Opera] | 42.0.2393.351 | works | | - -## macOS - -| Browser | Release | State | Comments | -| :-------------------- |:---------------|:-----------|:-------------------------| -| [Safari] | | works | Not working with Safari Technology Preview 112 beta | - -## Linux - -| Browser | Release | State | Comments | -| :-------------------- |:---------------|:-----------|:-------------------------| -| [Firefox] | 62.0 | works | | -| [Midori] | 0.5.11 | works | | -| [Chromium] | 69.0.3497.81 | works | | -| [Conkeror] | 1.0.2 | works | | -| [Tor Browser] | 7.0.8 | works | | -| [Konqueror] | | unknown | | -| [Uzbl] | 0.9.0 | works | | -| [Opera] | 42.0.2393.351 | works | | -| [Lynx] | 2.12 | fails | loads empty page | -| [elinks] | | fails | page with manifest and import | -| [w3m] | 0.5.3 | fails | display the icon shown while loading HA | -| [Epiphany] | 3.18.5 | works | | -| [surf] | 0.7 | works | | -| [Chrome] | 71.0.3578.98 | works | | -| [Waterfox] | 56.2.6 | fails | | - -## Android - -| Browser | Release | State | Comments | -| :-------------------- |:---------------|:-----------|:-------------------------| -| [Chrome] | 50.0.2661.89 | works | Can also be added to desktop | -| [Firefox] | 46.0.1 | works | Can also be added to desktop | -| [Opera] | 42.0.2246.112628 | works | Can also be added to desktop | - -## iOS - -| Browser | Release | State | Comments | -| :-------------------- |:---------------|:-----------|:-------------------------| -| [Safari] | | works | Can also be added to desktop. Not working in iOS 14 beta 5. | -| [Chrome] | | works | Not working in iOS 14 beta 5. | - -There are reports that devices running with iOS prior to iOS 10, especially old iPads, are having trouble. Devices running iOS 14 beta 5, you will not be able to interact with Home Assistant controls. - -## webOS - -| Browser | Release | State | Comments | -| :-------------------- |:---------------|:-----------|:-------------------------| -| [LG webOS TV Built-in]| webOS 04.80.03 | works | including magic remote | - -[Chrome]: https://www.google.com/chrome/ -[Chromium]: https://www.chromium.org/ -[Conkeror]: http://conkeror.org/ -[Edge]: https://www.microsoft.com/en-us/edge -[elinks]: http://elinks.or.cz/ -[Epiphany]: https://wiki.gnome.org/Apps/Web -[Firefox]: https://www.mozilla.org/en-US/firefox/ -[IE]: https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads -[Iridium]: https://iridiumbrowser.de/ -[Konqueror]: https://konqueror.org/ -[Lynx]: https://lynx.browser.org/ -[Midori]: https://astian.org/en/midori-browser/ -[Opera]: https://www.opera.com/ -[Safari]: https://www.apple.com/safari/ -[surf]: https://surf.suckless.org/ -[Tor Browser]: https://www.torproject.org/ -[Uzbl]: https://www.uzbl.org/ -[w3m]: https://w3m.sourceforge.net/ -[Waterfox]: https://www.waterfox.net -[LG webOS TV Built-In]: https://www.lg.com/uk/support/help-library/details-on-enjoying-internet-browsing-on-your-lg-webos-tv-CT00008334-1435838149474 diff --git a/source/_redirects b/source/_redirects index 1b07874229c..1bbb7391036 100644 --- a/source/_redirects +++ b/source/_redirects @@ -329,7 +329,6 @@ layout: null /getting-started/automation-trigger /docs/automation/trigger /getting-started/automation-templating /docs/automation/templating /getting-started/basic /docs/configuration/basic -/getting-started/browsers /docs/frontend/browsers /getting-started/customizing-devices /docs/configuration/customizing-devices /getting-started/installation /docs/installation /getting-started/installation-docker /docs/installation/docker From c1a90f27605142ccdab59b5179e101c04ec17a33 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:46:01 +0200 Subject: [PATCH 044/123] Bump sorbet-runtime from 0.5.11340 to 0.5.11342 (#32279) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index fc5130b7458..9e24cecc407 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11340) + sorbet-runtime (0.5.11342) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 633a1f809c3acf56f9ff54a7e095c0b1734bf333 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:49:53 +0200 Subject: [PATCH 045/123] Bump actions/add-to-project from 1.0.0 to 1.0.1 (#32282) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/add_prs_to_project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add_prs_to_project.yml b/.github/workflows/add_prs_to_project.yml index e46d10d9144..6f39aacaf4e 100644 --- a/.github/workflows/add_prs_to_project.yml +++ b/.github/workflows/add_prs_to_project.yml @@ -18,7 +18,7 @@ jobs: app_id: ${{ secrets.PROJECTS_APP_ID }} private_key: ${{ secrets.PROJECTS_APP_PEM }} - name: Add to Project - uses: actions/add-to-project@v1.0.0 + uses: actions/add-to-project@v1.0.1 with: project-url: https://github.com/orgs/home-assistant/projects/10 github-token: ${{ steps.token.outputs.token }} From 0595e23188f2d16c34b9a0c5526d1ab7b0c5be10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:50:11 +0200 Subject: [PATCH 046/123] Bump remark-lint-heading-increment from 3.1.2 to 4.0.0 (#32249) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 445 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 2 files changed, 437 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30b29f49846..df654e1a561 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "remark-frontmatter": "^5.0.0", "remark-lint": "^10.0.0", "remark-lint-fenced-code-flag": "^3.1.2", - "remark-lint-heading-increment": "^3.1.2", + "remark-lint-heading-increment": "^4.0.0", "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^4.0.0", "remark-lint-ordered-list-marker-style": "^4.0.0", @@ -1117,6 +1117,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", @@ -2542,6 +2552,23 @@ "@types/unist": "*" } }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-mdx-expression": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", @@ -2569,6 +2596,200 @@ "@types/unist": "*" } }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", + "dev": true, + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/mdast-util-mdx-jsx/node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dev": true, + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/mdast-util-phrasing": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", @@ -4089,16 +4310,136 @@ } }, "node_modules/remark-lint-heading-increment": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-3.1.2.tgz", - "integrity": "sha512-+fMfZmFh6ie6MmbRCVW77Rha15zDmnHWKiA0Do08OTrfngPTv8ZKXYLmxhUpL+xV9ts9q+9Kz5rv0L4QD4sEwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-4.0.0.tgz", + "integrity": "sha512-TARnsjXWzY/yLwxh/y4+KnDSXO3Koue8Crp55T8G9pjj3vw+XgTAG35zSpIIY9HmGiQ2a3R0SOj2pAxATpnckg==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-mdx": "^3.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-visit-parents": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-heading-increment/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-heading-increment/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", @@ -5617,6 +5958,30 @@ "node": ">=8" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -6374,6 +6739,68 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/unist-util-remove-position/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-stringify-position": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", diff --git a/package.json b/package.json index f5db76d4cb7..9968be0407f 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "remark-frontmatter": "^5.0.0", "remark-lint": "^10.0.0", "remark-lint-fenced-code-flag": "^3.1.2", - "remark-lint-heading-increment": "^3.1.2", + "remark-lint-heading-increment": "^4.0.0", "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^4.0.0", "remark-lint-ordered-list-marker-style": "^4.0.0", From 18df4df456066da9d370fedfcc227e2140c29e4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:52:21 +0200 Subject: [PATCH 047/123] Bump ruby-lsp from 0.16.3 to 0.16.4 (#32281) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index fe677065208..7afad75073c 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ group :development do # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' gem 'rubocop', '1.63.1' - gem 'ruby-lsp', '0.16.3' + gem 'ruby-lsp', '0.16.4' gem 'rackup', '2.1.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 9e24cecc407..18511f46f0b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -115,7 +115,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.31.2) parser (>= 3.3.0.4) - ruby-lsp (0.16.3) + ruby-lsp (0.16.4) language_server-protocol (~> 3.17.0) prism (>= 0.22.0, < 0.25) sorbet-runtime (>= 0.5.10782) @@ -161,7 +161,7 @@ DEPENDENCIES rackup (= 2.1.0) rake (= 13.2.1) rubocop (= 1.63.1) - ruby-lsp (= 0.16.3) + ruby-lsp (= 0.16.4) sass-globbing (= 1.1.5) sassc (= 2.1.0) sinatra (= 4.0.0) From ae4a4244f4c90962b4353f8b7e271c39aa2749e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:53:27 +0200 Subject: [PATCH 048/123] Bump sass-embedded from 1.74.1 to 1.75.0 (#32280) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 18511f46f0b..0e2d395d388 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -123,7 +123,7 @@ GEM ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) - sass-embedded (1.74.1-x86_64-linux-gnu) + sass-embedded (1.75.0-x86_64-linux-gnu) google-protobuf (>= 3.25, < 5.0) sass-globbing (1.1.5) sass (>= 3.1) From 3ecd83af261cc770cad2f5a565fddd08817a933b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 12 Apr 2024 09:06:40 +0200 Subject: [PATCH 049/123] Replace quotes in term lookup to allow matching multi-word term (#32284) --- plugins/terminology_tooltip.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/terminology_tooltip.rb b/plugins/terminology_tooltip.rb index b70b5e33075..391cda1cf37 100644 --- a/plugins/terminology_tooltip.rb +++ b/plugins/terminology_tooltip.rb @@ -20,6 +20,7 @@ module Jekyll end def render(context) + @term.gsub!(/\"/, "") entries = context.registers[:site].data["glossary"].select do |entry| entry.key?("term") and (@term.casecmp(entry["term"]).zero? or (entry.key?("aliases") and entry["aliases"].any?{ |s| s.casecmp(@term)==0 })) end From acc38e948add58dc4bb674e21fe5bb66c6bc9101 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:06:54 +0200 Subject: [PATCH 050/123] Bump remark-lint-fenced-code-flag from 3.1.2 to 4.0.0 (#32252) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 411 ++++++++++++++++------------------------------ package.json | 2 +- 2 files changed, 147 insertions(+), 266 deletions(-) diff --git a/package-lock.json b/package-lock.json index df654e1a561..727721e2bc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "remark-cli": "^12.0.0", "remark-frontmatter": "^5.0.0", "remark-lint": "^10.0.0", - "remark-lint-fenced-code-flag": "^3.1.2", + "remark-lint-fenced-code-flag": "^4.0.0", "remark-lint-heading-increment": "^4.0.0", "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^4.0.0", @@ -2819,19 +2819,6 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, - "node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-to-markdown": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", @@ -2867,19 +2854,6 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", @@ -3953,6 +3927,16 @@ "node": ">=6" } }, + "node_modules/quotation": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/quotation/-/quotation-2.0.3.tgz", + "integrity": "sha512-yEc24TEgCFLXx7D4JHJJkK4JFVtatO8fziwUxY4nB/Jbea9o9CVS3gt22mA0W7rPYAGW2fWzYDSOtD94PwOyqA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/rc-config-loader": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.3.tgz", @@ -4292,17 +4276,123 @@ } }, "node_modules/remark-lint-fenced-code-flag": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.2.tgz", - "integrity": "sha512-yh4m3dlPmRsqM/BFhpqHYfrmBvFQ+D5dZZKDDYP2rf3YEoXlEVt8T8lWQueTTSxcq6yXAqL/XQL/iqqUHlLcHw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-4.0.0.tgz", + "integrity": "sha512-Zs0wJd4nRvBo/9NWQVfWg5Ykapbo0Zzw/SyZc3f0h73S1gTZZcfeU+bA5oDivlBdcUgLBsyHRE0QaoaVvN3/Wg==", "dev": true, "dependencies": { - "@types/mdast": "^3.0.0", - "unified": "^10.0.0", - "unified-lint-rule": "^2.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-phrasing": "^4.0.0", + "quotation": "^2.0.0", + "unified-lint-rule": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/unified-lint-rule": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz", + "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "trough": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint-fenced-code-flag/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", @@ -4377,19 +4467,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-heading-increment/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-heading-increment/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -4515,32 +4592,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-heading-style/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-heading-style/node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-heading-style/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -4664,19 +4715,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-no-shell-dollars/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-no-shell-dollars/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -4868,32 +4906,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-ordered-list-marker-style/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -5020,32 +5032,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-ordered-list-marker-value/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -5133,32 +5119,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-visit": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", @@ -5256,32 +5216,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-lint-unordered-list-marker-style/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -6571,19 +6505,6 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, - "node_modules/unified-message-control/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unified-message-control/node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -6684,16 +6605,6 @@ "integrity": "sha512-nFT3frbsvTa9rrc71FJApPqXF8oIhVHbX3IWgObQi1mF7WrW48Ys70daL7o4evZUtmUf6Qn6WK0LbHhyO0hpXw==", "dev": true }, - "node_modules/unist-util-generated": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", - "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unist-util-inspect": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-8.0.0.tgz", @@ -6714,31 +6625,43 @@ "dev": true }, "node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, "node_modules/unist-util-position": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", - "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-position/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, "node_modules/unist-util-remove-position": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", @@ -6759,19 +6682,6 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, - "node_modules/unist-util-remove-position/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unist-util-remove-position/node_modules/unist-util-visit": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", @@ -6814,21 +6724,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unist-util-visit-parents": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", @@ -6853,20 +6748,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index 9968be0407f..4cac7d5fe95 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "remark-cli": "^12.0.0", "remark-frontmatter": "^5.0.0", "remark-lint": "^10.0.0", - "remark-lint-fenced-code-flag": "^3.1.2", + "remark-lint-fenced-code-flag": "^4.0.0", "remark-lint-heading-increment": "^4.0.0", "remark-lint-heading-style": "^4.0.0", "remark-lint-no-shell-dollars": "^4.0.0", From 614efbeaf1ce7d53a7cf6ae833d359a694e27371 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Fri, 12 Apr 2024 10:09:15 +0200 Subject: [PATCH 051/123] Glossary: add Home Assistant Container (#32285) * Glossary: add Home Assistant Container * Update source/_data/glossary.yml --- source/_data/glossary.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index 445fe1e2893..4675e61d749 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -194,6 +194,10 @@ definition: >- Another name for Home Assistant Operating System link: /hassio/installation/ +- term: Home Assistant Container + definition: >- + Home Assistant Container is a standalone container-based installation of Home Assistant Core. Any [OCI](https://opencontainers.org/) compatible runtime can be used, but the documentation focus is on Docker. + link: /installation/#advanced-installation-methods - term: Home Assistant Core definition: >- Home Assistant Core is a Python program. It can be run on various operating From 3eda1db689df3f3b182eec871988f48506c6c207 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Fri, 12 Apr 2024 11:56:02 +0200 Subject: [PATCH 052/123] Installation methods: add glossary references (#32287) * Installtion methods: add glossary references * Update source/_docs/blueprint/selectors.markdown --- source/_docs/blueprint/selectors.markdown | 2 +- source/_docs/configuration.markdown | 6 +++--- source/_docs/configuration/secrets.markdown | 2 +- source/_docs/configuration/yaml.markdown | 4 ++-- source/_docs/locked_out.md | 2 +- source/_docs/troubleshooting_general.markdown | 2 +- source/_docs/z-wave/controllers.markdown | 4 ++-- source/_includes/common-tasks/commandline.md | 6 +++--- source/_includes/common-tasks/data_disk.md | 4 ++-- source/_includes/common-tasks/enable_i2c.md | 6 +++--- source/_includes/common-tasks/flashing_m1s_otg.md | 2 +- source/_includes/common-tasks/network_storage.md | 2 +- source/_includes/installation/container.md | 2 +- source/_includes/installation/core.md | 4 ++-- source/_includes/installation/operating_system.md | 14 +++++++------- source/_includes/installation/supervised.md | 2 +- source/_integrations/zwave_js.markdown | 6 +++--- 17 files changed, 35 insertions(+), 35 deletions(-) diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index 451d07d518e..fb7419dc58e 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -271,7 +271,7 @@ assist_pipeline: ## Backup location selector This can only be used on an installation with a Supervisor (Operating System or -Supervised). For installations of type Home Assistant Core or Container, an error +Supervised). For installations of type {% term "Home Assistant Core" %} or {% term "Home Assistant Container" %}, an error will be displayed. The backup location selector shows a list of places a backup could go, depending diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 3db8f2d662a..2dd787cdb24 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -20,11 +20,11 @@ The path to your configuration directory can be found in the Home Assistant {% t Right under the version you are running, you will find what path Home Assistant has loaded the configuration from. ![Screenshot showing the top of the system information panel](/images/screenshots/System_information.png) -_If you use Home Assistant Container, you can find `configuration.yaml` in the config folder that you mounted in your container._ +_If you use {% term "Home Assistant Container" %}, you can find `configuration.yaml` in the config folder that you mounted in your container._ -_If you use Home Assistant Operating System, you can find `configuration.yaml` in the `/config` folder of the installation._ +_If you use {% term "Home Assistant Operating System" %}, you can find `configuration.yaml` in the `/config` folder of the installation._ -_If you use Home Assistant Core, you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeassistant`)._ +_If you use {% term "Home Assistant Core" %} , you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeassistant`)._ ## Reloading changes diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index df67cfd8430..ea30432c3af 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -42,7 +42,7 @@ When you start splitting your configuration into multiple files, you might end u - A `secrets.yaml` located in the same folder as the YAML file referencing the secret, - next, parent folders will be searched for a `secrets.yaml` file with the secret, stopping at the folder with the main `configuration.yaml`. -To see where secrets are being loaded from, you can either add an option to your `secrets.yaml` file or use the `check_config` script. The latter is only available for Home Assistant Core installations given it's available through [`hass`](/docs/tools/hass/). +To see where secrets are being loaded from, you can either add an option to your `secrets.yaml` file or use the `check_config` script. The latter is only available for {% term "Home Assistant Core" %} installations given it's available through [`hass`](/docs/tools/hass/). *Option 1*: Print where secrets are retrieved from to the Home Assistant log by adding the following to `secrets.yaml`: diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 6cd47527289..b59f31dd0c5 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -65,8 +65,8 @@ sensor: ### Environment variables -On Home Assistant Core installations, you can include values from your system's environment variables with `!env_var`. -Note that this will only work for Home Assistant Core installations, in a scenario where it is possible to specify these. +On {% term "Home Assistant Core" %} installations, you can include values from your system's environment variables with `!env_var`. +Note that this will only work for {% term "Home Assistant Core" %} installations, in a scenario where it is possible to specify these. Regular Home Assistant users are recommended to use `!include` statements instead. ```yaml diff --git a/source/_docs/locked_out.md b/source/_docs/locked_out.md index c1ab8a22767..1615df455a7 100644 --- a/source/_docs/locked_out.md +++ b/source/_docs/locked_out.md @@ -9,7 +9,7 @@ or need to recover your data. ## Forgot user name If you’ve forgotten your username, ask the owner to help you. -If you are using the Home Assistant Operating System and have access to the Home Assistant server, you can connect a terminal and enter the `auth list` command. This command lists all users that are registered on your Home Assistant. +If you are using the {% term "Home Assistant Operating System" %} and have access to the Home Assistant server, you can connect a terminal and enter the `auth list` command. This command lists all users that are registered on your Home Assistant. ## Forgot password diff --git a/source/_docs/troubleshooting_general.markdown b/source/_docs/troubleshooting_general.markdown index e50d69b8245..da987e2d24e 100644 --- a/source/_docs/troubleshooting_general.markdown +++ b/source/_docs/troubleshooting_general.markdown @@ -23,7 +23,7 @@ Recovery mode loads a minimum set of integrations to allow troubleshooting the c You need to identify the issue in the configuration files and fix it there. The issue could be caused by something as simple as an invalid YAML file. -- If you are running Home Assistant Operating System, you can install an add-on such as VS code to edit the configuration file if needed. +- If you are running {% term "Home Assistant Operating System" %}, you can install an add-on such as VS code to edit the configuration file if needed. - If you are still logged in, you can [edit your configuration](/docs/configuration/#editing-configurationyaml). - In the Home Assistant user interface, open the add-on you usually use and edit the configuration file. - Restart Home Assistant. diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 6f38d7184ba..ae48a60a876 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -89,8 +89,8 @@ On Raspberry Pi 3 and 4, you need to disable the on-board Bluetooth since the bo For both processes below you will need to insert your SD card into your PC and open the configuration file with your favorite text editor. -- If you are using Home Assistant Operating System, once you mounted the disk, you will see the `config.txt` directly in the root directory. -- If you are using Home Assistant Supervised, the config file is stored in the boot folder: `/boot/config.txt`. +- If you are using {% term "Home Assistant Operating System" %}, once you mounted the disk, you will see the `config.txt` directly in the root directory. +- If you are using {% term "Home Assistant Supervised" %}, the config file is stored in the boot folder: `/boot/config.txt`. #### Raspberry Pi 5 procedure diff --git a/source/_includes/common-tasks/commandline.md b/source/_includes/common-tasks/commandline.md index e031e13872d..8505c66f962 100644 --- a/source/_includes/common-tasks/commandline.md +++ b/source/_includes/common-tasks/commandline.md @@ -98,11 +98,11 @@ Use "ha [command] --help" for more information about a command. ### Console access -You can also access the Home Assistant Operating System via a directly connected keyboard and monitor, the console. +You can also access the {% term "Home Assistant Operating System" %} via a directly connected keyboard and monitor, the console. #### Wiping the data disk wipe from the command line -In Home Assistant Operating System, the `ha os datadisk wipe` command wipes the data disk. The command deletes all user data as well as Home Assistant Core, Supervisor, and any installed add-ons. +In {% term "Home Assistant Operating System" %}, the `ha os datadisk wipe` command wipes the data disk. The command deletes all user data as well as Home Assistant Core, Supervisor, and any installed add-ons. The command `ha os datadisk wipe` marks the data partition (either internal on the eMMC or the SD card, or on an external attached data disk) as to be cleared on the next reboot. The command automatically reboots the system. Upon reboot, the data is cleared. Then the system continues to boot and reinstalls the latest version of all Home Assistant components. @@ -112,7 +112,7 @@ Note, if you have a Home Assistant Yellow, there is a red hardware button to wip #### Listing all users from the command line -In Home Assistant Operating System, the `ha auth list` command lists all users that are registered on your Home Assistant. +In {% term "Home Assistant Operating System" %}, the `ha auth list` command lists all users that are registered on your Home Assistant. The `ha auth list` command can only be run from the local terminal. Connect a display and keyboard and use the terminal. diff --git a/source/_includes/common-tasks/data_disk.md b/source/_includes/common-tasks/data_disk.md index 92712bf5143..ece2e5c7dce 100644 --- a/source/_includes/common-tasks/data_disk.md +++ b/source/_includes/common-tasks/data_disk.md @@ -1,6 +1,6 @@ ## Using external data disk -Home Assistant Operating System supports storing most data on an external storage medium, such as an USB attached SSD or HDD. This data disk contains not only user data but also most of the Home Assistant software as well (Core, Supervisor, etc.). This means a fast data disk will make the system overall much faster. +{% term "Home Assistant Operating System" %} supports storing most data on an external storage medium, such as an USB attached SSD or HDD. This data disk contains not only user data but also most of the Home Assistant software as well (Core, Supervisor, etc.). This means a fast data disk will make the system overall much faster. ![Graphics showing the architecture of the data disk feature](/images/haos/usb-data-disk.png) @@ -20,7 +20,7 @@ The data disk feature can be used on an existing installation without losing dat
- If you have been using a data disk previously with Home Assistant Operating System, you need to use your host computer to delete all partitions *before* using it as a data disk again. + If you have been using a data disk previously with {% term "Home Assistant Operating System" %}, you need to use your host computer to delete all partitions *before* using it as a data disk again.
diff --git a/source/_includes/common-tasks/enable_i2c.md b/source/_includes/common-tasks/enable_i2c.md index 27877fd75f6..8e89d4b89cd 100644 --- a/source/_includes/common-tasks/enable_i2c.md +++ b/source/_includes/common-tasks/enable_i2c.md @@ -1,6 +1,6 @@ ## Enable I2C -Home Assistant using the Home Assistant Operating System which is a managed environment, which means you can't use existing methods to enable the I2C bus on a Raspberry Pi. In order to use I2C devices you will have to +Home Assistant using the {% term "Home Assistant Operating System" %} which is a managed environment, which means you can't use existing methods to enable the I2C bus on a Raspberry Pi. In order to use I2C devices you will have to - Enable I2C for the Home Assistant Operating System - Setup I2C devices e.g. sensors @@ -10,7 +10,7 @@ Home Assistant using the Home Assistant Operating System which is a managed envi You will need: - SD card reader -- SD card with Home Assistant Operating System flashed on it +- SD card with {% term "Home Assistant Operating System" %} flashed on it Shutdown/turn-off your Home Assistant installation and unplug the SD card. Plug the SD card into an SD card reader and find a drive/file system named @@ -43,7 +43,7 @@ and make sure the first partition is available. ### Enable I2C via Home Assistant Operating System Terminal -Alternatively, by attaching a keyboard and screen to your device, you can access the physical terminal to the Home Assistant Operating System. +Alternatively, by attaching a keyboard and screen to your device, you can access the physical terminal to the {% term "Home Assistant Operating System" %}. You can enable I2C via this terminal: diff --git a/source/_includes/common-tasks/flashing_m1s_otg.md b/source/_includes/common-tasks/flashing_m1s_otg.md index 132a4bb2667..abefeba173b 100644 --- a/source/_includes/common-tasks/flashing_m1s_otg.md +++ b/source/_includes/common-tasks/flashing_m1s_otg.md @@ -2,7 +2,7 @@ Home Assistant can be flashed to an ODROID-M1S by connecting the device directly to your computer via the USB-OTG connection on the front of the board. Unlike other ODROID boards, the M1S does not have a socket for an optional eMMC module. It also does not have a separate flash chip that holds a dedicated bootloader. -Instead, the M1S has a build-in 64GB eMMC soldered directly on the board that holds a bootloader by default. This guide will show you how to install the Home Assistant Operating System to the built-in eMMC. +Instead, the M1S has a build-in 64GB eMMC soldered directly on the board that holds a bootloader by default. This guide will show you how to install the {% term "Home Assistant Operating System" %} to the built-in eMMC. **Warning: Installing Home Assistant OS replaces the firmware and SPL on the eMMC with the mainline version provided by the Home Assistant OS. As a result, it is not possible to use the SD card with the EMMC2UMS image anymore, because the mainline SPL is not compatible with U-Boot in the EMMC2UMS image at this time (February 2024). This does not pose any problem for standard use, just makes it more complicated in case you want to return to the Hardkernel-provided OS (see [HK Recovery](#hk-recovery)).** diff --git a/source/_includes/common-tasks/network_storage.md b/source/_includes/common-tasks/network_storage.md index 00cf377105e..540e8baa891 100644 --- a/source/_includes/common-tasks/network_storage.md +++ b/source/_includes/common-tasks/network_storage.md @@ -13,7 +13,7 @@ To list all your currently connected network storages, go to **{% my storage tit
- You need to make sure you run a supported Home Assistant Supervised installation with the latest version of the [os-agent](https://github.com/home-assistant/os-agent). Make sure that your supervisor uses [slave bind propagation](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) for the data volume. + You need to make sure you run a supported {% term "Home Assistant Supervised" %} installation with the latest version of the [os-agent](https://github.com/home-assistant/os-agent). Make sure that your supervisor uses [slave bind propagation](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) for the data volume.
diff --git a/source/_includes/installation/container.md b/source/_includes/installation/container.md index 8d73f43d35f..6dbf16734af 100644 --- a/source/_includes/installation/container.md +++ b/source/_includes/installation/container.md @@ -1,7 +1,7 @@ ## Install Home Assistant Container {% if page.installation_type != 'alternative' %} -These below instructions are for an installation of Home Assistant Container running in your own container environment, which you manage yourself. Any [OCI](https://opencontainers.org/) compatible runtime can be used, however this guide will focus on installing it with Docker. +These below instructions are for an installation of {% term "Home Assistant Container" %} running in your own container environment, which you manage yourself. Any [OCI](https://opencontainers.org/) compatible runtime can be used, however this guide will focus on installing it with Docker.
Prerequisites diff --git a/source/_includes/installation/core.md b/source/_includes/installation/core.md index 045241c23f8..7e06ce3b64c 100644 --- a/source/_includes/installation/core.md +++ b/source/_includes/installation/core.md @@ -3,9 +3,9 @@ {% if page.installation_type == 'windows' %} ### Install WSL -To install Home Assistant Core on Windows, you will need to use the Windows Subsystem for Linux (WSL). Follow the [WSL installation instructions](https://docs.microsoft.com/windows/wsl/install-win10) and install Ubuntu from the Windows Store. +To install {% term "Home Assistant Core" %} on Windows, you will need to use the Windows Subsystem for Linux (WSL). Follow the [WSL installation instructions](https://docs.microsoft.com/windows/wsl/install-win10) and install Ubuntu from the Windows Store. -As an alternative, Home Assistant OS can be installed in a Linux guest VM. Running Home Assistant Core directly on Windows is not supported. +As an alternative, Home Assistant OS can be installed in a Linux guest VM. Running {% term "Home Assistant Core" %} directly on Windows is not supported. {% endif %}
diff --git a/source/_includes/installation/operating_system.md b/source/_includes/installation/operating_system.md index 99d8a7bddca..53503a6e9c0 100644 --- a/source/_includes/installation/operating_system.md +++ b/source/_includes/installation/operating_system.md @@ -46,7 +46,7 @@ Variants without pre-installed Home Assistant:
Prerequisites -This guide assumes that you have a dedicated {{ site.installation.types[page.installation_type].board }} PC to exclusively run the Home Assistant Operating System. +This guide assumes that you have a dedicated {{ site.installation.types[page.installation_type].board }} PC to exclusively run the {% term "Home Assistant Operating System" %}. - This is typically an Intel or AMD-based system. - The system must be 64-bit capable and be able to boot using UEFI. @@ -55,7 +55,7 @@ This guide assumes that you have a dedicated {{ site.installation.types[page.ins Summary 1. First, you will need to configure your {{ site.installation.types[page.installation_type].board }} PC to use UEFI boot mode. -2. Then, write the Home Assistant Operating System disk image to your boot medium. +2. Then, write the {% term "Home Assistant Operating System" %} disk image to your boot medium.
@@ -88,7 +88,7 @@ Typically, an internal medium like S-ATA hard disk, S-ATA SSD, M.2 SSD, or a non To write the HAOS image to the boot medium on your x86-64 hardware, there are 2 different methods: - **Method 1 (recommended)**: Boot Ubuntu from a USB flash drive and install the Home Assistant Operating System from there. It also works on laptops and PCs with internal hard disks. + **Method 1 (recommended)**: Boot Ubuntu from a USB flash drive and install the {% term "Home Assistant Operating System" %} from there. It also works on laptops and PCs with internal hard disks. **Method 2**: With this method, you write the Home Assistant Operating disk image directly onto a boot medium from your regular computer. The steps are a bit more complex. If you have non-removable internal mediums (for example because you are using a laptop) or do not have the necessary adapter (for example an USB to S-ATA adapter) use method 1 instead. @@ -97,13 +97,13 @@ To write the HAOS image to the boot medium on your x86-64 hardware, there are 2 #### Required material - Computer -- The target x86-64 hardware, on which you want to install the Home Assistant Operating System (HAOS) +- The target x86-64 hardware, on which you want to install the {% term "Home Assistant Operating System" %} (HAOS) - USB flash drive (USB thumb drive is sufficient, it should be at least 4 GB in size) - Internet connection #### To install HAOS via Ubuntu from a USB flash drive -1. **Notice**: This procedure will write the Home Assistant Operating System onto your device. +1. **Notice**: This procedure will write the {% term "Home Assistant Operating System" %} onto your device. - This means you will lose all the data as well as the previously installed operating system. - Back up your data before carrying out this procedure. 2. Create a *live operating system* on a USB flash drive: @@ -145,7 +145,7 @@ Use this method only if Method 1 does not work for you. #### Required material - Computer -- The target x86-64 hardware, on which you want to install the Home Assistant Operating System (HAOS) +- The target x86-64 hardware, on which you want to install the {% term "Home Assistant Operating System" %} (HAOS) - Boot medium - Internet connection @@ -157,7 +157,7 @@ Use this method only if Method 1 does not work for you. {% endif %} -1. **Notice**: This procedure will write the Home Assistant Operating System onto your device. +1. **Notice**: This procedure will write the {% term "Home Assistant Operating System" %} onto your device. - This means you will lose all the data as well as the previously installed operating system. - Back up your data before continuing with the next step. 2. Attach the Home Assistant boot medium ({{site.installation.types[page.installation_type].installation_media}}) to your computer. diff --git a/source/_includes/installation/supervised.md b/source/_includes/installation/supervised.md index decb6cde869..c3806b199c7 100644 --- a/source/_includes/installation/supervised.md +++ b/source/_includes/installation/supervised.md @@ -14,6 +14,6 @@ Unless you really need this installation type, you should install Home Assistant supported). So, make sure you understand the requirements from step 1 above. 3. Then head over to
home-assistant/supervised-installer to set it up. -Once the Home Assistant Supervised installation is running and Home Assistant is accessible you can continue with onboarding. +Once the {% term "Home Assistant Supervised" %} installation is running and Home Assistant is accessible you can continue with onboarding. {% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %} diff --git a/source/_integrations/zwave_js.markdown b/source/_integrations/zwave_js.markdown index 9e8e9e6f046..307c8723d89 100644 --- a/source/_integrations/zwave_js.markdown +++ b/source/_integrations/zwave_js.markdown @@ -59,7 +59,7 @@ To run a Z-Wave network, you need the following elements: ### Setting up a Z-Wave JS server -If you are running Home Assistant Operating System or Home Assistant Supervised, the easiest way to get started is by using the built-in Z-Wave JS add-on in Home Assistant. +If you are running {% term "Home Assistant Operating System" %} or {% term "Home Assistant Supervised" %}, the easiest way to get started is by using the built-in Z-Wave JS add-on in Home Assistant. For other ways to setup a Z-Wave server, refer to the [advanced installation instructions](#advanced-installation-instructions). @@ -726,13 +726,13 @@ The chart below illustrates Options 1 and 2, which are available for Home Assist **Option 1: The official Z-Wave JS add-on, as described above** -_This option is only available for Home Assistant OS (the recommended installation type) and Home Assistant Supervised installations._ +_This option is only available for {% term "Home Assistant Operating System" %} (the recommended installation type) and {% term "Home Assistant Supervised" %} installations._ This add-on can only be configured via the built-in Z-Wave control panel in Home Assistant. If you followed the standard [installation procedure](#setting-up-a-z-wave-js-server), this is how you are running the Z-Wave JS server. **Option 2: The Z-Wave JS UI add-on installed from the community add-on store** -_This option is only available for Home Assistant OS (the recommended installation type) and Home Assistant Supervised installations._ +_This option is only available for {% term "Home Assistant Operating System" %} (the recommended installation type) and {% term "Home Assistant Supervised" %} installations._ This add-on includes the Z-Wave JS Server as part of the Z-Wave JS UI application. The Z-Wave network can be configured via the built-in Z-Wave control panel in Home Assistant and alternatively via the Z-Wave control panel built into Z-Wave JS UI. It provides you with a full-fledged, attractive, and feature-complete UI to manage your Z-Wave nodes and settings, which may support more advanced use cases as development continues on the Z-Wave control panel. From 49d7ee59b89500e13f26f2a8e560b1eea82d2a82 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:22:19 +0200 Subject: [PATCH 053/123] Term Home Assistant Core: fix typo (#32288) --- source/_data/glossary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index 4675e61d749..f770201598e 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -207,7 +207,7 @@ Core does not use the Home Assistant Supervisor. link: /installation/#advanced-installation-methods excerpt: > - Home Assistant Core is the hart of Home Assistant itself. It is a Python + Home Assistant Core is the heart of Home Assistant itself. It is a Python program that powers every installation type, but can be installed standalone. - term: Home Assistant Supervised definition: >- From e1d1ce43836a921cb4d1cb924103e7b80be077d8 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 12 Apr 2024 13:22:55 +0200 Subject: [PATCH 054/123] 2024.4.3 (#32289) --- _config.yml | 4 +- .../_posts/2024-04-03-release-20244.markdown | 64 +++++++++++++++++++ source/changelogs/core-2024.4.markdown | 63 ++++++++++++++++++ 3 files changed, 129 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 2646a68e11a..91d74c3e529 100644 --- a/_config.yml +++ b/_config.yml @@ -110,8 +110,8 @@ social: # Home Assistant release details current_major_version: 2024 current_minor_version: 4 -current_patch_version: 2 -date_released: 2024-04-08 +current_patch_version: 3 +date_released: 2024-04-12 # 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/2024-04-03-release-20244.markdown b/source/_posts/2024-04-03-release-20244.markdown index 0bd6f012e4d..82d63300ceb 100644 --- a/source/_posts/2024-04-03-release-20244.markdown +++ b/source/_posts/2024-04-03-release-20244.markdown @@ -57,6 +57,7 @@ Enjoy the release! 🌞 - [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) - [Release 2024.4.1 - April 5](#release-202441---april-5) - [Release 2024.4.2 - April 8](#release-202442---april-8) +- [Release 2024.4.3 - April 12](#release-202443---april-12) - [Need help? Join the community!](#need-help-join-the-community) - [Backward-incompatible changes](#backward-incompatible-changes) - [Farewell to the following](#farewell-to-the-following) @@ -656,6 +657,69 @@ The following integrations are now available via the Home Assistant UI: [@oyvindwe]: https://github.com/oyvindwe [@rappenze]: https://github.com/rappenze +## Release 2024.4.3 - April 12 + +- Bump aiohttp to 3.9.4 ([@bdraco] - [#110730]) +- Add support for adopt data disk repair ([@mdegat01] - [#114891]) +- Improve Risco exception logging ([@OnFreund] - [#115232]) +- Configurable maximum concurrency in Risco local ([@OnFreund] - [#115226]) +- Fix misssing timeout in caldav ([@bdraco] - [#115247]) +- Fix Google Tasks parsing of remove responses ([@allenporter] - [#115258]) +- Bump forecast-solar lib to v3.1.0 ([@klaasnicolaas] - [#115272]) +- Support backup of add-ons with hyphens ([@agners] - [#115274]) +- Bump pymodbus v3.6.7 ([@janiversen] - [#115279]) +- Bump yt-dlp to 2024.04.09 ([@joostlek] - [#115295]) +- Fix Aranet failure when the Bluetooth proxy is not providing a device name ([@thecode] - [#115298]) +- Bump zha-quirks to 0.0.114 ([@TheJulianJES] - [#115299]) +- Ensure automations do not execute from a trigger if they are disabled ([@bdraco] - [#115305]) +- Bump bleak-retry-connector 3.5.0 ([@bdraco] - [#115328]) +- Secure against resetting a non active modbus ([@janiversen] - [#115364]) +- Solve modbus test problem ([@janiversen] - [#115376]) +- Fix deadlock in holidays dynamic loading ([@bdraco] - [#115385]) +- Bump whirlpool-sixth-sense to 0.18.8 ([@NodeJSmith] - [#115393]) +- Fix bug in rainbird switch when turning off a switch that is already off ([@allenporter] - [#115421]) +- Bump pybotvac to 0.0.25 ([@Santobert] - [#115435]) +- Update frontend to 20240404.2 ([@bramkragten] - [#115460]) + +[#110730]: https://github.com/home-assistant/core/pull/110730 +[#114764]: https://github.com/home-assistant/core/pull/114764 +[#114891]: https://github.com/home-assistant/core/pull/114891 +[#114934]: https://github.com/home-assistant/core/pull/114934 +[#115186]: https://github.com/home-assistant/core/pull/115186 +[#115226]: https://github.com/home-assistant/core/pull/115226 +[#115232]: https://github.com/home-assistant/core/pull/115232 +[#115247]: https://github.com/home-assistant/core/pull/115247 +[#115258]: https://github.com/home-assistant/core/pull/115258 +[#115272]: https://github.com/home-assistant/core/pull/115272 +[#115274]: https://github.com/home-assistant/core/pull/115274 +[#115279]: https://github.com/home-assistant/core/pull/115279 +[#115295]: https://github.com/home-assistant/core/pull/115295 +[#115298]: https://github.com/home-assistant/core/pull/115298 +[#115299]: https://github.com/home-assistant/core/pull/115299 +[#115305]: https://github.com/home-assistant/core/pull/115305 +[#115328]: https://github.com/home-assistant/core/pull/115328 +[#115364]: https://github.com/home-assistant/core/pull/115364 +[#115376]: https://github.com/home-assistant/core/pull/115376 +[#115385]: https://github.com/home-assistant/core/pull/115385 +[#115393]: https://github.com/home-assistant/core/pull/115393 +[#115421]: https://github.com/home-assistant/core/pull/115421 +[#115435]: https://github.com/home-assistant/core/pull/115435 +[#115460]: https://github.com/home-assistant/core/pull/115460 +[@NodeJSmith]: https://github.com/NodeJSmith +[@OnFreund]: https://github.com/OnFreund +[@Santobert]: https://github.com/Santobert +[@TheJulianJES]: https://github.com/TheJulianJES +[@agners]: https://github.com/agners +[@allenporter]: https://github.com/allenporter +[@bdraco]: https://github.com/bdraco +[@bramkragten]: https://github.com/bramkragten +[@frenck]: https://github.com/frenck +[@janiversen]: https://github.com/janiversen +[@joostlek]: https://github.com/joostlek +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@mdegat01]: https://github.com/mdegat01 +[@thecode]: https://github.com/thecode + ## Need help? Join the community! Home Assistant has a great community of users who are all more than willing diff --git a/source/changelogs/core-2024.4.markdown b/source/changelogs/core-2024.4.markdown index f246bc2e7f8..a18fc90762e 100644 --- a/source/changelogs/core-2024.4.markdown +++ b/source/changelogs/core-2024.4.markdown @@ -1645,6 +1645,69 @@ For a summary in a more readable format: [@oyvindwe]: https://github.com/oyvindwe [@rappenze]: https://github.com/rappenze +## Release 2024.4.3 - April 12 + +- Bump aiohttp to 3.9.4 ([@bdraco] - [#110730]) +- Add support for adopt data disk repair ([@mdegat01] - [#114891]) +- Improve Risco exception logging ([@OnFreund] - [#115232]) +- Configurable maximum concurrency in Risco local ([@OnFreund] - [#115226]) +- Fix misssing timeout in caldav ([@bdraco] - [#115247]) +- Fix Google Tasks parsing of remove responses ([@allenporter] - [#115258]) +- Bump forecast-solar lib to v3.1.0 ([@klaasnicolaas] - [#115272]) +- Support backup of add-ons with hyphens ([@agners] - [#115274]) +- Bump pymodbus v3.6.7 ([@janiversen] - [#115279]) +- Bump yt-dlp to 2024.04.09 ([@joostlek] - [#115295]) +- Fix Aranet failure when the Bluetooth proxy is not providing a device name ([@thecode] - [#115298]) +- Bump zha-quirks to 0.0.114 ([@TheJulianJES] - [#115299]) +- Ensure automations do not execute from a trigger if they are disabled ([@bdraco] - [#115305]) +- Bump bleak-retry-connector 3.5.0 ([@bdraco] - [#115328]) +- Secure against resetting a non active modbus ([@janiversen] - [#115364]) +- Solve modbus test problem ([@janiversen] - [#115376]) +- Fix deadlock in holidays dynamic loading ([@bdraco] - [#115385]) +- Bump whirlpool-sixth-sense to 0.18.8 ([@NodeJSmith] - [#115393]) +- Fix bug in rainbird switch when turning off a switch that is already off ([@allenporter] - [#115421]) +- Bump pybotvac to 0.0.25 ([@Santobert] - [#115435]) +- Update frontend to 20240404.2 ([@bramkragten] - [#115460]) + +[#110730]: https://github.com/home-assistant/core/pull/110730 +[#114764]: https://github.com/home-assistant/core/pull/114764 +[#114891]: https://github.com/home-assistant/core/pull/114891 +[#114934]: https://github.com/home-assistant/core/pull/114934 +[#115186]: https://github.com/home-assistant/core/pull/115186 +[#115226]: https://github.com/home-assistant/core/pull/115226 +[#115232]: https://github.com/home-assistant/core/pull/115232 +[#115247]: https://github.com/home-assistant/core/pull/115247 +[#115258]: https://github.com/home-assistant/core/pull/115258 +[#115272]: https://github.com/home-assistant/core/pull/115272 +[#115274]: https://github.com/home-assistant/core/pull/115274 +[#115279]: https://github.com/home-assistant/core/pull/115279 +[#115295]: https://github.com/home-assistant/core/pull/115295 +[#115298]: https://github.com/home-assistant/core/pull/115298 +[#115299]: https://github.com/home-assistant/core/pull/115299 +[#115305]: https://github.com/home-assistant/core/pull/115305 +[#115328]: https://github.com/home-assistant/core/pull/115328 +[#115364]: https://github.com/home-assistant/core/pull/115364 +[#115376]: https://github.com/home-assistant/core/pull/115376 +[#115385]: https://github.com/home-assistant/core/pull/115385 +[#115393]: https://github.com/home-assistant/core/pull/115393 +[#115421]: https://github.com/home-assistant/core/pull/115421 +[#115435]: https://github.com/home-assistant/core/pull/115435 +[#115460]: https://github.com/home-assistant/core/pull/115460 +[@NodeJSmith]: https://github.com/NodeJSmith +[@OnFreund]: https://github.com/OnFreund +[@Santobert]: https://github.com/Santobert +[@TheJulianJES]: https://github.com/TheJulianJES +[@agners]: https://github.com/agners +[@allenporter]: https://github.com/allenporter +[@bdraco]: https://github.com/bdraco +[@bramkragten]: https://github.com/bramkragten +[@frenck]: https://github.com/frenck +[@janiversen]: https://github.com/janiversen +[@joostlek]: https://github.com/joostlek +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@mdegat01]: https://github.com/mdegat01 +[@thecode]: https://github.com/thecode + [#100055]: https://github.com/home-assistant/core/pull/100055 [#102333]: https://github.com/home-assistant/core/pull/102333 [#102884]: https://github.com/home-assistant/core/pull/102884 From 51ffd840005c0a8d53a5fa3bbd0ad75cedaebad6 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:09:39 +0200 Subject: [PATCH 055/123] Glossary: update definitions of installation methods (#32291) * Glossary: update definitions of installation methods * Fix typo * Apply suggestions from code review Co-authored-by: Stefan Agner * Apply suggestions from code review Co-authored-by: Stefan Agner * Fix wordwrap * Fix formatting --------- Co-authored-by: Stefan Agner --- source/_data/glossary.yml | 445 +++++++++++++++++++++++++------------- 1 file changed, 293 insertions(+), 152 deletions(-) diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index f770201598e..4b0ed4611a5 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -3,20 +3,30 @@ # Format is a list of terms, each term is a dictionary with the following keys: # - term: The term to define (required) # - definition: The definition of the term (required) -# - excerpt: Short excerpt of the definition, overrides definition for tooltips (optional) +# - excerpt: Short excerpt of the definition, overrides definition for tooltips +# (optional) # - link: A URL to link to for more information (optional) # - aliases: A list of aliases for the term (optional) # - term: Action definition: |- - Actions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. - Actions use service calls and/or scenes to interact with entities and cause these entities to do something. Actions can also include conditions and a delay. An action can call multiple services at the same time. For example, if your presence is detected in a room, an action may call one service to turn on a light and call another service to start playing music after a delay. - Actions are also used on the dashboard, for example as tap or hold action on a UI element. When triggered, the action calls a service. + Actions are used in several places in Home Assistant. As part of a script or + automation, actions define what is going to happen once a trigger is + activated. In scripts, an action is called *sequence*. Actions use service + calls and/or scenes to interact with entities and cause these entities to do + something. Actions can also include conditions and a delay. An action can + call multiple services at the same time. For example, if your presence is + detected in a room, an action may call one service to turn on a light and + call another service to start playing music after a delay. Actions are also + used on the dashboard, for example as tap or hold action on a UI element. + When triggered, the action calls a service. aliases: - actions link: /docs/automation/action/ excerpt: > - Actions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. + Actions are used in several places in Home Assistant. As part of a script or + automation, actions define what is going to happen once a trigger is + activated. In scripts, an action is called *sequence*. - term: Add-on definition: >- Add-ons are additional standalone third-party software packages that can be @@ -28,23 +38,29 @@ installed on Home Assistant OS. - term: Area definition: >- - An area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the `living room` area groups devices and entities in your living room. Areas allow you to target service calls at an entire group of devices. For example, turning off all the lights in the living room. - Locations within your home such as living room, dance floor, etc. - Areas can be assigned to floors. - Areas can also be used for automatically - generated cards, such as the [Area card](/dashboards/area/). + An area in Home Assistant is a logical grouping of devices and entities that + are meant to match areas (or rooms) in the physical world: your home. For + example, the `living room` area groups devices and entities in your living + room. Areas allow you to target service calls at an entire group of devices. + For example, turning off all the lights in the living room. Locations within + your home such as living room, dance floor, etc. Areas can be assigned to + floors. Areas can also be used for automatically generated cards, such as + the [Area card](/dashboards/area/). excerpt: >- - An area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the `living room` area groups devices and entities in your living room. + An area in Home Assistant is a logical grouping of devices and entities that + are meant to match areas (or rooms) in the physical world: your home. For + example, the `living room` area groups devices and entities in your living + room. aliases: - areas - term: Automation definition: >- - Automations connect one or more triggers to one or more actions in a - 'when trigger then do action' fashion with additional optional conditions. - For example, an automation might connect the trigger 'sunset' to the action + Automations connect one or more triggers to one or more actions in a 'when + trigger then do action' fashion with additional optional conditions. For + example, an automation might connect the trigger 'sunset' to the action 'turn the lights on' but only if the condition 'someone is home' is met. - Pre-made automations for common use-cases are available via - [the blueprints feature](/docs/automation/using_blueprints/). + Pre-made automations for common use-cases are available via [the blueprints + feature](/docs/automation/using_blueprints/). excerpt: >- Automations in Home Assistant allow you to automatically respond to things that happen in and around your home. @@ -53,14 +69,14 @@ - automations - term: Backup definition: >- - Home Assistant has built-in functionality to create files containing a copy of - your configuration. This can be used to restore your Home Assistant as well - as migrate to a new system. The backup feature is available on some installation - types. + Home Assistant has built-in functionality to create files containing a copy + of your configuration. This can be used to restore your Home Assistant as + well as migrate to a new system. The backup feature is available on some + installation types. link: /integrations/backup/ excerpt: >- - Home Assistant has built-in functionality to create files containing a copy of - your configurations. This is available on certain installation types. + Home Assistant has built-in functionality to create files containing a copy + of your configurations. This is available on certain installation types. aliases: - backups - term: Binary sensor @@ -70,54 +86,85 @@ link: /integrations/binary_sensor - term: Blueprint definition: >- - A blueprint is a script or automation configuration with certain parts marked as configurable. This allows users to create multiple scripts or automations based on the same blueprint, with each having its own configuration-specific settings. Blueprints are shared by the community on the [blueprints exchange](https://community.home-assistant.io/c/blueprints-exchange/53) in the forum. + A blueprint is a script or automation configuration with certain parts + marked as configurable. This allows users to create multiple scripts or + automations based on the same blueprint, with each having its own + configuration-specific settings. Blueprints are shared by the community on + the [blueprints + exchange](https://community.home-assistant.io/c/blueprints-exchange/53) in + the forum. link: /docs/blueprint/ excerpt: >- - A blueprint is a script or automation configuration with certain parts marked as configurable. This allows users to create multiple scripts or automations based on the same blueprint, with each having its own configuration-specific settings. + A blueprint is a script or automation configuration with certain parts + marked as configurable. This allows users to create multiple scripts or + automations based on the same blueprint, with each having its own + configuration-specific settings. aliases: - blueprints - term: Category definition: >- - A category is an organization tool that allows grouping items in a table. Like labels, categories allow grouping irrespective of the items' physical location. For example, on the automations page, you can create the categories “Notifications” or “NFC tags” to view your automations grouped or filtered. Categories are unique for each table. The automations page can have different categories than the scene, scripts, or helpers settings page. + A category is an organization tool that allows grouping items in a table. + Like labels, categories allow grouping irrespective of the items' physical + location. For example, on the automations page, you can create the + categories “Notifications” or “NFC tags” to view your automations grouped or + filtered. Categories are unique for each table. The automations page can + have different categories than the scene, scripts, or helpers settings page. aliases: - categories - term: Commissioning definition: >- - In the context of Matter devices, *commissioning* is the process of adding a device to a Matter controller. It is the equivalent of pairing a device in Zigbee or Z-Wave. Commissioning is done by scanning a QR code or entering a code manually. The code is printed on the device or its packaging. The code contains information about the device, such as its type, manufacturer, and serial number. The controller uses this information to identify the device and to download the required information to control the device. For example, the controller downloads the device's capabilities, such as the supported commands and the available attributes. The controller also downloads the device's configuration, such as the device's name and location. + In the context of Matter devices, *commissioning* is the process of adding a + device to a Matter controller. It is the equivalent of pairing a device in + Zigbee or Z-Wave. Commissioning is done by scanning a QR code or entering a + code manually. The code is printed on the device or its packaging. The code + contains information about the device, such as its type, manufacturer, and + serial number. The controller uses this information to identify the device + and to download the required information to control the device. For example, + the controller downloads the device's capabilities, such as the supported + commands and the available attributes. The controller also downloads the + device's configuration, such as the device's name and location. link: /integrations/matter/ aliases: - commission excerpt: > - In the context of Matter devices, *commissioning* is the process of adding a device to a Matter controller. It is the equivalent of pairing a device in Zigbee or Z-Wave. + In the context of Matter devices, *commissioning* is the process of adding a + device to a Matter controller. It is the equivalent of pairing a device in + Zigbee or Z-Wave. - term: Component definition: >- Better known as: Integrations. Integrations used to be known as components. - term: Condition definition: >- - Conditions are an optional part of an automation that will prevent an - action from firing if they are not met. + Conditions are an optional part of an automation that will prevent an action + from firing if they are not met. link: /docs/scripts/conditions/ aliases: - conditions - term: Cover definition: >- - Covers are devices such as blinds, garage doors, etc that can be opened - and closed and optionally set to a specific position. + Covers are devices such as blinds, garage doors, etc that can be opened and + closed and optionally set to a specific position. link: /integrations/cover - term: Customize definition: >- - Customization allows you to overwrite the default parameters of your - devices in the configuration. + Customization allows you to overwrite the default parameters of your devices + in the configuration. - term: Device definition: |- - A device is a model representing a physical or logical unit that contains entities. - **Example for a device as a physical unit** - A smart plug named 'Coffee machine' which provides 2 entities: a `switch` entity to turn power on or off ('Coffee machine power switch') and a `sensor` entity for power monitoring ('Coffee machine power sensor'). - **Example for a device as a logical unit** - An ecobee thermostat with 4 room sensors. This thermostat is seen as 5 devices in Home Assistant: 1 device for the thermostat with 4 sensors, and 1 device for each room sensor. Each device can be in a different area and may have more than one input or output within that area. - Devices have properties such as ID, manufacturer, name, model, hardware version, firmware version, connections, etc. + A device is a model representing a physical or logical unit that contains + entities. **Example for a device as a physical unit** A smart plug named + 'Coffee machine' which provides 2 entities: a `switch` entity to turn power + on or off ('Coffee machine power switch') and a `sensor` entity for power + monitoring ('Coffee machine power sensor'). **Example for a device as a + logical unit** An ecobee thermostat with 4 room sensors. This thermostat is + seen as 5 devices in Home Assistant: 1 device for the thermostat with 4 + sensors, and 1 device for each room sensor. Each device can be in a + different area and may have more than one input or output within that area. + Devices have properties such as ID, manufacturer, name, model, hardware + version, firmware version, connections, etc. excerpt: > - A device is a model representing a physical or logical unit that contains entities. + A device is a model representing a physical or logical unit that contains + entities. aliases: - devices - term: Device tracker @@ -130,35 +177,43 @@ they are discovered. - term: Domain definition: >- - Each integration in Home Assistant has a unique identifier: - a domain. All of the entities and services available in Home Assistant - are provided by integrations and thus belong to such a domain. The first - part of the entity or service, before the `.` shows the domain they belong - to. For example `light.kitchen` is an entity in the `light` domain from - the [light integration](/integrations/light), while `hue.activate_scene` - is the `activate_scene` service for the `hue` domain which belongs to - the [Hue integration](/integrations/hue). + Each integration in Home Assistant has a unique identifier: a domain. All of + the entities and services available in Home Assistant are provided by + integrations and thus belong to such a domain. The first part of the entity + or service, before the `.` shows the domain they belong to. For example + `light.kitchen` is an entity in the `light` domain from the [light + integration](/integrations/light), while `hue.activate_scene` is the + `activate_scene` service for the `hue` domain which belongs to the [Hue + integration](/integrations/hue). excerpt: > - Each integration in Home Assistant has a unique identifier: The domain. - It is often shown as the first part (before the dot) of entity IDs. + Each integration in Home Assistant has a unique identifier: The domain. It + is often shown as the first part (before the dot) of entity IDs. aliases: - domains - term: Entity definition: |- - An entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. Entities have states. - **Example for entities as part of a device** - A combined temperature and humidity sensor device provides two sensor entities. One for temperature (e.g. `sensor.temperature` with state `21.0` and unit `°C`) and one for humidity - (e.g. `sensor.humidity` with state `65.4` and unit `%`). - **Example for entities as part of a service** - A weather service that provides 3 entities: wind speed, air pressure, and ozon level. - **Example of an entity used for control** - A fan that is turned on when the temperature exceeds 30 °C. - There are standardized types of entities for common integrations such as light, switch, camera, sensor, fan, or vacuum. - Some entities are not part of a device or service. Examples of standalone entities are automation, script, scene entities, and helper entities (e.g. input helpers). - Most properties of entities are related to the state. Entities have optional attributes such as friendly name, unit of measurement, and an icon or picture that can be displayed in the frontend. + An entity represents a sensor, actor, or function in Home Assistant. + Entities are used to monitor physical properties or to control other + entities. An entity is usually part of a device or a service. Entities have + states. **Example for entities as part of a device** A combined temperature + and humidity sensor device provides two sensor entities. One for temperature + (e.g. `sensor.temperature` with state `21.0` and unit `°C`) and one for + humidity (e.g. `sensor.humidity` with state `65.4` and unit `%`). **Example + for entities as part of a service** A weather service that provides 3 + entities: wind speed, air pressure, and ozon level. **Example of an entity + used for control** A fan that is turned on when the temperature exceeds + 30 °C. There are standardized types of entities for common integrations + such as light, switch, camera, sensor, fan, or vacuum. Some entities are not + part of a device or service. Examples of standalone entities are automation, + script, scene entities, and helper entities (e.g. input helpers). Most + properties of entities are related to the state. Entities have optional + attributes such as friendly name, unit of measurement, and an icon or + picture that can be displayed in the frontend. link: /docs/configuration/state_object/ excerpt: > - An entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. + An entity represents a sensor, actor, or function in Home Assistant. + Entities are used to monitor physical properties or to control other + entities. An entity is usually part of a device or a service. aliases: - entities - term: Event @@ -169,16 +224,26 @@ - events - term: Floor definition: >- - A floor in Home Assistant is a logical grouping of areas that are meant to match the physical floors in your home. Devices & entities are not assigned to floors but to areas. A floor has properties such as: Floor ID, name, aliases (for use in assistants), an icon, and a floor level. Some of these properties are optional. The level number can be negative to reflect floors below the basement. - Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed. + A floor in Home Assistant is a logical grouping of areas that are meant to + match the physical floors in your home. Devices & entities are not assigned + to floors but to areas. A floor has properties such as: Floor ID, name, + aliases (for use in assistants), an icon, and a floor level. Some of these + properties are optional. The level number can be negative to reflect floors + below the basement. Floors can be used in automations and scripts as a + target for actions. For example, to turn off all the lights on the + downstairs floor when you go to bed. excerpt: >- - A floor in Home Assistant is a logical grouping of areas that are meant to match the physical floors in your home. Devices & entities are not assigned to floors but to areas. Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed. + A floor in Home Assistant is a logical grouping of areas that are meant to + match the physical floors in your home. Devices & entities are not assigned + to floors but to areas. Floors can be used in automations and scripts as a + target for actions. For example, to turn off all the lights on the + downstairs floor when you go to bed. aliases: - floors - term: Frontend definition: >- - The frontend is a necessary component for the UI, it is also where you - can define your themes. + The frontend is a necessary component for the UI, it is also where you can + define your themes. link: /integrations/frontend/ - term: Group definition: >- @@ -188,33 +253,38 @@ - groups - term: HASS definition: >- - HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for - Home Assistant. It is also the command-line tool. + HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for Home + Assistant. It is also the command-line tool. - term: HassOS definition: >- Another name for Home Assistant Operating System link: /hassio/installation/ - term: Home Assistant Container definition: >- - Home Assistant Container is a standalone container-based installation of Home Assistant Core. Any [OCI](https://opencontainers.org/) compatible runtime can be used, but the documentation focus is on Docker. + Home Assistant Container is a standalone container-based installation of + Home Assistant Core. Any [OCI](https://opencontainers.org/) compatible + runtime can be used, but the documentation focus is on Docker. link: /installation/#advanced-installation-methods - term: Home Assistant Core definition: >- - Home Assistant Core is a Python program. It can be run on various operating - systems and is the basis for Home Assistant. When people are talking about - Home Assistant Core they usually refer to a standalone installation method - that can be installed using a Virtual Environment or Docker. Home Assistant - Core does not use the Home Assistant Supervisor. + Home Assistant Core is the Python program at the heart of Home Assistant. It + is part of all of the four installation types and can be run on various + operating systems. It can be installed standalone (without Home Assistant + Supervisor), using a Virtual Environment (typically referred to as Home + Assistant Core installation method) or as a container using Docker + (typically referred to as Home Assistant Container installation method). link: /installation/#advanced-installation-methods excerpt: > Home Assistant Core is the heart of Home Assistant itself. It is a Python - program that powers every installation type, but can be installed standalone. + program that powers every installation type, but can be installed + standalone. - term: Home Assistant Supervised definition: >- - Home Assistant Supervised is a full UI managed home automation ecosystem that - runs Home Assistant, the Home Assistant Supervisor and add-ons. It comes - pre-installed on Home Assistant OS, but can be installed on any Linux system. - It leverages Docker, which is managed by the Home Assistant Supervisor. + Home Assistant Supervised is a full UI managed home automation ecosystem + that runs the Home Assistant Core program, the Home Assistant Supervisor and + add-ons. It comes pre-installed on Home Assistant OS, but can be installed + standalone on Debian Linux systems. It leverages Docker, which is managed by + the Home Assistant Supervisor. excerpt: > Home Assistant Supervised is the full Home Assistant ecosystem, without the Home Assistant Operating System. @@ -223,39 +293,50 @@ definition: >- The Home Assistant Supervisor is a program that manages a Home Assistant installation, taking care of installing and updating Home Assistant, - add-ons, itself and, if used, updating the Home Assistant Operating System. + add-ons, itself, and, if used, updating the Home Assistant Operating System. link: /installation/#advanced-installation-methods - term: Home Assistant Operating System definition: >- Home Assistant OS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Home Assistant ecosystem - on single board computers (like the Raspberry Pi) or Virtual Machines. - The Home Assistant Supervisor can keep it up to date, removing the need for - you to manage an operating system. Home Assistant Operating System is the recommended installation method for most users. + on single board computers (like the Raspberry Pi) or Virtual Machines. It + includes Home Assistant Core, the Home Assistant Supervisor, and supports + add-ons. Home Assistant Supervisor keeps it up to date, removing the need + for you to manage an operating system. Home Assistant Operating System is + the recommended installation method for most users. excerpt: > Home Assistant OS, the Home Assistant Operating System, is an embedded, - minimalistic, operating system designed to run the Home Assistant ecosystem. It is the recommended installation method for most users. + minimalistic, operating system designed to run the Home Assistant ecosystem. + It is the recommended installation method for most users. link: /installation/#advanced-installation-methods - term: Host definition: >- - A device that can communicate with other devices on a network. During setup and configuration, - an input requesting a **Host** typically refers to a device's network address so that - Home Assistant can attempt to connect to it. This may be in the form of a hostname, URL, - IP address or some other type of network identifier. If you do not know the hostname or IP address of a device, you can find it in your router's webinterface. For example, if your device is connected wirelessly, somewhere there is a page listing all the devices that are connected to your network. It depends on your router, where exactly this page is. It could be under **Network** > **Wireless**. + A device that can communicate with other devices on a network. During setup + and configuration, an input requesting a **Host** typically refers to a + device's network address so that Home Assistant can attempt to connect to + it. This may be in the form of a hostname, URL, IP address or some other + type of network identifier. If you do not know the hostname or IP address of + a device, you can find it in your router's webinterface. For example, if + your device is connected wirelessly, somewhere there is a page listing all + the devices that are connected to your network. It depends on your router, + where exactly this page is. It could be under **Network** > **Wireless**. excerpt: >- - A device that participates in your network. If asked for the host, enter either the device's IP address or host name. If you don't know those, check the list of hosts in your router. + A device that participates in your network. If asked for the host, enter + either the device's IP address or host name. If you don't know those, check + the list of hosts in your router. link: https://en.wikipedia.org/wiki/Host_(network) aliases: - hosts - term: Integration definition: >- Integrations connect and integrate Home Assistant with devices, services, - and more. They contain all the logic to handle - vendor- and device-specific implementations, such as authentication or - specific protocols. The integration brings such device-specific elements into Home Assistant in a standardized - way. For example, the [Hue](/integrations/hue) integration integrates - the Philips Hue bridge and its connected bulbs into Home Assistant, making - them available as Home Assistant light entities you can control. + and more. They contain all the logic to handle vendor- and device-specific + implementations, such as authentication or specific protocols. The + integration brings such device-specific elements into Home Assistant in a + standardized way. For example, the [Hue](/integrations/hue) integration + integrates the Philips Hue bridge and its connected bulbs into Home + Assistant, making them available as Home Assistant light entities you can + control. excerpt: > Integrations connect and integrate Home Assistant with your devices, services, and more. @@ -264,24 +345,40 @@ - integrations - term: Intent definition: >- - Intent is a term used with voice assistants. The intent is what Home Assistant thinks you want it to do when it extracts a command from your voice or text utterance. Currently, the following intents are supported out of the box: HassTurnOn, HassTurnOff, HassGetState, and HassLightSet. - These intents allow you to turn things on or off, inquire about a state, or change the brightness or color of a light. + Intent is a term used with voice assistants. The intent is what Home + Assistant thinks you want it to do when it extracts a command from your + voice or text utterance. Currently, the following intents are supported out + of the box: HassTurnOn, HassTurnOff, HassGetState, and HassLightSet. These + intents allow you to turn things on or off, inquire about a state, or change + the brightness or color of a light. excerpt: > - Intent is a term used with voice assistants. The intent is what Home Assistant thinks you want it to do when it extracts a command from your voice or text utterance. + Intent is a term used with voice assistants. The intent is what Home + Assistant thinks you want it to do when it extracts a command from your + voice or text utterance. link: https://developers.home-assistant.io/docs/intent_builtin aliases: - Intents - term: Label definition: >- - Labels in Home Assistant allow grouping elements irrespective of their physical location or type. Labels can be assigned to areas, devices, entities, automations, scenes, scripts, and helpers. Labels can be used in automations and scripts as a target for actions and services. Labels can also be used to filter data. For example, you can filter the list of devices to show only devices with the label `heavy energy usage` or turn these devices off when there is not a lot of solar energy available. + Labels in Home Assistant allow grouping elements irrespective of their + physical location or type. Labels can be assigned to areas, devices, + entities, automations, scenes, scripts, and helpers. Labels can be used in + automations and scripts as a target for actions and services. Labels can + also be used to filter data. For example, you can filter the list of devices + to show only devices with the label `heavy energy usage` or turn these + devices off when there is not a lot of solar energy available. excerpt: >- - Labels in Home Assistant allow grouping elements irrespective of their physical location or type. Labels can be assigned to areas, devices, entities, automations, scenes, scripts, and helpers. Labels can be used in automations and scripts as a target for actions and services. Labels can also be used to filter data. + Labels in Home Assistant allow grouping elements irrespective of their + physical location or type. Labels can be assigned to areas, devices, + entities, automations, scenes, scripts, and helpers. Labels can be used in + automations and scripts as a target for actions and services. Labels can + also be used to filter data. aliases: - labels - term: Lovelace definition: >- - Lovelace is the original code name of the UI that is now known as - [Home Assistant dashboards](/dashboards). + Lovelace is the original code name of the UI that is now known as [Home + Assistant dashboards](/dashboards). - term: Light definition: >- A light has a brightness you can control, and optionally color temperature @@ -289,9 +386,17 @@ link: /integrations/light - term: Matter definition: >- - Matter is an open-source standard that defines how to control smart home devices on a Wi-Fi or Thread network. The aim of the standard is to improve security and to make devices interoperable across vendors, replacing proprietary protocols for smart home ecosystems. Unlike other standards, Matter allows joining the same device to multiple controllers. For example, you can add a light to Google Home, Apple Home, and Home Assistant at the same time. A bridge device can be used to connect devices running on other smart home technologies such as Zigbee or Z-Wave. + Matter is an open-source standard that defines how to control smart home + devices on a Wi-Fi or Thread network. The aim of the standard is to improve + security and to make devices interoperable across vendors, replacing + proprietary protocols for smart home ecosystems. Unlike other standards, + Matter allows joining the same device to multiple controllers. For example, + you can add a light to Google Home, Apple Home, and Home Assistant at the + same time. A bridge device can be used to connect devices running on other + smart home technologies such as Zigbee or Z-Wave. excerpt: > - Matter is an open-source standard that defines how to control smart home devices on a Wi-Fi or Thread network. + Matter is an open-source standard that defines how to control smart home + devices on a Wi-Fi or Thread network. link: /integrations/matter - term: Notification definition: >- @@ -310,8 +415,8 @@ Platforms are building blocks provided by some integrations to be used by other integrations. For example, the [Light](/integrations/light) integration provides the `light platform` that is utilized by all - integrations providing `light` entities such - as e.g. [Hue](/integrations/hue). + integrations providing `light` entities such as e.g. + [Hue](/integrations/hue). excerpt: > Platforms are building blocks provided by some integrations to be used by other integrations. @@ -321,78 +426,97 @@ - term: Reload definition: >- Applies the changes made to the Home Assistant configuration files. Changes - are normally automatically updated. However, changes made outside of the front - end will not be reflected in Home Assistant and require a reload. - To perform a manual reload, go to **Settings** > **System** > - **Restart Home Assistant** (top right) > **Quick reload**. If you do not see the **Quick reload** option in the menu, you need to enable **Advanced mode** in your user settings. More granular - reload options are available in *YAML configuration reloading* section - in **Developer tools** > **YAML**. + are normally automatically updated. However, changes made outside of the + front end will not be reflected in Home Assistant and require a reload. To + perform a manual reload, go to **Settings** > **System** > **Restart Home + Assistant** (top right) > **Quick reload**. If you do not see the **Quick + reload** option in the menu, you need to enable **Advanced mode** in your + user settings. More granular reload options are available in *YAML + configuration reloading* section in **Developer tools** > **YAML**. excerpt: > - Applies the changes made to Home Assistant configuration files. Changes are normally - automatically updated. However, changes made outside of the front + Applies the changes made to Home Assistant configuration files. Changes are + normally automatically updated. However, changes made outside of the front end will not be reflected in Home Assistant and require a reload. - term: Scene definition: >- - Scenes capture the states you want certain entities to be. For example, - a scene can specify that light A should be turned on and light B should - be bright red. + Scenes capture the states you want certain entities to be. For example, a + scene can specify that light A should be turned on and light B should be + bright red. link: /integrations/scene/ aliases: - scenes - term: Script definition: > - Scripts are components that allow users to specify a sequence of actions - to be executed by Home Assistant when turned on. + Scripts are components that allow users to specify a sequence of actions to + be executed by Home Assistant when turned on. link: /docs/scripts/ aliases: - scripts - term: Sensor definition: >- - Sensors return information about a thing, for instance the level of water - in a tank. + Sensors return information about a thing, for instance the level of water in + a tank. link: /integrations/sensor/ aliases: - sensors - term: Selector definition: >- - Selectors are components for the user interface. Some selectors can, - for example, show a toggle button to turn something on or off, while another + Selectors are components for the user interface. Some selectors can, for + example, show a toggle button to turn something on or off, while another select can filter a list of devices to show only devices that have motion-sensing capabilities. excerpt: > - Selectors are components for the user interface. Like toggle, dropdown, - and more. + Selectors are components for the user interface. Like toggle, dropdown, and + more. link: /docs/blueprint/selectors/ aliases: - selectors - term: Service definition: |- - The term service has 2 meanings in Home Assistant: - **The information service** - For example, the municipal waste management service that provides entities for organic, paper, and packaging waste. In terms of functionality, the information service is like a device. It is called *service* to avoid confusion, as it does not come with a piece of hardware. - **The software function that interacts with targets to make something happen** - A service carries out one specific task, for example: turning on the light in the living room or sending a notification to a mobile phone. - A service has targets and data. Service targets are: areas, devices, and entities. Service data carries the information required to define the desired state change in the target. For example, the target, together with brightness 150 and RGB color `[255,0,0]`, or the message “Your coffee is ready”. - Services can be used in, for example, automation, scripts, dashboards, or voice commands to control your home. - Home Assistant provides a series of predefined services, such as `homeassistant.turn_on`, `homeassistant.toggle`, or `homeassistant.reload`. + The term service has 2 meanings in Home Assistant: **The information + service** For example, the municipal waste management service that provides + entities for organic, paper, and packaging waste. In terms of functionality, + the information service is like a device. It is called *service* to avoid + confusion, as it does not come with a piece of hardware. **The software + function that interacts with targets to make something happen** A service + carries out one specific task, for example: turning on the light in the + living room or sending a notification to a mobile phone. A service has + targets and data. Service targets are: areas, devices, and entities. Service + data carries the information required to define the desired state change in + the target. For example, the target, together with brightness 150 and RGB + color `[255,0,0]`, or the message “Your coffee is ready”. Services can be + used in, for example, automation, scripts, dashboards, or voice commands to + control your home. Home Assistant provides a series of predefined services, + such as `homeassistant.turn_on`, `homeassistant.toggle`, or + `homeassistant.reload`. excerpt: > - A service carries out one specific task, for example: turn on the light in the - living room. A service has targets and data and can be called by actions, a - dashboard, or via voice command. + A service carries out one specific task, for example: turn on the light in + the living room. A service has targets and data and can be called by + actions, a dashboard, or via voice command. link: /docs/scripts/service-calls/ aliases: - services - term: State definition: |- - The state holds the information of interest of an entity. For example, if a light is on or off, the current temperature, or the amount of energy used. The data type of state is `string` (a textual value). Entities store 2 timestamps related to the state: `last_updated` and `last_changed`. Each entity has exactly one state and the state only holds one value at a time. However, entities can store attributes related to that state. For example, the state of a light is _on_, and the related state attributes could be its current brightness and color values. - State changes can be used as the source of triggers. The current state can be used in conditions. - + The state holds the information of interest of an entity. For example, if a + light is on or off, the current temperature, or the amount of energy used. + The data type of state is `string` (a textual value). Entities store 2 + timestamps related to the state: `last_updated` and `last_changed`. Each + entity has exactly one state and the state only holds one value at a time. + However, entities can store attributes related to that state. For example, + the state of a light is _on_, and the related state attributes could be its + current brightness and color values. State changes can be used as the source + of triggers. The current state can be used in conditions. + link: /docs/configuration/state_object/ aliases: - states excerpt: > - The state holds the information of interest of an entity, for example, if a light is on or off. Each entity has exactly one state and the state only holds one value at a time. However, entities can store attributes related to that state such as brightness, color, or a unit of measurement. + The state holds the information of interest of an entity, for example, if a + light is on or off. Each entity has exactly one state and the state only + holds one value at a time. However, entities can store attributes related to + that state such as brightness, color, or a unit of measurement. - term: Switch definition: >- Switches are things that have two states you can select between, such as @@ -409,20 +533,37 @@ - term: Thread definition: >- - Thread is a low-power mesh networking standard that is specifically designed for smart home applications. It is a protocol that defines how devices communicate. *Mesh* topology means that the devices can communicate with each other directly, without going through a central controller first. Thread uses the same radio frequency (RF) technology as Zigbee, but provides IP connectivity similar to Wi-Fi. Unlike Zigbee, Thread does not specify how to control devices. How Thread-enabled devices are controlled is specified in a higher level protocol such as HomeKit or Matter. + Thread is a low-power mesh networking standard that is specifically designed + for smart home applications. It is a protocol that defines how devices + communicate. *Mesh* topology means that the devices can communicate with + each other directly, without going through a central controller first. + Thread uses the same radio frequency (RF) technology as Zigbee, but provides + IP connectivity similar to Wi-Fi. Unlike Zigbee, Thread does not specify how + to control devices. How Thread-enabled devices are controlled is specified + in a higher level protocol such as HomeKit or Matter. link: /integrations/thread/ excerpt: > - Thread is a low-power mesh networking standard that is specifically designed for smart home applications. It is a protocol that defines how devices communicate. + Thread is a low-power mesh networking standard that is specifically designed + for smart home applications. It is a protocol that defines how devices + communicate. - term: Thread border router definition: >- - A Thread border router forwards data packets between your local network and the Thread network. This enables smart home devices within a Thread network to communicate with IPv6-capable devices in your local network. A Thread border router is connected to your network either via Wi-Fi or Ethernet and uses its radio frequency (RF) radio to communicate with the Thread mesh network. In case of Matter, the data that is forwarded is encrypted. Examples of Thread border routers are the Nest Hub (2nd gen), the HomePod mini, and the Home Assistant SkyConnect together with the OpenThread Border Router add-on. + A Thread border router forwards data packets between your local network and + the Thread network. This enables smart home devices within a Thread network + to communicate with IPv6-capable devices in your local network. A Thread + border router is connected to your network either via Wi-Fi or Ethernet and + uses its radio frequency (RF) radio to communicate with the Thread mesh + network. In case of Matter, the data that is forwarded is encrypted. + Examples of Thread border routers are the Nest Hub (2nd gen), the HomePod + mini, and the Home Assistant SkyConnect together with the OpenThread Border + Router add-on. link: /integrations/thread/#about-thread-border-routers aliases: - Thread border routers - term: Trigger definition: >- - A trigger is a set of values or conditions of a platform that are defined - to cause an automation to run. + A trigger is a set of values or conditions of a platform that are defined to + cause an automation to run. link: /docs/automation/trigger/ aliases: - triggers @@ -432,21 +573,21 @@ TTS (text-to-speech) allows Home Assistant to talk to you. link: /integrations/tts/ - - term: Valve definition: >- - Valves are devices to control the flow of liquids and gases. All valves in Home Assistant can be opened - and closed. Some valves can also be set to a specific position. + Valves are devices to control the flow of liquids and gases. All valves in + Home Assistant can be opened and closed. Some valves can also be set to a + specific position. link: /integrations/valve - term: Variables definition: >- - Variables are used to store values in memory that can be processed - for example, in a script. + Variables are used to store values in memory that can be processed for + example, in a script. link: /docs/scripts/#variables - term: Zone definition: >- Zones are areas that can be used for presence detection. link: /integrations/zone/ aliases: - - zones \ No newline at end of file + - zones From 952149da1fb0d897de22a3296e7fbbf4bd28dd52 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Sat, 13 Apr 2024 07:39:11 +0200 Subject: [PATCH 056/123] Add compatibility information to sfr_box (#32293) * Add compatibility information to sfr_box * Update sfr_box.markdown * Update sfr_box.markdown * Tiny tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/sfr_box.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/sfr_box.markdown b/source/_integrations/sfr_box.markdown index 9460349ce11..9a1dbeec6f9 100644 --- a/source/_integrations/sfr_box.markdown +++ b/source/_integrations/sfr_box.markdown @@ -26,3 +26,9 @@ This integration provides the following platforms: - Sensors - such as ADSL line status, attenuation, noise and data rate. {% include integrations/config_flow.md %} + +## Compatibility + +The integration uses the REST API, which is known to be available on models `NB4`, `NB5`, `NB6`, `NB6V`, and `NB6VAC`. + +However, `NCC` models do not appear to expose this REST API, and are therefore unsupported by the integration. From fbfeea48e44ae5ee7a63fab7bb87db9fbbadc89f Mon Sep 17 00:00:00 2001 From: Mike Bruins Date: Mon, 15 Apr 2024 13:36:07 +0930 Subject: [PATCH 057/123] Update samsungtv.markdown (#32316) Fixed typo --- source/_integrations/samsungtv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 6727a1cb1a5..a344ed2c84d 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -451,6 +451,6 @@ Some televisions from the H and J series use an encrypted protocol and require m #### Samsung TV keeps asking for permission -The default setting on newer televisions is to ask for permission on ever connection attempt. +The default setting on newer televisions is to ask for permission on every connection attempt. To avoid this behavior, please ensure that you adjust this to `First time only` in the `Device connection manager > Access notification` settings of your television. It is also recommended to cleanup the previous attempts in `Device connection manager > Device list` From 19e79e4e46d5c93cddbca10b0c6bcffc1b940200 Mon Sep 17 00:00:00 2001 From: Danny Tsang <567982+dannytsang@users.noreply.github.com> Date: Mon, 15 Apr 2024 06:43:30 +0100 Subject: [PATCH 058/123] Mentioned the requirement of the pro plan subscription in order to use webhooks. (#32310) --- source/_integrations/ifttt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown index 41cceed9735..afb7abb4bca 100644 --- a/source/_integrations/ifttt.markdown +++ b/source/_integrations/ifttt.markdown @@ -12,7 +12,7 @@ ha_platforms: ha_integration_type: integration --- -[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT integration, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). +[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT integration, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). This requires the [Pro plan](https://ifttt.com/plans) or higher. ## Prerequisites From 716e3b6d4255a4b98a3cc2b93ee9c7200f1b85b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E9=87=8ESKY?= <87404327+FlyingFeng2021@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:00:05 +0800 Subject: [PATCH 059/123] Update smartthings.markdown (#32306) --- source/_integrations/smartthings.markdown | 182 +++++++++++----------- 1 file changed, 91 insertions(+), 91 deletions(-) diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown index 268b6ef67b4..79b03e17c3b 100644 --- a/source/_integrations/smartthings.markdown +++ b/source/_integrations/smartthings.markdown @@ -98,7 +98,7 @@ The SmartThings integration triggers events for select device capabilities. ### smartthings.button -The integration will trigger an event when a device with the [button](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#button) capability is actuated and can be used to trigger automations within Home Assistant. Below is an example of the data payload: +The integration will trigger an event when a device with the [button](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#button) capability is actuated and can be used to trigger automations within Home Assistant. Below is an example of the data payload: ```json { @@ -115,14 +115,14 @@ The integration will trigger an event when a device with the [button](https://de | `component_id` | Describes which integration of the device triggered the event. `main` represents the parent device. For devices with child-devices, this attribute identifies the child that raised the event. For multi-button devices, the current SmartThings API will no longer pass the ButtonNumber but use a child component_id for each button. The device handler installed on SmartThings must be able to create those child components. | | `device_id` | The unique id of the device in SmartThings. This can be located in the Home Assistant device registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/). | | `location_id` | The unique id of the location the device is part of. This can be found in the configuration entry registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/). | -| `value` | Describes the action taken on the button. See the [button](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#button) capability reference for a list of possible values (not all are supported by every device). | +| `value` | Describes the action taken on the button. See the [button](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#button) capability reference for a list of possible values (not all are supported by every device). | | `name` | The name given to the device in SmartThings. | Event data payloads are logged at the debug level, see [debugging](#debugging) for more information. ## Platforms -SmartThings represents devices as a set of [capabilities](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities) and the SmartThings integration maps those to entity platforms in Home Assistant. A single device may be represented by one or more platforms. +SmartThings represents devices as a set of [capabilities](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference) and the SmartThings integration maps those to entity platforms in Home Assistant. A single device may be represented by one or more platforms. - [Binary sensor](#binary-sensor) - [Climate](#climate) @@ -142,14 +142,14 @@ The SmartThings binary sensor platform lets you view devices that have binary se | Capability | Attribute | On-Value | | ------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ---------- | -| [`accelerationSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#accelerationSensor) | `acceleration` | `active` | -| [`contactSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#contactSensor) | `contact` | `open` | -| [`filterStatus`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#filterStatus) | `filterStatus` | `replace` | -| [`motionSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#motionSensor) | `motion` | `active` | -| [`presenceSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#presenceSensor) | `presence` | `present` | -| [`tamperAlert`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#tamperAlert) | `tamper` | `detected` | -| [`valve`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#valve) | `valve` | `open` | -| [`waterSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#waterSensor) | `water` | `wet` | +| [`accelerationSensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#accelerationSensor) | `acceleration` | `active` | +| [`contactSensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#contactSensor) | `contact` | `open` | +| [`filterStatus`](https://developer.smartthings.com/docs/devices/capabilities/proposed#filterStatus) | `filterStatus` | `replace` | +| [`motionSensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#motionSensor) | `motion` | `active` | +| [`presenceSensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#presenceSensor) | `presence` | `present` | +| [`tamperAlert`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#tamperAlert) | `tamper` | `detected` | +| [`valve`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#valve) | `valve` | `open` | +| [`waterSensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#waterSensor) | `water` | `wet` | ### Climate @@ -161,11 +161,11 @@ For a SmartThings Air Conditioner to be represented by the climate platform, it | Capability | Climate Features | | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`airConditionerMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#airConditionerMode) (required) | `hvac mode`, `hvac action` | -| [`airConditionerFanMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#airConditionerFanMode) (required) | `fan mode` | -| [`temperatureMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#temperatureMeasurement) (required) | `temperature` | -| [`thermostatCoolingSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatCoolingSetpoint) (required) | `target temp` | -| [`demandResponseLoadControl`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#demandResponseLoadControl) | `drlc_status_duration` (state attribute), `drlc_status_level` (state attribute), `drlc_status_override` (state attribute), `drlc_status_start` (state attribute) | +| [`airConditionerMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#airConditionerMode) (required) | `hvac mode`, `hvac action` | +| [`airConditionerFanMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#airConditionerFanMode) (required) | `fan mode` | +| [`temperatureMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#temperatureMeasurement) (required) | `temperature` | +| [`thermostatCoolingSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatCoolingSetpoint) (required) | `target temp` | +| [`demandResponseLoadControl`](https://developer.smartthings.com/docs/devices/capabilities/proposed#demandResponseLoadControl) | `drlc_status_duration` (state attribute), `drlc_status_level` (state attribute), `drlc_status_override` (state attribute), `drlc_status_start` (state attribute) | #### Thermostats @@ -173,14 +173,14 @@ For a SmartThings thermostat to be represented by the climate platform, it must | Capability | Climate Features | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| [`thermostat`](https://developer-preview.smartthings.com/docs/devices/capabilities/deprecated#thermostat) (set a) | `hvac mode`, `hvac action`, `target temp high`, `target temp low` and `fan mode` | -| [`thermostatMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatMode) (set b) | `hvac mode` | -| [`thermostatCoolingSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatCoolingSetpoint) (seb b) | `target temp low` | -| [`thermostatHeatingSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatHeatingSetpoint) (set b) | `target temp high` | -| [`temperatureMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#temperatureMeasurement) (set b) | -| [`thermostatOperatingState`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatOperatingState) | `hvac action` | -| [`thermostatFanMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatFanMode) | `fan mode` | -| [`relativeHumidityMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#relativeHumidityMeasurement) | `humidity` (state attribute) | +| [`thermostat`](https://developer.smartthings.com/docs/devices/capabilities/deprecated#thermostat) (set a) | `hvac mode`, `hvac action`, `target temp high`, `target temp low` and `fan mode` | +| [`thermostatMode`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatMode) (set b) | `hvac mode` | +| [`thermostatCoolingSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatCoolingSetpoint) (seb b) | `target temp low` | +| [`thermostatHeatingSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatHeatingSetpoint) (set b) | `target temp high` | +| [`temperatureMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#temperatureMeasurement) (set b) | +| [`thermostatOperatingState`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatOperatingState) | `hvac action` | +| [`thermostatFanMode`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatFanMode) | `fan mode` | +| [`relativeHumidityMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#relativeHumidityMeasurement) | `humidity` (state attribute) | ### Cover @@ -188,12 +188,12 @@ The SmartThings Cover platform lets you control devices that have open/close rel | Capability | Cover Features | | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | -| [`doorControl`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#doorControl) (set a) | `open` and `close` | -| [`garageDoorControl`](https://developer-preview.smartthings.com/docs/devices/capabilities/deprecated#garageDoorControl) (seb a) | `open` and `close` | -| [`windowShade`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#windowShade) (set a) | `open` and `close` | -| [`switchLevel`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#switchLevel) | `position` | +| [`doorControl`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#doorControl) (set a) | `open` and `close` | +| [`garageDoorControl`](https://developer.smartthings.com/docs/devices/capabilities/deprecated#garageDoorControl) (seb a) | `open` and `close` | +| [`windowShade`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#windowShade) (set a) | `open` and `close` | +| [`switchLevel`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#switchLevel) | `position` | | [`windowShadeLevel`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference/#windowShadeLevel) | `position` | -| [`battery`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#battery) | `battery_level` (state attribute) | +| [`battery`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#battery) | `battery_level` (state attribute) | ### Fan @@ -201,7 +201,7 @@ The SmartThings Fan platform lets you control devices that have fan-related capa | Capability | Fan Features | | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | -| [`fanSpeed`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#fanSpeed) | `speed` (`off`, `low`, `medium`, and `high`) | +| [`fanSpeed`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#fanSpeed) | `speed` (`off`, `low`, `medium`, and `high`) | ### Light @@ -209,13 +209,13 @@ The SmartThings Light platform lets you control devices that have light-related | Capability | Light Features | | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | -| [`switchLevel`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#switchLevel) | `brightness` and `transition` | -| [`colorControl`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#colorControl) | `color` | -| [`colorTemperature`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#colorTemperature) | `color_temp` | +| [`switchLevel`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#switchLevel) | `brightness` and `transition` | +| [`colorControl`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#colorControl) | `color` | +| [`colorTemperature`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#colorTemperature) | `color_temp` | ### Lock -The SmartThings Lock platform lets you control devices that have the [`lock`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#lock) capability, showing current lock status and supporting lock and unlock commands. +The SmartThings Lock platform lets you control devices that have the [`lock`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#lock) capability, showing current lock status and supporting lock and unlock commands. ### Sensor @@ -223,60 +223,60 @@ The SmartThings Sensor platform lets your view devices that have sensor-related | Capability | Attributes | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | -| [`activityLightingMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#activityLightingMode) | `lightingMode` | -| [`airConditionerMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#airConditionerMode) | `airConditionerMode` | -| [`airQualitySensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#airQualitySensor) | `airQuality` | -| [`alarm`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#alarm) | `alarm` | -| [`audioVolume`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#audioVolume) | `volume` | -| [`battery`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#battery) | `battery` | -| [`bodyMassIndexMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#bodyMassIndexMeasurement) | `bmiMeasurement` | -| [`bodyWeightMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#bodyWeightMeasurement) | `bodyWeightMeasurement` | -| [`carbonDioxideMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#carbonDioxideMeasurement) | `carbonDioxide` | -| [`carbonMonoxideDetector`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#carbonMonoxideDetector) | `carbonMonoxide` | -| [`carbonMonoxideMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#carbonMonoxideMeasurement) | `carbonMonoxideLevel` | -| [`dishwasherOperatingState`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#dishwasherOperatingState) | `machineState`, `dishwasherJobState` and `completionTime` | -| [`dryerMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#dryerMode) | `dryerMode` | -| [`dryerOperatingState`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#dryerOperatingState) | `machineState`, `dryerJobState` and `completionTime` | -| [`dustSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#dustSensor) | `fineDustLevel` and `dustLevel` | -| [`energyMeter`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#energyMeter) | `energy` | -| [`equivalentCarbonDioxideMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#equivalentCarbonDioxideMeasurement) | `equivalentCarbonDioxideMeasurement` | -| [`formaldehydeMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#formaldehydeMeasurement) | `formaldehydeLevel` | -| [`gasMeter`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#gasMeter) | `gasMeter`, `meterCalorific`, `meterTime`, and `meterVolume` | -| [`illuminanceMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#illuminanceMeasurement) | `illuminance` | -| [`infraredLevel`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#infraredLevel) | `infraredLevel` | -| [`lock`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#lock) | `lock` | -| [`mediaInputSource`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#mediaInputSource) | `inputSource` | -| [`mediaPlaybackRepeat`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#mediaPlaybackRepeat) | `playbackRepeatMode` | -| [`mediaPlaybackShuffle`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#mediaPlaybackShuffle) | `playbackShuffle` | -| [`mediaPlayback`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#mediaPlayback) | `playbackStatus` | -| [`odorSensor`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#odorSensor) | `odorLevel` | -| [`ovenMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#ovenMode) | `ovenMode` | -| [`ovenOperatingState`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#ovenOperatingState) | `machineState`, `ovenJobState` and `completionTime` | -| [`ovenSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#ovenSetpoint) | `ovenSetpoint` | -| [`powerConsumptionReport`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#powerConsumptionReport) | `deltaEnergy`, `energy`, `energySaved`, `power`, `powerEnergy` | -| [`powerMeter`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#powerMeter) | `power` | -| [`powerSource`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#powerSource) | `powerSource` | -| [`refrigerationSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#refrigerationSetpoint) | `refrigerationSetpoint` | -| [`relativeHumidityMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#relativeHumidityMeasurement) | `humidity` | -| [`robotCleanerCleaningMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#robotCleanerCleaningMode) | `robotCleanerCleaningMode` | -| [`robotCleanerMovement`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#robotCleanerMovement) | `robotCleanerMovement` | -| [`robotCleanerTurboMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#robotCleanerTurboMode) | `robotCleanerTurboMode` | -| [`signalStrength`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#signalStrength) | `lqi` and `rssi` | -| [`smokeDetector`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#smokeDetector) | `smoke` | -| [`temperatureMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#temperatureMeasurement) | `temperature` | -| [`thermostatCoolingSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatCoolingSetpoint) | `coolingSetpoint` | -| [`thermostatFanMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatFanMode) | `thermostatFanMode` | -| [`thermostatHeatingSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatHeatingSetpoint) | `heatingSetpoint` | -| [`thermostatMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatMode) | `thermostatMode` | -| [`thermostatOperatingState`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatOperatingState) | `thermostatOperatingState` | -| [`thermostatSetpoint`](https://developer-preview.smartthings.com/docs/devices/capabilities/deprecated#thermostatSetpoint) | `thermostatSetpoint` | -| [`threeAxis`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#threeAxis) | `threeAxis` (as discrete sensors `X`, `Y` and `Z`) | -| [`tvChannel`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#tvChannel) | `tvChannel` and `tvChannelName` | -| [`tvocMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#tvocMeasurement) | `tvocLevel` | -| [`ultravioletIndex`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#ultravioletIndex) | `ultravioletIndex` | -| [`voltageMeasurement`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#voltageMeasurement) | `voltage` | -| [`washerMode`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#washerMode) | `washerMode` | -| [`washerOperatingState`](https://developer-preview.smartthings.com/docs/devices/capabilities/proposed#washerOperatingState) | `machineState`, `washerJobState` and `completionTime` | +| [`activityLightingMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#activityLightingMode) | `lightingMode` | +| [`airConditionerMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#airConditionerMode) | `airConditionerMode` | +| [`airQualitySensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#airQualitySensor) | `airQuality` | +| [`alarm`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#alarm) | `alarm` | +| [`audioVolume`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#audioVolume) | `volume` | +| [`battery`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#battery) | `battery` | +| [`bodyMassIndexMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/proposed#bodyMassIndexMeasurement) | `bmiMeasurement` | +| [`bodyWeightMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/proposed#bodyWeightMeasurement) | `bodyWeightMeasurement` | +| [`carbonDioxideMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#carbonDioxideMeasurement) | `carbonDioxide` | +| [`carbonMonoxideDetector`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#carbonMonoxideDetector) | `carbonMonoxide` | +| [`carbonMonoxideMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/proposed#carbonMonoxideMeasurement) | `carbonMonoxideLevel` | +| [`dishwasherOperatingState`](https://developer.smartthings.com/docs/devices/capabilities/proposed#dishwasherOperatingState) | `machineState`, `dishwasherJobState` and `completionTime` | +| [`dryerMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#dryerMode) | `dryerMode` | +| [`dryerOperatingState`](https://developer.smartthings.com/docs/devices/capabilities/proposed#dryerOperatingState) | `machineState`, `dryerJobState` and `completionTime` | +| [`dustSensor`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#dustSensor) | `fineDustLevel` and `dustLevel` | +| [`energyMeter`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#energyMeter) | `energy` | +| [`equivalentCarbonDioxideMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#equivalentCarbonDioxideMeasurement) | `equivalentCarbonDioxideMeasurement` | +| [`formaldehydeMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#formaldehydeMeasurement) | `formaldehydeLevel` | +| [`gasMeter`](https://developer.smartthings.com/docs/devices/capabilities/proposed#gasMeter) | `gasMeter`, `meterCalorific`, `meterTime`, and `meterVolume` | +| [`illuminanceMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#illuminanceMeasurement) | `illuminance` | +| [`infraredLevel`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#infraredLevel) | `infraredLevel` | +| [`lock`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#lock) | `lock` | +| [`mediaInputSource`](https://developer.smartthings.com/docs/devices/capabilities/proposed#mediaInputSource) | `inputSource` | +| [`mediaPlaybackRepeat`](https://developer.smartthings.com/docs/devices/capabilities/proposed#mediaPlaybackRepeat) | `playbackRepeatMode` | +| [`mediaPlaybackShuffle`](https://developer.smartthings.com/docs/devices/capabilities/proposed#mediaPlaybackShuffle) | `playbackShuffle` | +| [`mediaPlayback`](https://developer.smartthings.com/docs/devices/capabilities/proposed#mediaPlayback) | `playbackStatus` | +| [`odorSensor`](https://developer.smartthings.com/docs/devices/capabilities/proposed#odorSensor) | `odorLevel` | +| [`ovenMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#ovenMode) | `ovenMode` | +| [`ovenOperatingState`](https://developer.smartthings.com/docs/devices/capabilities/proposed#ovenOperatingState) | `machineState`, `ovenJobState` and `completionTime` | +| [`ovenSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/proposed#ovenSetpoint) | `ovenSetpoint` | +| [`powerConsumptionReport`](https://developer.smartthings.com/docs/devices/capabilities/proposed#powerConsumptionReport) | `deltaEnergy`, `energy`, `energySaved`, `power`, `powerEnergy` | +| [`powerMeter`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#powerMeter) | `power` | +| [`powerSource`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#powerSource) | `powerSource` | +| [`refrigerationSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/proposed#refrigerationSetpoint) | `refrigerationSetpoint` | +| [`relativeHumidityMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#relativeHumidityMeasurement) | `humidity` | +| [`robotCleanerCleaningMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#robotCleanerCleaningMode) | `robotCleanerCleaningMode` | +| [`robotCleanerMovement`](https://developer.smartthings.com/docs/devices/capabilities/proposed#robotCleanerMovement) | `robotCleanerMovement` | +| [`robotCleanerTurboMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#robotCleanerTurboMode) | `robotCleanerTurboMode` | +| [`signalStrength`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#signalStrength) | `lqi` and `rssi` | +| [`smokeDetector`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#smokeDetector) | `smoke` | +| [`temperatureMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#temperatureMeasurement) | `temperature` | +| [`thermostatCoolingSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatCoolingSetpoint) | `coolingSetpoint` | +| [`thermostatFanMode`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatFanMode) | `thermostatFanMode` | +| [`thermostatHeatingSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatHeatingSetpoint) | `heatingSetpoint` | +| [`thermostatMode`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatMode) | `thermostatMode` | +| [`thermostatOperatingState`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#thermostatOperatingState) | `thermostatOperatingState` | +| [`thermostatSetpoint`](https://developer.smartthings.com/docs/devices/capabilities/deprecated#thermostatSetpoint) | `thermostatSetpoint` | +| [`threeAxis`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#threeAxis) | `threeAxis` (as discrete sensors `X`, `Y` and `Z`) | +| [`tvChannel`](https://developer.smartthings.com/docs/devices/capabilities/proposed#tvChannel) | `tvChannel` and `tvChannelName` | +| [`tvocMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#tvocMeasurement) | `tvocLevel` | +| [`ultravioletIndex`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#ultravioletIndex) | `ultravioletIndex` | +| [`voltageMeasurement`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#voltageMeasurement) | `voltage` | +| [`washerMode`](https://developer.smartthings.com/docs/devices/capabilities/proposed#washerMode) | `washerMode` | +| [`washerOperatingState`](https://developer.smartthings.com/docs/devices/capabilities/proposed#washerOperatingState) | `machineState`, `washerJobState` and `completionTime` | ### Scene @@ -284,12 +284,12 @@ The SmartThings Scene platform lets you activate scenes defined in SmartThings w ### Switch -The SmartThings Switch platform lets you control devices that have the [`switch`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#switch) capability that are not already represented by a more specific platform. The following optional capabilities will provide energy and power utilization information: +The SmartThings Switch platform lets you control devices that have the [`switch`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#switch) capability that are not already represented by a more specific platform. The following optional capabilities will provide energy and power utilization information: | Capability | Switch Features | | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | -| [`energyMeter`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#energyMeter) | energy consumption (`today_energy_kwh` state attribute) | -| [`powerMeter`](https://developer-preview.smartthings.com/docs/devices/capabilities/capabilities-reference#powerMeter) | power consumption (`current_power_w` state attribute) | +| [`energyMeter`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#energyMeter) | energy consumption (`today_energy_kwh` state attribute) | +| [`powerMeter`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#powerMeter) | power consumption (`current_power_w` state attribute) | ## Troubleshooting From 4fc55b0148e28ac0edc10d727fed8b7a4408b37b Mon Sep 17 00:00:00 2001 From: Damian Sypniewski <16312757+dsypniewski@users.noreply.github.com> Date: Mon, 15 Apr 2024 15:01:01 +0900 Subject: [PATCH 060/123] Clarify that the SwitchBot Lock Pro model is not supported (#32307) --- source/_integrations/switchbot.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown index 35f23a9debb..4308417ac8b 100644 --- a/source/_integrations/switchbot.markdown +++ b/source/_integrations/switchbot.markdown @@ -62,7 +62,7 @@ Some SwitchBot devices need to be configured within the app before being control - [Indoor/Outdoor Meter](https://switch-bot.com/pages/switchbot-indoor-outdoor-thermo-hygrometer) (WoIOSensorTH) - [Motion Sensor (WoPresence)](https://switch-bot.com/pages/switchbot-motion-sensor) - Plug Mini (WoPlug), both the original (model W1901400) and HomeKit-enabled (model W1901401) -- [Lock (WoLock)](https://switch-bot.com/pages/switchbot-lock) +- [Lock (WoLock)](https://switch-bot.com/pages/switchbot-lock) (currently the Pro model is not supported) - [Blind Tilt (WoBlindTilt)](https://switch-bot.com/pages/switchbot-blind-tilt) ## SwitchBot Entity From 9da8b0a83c6d822ed1aa6264f5df74a8eecc2911 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 15 Apr 2024 08:01:26 +0200 Subject: [PATCH 061/123] Backup: make steps procedural, add related links (#32286) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Backup: make steps procedural, add related links - Style change: use numbered steps to make steps procedural - Add related topics - Add glossary term refs - Move manual configuration section to bottom, as it is probably less used than other information * Update source/_integrations/backup.markdown Co-authored-by: Joakim Sørensen * Update source/_integrations/backup.markdown Co-authored-by: Joakim Sørensen * Update source/_integrations/backup.markdown Co-authored-by: Joakim Sørensen * Update source/_integrations/backup.markdown Co-authored-by: Joakim Sørensen --------- Co-authored-by: Joakim Sørensen --- source/_integrations/backup.markdown | 53 +++++++++++++--------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index 95e302d9939..c9afdd8ed33 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -12,38 +12,23 @@ ha_iot_class: Calculated ha_integration_type: system --- -The Backup integration allow you to create and download backups for your Home Assistant Core and Home Assistant Container installations. This backup file can be used if you migrate to Home Assistant Operating System. +The **Backup** {% term integration %} allows you to create and download backups for your {% term "Home Assistant Core" %} and {% term "Home Assistant Container" %} installations. This backup file can be used if you migrate to {% term "Home Assistant Operating System" %}.
-If you use Home Assistant Operating System or Home Assistant Supervised, [back up functionality is already built-in](/common-tasks/os/#backups). +If you use {% term "Home Assistant Operating System" %} or {% term "Home Assistant Supervised" %} , the [back up functionality is already built-in](/common-tasks/os/#backups). This integration is for {% term "Home Assistant Core" %} and {% term "Home Assistant Container" %} installations.
- -## Manual configuration - -The backup integration is by default enabled. If you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration the following example shows you how to enable this integration manually: - -```yaml -# Example configuration.yaml entry -backup: -``` - -You need to restart Home Assistant after you add this configuration. -When it has started up again you will find a new "Backup" entry in the main menu (**{% my backup title="Settings > System > Backups" %}**). - -The backup files are stored in a new "backups" subdirectory in the root of your configuration directory. - ## Services -The backup integration exposes a service that can be used to automate the backup +The **Backup** integration exposes a service that can be used to automate the backup process. ### Service {% my developer_call_service service="backup.create" %} The {% my developer_call_service service="backup.create" %} service can be used -to create a backup for your Home Assistant instance. +to create a backup for your Home Assistant instance. The service has no additional options or parameters. @@ -55,7 +40,6 @@ service: backup.create ### Example: Backing up every night at 3:00 AM - This is a YAML example for an automation that initiate a backup every night at 3 AM: @@ -72,15 +56,28 @@ automation: ## Restoring a backup -
+Backups created via the **Backup** integration are located in your a subdirectory named `backups` which are located in your [configuration directory](/docs/configuration/#editing-configurationyaml). +The {% term "Home Assistant Container" %} installation typically mounts this directory via `docker-compose.yml` or `docker run` to a directory of your choice. -If you use Home Assistant Operating System or Home Assistant Supervised, [the restore functionality is already built-in](/common-tasks/os/#restoring-a-backup). +The steps on recovering from a backup depend on the installation type and use case. Follow one of these steps: -
+1. If you use {% term "Home Assistant Operating System" %} or {% term "Home Assistant Supervised" %}: + - Follow the steps described in [Restoring a backup](/common-tasks/os/#restoring-a-backup). +2. If you use a {% term "Home Assistant Core" %} or {% term "Home Assistant Container" %} installation: + - A Home Assistant backup is just a tar file of the [configuration directory](/docs/configuration/#editing-configurationyaml), plus some metadata. + - To manually restore a backup, use the following command: -Backups created via the **Backup** integration are located in your `/config/backups` directory. The Home Assistant Container installation will typically mount this directory via `docker-compose.yml` or `docker run` to a directory of your choice. -For Container and Core installations, there is currently no built-in way to restore a backup. However, a Home Assistant backup is just a tar file of the `/config` directory, plus some metadata. To manually restore a backup, you can use the following: + ```shell + tar -xOf "./homeassistant.tar.gz" | tar --strip-components=1 -zxf - -C + ``` -```shell -tar -xOf "./homeassistant.tar.gz" | tar --strip-components=1 -zxf - -C -``` +3. If you migrate from a {% term "Home Assistant Core" %} or {% term "Home Assistant Container" %} installation to {% term "Home Assistant Operating System" %}: + - You can use these backup files during [onboarding](/getting-started/onboarding/) to recover your installation from backup. + + +## Related topics + +- [Home Assistant installation methods](/installation/#advanced-installation-methods) +- [Recover from backup during onboarding](/getting-started/onboarding/) +- [Configuration file](/docs/configuration/) +- [Home Assistant Operating System: Restoring a backup](/common-tasks/os/#restoring-a-backup) From 4deb445cd30623a4ca02b8e772e8f554cbb033fb Mon Sep 17 00:00:00 2001 From: G Johansson Date: Mon, 15 Apr 2024 08:03:31 +0200 Subject: [PATCH 062/123] Remove forecast from weather template (#32298) --- source/_integrations/weather.template.markdown | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/_integrations/weather.template.markdown b/source/_integrations/weather.template.markdown index 3787862b5f1..b5c8c7cb655 100644 --- a/source/_integrations/weather.template.markdown +++ b/source/_integrations/weather.template.markdown @@ -34,7 +34,7 @@ weather: temperature_template: "{{ states('sensor.temperature') | float }}" temperature_unit: "°C" humidity_template: "{{ states('sensor.humidity') | float }}" - forecast_daily_template: "{{ state_attr('weather.my_region', 'forecast') }}" + forecast_daily_template: "{{ state_attr('weather.my_region', 'forecast_data') }}" ``` {% endraw %} @@ -116,10 +116,6 @@ visibility_unit: description: Unit for visibility_template output. Valid options are km, mi, ft, m, cm, mm, in, yd. required: false type: string -forecast_template: - description: Forecast data. - required: false - type: template forecast_daily_template: description: Daily forecast data. required: false From 2d57a23d176c244581c5aa4a618b790f7c8c907e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 08:57:50 +0200 Subject: [PATCH 063/123] Bump sorbet-runtime from 0.5.11342 to 0.5.11346 (#32317) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0e2d395d388..bc25d428208 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11342) + sorbet-runtime (0.5.11346) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 16077761e04ee91cc569e3d7f7c53f841679a21e Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:57:44 +0200 Subject: [PATCH 064/123] Fix typo (#32318) --- source/_integrations/backup.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index c9afdd8ed33..f3526a4253b 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -56,7 +56,7 @@ automation: ## Restoring a backup -Backups created via the **Backup** integration are located in your a subdirectory named `backups` which are located in your [configuration directory](/docs/configuration/#editing-configurationyaml). +Backups created via the **Backup** integration are in a subdirectory `backups`, located in your [configuration directory](/docs/configuration/#editing-configurationyaml). The {% term "Home Assistant Container" %} installation typically mounts this directory via `docker-compose.yml` or `docker run` to a directory of your choice. The steps on recovering from a backup depend on the installation type and use case. Follow one of these steps: From 9ef7a118bc0b34154eb8dfda2a512c8f97f7537e Mon Sep 17 00:00:00 2001 From: theberko <74749500+theberko@users.noreply.github.com> Date: Mon, 15 Apr 2024 06:35:16 -0400 Subject: [PATCH 065/123] Improve media player device class description (#32262) * Update media_player.markdown * Update source/_integrations/media_player.markdown Co-authored-by: Martin Hjelmare --------- Co-authored-by: Martin Hjelmare --- source/_integrations/media_player.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/media_player.markdown b/source/_integrations/media_player.markdown index 937ab1f023e..004774224cd 100644 --- a/source/_integrations/media_player.markdown +++ b/source/_integrations/media_player.markdown @@ -183,5 +183,5 @@ Allows to group media players together for synchronous playback. Only works on s The way media players are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for media players: - `tv`: Device is a television type device. -- `speaker`: Device is speaker or stereo type device. -- `receiver`: Device is audio video receiver type device taking audio and outputting to speakers and video to some display. +- `speaker`: Device is a speaker or stereo type device. +- `receiver`: Device is an audio/video receiver type device taking audio and outputting to speakers and video to displays. From 5b0df150913a189471c5620819978b35fe19e468 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:03:59 +0200 Subject: [PATCH 066/123] Operating system: add steps on updating HA OS (#32320) * Operating system: add steps on updating HA OS * Fix markdown * Update source/common-tasks/os.markdown Co-authored-by: Stefan Agner --------- Co-authored-by: Stefan Agner --- source/_includes/common-tasks/update.md | 6 ++-- source/common-tasks/container.markdown | 3 ++ source/common-tasks/core.markdown | 3 ++ source/common-tasks/os.markdown | 44 +++++++++++++++++++++++++ source/common-tasks/supervised.markdown | 3 ++ 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/source/_includes/common-tasks/update.md b/source/_includes/common-tasks/update.md index 1df848b0d29..00498602479 100644 --- a/source/_includes/common-tasks/update.md +++ b/source/_includes/common-tasks/update.md @@ -1,8 +1,6 @@ -## Update +Best practice for updating Home Assistant Core: -Best practice for updating a Home Assistant installation: - -1. Backup your installation{% if page.installation == "os" or page.installation == "supervised" %}, using the backup functionality Home Assistant offers{% endif %}. +1. Backup your installation{% if page.installation == "os" or page.installation == "supervised" %}, using the [backup functionality](/common-tasks/os/#backups) Home Assistant offers{% endif %}. 2. Check the release notes for backward-incompatible changes on [Home Assistant release notes](/blog/categories/core/). Be sure to check all release notes between the version you are running and the one you are upgrading to. Use the search function in your browser (`CTRL + f` / `CMD + f`) and search for **Backward-incompatible changes**. {% if page.installation == "os" or page.installation == "supervised" %} 3. Select **Create backup before updating** in case you encounter an issue that requires a rollback. diff --git a/source/common-tasks/container.markdown b/source/common-tasks/container.markdown index 18464daa94c..bba727053b6 100644 --- a/source/common-tasks/container.markdown +++ b/source/common-tasks/container.markdown @@ -3,6 +3,9 @@ title: "Common tasks - Container" description: "Common tasks for Home Assistant Container" installation: container --- + +## Update + {% include common-tasks/update.md %} {% include common-tasks/specific_version.md %} {% include common-tasks/beta_version.md %} diff --git a/source/common-tasks/core.markdown b/source/common-tasks/core.markdown index 04066e649f2..60ea197ac7e 100644 --- a/source/common-tasks/core.markdown +++ b/source/common-tasks/core.markdown @@ -3,6 +3,9 @@ title: "Common tasks - Core" description: "Common tasks for Home Assistant Core" installation: core --- + +## Update + {% include common-tasks/update.md %} {% include common-tasks/specific_version.md %} {% include common-tasks/beta_version.md %} diff --git a/source/common-tasks/os.markdown b/source/common-tasks/os.markdown index f1027abf4b7..b024344dfb1 100644 --- a/source/common-tasks/os.markdown +++ b/source/common-tasks/os.markdown @@ -6,6 +6,50 @@ installation_name: "Operating System" --- This section will provide guides to some common tasks and information which you will need in order to run, maintain, and edit your Home Assistant OS system. For further details on any particular subject, make sure to refer to the documentation for specific add-ons or topics listed here. +## Updating Home Assistant + +If you have the {% term "Home Assistant Operating System" %} installed, you receive update notifications from different components: + +- {% term "Home Assistant Operating System" %} +- {% term "Home Assistant Supervisor" %} +- {% term "Home Assistant Core" %} +- Add-ons, if you have any installed + +### Updating the Home Assistant Operating System + +Updates of the {% term "Home Assistant Operating System" %} are independent of other updates. They do not trigger repair issues and are usually backward-compatible. + +#### Prerequisites + +- [Backup](/common-tasks/os/#backups) your installation. + - Make sure the backup is downloaded and stored outside of the system. + - So that you can restore from that backup in case there is an issue with the system. + +#### To update the Home Assistant Operating System + +{% tabbed_block %} + +- title: Using the UI + content: | + + 1. Open the **Settings** panel. + 2. On the top you will be presented with an update notification. + + _If you do not see that notification, in the top right, select the three dots menu and select **Check for updates**"._ + +- title: Using the CLI + content: | + + ```bash + ha os update + ``` + + _This updates to the latest version. If you want to update to a specific version instead, use `ha os update --version 12.0`._ + +{% endtabbed_block %} + +### Updating Home Assistant Core + {% include common-tasks/update.md %} {% include common-tasks/specific_version.md %} {% include common-tasks/beta_version.md %} diff --git a/source/common-tasks/supervised.markdown b/source/common-tasks/supervised.markdown index 23adfe85603..d3dc28b5d61 100644 --- a/source/common-tasks/supervised.markdown +++ b/source/common-tasks/supervised.markdown @@ -4,6 +4,9 @@ description: "Common tasks for Home Assistant Supervised" installation: supervised installation_name: Supervised --- + +## Update + {% include common-tasks/update.md %} {% include common-tasks/specific_version.md %} {% include common-tasks/beta_version.md %} From d4091b35d174942b4f10eab8532880f363ff0e8d Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:36:19 +0200 Subject: [PATCH 067/123] Z-Wave 800 series: remove info that NVM backup is not supported (#32326) --- source/_docs/z-wave/controllers.markdown | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index ae48a60a876..b5f00710808 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -66,12 +66,7 @@ The alternative to a stick is a hub that supports Z-Wave. Home Assistant support ### 800 Series Controllers -Z-Wave JS and Z-Wave JS UI do not support the following features available on most 800 series controllers. - -Unsupported: - - - Long Range - - NVM Backup/Restore +Z-Wave JS does not support Z-Wave Long Range yet. ### Aeotec Z-Stick From 1f58e8bded2880005bd98a3bf98888992a989ea3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:37:12 +0200 Subject: [PATCH 068/123] Bump sorbet-runtime from 0.5.11346 to 0.5.11347 (#32329) Bumps [sorbet-runtime](https://github.com/sorbet/sorbet) from 0.5.11346 to 0.5.11347. - [Release notes](https://github.com/sorbet/sorbet/releases) - [Commits](https://github.com/sorbet/sorbet/commits) --- updated-dependencies: - dependency-name: sorbet-runtime dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index bc25d428208..cd843f044ad 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11346) + sorbet-runtime (0.5.11347) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 6ec0469a652179a12daaecf782fdcae7f413b8d4 Mon Sep 17 00:00:00 2001 From: Robert Vollmer Date: Tue, 16 Apr 2024 10:37:25 +0200 Subject: [PATCH 069/123] Fixed typo in lawn_mower.mqtt.markdown (#32330) --- source/_integrations/lawn_mower.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/lawn_mower.mqtt.markdown b/source/_integrations/lawn_mower.mqtt.markdown index 3260c3ba023..305c41c2f34 100644 --- a/source/_integrations/lawn_mower.mqtt.markdown +++ b/source/_integrations/lawn_mower.mqtt.markdown @@ -210,7 +210,7 @@ The example below shows how to use a single command topic with a command templat ```yaml # Example configuration.yaml entry mqtt: - - alarm_control_panel: + - lawn_mower: name: "Lawn Mower Plus" activity_state_topic: "lawn_mower_plus/state" activity_value_template: "{{ value_json.activity }}" From ab9903c094854dac31a7d12f5936e85e601317c3 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 16 Apr 2024 11:35:30 +0200 Subject: [PATCH 070/123] Add steps on changing boot slots (#32323) * Add steps on changing boot slots * Apply suggestions from code review Co-authored-by: Stefan Agner * Apply suggestions from code review Co-authored-by: Stefan Agner --------- Co-authored-by: Stefan Agner --- source/common-tasks/os.markdown | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/source/common-tasks/os.markdown b/source/common-tasks/os.markdown index b024344dfb1..24ee35d502f 100644 --- a/source/common-tasks/os.markdown +++ b/source/common-tasks/os.markdown @@ -48,6 +48,27 @@ Updates of the {% term "Home Assistant Operating System" %} are independent of o {% endtabbed_block %} +#### About boot slots used during the update + +The {% term "Home Assistant Operating System" %} uses two boot slots. On first installation, boot slot A is used. After that, on each Operating System update, the other boot slot is updated and reboot is triggered. On that reboot, the system boots from the other boot slot (A ➝ B ➝ A,...). When booting fails, the system automatically uses the previous boot slot, so that it boots from the last working operating system. + +#### Changing the boot slot used + +You can manually define that the previous boot slot is used. This can be useful in cases where the system boots but something still seems wrong. For example, when the device is no longer correctly detected or you see another issue that might be related to the latest update of the operating system. + +1. To check which boot slot is currently in use and what OS versions are installed in the individual slots, in the Home Assistant command line, enter the following command: + + ```bash + ha os info + ``` + +2. To change the boot slot, enter the following command: + - This will boot into the other (previous) OS version. + + ```bash + ha os boot-slot other + ``` + ### Updating Home Assistant Core {% include common-tasks/update.md %} From 8142fde29117a98663b3feac909b135d8c8f84b3 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Wed, 17 Apr 2024 06:25:33 +0100 Subject: [PATCH 071/123] Update Velux configuration instructions (#32337) * Update Velux configuration instructions * Update velux.markdown * tiny tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/velux.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_integrations/velux.markdown b/source/_integrations/velux.markdown index 227140ccba9..430906870ca 100644 --- a/source/_integrations/velux.markdown +++ b/source/_integrations/velux.markdown @@ -30,6 +30,13 @@ There is currently support for the following device types within Home Assistant: {% include integrations/config_flow.md %} +During configuration, you will be asked for a hostname and password: + +- Hostname: enter the IP address of the KLF 200 gateway. +- Password: enter the password of the gateway's wireless access point (printed on the underside - **not** the web login password). + +You must complete the configuration within 5 minutes of rebooting the KLF 200 gateway while the access point is still available. + ## Services ### Service `velux.reboot_gateway` From 6088852befad6075611db6c7f17304800637577b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 08:47:34 +0200 Subject: [PATCH 072/123] Bump rubocop from 1.63.1 to 1.63.2 (#32345) --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 7afad75073c..c0509c57410 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ group :development do gem 'stringex', '2.8.6' # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' - gem 'rubocop', '1.63.1' + gem 'rubocop', '1.63.2' gem 'ruby-lsp', '0.16.4' gem 'rackup', '2.1.0' end diff --git a/Gemfile.lock b/Gemfile.lock index cd843f044ad..b60141ceb7c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,7 +102,7 @@ GEM regexp_parser (2.9.0) rexml (3.2.6) rouge (4.2.1) - rubocop (1.63.1) + rubocop (1.63.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -160,7 +160,7 @@ DEPENDENCIES nokogiri (= 1.16.4) rackup (= 2.1.0) rake (= 13.2.1) - rubocop (= 1.63.1) + rubocop (= 1.63.2) ruby-lsp (= 0.16.4) sass-globbing (= 1.1.5) sassc (= 2.1.0) From 38082188fd4985d5e834f5c0e5d75ecd1a4bd038 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 08:52:21 +0200 Subject: [PATCH 073/123] Bump sorbet-runtime from 0.5.11347 to 0.5.11349 (#32344) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b60141ceb7c..c63778f5e2d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11347) + sorbet-runtime (0.5.11349) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From d1c237884b30c678f1ac68926ecdaf51d89877c9 Mon Sep 17 00:00:00 2001 From: Yurii <34578544+Laxilef@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:01:32 +0300 Subject: [PATCH 074/123] Add OpenThermGateway link into the section that lists the third party tools with build in MQTT discovery (#32328) --- source/_integrations/mqtt.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 1dcf1d649be..f276fd2c7e9 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -740,6 +740,7 @@ The following software has built-in support for MQTT discovery: - [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks) - [Zehnder Comfoair RS232 MQTT](https://github.com/adorobis/hacomfoairmqtt) - [Zigbee2MQTT](https://github.com/koenkk/zigbee2mqtt) +- [OTGateway](https://github.com/Laxilef/OTGateway) ### Discovery examples From 5fcfdbd33a0f189c41d45160ff65434ed5dbf907 Mon Sep 17 00:00:00 2001 From: The00Dustin <91274634+The00Dustin@users.noreply.github.com> Date: Wed, 17 Apr 2024 03:21:22 -0400 Subject: [PATCH 075/123] Update nws.markdown to match current behavior (#32272) * Update nws.markdown to current behavior * Add link to related documentation * Clarify weather entity purpose The old language used "day and night" but had context to make it clear this was a single entity. With the "hourly" verbiage removed, this change should reduce confusion. * Further clarify weather entity purpose Co-authored-by: MatthewFlamm <39341281+MatthewFlamm@users.noreply.github.com> * Correct commit of wrong proposal --------- Co-authored-by: MatthewFlamm <39341281+MatthewFlamm@users.noreply.github.com> --- source/_integrations/nws.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_integrations/nws.markdown b/source/_integrations/nws.markdown index 8fdf756d46b..324c3f21d0a 100644 --- a/source/_integrations/nws.markdown +++ b/source/_integrations/nws.markdown @@ -25,6 +25,8 @@ According to the [API documentation](https://www.weather.gov/documentation/servi Providing a METAR station code is optional, and if not supplied, the closest station to the latitude and longitude will be chosen. A list of nearby stations is printed to the log with level `DEBUG` if no station is supplied. Stations can also be found on the [NOAA website](https://www.cnrfc.noaa.gov/metar.php). Codes with only three characters, for example, `ADW` should be prefixed with the letter K, `KADW`. -Two weather entities are created for each entry in the configuration: one for day and night forecasts and one for hourly forecasts. The hourly forecast entity is disabled after configuration but can be enabled by the user. The time supplied for each forecast is the start time for the forecast. Sensors are also created as disabled entities after configuration and can be enabled by the user. +One weather entity is created for each entry in the configuration. Hourly and day/night forecasts are provided through the `weather.get_forecasts` service. The time supplied for each forecast is the start time for the forecast. Sensors are also created as disabled entities after configuration and can be enabled by the user. Details about the API are available in the [NWS API documentation](https://www.weather.gov/documentation/services-web-api). The [pynws](https://github.com/MatthewFlamm/pynws) library is used to retrieve data. + +Details about the `weather.get_forecasts` service are available in the [`weather` documentation](https://www.home-assistant.io/integrations/weather/). From 014695f5df4022548b41f7265364739575df1f79 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:09:34 +0200 Subject: [PATCH 076/123] NWS: make link relative (#32348) --- source/_integrations/nws.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/nws.markdown b/source/_integrations/nws.markdown index 324c3f21d0a..cbf9d44fec9 100644 --- a/source/_integrations/nws.markdown +++ b/source/_integrations/nws.markdown @@ -29,4 +29,4 @@ One weather entity is created for each entry in the configuration. Hourly and da Details about the API are available in the [NWS API documentation](https://www.weather.gov/documentation/services-web-api). The [pynws](https://github.com/MatthewFlamm/pynws) library is used to retrieve data. -Details about the `weather.get_forecasts` service are available in the [`weather` documentation](https://www.home-assistant.io/integrations/weather/). +Details about the `weather.get_forecasts` service are available in the [`weather` documentation](/integrations/weather/). From 73cb3fb99bc0306de5c84384212620c9b4619600 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Wed, 17 Apr 2024 16:40:00 +0200 Subject: [PATCH 077/123] Config check: add steps how to check from UI (#32351) --- .../common-tasks/configuration_check.md | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/source/_includes/common-tasks/configuration_check.md b/source/_includes/common-tasks/configuration_check.md index cc68d407518..4d0fbaa64bf 100644 --- a/source/_includes/common-tasks/configuration_check.md +++ b/source/_includes/common-tasks/configuration_check.md @@ -2,12 +2,28 @@ {% if page.installation == "os" or page.installation == "supervised" %} +After changing configuration or automation files, check if the configuration is valid before restarting Home Assistant Core. + +## To run a configuration check from the UI + +1. Go to {% my profile title="your user profile" %} and enable **Advanced Mode**. +2. Go to {% my server_controls title="**Developer tools** > **YAML**" %} and in the **Configuration validation** section, select the **Check configuration** button. + - This is to make sure there are no syntax errors before restarting Home Assistant. + - It checks for valid YAML and valid config structures. +3. If you need to do a more comprehensive configuration check, [run the check from the CLI](#to-run-a-configuration-check-from-the-cli). + +## To run a configuration check from the CLI + +Use the following command to check if the configuration is valid. The command line configuration check validates the YAML files and checks for valid config structures, as well as some other elements. + ```bash ha core check ``` {% elsif page.installation == "container" %} +After changing configuration files, check if the configuration is valid before restarting Home Assistant Core. + _If your container name is something other than `homeassistant`, change that part in the examples below._ Run the full check: @@ -42,19 +58,21 @@ docker exec homeassistant python -m homeassistant --script check_config --help {% elsif page.installation == "core" %} -1. Switch to the user that is running Home Assistant +After changing configuration files, check if the configuration is valid before restarting Home Assistant Core. + +1. Switch to the user that is running Home Assistant. ```bash sudo -u homeassistant -H -s ``` -2. Activate the virtual environment that Home Assistant is running in +2. Activate the virtual environment that Home Assistant is running in. ```bash source /srv/homeassistant/bin/activate ``` -3. Run the configuration check +3. Run the configuration check. Run the full check: @@ -86,6 +104,6 @@ docker exec homeassistant python -m homeassistant --script check_config --help hass --script check_config --help ``` -4. When that is complete restart the service for it to use the new files. +4. When that is complete, restart the service for it to use the new files. {% endif %} From 65e55f854a3481283e3c780b3f57655ccfdbc706 Mon Sep 17 00:00:00 2001 From: Stephen Jones Date: Wed, 17 Apr 2024 16:01:47 +0100 Subject: [PATCH 078/123] Correct links (#32354) --- source/_docs/organizing/areas.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_docs/organizing/areas.markdown b/source/_docs/organizing/areas.markdown index a682c87d1a6..60c86cb4e05 100644 --- a/source/_docs/organizing/areas.markdown +++ b/source/_docs/organizing/areas.markdown @@ -37,6 +37,6 @@ If an area has not yet been assigned to a floor, it is shown in the **Unassigned ## Related topics -- [Floors](/docs/organzing/floors/) -- [Labels](/docs/organzing/labels/) -- [Using areas in templates](/docs/configuration/templating/#areas) \ No newline at end of file +- [Floors](/docs/organizing/floors/) +- [Labels](/docs/organizing/labels/) +- [Using areas in templates](/docs/configuration/templating/#areas) From 0aa65bb22791020c699877b38e7d0004ed232bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 17 Apr 2024 18:13:40 +0200 Subject: [PATCH 079/123] Clarify that systemd journal is now necessary for all logs (#32356) Since Supervisor 2024.04.1 all log endpoints are using the Systemd Journal gateway. --- source/more-info/unsupported/systemd_journal.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/more-info/unsupported/systemd_journal.markdown b/source/more-info/unsupported/systemd_journal.markdown index 137d880ec35..b53ed907949 100644 --- a/source/more-info/unsupported/systemd_journal.markdown +++ b/source/more-info/unsupported/systemd_journal.markdown @@ -5,9 +5,9 @@ description: "More information on why systemd journal marks the installation as ## The issue -The Supervisor needs access to the systemd journal for logging features -such as the `/host/logs` API. These features don't work if the journal -is not accessible. +The Supervisor needs access to the systemd journal to access logs of +individual system components and add-ons. These logs are limited or +not available at all if the journal is not accessible. ## The solution From 1ffecdb904f4c2537c77bab0bdb7e614a76f1689 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Wed, 17 Apr 2024 18:37:22 +0200 Subject: [PATCH 080/123] Docs side TOC: add separate title for configuration (#32353) * Docs side TOC: add separate title for configuration * Fix typo --- source/_includes/asides/docs_navigation.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 8e38fa42ea7..5e7aa5c9a9f 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -31,9 +31,10 @@
  • - {% active_link /docs/configuration/ Configuration.yaml %} + Configuration
      -
    • {% active_link /docs/configuration/yaml/ YAML %}
    • +
    • {% active_link /docs/configuration/ Configuration.yaml %}
    • +
    • {% active_link /docs/configuration/yaml/ YAML syntax%}
    • {% active_link /docs/configuration/basic/ Basic information %}
    • @@ -186,4 +187,4 @@
  • - + \ No newline at end of file From a8d577f0125c84265702f8af2582c127895f818f Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Wed, 17 Apr 2024 19:29:44 +0200 Subject: [PATCH 081/123] Configuration reload and validate: style tweaks (#32358) * Configuration reload and validate: style tweaks * Apply suggestions from code review Co-authored-by: Klaas Schoute --------- Co-authored-by: Klaas Schoute --- source/_docs/configuration.markdown | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 2dd787cdb24..d503d326935 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -26,19 +26,36 @@ _If you use {% term "Home Assistant Operating System" %}, you can find `configur _If you use {% term "Home Assistant Core" %} , you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeassistant`)._ -## Reloading changes +## Reloading configuration changes -Most integrations in Home Assistant that do not interact with {% term devices %} or {% term services %} can reload changes made to their configuration in `configuration.yaml`. To do this, go to {% my server_controls title="Developer Tools > YAML" %} and scroll down to the YAML configuration reloading section (alternatively, hit "c" anywhere in the UI and search for it). +Most integrations in Home Assistant that do not interact with {% term devices %} or {% term services %} can reload changes made to their configuration in `configuration.yaml`. -If you can't see your integration listed there, you will need to restart Home Assistant for changes to take effect. +1. To reload configuration changes, go to {% my server_controls title="**Developer Tools** > **YAML**" %} and scroll down to the YAML configuration reloading section (alternatively, hit "c" anywhere in the UI and search for "reload"). + - You are presented with a list of integrations, such as **Automations** or **Conversation**. -
    + ![Reload configuration changes](/images/docs/configuration/reloading_config.png) - To test any changes to your configuration files from the command line, check out the common tasks for [operating system](/common-tasks/os/#configuration-check), [supervised](/common-tasks/supervised/#configuration-check), [container](/common-tasks/container/#configuration-check), [core](/common-tasks/core/#configuration-check) for how to do that. Configuration changes can also be tested using the UI by navigating to {% my server_controls title="Developer Tools > YAML" %} and clicking "Check Configuration". For the button to be visible, you must enable "Advanced Mode" on your {% my profile title="User Profile" %}. +2. If the integration is listed, select it to reload the settings. +3. If integration is not listed, you need to restart Home Assistant for changes to take effect: + - [Validate the configuration](#validating-the-configuration). Then, select the **Restart** button. -
    +## Validating the configuration + +After changing configuration or automation files, check if the configuration is valid. + +The method for running a configuration check depends on your [installation type](/installation/#advanced-installation-methods). Check the common tasks for your installation type: + +- [Configuration check on Operating System](/common-tasks/os/#configuration-check) +- [Configuration check on Supervised](/common-tasks/supervised/#configuration-check) +- [Configuration check on Container](/common-tasks/container/#configuration-check) +- [Configuration check on Core](/common-tasks/core/#configuration-check) ## Related topics +- [YAML syntax](/docs/configuration/yaml/) +- [Configuration check on Operating System](/common-tasks/os/#configuration-check) + +### Backups + - [Creating and restoring backups](/common-tasks/os/#backups) - [Creating backups for Home Assistant Container and Core](/integrations/backup) From c31dbb2e2ce2d28a03d33bbbeb58ff14a432814b Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Thu, 18 Apr 2024 11:29:32 +0200 Subject: [PATCH 082/123] Reload config: add image that went missing in the previous PR (#32369) --- .../docs/configuration/reloading_config.png | Bin 0 -> 72923 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/docs/configuration/reloading_config.png diff --git a/source/images/docs/configuration/reloading_config.png b/source/images/docs/configuration/reloading_config.png new file mode 100644 index 0000000000000000000000000000000000000000..11aba2afd900afa8a5ef1944ff521d0c7acfad8b GIT binary patch literal 72923 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 Date: Fri, 19 Apr 2024 06:37:46 +0200 Subject: [PATCH 083/123] Update tile.markdown anchor (#32375) anchor was invalid --- source/_dashboards/tile.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_dashboards/tile.markdown b/source/_dashboards/tile.markdown index 514cfc14496..713c9789887 100644 --- a/source/_dashboards/tile.markdown +++ b/source/_dashboards/tile.markdown @@ -33,7 +33,7 @@ icon: 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 accepts [color token](/dashboards/tile/#available-color-tokens) or hex color code. + 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 accepts [color token](/dashboards/tile/#available-colors) or hex color code. type: string default: state show_entity_picture: @@ -134,4 +134,4 @@ You want to colorize the tile card? Choose one of the following colors: `primary - [Card actions](/dashboards/actions/) - [Card features](/dashboards/features) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file +- [Dashboard cards](/dashboards/cards/) From 037c5927315bf5f576bb7a116ec81c28a50f99d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 08:54:19 +0200 Subject: [PATCH 084/123] Bump sorbet-runtime from 0.5.11349 to 0.5.11351 (#32380) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c63778f5e2d..23294ad0854 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11349) + sorbet-runtime (0.5.11351) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From d1ace0da7ed7a09e84b0b2c1ff4c76f217799be4 Mon Sep 17 00:00:00 2001 From: Salim B Date: Fri, 19 Apr 2024 18:38:52 +0200 Subject: [PATCH 085/123] Fix typo (#32383) --- source/_integrations/media_source.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/media_source.markdown b/source/_integrations/media_source.markdown index 5da8c87175d..b597f018e4b 100644 --- a/source/_integrations/media_source.markdown +++ b/source/_integrations/media_source.markdown @@ -64,7 +64,7 @@ homeassistant:
    - If you want to use media from a network storage, the network storage must first be connected first. Refer to [these instructions on how to connect network storage](/common-tasks/os/#network-storage). + If you want to use media from a network storage, the network storage must be connected first. Refer to [these instructions on how to connect network storage](/common-tasks/os/#network-storage). The media from the network storage is then automatically added to the local media browser. From ea54b49908603c8128b4186408681354f8aa67bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 19 Apr 2024 18:42:19 +0200 Subject: [PATCH 086/123] Implement handling "related" key for related information (#32372) --- source/_docs/blueprint.markdown | 21 +++++------ source/_docs/blueprint/schema.markdown | 19 +++++----- source/_docs/blueprint/tutorial.markdown | 30 ++++++++-------- source/_includes/related.html | 44 ++++++++++++++++++++++++ source/_layouts/page.html | 1 + 5 files changed, 83 insertions(+), 32 deletions(-) create mode 100644 source/_includes/related.html diff --git a/source/_docs/blueprint.markdown b/source/_docs/blueprint.markdown index c0e17ab7126..7fe1eb1de7d 100644 --- a/source/_docs/blueprint.markdown +++ b/source/_docs/blueprint.markdown @@ -1,6 +1,17 @@ --- title: "About blueprints" description: "Introduction to blueprints." +related: + - docs: /docs/blueprint/schema/ + title: About the blueprint schema + - docs: /docs/blueprint/selectors/ + title: About the blueprint selectors + - docs: /docs/automation/using_blueprints/ + title: Using blueprints in automations + - docs: /docs/blueprint/tutorial/ + title: "Tutorial: Create an automation blueprint" + - title: "Blueprint community forum" + url: /get-blueprints --- This section gives a high-level introduction to blueprints. To view a description of the YAML-schema used to create a valid blueprint, refer to the section [About the blueprint schema](/docs/blueprint/schema/). @@ -12,13 +23,3 @@ A blueprint is a {% term script %} or {% term automation %} configuration with c Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time. Blueprints are shared by the community in the [blueprint community forum][blueprint-forums]. - -### Related information - -- [About the blueprint schema](/docs/blueprint/schema/) -- [About the blueprint selectors](/docs/blueprint/selectors/) -- [Using blueprints in automations](/docs/automation/using_blueprints/) -- [Tutorial: Create an automation blueprint](/docs/blueprint/tutorial/) -- [Blueprint community forum][blueprint-forums] - -[blueprint-forums]: /get-blueprints \ No newline at end of file diff --git a/source/_docs/blueprint/schema.markdown b/source/_docs/blueprint/schema.markdown index 3ff7baf3e27..c615423da5b 100644 --- a/source/_docs/blueprint/schema.markdown +++ b/source/_docs/blueprint/schema.markdown @@ -1,6 +1,17 @@ --- title: "About the blueprint schema" description: "Introduction to the blueprint schema." +related: + - docs: /docs/blueprint/ + title: About blueprints + - docs: /docs/blueprint/selectors/ + title: Blueprint selectors + - docs: /docs/automation/using_blueprints/ + title: Using blueprints in automations + - docs: /docs/blueprint/tutorial/ + title: "Tutorial: Create an automation blueprint" + - title: "Blueprint community forum" + url: /get-blueprints --- ## The blueprint schema @@ -202,12 +213,4 @@ action: target: !input light_target ``` -### Related information -- [About blueprints](/docs/blueprint/) -- [Blueprint selectors](/docs/blueprint/selectors/) -- [Using blueprints in automations](/docs/automation/using_blueprints/) -- [Tutorial: Create an automation blueprint »](/docs/blueprint/tutorial/) -- [Blueprint community forum][blueprint-forums] - [blueprint-built-in]: https://github.com/home-assistant/core/tree/dev/homeassistant/components/automation/blueprints -[blueprint-forums]: /get-blueprints diff --git a/source/_docs/blueprint/tutorial.markdown b/source/_docs/blueprint/tutorial.markdown index 5dd5c86ba58..98908e5f51e 100644 --- a/source/_docs/blueprint/tutorial.markdown +++ b/source/_docs/blueprint/tutorial.markdown @@ -1,6 +1,22 @@ --- title: "Creating an automation blueprint" description: "Tutorial on creating an automation blueprint." +related: + - docs: /docs/configuration/ + title: "Editing the configuration file" + - docs: /docs/configuration/yaml/ + - docs: /docs/automation/yaml/ + title: "YAML used in automations" + - docs: /docs/scripts/ + title: Scripts + - docs: /docs/blueprint/selectors/ + title: Blueprint selectors + - docs: /docs/blueprint/schema/ + title: Blueprint schema + - docs: /docs/blueprint/ + title: About blueprints + - docs: /docs/automation/using_blueprints/ + title: Using automation blueprints ---
    @@ -273,17 +289,3 @@ For this tutorial, we're going to share it on GitHub Gists. This is a good optio ### Share on the Blueprint Exchange If you follow the [Rules and format for posting](/get-blueprints), you can share your blueprint on the Home Assistant Blueprint Exchange forum. This option is accessible to the general Home Assistant community but recommended only for your original blueprints. Please don't post this tutorial to the Blueprint Exchange, but instead, remember this as an option for releasing your real blueprints. - -## Related topics - -**Prerequisites** -- [Editing the configuration file](/docs/configuration/) -- [YAML](/docs/configuration/yaml/), and specifically, [YAML used in automations](/docs/automation/yaml/) -- [Scripts](/docs/scripts/) - -**Blueprints** - -- [Blueprint selectors](/docs/blueprint/selectors/) -- [Blueprint schema](/docs/blueprint/schema/) -- [About blueprints](/docs/blueprint/) -- [Using automation blueprints](/docs/automation/using_blueprints/) diff --git a/source/_includes/related.html b/source/_includes/related.html new file mode 100644 index 00000000000..ec7bf0e18a3 --- /dev/null +++ b/source/_includes/related.html @@ -0,0 +1,44 @@ +{% assign related_topics = "" | split: ',' %} +{% assign related_links = "" | split: ',' %} +{%- for entry in page.related -%} +{%- if entry.url -%} +{% assign related_links = related_links | push: entry %} +{% else %} +{% assign related_topics = related_topics | push: entry %} +{% endif %} +{%- endfor -%} +{% if related_topics and related_topics.size != 0 %} + +{% endif %} +{% if related_links and related_links.size != 0 %} + +{% endif %} \ No newline at end of file diff --git a/source/_layouts/page.html b/source/_layouts/page.html index 7d320b83a06..fb1122d4cff 100644 --- a/source/_layouts/page.html +++ b/source/_layouts/page.html @@ -35,5 +35,6 @@ layout: default {% endif %} {{ content }} + {% include related.html %} {% include feedback.html %} From f1df617e8d73e1d138fabe25ea21ef8a5f5af1ca Mon Sep 17 00:00:00 2001 From: Eddie Webbinaro Date: Fri, 19 Apr 2024 14:04:26 -0400 Subject: [PATCH 087/123] Update tplink.markdown: add Tapo TP135 as requiring auth (#32357) * Update tplink.markdown: add Tapo TP135 as requiring auth * Update tplink.markdown: fix name for Tapo TS135 bulb to TL135E Product page https://www.tp-link.com/us/home-networking/smart-bulb/tl135e/ --- source/_integrations/tplink.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index 767e1e9f710..6ec871c023e 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -116,7 +116,8 @@ Devices not listed below may work but if you encounter issues submit a bug repor - L510B - L530E - +- TL135E + #### Light strips - L900-5 From 3c3c66a37e92673f28e0f4bf509719cd34b79af6 Mon Sep 17 00:00:00 2001 From: Danny Tsang <567982+dannytsang@users.noreply.github.com> Date: Sun, 21 Apr 2024 06:51:33 +0100 Subject: [PATCH 088/123] Rephrased location of configuration.yaml folder location. (#32386) Visually, it will now match what is shown in the add-on but kept reference to /config/. --- source/getting-started/configuration.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index b18abfa0212..39eea2b7bcb 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -24,7 +24,7 @@ Under the **Official add-ons** section, you will find the **File editor** add-on Now let's make a change using the file editor: we are going to change the name, location, unit system, and time zone of your Home Assistant installation. - Click the folder icon in the top left of the file editor window to open the file browser sidebar. - - Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main file editor window. + - Click the `configuration.yaml` file in `homeassistant/` (which maps to `/config/`) folder to load it into the main file editor window. - Add the following to this file (preferably at the very top, but it ultimately doesn't matter): ```yaml homeassistant: From 40f5e3e89dae58cb324cd5e820ad946d09bc33b7 Mon Sep 17 00:00:00 2001 From: Danny Tsang <567982+dannytsang@users.noreply.github.com> Date: Sun, 21 Apr 2024 06:55:43 +0100 Subject: [PATCH 089/123] Added automation example. (#32385) New example removes attachments to make it easier to follow. Clarified how the integration will appear when trying to call it in a script/automation. --- source/_integrations/smtp.markdown | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/source/_integrations/smtp.markdown b/source/_integrations/smtp.markdown index d7defba2304..dbf4d0737f1 100644 --- a/source/_integrations/smtp.markdown +++ b/source/_integrations/smtp.markdown @@ -24,7 +24,7 @@ notify: recipient: "YOUR_RECIPIENT" ``` -Check your email provider configuration or help pages to get the correct SMTP settings. +Check your email provider configuration or help pages to get the correct SMTP settings. A restart of Home Assistant is required to pick up the configuration changes. {% configuration %} name: @@ -86,7 +86,28 @@ verify_ssl: ### Usage -To use the SMTP notification, refer to it in an automation or script like in this example: +A notify integration will be created using the name without spaces. In the above example, it will be called `notify.NOTIFIER_NAME`. To use the SMTP notification, refer to it in an automation or script like in this example: + +```yaml +- alias: "Send E-Mail Every Morning" + description: "" + trigger: + - platform: time + at: "08:00:00" + condition: [] + action: + - service: notify.NOTIFIER_NAME + data: + title: "Good Morning" + message: "Rise and shine" + target: + - "morning@example.com" + mode: single +``` + +The optional `target` field is used to specify recipient(s) for this specific service call. When `target` field is not used, this message will be sent to default recipient(s), in this example, morning@example.com. + +Another example attaching images stored locally in a script: ```yaml burglar: @@ -107,8 +128,6 @@ burglar: - /home/pi/snapshot2.jpg ``` -The optional `target` field is used to specify recipient(s) for this specific service call. When `target` field is not used, this message will be sent to default recipient(s), in this example, my_intruder_alert@example.com. - The optional `html` field makes a custom text/HTML multi-part message, allowing total freedom for sending rich HTML emails by defining the HTML content. In them, if you need to include images, you can pass both arguments (`html` and `images`). The images will be attached with the basename of the images, so they can be included in the html page with `src="cid:image_name.ext"`. The optional `images` field adds image attachments to the email. If `html` is defined, the images need to be added to the message in-line as described above (and as shown in the example below). If `html` is not defined, images will be added as separate attachments. From 76ae18067cc026cde16b2f6af7830616c1523839 Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Sun, 21 Apr 2024 07:58:27 +0200 Subject: [PATCH 090/123] Correct Alexa requires port 443 for account linking (#32394) --- source/_integrations/alexa.smart_home.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index e9bf2312a67..39bd72964a9 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -105,7 +105,7 @@ Steps to Integrate an Amazon Alexa Smart Home Skill with Home Assistant: ## Requirements -- The Alexa Smart Home API requires your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using an SSL/TLS certificate. A self-signed certificate will work, but a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport) is recommended. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Home Assistant, using the [Duck DNS](/addons/duckdns/) add-on is the easiest method. +- The Alexa Smart Home API requires your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using an SSL/TLS certificate. A self-signed certificate will not work, but a public trusted certificate or a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport) should work. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Home Assistant, using the [Duck DNS](/addons/duckdns/) add-on is the easiest method. - An Amazon Developer Account. Sign up [here](https://developer.amazon.com). - An [Amazon Web Services (AWS)](https://aws.amazon.com/free/) account is required to host the Lambda function for your Alexa Smart Home Skill. [AWS Lambda](https://aws.amazon.com/lambda/pricing/) is free to use for up to 1-million requests and 1GB outbound data transfer per month. @@ -240,9 +240,9 @@ Alexa needs to link your Amazon account to your Home Assistant account. Therefor - `Authorization URI`: `https://[YOUR HOME ASSISTANT URL]/auth/authorize` - `Access Token URI`: `https://[YOUR HOME ASSISTANT URL]/auth/token` - It is also possible to use a different port by appending `:1443` or a similar port number, make sure your firewall is forwarding the correct port: - - `Authorization URI`: `https://[YOUR HOME ASSISTANT URL]:1443/auth/authorize` - - `Access Token URI`: `https://[YOUR HOME ASSISTANT URL]:1433/auth/token` + Although it is possible to assign a different port, Alexa requires you use port 443, so make sure your firewall/proxy is forwarding via port 443. + + Read [more from the Alexa developer documentation](https://developer.amazon.com/en-US/docs/alexa/account-linking/requirements-account-linking.html) about requirements for account linking.
    Note: you must use a valid/trusted SSL certificate for account linking to work. Self signed certificates will not work, but you can use a free Let's Encrypt certificate. From b0f44235cfad9f3aa1540f34cd175073ad371d2b Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:09:28 +0200 Subject: [PATCH 091/123] YAML syntax: add headings and tiny rephrase (#32361) * YAML syntax: add headings and tiny rephrase * Add related link to automation.yaml file * Remove section on secrets, add link to secrets page instead --- source/_docs/configuration.markdown | 1 + source/_docs/configuration/secrets.markdown | 5 ++ source/_docs/configuration/yaml.markdown | 53 ++++++++++++++++----- 3 files changed, 46 insertions(+), 13 deletions(-) diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index d503d326935..4589d8acff0 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -54,6 +54,7 @@ The method for running a configuration check depends on your [installation type] - [YAML syntax](/docs/configuration/yaml/) - [Configuration check on Operating System](/common-tasks/os/#configuration-check) +- [Storing credentials in `secrets.yaml` file](/docs/configuration/secrets) ### Backups diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index ea30432c3af..3e4eade924a 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -59,3 +59,8 @@ hass --script check_config --secrets ``` This will print all your secrets. + +### Related topics + +- [`configuration.yaml` file](/docs/configuration/) +- [Splitting the configuration](/docs/configuration/splitting_configuration/) diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index b59f31dd0c5..4a957fceba2 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -1,13 +1,17 @@ --- -title: "YAML" -description: "Details about YAML to configure Home Assistant." +title: "YAML syntax" +description: "Details about the YAML syntax used to configure Home Assistant." --- -Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is powerful in allowing you to express complex configurations. +Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. While most integrations can be configured through the UI, some integrations require you to edit your [`configuration.yaml`](/docs/configuration/) file to specify its settings. -While more and more integrations are configured through the UI, for some, you will add code in your [`configuration.yaml`](/docs/configuration/) file to specify its settings. +## YAML Style Guide -The following example entry assumes that you would like to set up the [notify integration](/integrations/notify) with the [pushbullet platform](/integrations/pushbullet). +This page gives a high-level introduction to the YAML syntax used in Home Assistant. For a more detailed description and more examples, refer to the [YAML Style Guide for Home Assistant developers](https://developers.home-assistant.io/docs/documenting/yaml-style-guide/). + +## A first example + +The following YAML example entry assumes that you would like to set up the [notify integration](/integrations/notify) with the [pushbullet platform](/integrations/pushbullet). ```yaml notify: @@ -21,22 +25,20 @@ notify: The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. This is somewhat similar to a Hash table or more specifically a dictionary in Python. These can be nested as well. **Beware that if you specify duplicate keys, the last value for a key is used**. +## Indentation in YAML + In YAML, indentation is important for specifying relationships. Indented lines are nested inside lines that are one level higher. In the above example, `platform: pushbullet` is a property of (nested inside) the `notify` integration. Getting the right indentation can be tricky if you're not using an editor with a fixed-width font. Tabs are not allowed to be used for indentation. The convention is to use 2 spaces for each level of indentation. -To check if your YAML syntax is correct before loading it into Home Assistant, you can use the third-party service [YAML Validator](https://codebeautify.org/yaml-validator/) (not maintained by the Home Assistant community). +## Comments -
    +Strings of text following a `#` are comments. They are ignored by the system. Comments explain in plain language what a particular code block is supposed to do. For future-you or someone else looking at the file. -Pay attention to not storing private data (passwords, API keys, etc.) directly in your `configuration.yaml` file. Private data can be stored in either a [separate file](/docs/configuration/secrets/) or in [environmental variables](/docs/configuration/yaml/#using-environment-variables), which circumvents this security problem. - -
    - -Strings of text following a `#` are comments and are ignored by the system. +### Example with comment and nesting The next example shows an [input_select](/integrations/input_select) integration that uses a block collection for the values of options. -The other properties (like `name:`) are specified using mappings. Note that the second line just has `threat:` with no value on the same line. Here threat is the name of the input_select and the values for it are everything nested below it. +The other properties (like `name:`) are specified using mappings. Note that the second line just has `threat:` with no value on the same line. Here, `threat` is the name of the input_select. The values for it are everything nested below it. ```yaml input_select: @@ -51,6 +53,8 @@ input_select: initial: 0 ``` +### Example of nested mapping + The following example shows nesting a collection of mappings in a mapping. In Home Assistant, this would create two sensors that each use the MQTT platform but have different values for their `state_topic` (one of the properties used for MQTT sensors). ```yaml @@ -120,3 +124,26 @@ Not quoting the value may generate an error such as: ```txt not a valid value for dictionary value @ data ``` + +## Validating YAML syntax + +With all these indents and rules, it is easy to make a mistake. The best way to check if your YAML syntax is correct (validate) depends on the editor you use. We can't list them all here. + +- If you edit the files directly in Home Assistant, refer to the section: [Validating the configuration](/docs/configuration/#validating-the-configuration) + +## Related topics + +### YAML + +- [YAML Style Guide for Home Assistant developers](https://developers.home-assistant.io/docs/documenting/yaml-style-guide/) +- [Validating the configuration](/docs/configuration/#validating-the-configuration) + +### Related configuration topics + +- [`configuration.yaml` file](/docs/configuration/) +- [Troubleshooting the configuration files](/docs/configuration/troubleshooting/) +- [Storing private data in separate file](/docs/configuration/secrets/) + +### Automation + +- [Automation.yaml](/docs/automation/yaml/) \ No newline at end of file From 2265d8565f2bbfc79c9c83e2ad6c2f70787c28df Mon Sep 17 00:00:00 2001 From: Danny Tsang <567982+dannytsang@users.noreply.github.com> Date: Mon, 22 Apr 2024 07:10:17 +0100 Subject: [PATCH 092/123] Revert changes as per comment by @frenk. (#32397) --- source/getting-started/configuration.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 39eea2b7bcb..b18abfa0212 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -24,7 +24,7 @@ Under the **Official add-ons** section, you will find the **File editor** add-on Now let's make a change using the file editor: we are going to change the name, location, unit system, and time zone of your Home Assistant installation. - Click the folder icon in the top left of the file editor window to open the file browser sidebar. - - Click the `configuration.yaml` file in `homeassistant/` (which maps to `/config/`) folder to load it into the main file editor window. + - Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main file editor window. - Add the following to this file (preferably at the very top, but it ultimately doesn't matter): ```yaml homeassistant: From 10d54bc0ac6f058485cdf20cdaea517ff91c089b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:25:55 +0200 Subject: [PATCH 093/123] Bump actions/checkout from 4.1.2 to 4.1.3 (#32401) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c95522c5320..3e499121c24 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v4.1.2 + uses: actions/checkout@v4.1.3 - name: Setting up Node.js uses: actions/setup-node@v4.0.2 with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v4.1.2 + uses: actions/checkout@v4.1.3 - name: Setting up Node.js uses: actions/setup-node@v4.0.2 with: From 2c49264e355107fc965d998d707bdb3d77473c3e Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:26:33 +0200 Subject: [PATCH 094/123] Remove faulty ref to glossary term. Add related topic (#32368) --- source/_docs/tools/check_config.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_docs/tools/check_config.markdown b/source/_docs/tools/check_config.markdown index 24592293913..9b93898c16d 100644 --- a/source/_docs/tools/check_config.markdown +++ b/source/_docs/tools/check_config.markdown @@ -3,7 +3,7 @@ title: "check_config" description: "Script to perform a check of the current configuration" --- -Test any changes to your `configuration.yaml` file before launching Home Assistant. This {% term script %} allows you to test changes without the need to restart Home Assistant. +Test any changes to your `configuration.yaml` file before launching Home Assistant. This script allows you to test changes without the need to restart Home Assistant. ```bash hass --script check_config @@ -28,3 +28,7 @@ optional arguments: -f, --files Show used configuration files -s, --secrets Show secret information ``` + +## Related topics + +- [Validating the configuration](/docs/configuration/#validating-the-configuration) \ No newline at end of file From 150ff1c665d7d941ee41ea87f2805e16d7870eec Mon Sep 17 00:00:00 2001 From: Hedda Date: Mon, 22 Apr 2024 08:37:23 +0200 Subject: [PATCH 095/123] Add ConBee III (Conbee 3) to list of Zigbee Coordinator adapters (#32025) --- source/_integrations/zha.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 823b6081522..2a16e3f1761 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -106,6 +106,7 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl - [CC2652P/CC2652R/CC2652RB USB stick, module, or dev board hardware flashed with Z-Stack coordinator firmware](https://www.zigbee2mqtt.io/guide/adapters/) - [CC1352P/CC1352R USB stick, module, or dev board hardware flashed with Z-Stack coordinator firmware](https://www.zigbee2mqtt.io/guide/adapters/) - dresden elektronik deCONZ based Zigbee radios (via the [zigpy-deconz](https://github.com/zigpy/zigpy-deconz) library for zigpy) + - [ConBee III (a.k.a. ConBee 3) USB adapter from dresden elektronik](https://phoscon.de/conbee3) - [ConBee II (a.k.a. ConBee 2) USB adapter from dresden elektronik](https://phoscon.de/conbee2) - [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee2) From 7e2ba51e93b66f83a1e1c0a146810e39adc9fe95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:48:27 +0200 Subject: [PATCH 096/123] Bump sorbet-runtime from 0.5.11351 to 0.5.11352 (#32402) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 23294ad0854..16d20c9894f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11351) + sorbet-runtime (0.5.11352) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From d66b03a9a3328c739693669a5a12c593d17266bc Mon Sep 17 00:00:00 2001 From: tronikos Date: Mon, 22 Apr 2024 00:20:45 -0700 Subject: [PATCH 097/123] Link to https://github.com/tronikos/esphome-magnetometer-water-gas-meter in the Integrating your water usage page (#32388) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_docs/energy/water.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_docs/energy/water.markdown b/source/_docs/energy/water.markdown index 58069878217..a37d5ab7914 100644 --- a/source/_docs/energy/water.markdown +++ b/source/_docs/energy/water.markdown @@ -64,6 +64,7 @@ Maybe you like to build one yourself? - [AI-on-the-edge-device](https://github.com/jomjol/AI-on-the-edge-device) is a project running on an ESP32-CAM and can be fully integrated into Home Assistant using the Home Assistant Discovery Functionality of MQTT. It digitalizes your gas/water/electricity meter display and provides its data in various ways.![Photo of the AI-on-the-edge-device Workflow](/images/docs/energy/ai-on-the-edge-device.jpg) - [watermeter](https://github.com/nohn/watermeter) running classic OCR and statistical pattern recognition on any system supporting Docker - [Muino water meter reader 3-phase](https://muino.nl/product/3-phase-muino-light-sensor-encoder/) Using the 3-phase sensor technique, a battery-powered version can be possible with this sensor. +- [Read water meter with magnetometer](https://github.com/tronikos/esphome-magnetometer-water-gas-meter) using [QMC5883L](https://esphome.io/components/sensor/qmc5883l.html), a common and inexpensive magnetometer. This should be compatible with all the water meters the Flume water sensor is compatible with, which is [compatible](https://help.flumewater.com/en/articles/1618594-is-the-flume-device-compatible-with-all-water-meters) with about 95% of water meters in the United States. If you manually integrate your sensors, for example, using the [MQTT](/integrations/mqtt) or [RESTful](/integrations/rest) integrations: Make sure you set and provide the `device_class`, `state_class`, and `unit_of_measurement` for those sensors. From 5b46b438212831da6e1c6873cac2e8e6fde45125 Mon Sep 17 00:00:00 2001 From: tronikos Date: Mon, 22 Apr 2024 00:20:55 -0700 Subject: [PATCH 098/123] Link to https://github.com/tronikos/esphome-magnetometer-water-gas-meter in the Integrating your gas usage page (#32387) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_docs/energy/gas.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/energy/gas.markdown b/source/_docs/energy/gas.markdown index ae0f109e834..ec9b6ebbf10 100644 --- a/source/_docs/energy/gas.markdown +++ b/source/_docs/energy/gas.markdown @@ -31,4 +31,4 @@ We have worked with creator [Marcel Zuidwijk](https://www.zuidwijk.com) to devel #### Read the Gas Meter using a magnetometer -[Diaphragm gas meters](https://en.wikipedia.org/wiki/Gas_meter#Diaphragm/bellows_meters) are the most common type of gas meter, and their movement can frequently be observed with a magnetometer. The [QMC5883L](https://esphome.io/components/sensor/qmc5883l.html) is a common and inexpensive option that ESPHome supports. Many posts on the forums of users having luck with this method, such as [this one](https://community.home-assistant.io/t/water-gas-meter-monitoring-via-magnetometer-sine-wave-to-pulse-issue/245904). +[Diaphragm/bellows gas meters](https://en.wikipedia.org/wiki/Gas_meter#Diaphragm/bellows_meters) are the most common type of gas meter, seen in almost all residential installations, and their movement can frequently be observed with a magnetometer. The [QMC5883L](https://esphome.io/components/sensor/qmc5883l.html) is a common and inexpensive option that ESPHome supports. A project that makes it easy to use this magnetometer and calibrate it is [this water-gas-meter project on GitHub](https://github.com/tronikos/esphome-magnetometer-water-gas-meter). From 90ef1a333511b144a1010d8b05df5f3b0e650d22 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:30:19 +0200 Subject: [PATCH 099/123] Move related topics to meta data (#32403) --- source/_dashboards/alarm-panel.markdown | 10 +++++----- source/_dashboards/area.markdown | 10 +++++----- source/_dashboards/button.markdown | 16 +++++++++------- source/_dashboards/calendar.markdown | 10 +++++----- source/_dashboards/conditional.markdown | 6 +++--- source/_dashboards/energy.markdown | 10 +++++----- source/_dashboards/gauge.markdown | 11 +++++------ source/_dashboards/grid.markdown | 10 +++++----- source/_dashboards/history-graph.markdown | 10 +++++----- source/_dashboards/horizontal-stack.markdown | 7 +++---- source/_dashboards/humidifier.markdown | 9 +++++---- source/_dashboards/logbook.markdown | 10 +++++----- source/_dashboards/markdown.markdown | 10 +++++----- source/_dashboards/media-control.markdown | 10 +++++----- source/_dashboards/plant-status.markdown | 10 +++++----- source/_dashboards/sensor.markdown | 10 +++++----- source/_dashboards/statistic.markdown | 10 +++++----- source/_dashboards/statistics-graph.markdown | 10 +++++----- source/_dashboards/thermostat.markdown | 10 +++++----- source/_dashboards/vertical-stack.markdown | 6 +++--- source/_dashboards/weather-forecast.markdown | 10 +++++----- 21 files changed, 103 insertions(+), 102 deletions(-) diff --git a/source/_dashboards/alarm-panel.markdown b/source/_dashboards/alarm-panel.markdown index 3ef81b0f406..6d137c69412 100644 --- a/source/_dashboards/alarm-panel.markdown +++ b/source/_dashboards/alarm-panel.markdown @@ -3,6 +3,11 @@ type: card title: "Alarm panel card" sidebar_label: Alarm panel description: "The alarm panel card allows you to arm and disarm your alarm control panel integrations." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The alarm panel card allows you to arm and disarm your [alarm control panel](/integrations/#alarm) {% term integrations %}. @@ -81,8 +86,3 @@ states: - arm_night - armed_custom_bypass ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/area.markdown b/source/_dashboards/area.markdown index df4a38b81d6..3efb8beff65 100644 --- a/source/_dashboards/area.markdown +++ b/source/_dashboards/area.markdown @@ -3,6 +3,11 @@ type: card title: "Area card" sidebar_label: Area description: "The area card gives control of your entities in a specified area." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The area card lets you control and monitor an individual {% term area %}. @@ -86,8 +91,3 @@ navigation_path: my_bedroom show_camera: true theme: green ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/button.markdown b/source/_dashboards/button.markdown index e54540751b4..3ce404ea79b 100644 --- a/source/_dashboards/button.markdown +++ b/source/_dashboards/button.markdown @@ -3,6 +3,15 @@ type: card title: "Button card" sidebar_label: Button description: "The Button card allows you to add buttons to perform tasks." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /docs/scripts/ + title: Scripts +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The button card allows you to add buttons to perform tasks. @@ -136,10 +145,3 @@ tap_action: Screenshot of the Button card with script service Screenshot of the button card with script service.

    - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Scripts](/docs/scripts/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/calendar.markdown b/source/_dashboards/calendar.markdown index 3705e87e120..863067a6632 100644 --- a/source/_dashboards/calendar.markdown +++ b/source/_dashboards/calendar.markdown @@ -3,6 +3,11 @@ type: card title: "Calendar card" sidebar_label: Calendar description: "The calendar card displays your calendar entities in a month, day and list view" +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The calendar card displays your [calendar](/integrations/#calendar) {% term entities %} in a month, day, and list view (7 days). @@ -52,8 +57,3 @@ entities: - calendar.calendar_1 - calendar.calendar_2 ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/conditional.markdown b/source/_dashboards/conditional.markdown index 19b188730ba..002e2dd4f4c 100644 --- a/source/_dashboards/conditional.markdown +++ b/source/_dashboards/conditional.markdown @@ -3,6 +3,9 @@ type: card title: Conditional card sidebar_label: Conditional description: The Conditional card displays another card based on conditions. +related: +- docs: /dashboards/cards/ + title: Dashboard cards --- The conditional card displays another card based on conditions. @@ -242,6 +245,3 @@ conditions: {% endconfiguration %} -## Related topics - -- [Dashboard cards](/dashboards/cards/) diff --git a/source/_dashboards/energy.markdown b/source/_dashboards/energy.markdown index f09f2a4fa3b..892841844bb 100644 --- a/source/_dashboards/energy.markdown +++ b/source/_dashboards/energy.markdown @@ -3,6 +3,11 @@ type: card title: "Energy cards" sidebar_label: Energy cards description: "An overview of the energy cards that are available." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- This is a list of all the cards used in the energy dashboard. You can also place them anywhere you want in your dashboard. @@ -229,8 +234,3 @@ The following example limits the number of shown devices to 5: type: energy-devices-detail-graph max_devices: 5 ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/gauge.markdown b/source/_dashboards/gauge.markdown index 6bacac009d5..56d8104fe76 100644 --- a/source/_dashboards/gauge.markdown +++ b/source/_dashboards/gauge.markdown @@ -3,6 +3,11 @@ type: card title: "Gauge card" sidebar_label: Gauge description: "The gauge card is a basic card that allows visually seeing sensor data." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The gauge card is a basic card that allows visually seeing sensor data. @@ -181,9 +186,3 @@ segments: - from: 65 color: var(--error-color) ``` - - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/grid.markdown b/source/_dashboards/grid.markdown index b5a6229730b..bc445f8a134 100644 --- a/source/_dashboards/grid.markdown +++ b/source/_dashboards/grid.markdown @@ -3,6 +3,11 @@ type: card title: "Grid card" sidebar_label: Grid description: "The grid card allows you to show multiple cards in a grid." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The grid card allows you to show multiple cards in a grid. It will first fill the columns, automatically adding new rows as needed. @@ -80,8 +85,3 @@ cards: entity: light.bed_light image: /local/bed_2.png ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/history-graph.markdown b/source/_dashboards/history-graph.markdown index df079a0d80b..c40e43f8e8d 100644 --- a/source/_dashboards/history-graph.markdown +++ b/source/_dashboards/history-graph.markdown @@ -3,6 +3,11 @@ type: card title: "History graph card" sidebar_label: History graph description: "The history graph card allows you to display a graph for each of the entities listed." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The history graph card allows you to display a graph for each of up to eight entities. @@ -107,8 +112,3 @@ entities: - entity: sensor.attic_temperature name: "Attic" ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/horizontal-stack.markdown b/source/_dashboards/horizontal-stack.markdown index eddc32f69d2..16035d48ffc 100644 --- a/source/_dashboards/horizontal-stack.markdown +++ b/source/_dashboards/horizontal-stack.markdown @@ -3,6 +3,9 @@ type: card title: "Horizontal stack card" sidebar_label: Horizontal stack description: "The horizontal stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column." +related: +- docs: /dashboards/cards/ + title: Dashboard cards --- The horizontal stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column. @@ -46,7 +49,3 @@ cards: Two picture cards in a horizontal stack card Two picture cards in a horizontal stack card.

    - -## Related topics - -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/humidifier.markdown b/source/_dashboards/humidifier.markdown index 93b721febf9..1fa21c47197 100644 --- a/source/_dashboards/humidifier.markdown +++ b/source/_dashboards/humidifier.markdown @@ -3,6 +3,11 @@ type: card title: "Humidifier card" sidebar_label: Humidifier description: "The humidifier card gives control of your humidifier entity, allowing you to change the target humidity and mode of the entity." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The humidifier card lets you control and monitor humidifiers, dehumidifiers, and hygrostat devices. @@ -57,7 +62,3 @@ entity: humidifier.bedroom name: Bedroom Humidifier ``` -## Related topics - -- [Card features](/dashboards/features) -- [Themes](/integrations/frontend/) diff --git a/source/_dashboards/logbook.markdown b/source/_dashboards/logbook.markdown index 2ae88343fac..fe0ecd390a2 100644 --- a/source/_dashboards/logbook.markdown +++ b/source/_dashboards/logbook.markdown @@ -3,6 +3,11 @@ type: card title: "Logbook card" sidebar_label: Logbook description: "The logbook card displays entries from the logbook for specific entities." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The logbook card displays entries from the logbook for specific entities. @@ -65,8 +70,3 @@ entities: - light.ceiling_lights hours_to_show: 24 ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/markdown.markdown b/source/_dashboards/markdown.markdown index bcac319e7c9..dfbbd49d692 100644 --- a/source/_dashboards/markdown.markdown +++ b/source/_dashboards/markdown.markdown @@ -3,6 +3,11 @@ type: card title: "Markdown card" sidebar_label: Markdown description: "The Markdown card is used to render Markdown" +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The Markdown card is used to render [Markdown](https://commonmark.org/help/). @@ -140,8 +145,3 @@ content: | This is a success alert — check it out! This is an alert with a title ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/media-control.markdown b/source/_dashboards/media-control.markdown index 0d4958f7e8a..28b6ebbba4a 100644 --- a/source/_dashboards/media-control.markdown +++ b/source/_dashboards/media-control.markdown @@ -3,6 +3,11 @@ type: card title: "Media control card" sidebar_label: Media control description: "The media control card is used to display media player entities on an interface with easy to use controls." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The media control card is used to display [media player](/integrations/#media-player) entities on an interface with easy to use controls. @@ -46,8 +51,3 @@ Basic example: type: media-control entity: media_player.lounge_room ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/plant-status.markdown b/source/_dashboards/plant-status.markdown index 439f04260df..770d6f0dd5c 100644 --- a/source/_dashboards/plant-status.markdown +++ b/source/_dashboards/plant-status.markdown @@ -3,6 +3,11 @@ type: card title: "Plant status card" sidebar_label: Plant status description: "The plant status card is for all the lovely botanists out there." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The plant status card is for all the lovely botanists out there. @@ -48,8 +53,3 @@ Basic example: type: plant-status entity: plant.bonsai ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/sensor.markdown b/source/_dashboards/sensor.markdown index c4196828d7e..e22abb22868 100644 --- a/source/_dashboards/sensor.markdown +++ b/source/_dashboards/sensor.markdown @@ -3,6 +3,11 @@ type: card title: "Sensor card" sidebar_label: Sensor description: "The sensor card gives you a quick overview of your sensors state with an optional graph to visualize change over time." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The sensor card gives you a quick overview of your sensors state with an optional graph to visualize change over time. @@ -83,8 +88,3 @@ type: sensor entity: sensor.illumination name: Illumination ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/statistic.markdown b/source/_dashboards/statistic.markdown index e39895bae59..523fc04a4f5 100644 --- a/source/_dashboards/statistic.markdown +++ b/source/_dashboards/statistic.markdown @@ -3,6 +3,11 @@ type: card title: "Statistic card" sidebar_label: Statistic description: "The statistic card allows you to display a statistical value for an entity." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The statistic card allows you to display a statistical value for an entity. @@ -172,8 +177,3 @@ period: seconds: -10 stat_type: change ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown index 940059e3a20..526800d0d36 100644 --- a/source/_dashboards/statistics-graph.markdown +++ b/source/_dashboards/statistics-graph.markdown @@ -3,6 +3,11 @@ type: card title: "Statistics graph card" sidebar_label: Statistics graph description: "The statistics graph card allows you to display a graph with statistics data for each of the entities listed." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The statistics graph card allows you to display a graph of statistics data for each of the entities listed. @@ -96,8 +101,3 @@ entities: - entity: sensor.inside_temperature name: Inside ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/thermostat.markdown b/source/_dashboards/thermostat.markdown index 5ca865065d8..885545f9120 100644 --- a/source/_dashboards/thermostat.markdown +++ b/source/_dashboards/thermostat.markdown @@ -3,6 +3,11 @@ type: card title: "Thermostat card" sidebar_label: Thermostat description: "The thermostat card gives control of your climate entity, allowing you to change the temperature and mode of the entity." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The thermostat card gives control of your [climate](/integrations/#climate) {% term entity %}, allowing you to change the temperature and mode of the {% term entity %}. @@ -55,8 +60,3 @@ features: type: thermostat entity: climate.nest ``` - -## Related topics - -- [Card features](/dashboards/features) -- [Themes](/integrations/frontend/) diff --git a/source/_dashboards/vertical-stack.markdown b/source/_dashboards/vertical-stack.markdown index 08768af6955..1d9ef13ff57 100644 --- a/source/_dashboards/vertical-stack.markdown +++ b/source/_dashboards/vertical-stack.markdown @@ -3,6 +3,9 @@ type: card title: "Vertical stack card" sidebar_label: Vertical stack description: "The vertical stack card allows you to group multiple cards so they always sit in the same column." +related: +- docs: /dashboards/cards/ + title: Dashboard cards --- The vertical stack card allows you to group multiple cards so they always sit in the same column. @@ -72,6 +75,3 @@ cards: Create a grid layout using vertical and horizontal stack.

    -## Related topics - -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/weather-forecast.markdown b/source/_dashboards/weather-forecast.markdown index 55c8fadd530..f0423dfa1ce 100644 --- a/source/_dashboards/weather-forecast.markdown +++ b/source/_dashboards/weather-forecast.markdown @@ -3,6 +3,11 @@ type: card title: "Weather forecast card" sidebar_label: Weather forecast description: "The weather forecast card displays the weather. Very useful to include on interfaces that people display on the wall." +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The weather forecast card displays the weather. This card is particularly useful on wall-mounted displays. @@ -153,8 +158,3 @@ Example theme configuration: ```yaml --weather-icon-sunny: url("/local/sunny.png") ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file From bbc6a4d12b0fe2a9c6f7bf0687942f2a8f9324d7 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 10:46:41 +0200 Subject: [PATCH 100/123] Dashboards: move related topics to meta data (#32405) --- source/_dashboards/entities.markdown | 13 +++++----- source/_dashboards/entity.markdown | 13 +++++----- source/_dashboards/glance.markdown | 13 +++++----- source/_dashboards/iframe.markdown | 10 ++++---- source/_dashboards/light.markdown | 13 +++++----- source/_dashboards/map.markdown | 13 +++++----- source/_dashboards/picture-elements.markdown | 13 +++++----- source/_dashboards/picture-entity.markdown | 12 ++++++---- source/_dashboards/picture-glance.markdown | 13 +++++----- source/_dashboards/picture.markdown | 13 +++++----- source/_dashboards/tile.markdown | 12 ++++++---- source/_dashboards/todo-list.markdown | 25 ++++++++++---------- 12 files changed, 88 insertions(+), 75 deletions(-) diff --git a/source/_dashboards/entities.markdown b/source/_dashboards/entities.markdown index 9710311a591..503a6149c3e 100644 --- a/source/_dashboards/entities.markdown +++ b/source/_dashboards/entities.markdown @@ -3,6 +3,13 @@ type: card title: "Entities card" sidebar_label: Entities description: "The entities card is the most common type of card. It groups items together into lists." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /dashboards/header-footer/ + title: Card header and footer +- docs: /dashboards/cards/ + title: Dashboard cards --- The entities card is the most common type of card. It groups items together into lists. It can be used to display an entity's state or attribute, but also contain buttons, web links, etc. @@ -456,9 +463,3 @@ entities: text: Are you sure you want to restart? service: script.libreelec_power_cycle ``` - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Card header and footer](/dashboards/header-footer/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/entity.markdown b/source/_dashboards/entity.markdown index 4fabc918093..6feb88344a4 100644 --- a/source/_dashboards/entity.markdown +++ b/source/_dashboards/entity.markdown @@ -3,6 +3,13 @@ type: card title: "Entity card" sidebar_label: Entity description: "The entity card gives you a quick overview of your entity's state" +related: +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/header-footer/ + title: Card header and footer +- docs: /dashboards/cards/ + title: Dashboard cards --- The entity card gives you a quick overview of your entity's state. @@ -78,9 +85,3 @@ footer: attribute: battery_level unit: "%" ``` - -## Related topics - -- [Card header and footer](/dashboards/header-footer/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/glance.markdown b/source/_dashboards/glance.markdown index 10c5b911e7c..fea5f6bc720 100644 --- a/source/_dashboards/glance.markdown +++ b/source/_dashboards/glance.markdown @@ -3,6 +3,13 @@ type: card title: "Glance card" sidebar_label: Glance description: "The glance card is useful to group multiple sensors in a compact overview." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The glance card is useful to group multiple sensors in a compact overview. Keep in mind that this can be used together with [entity-filter](/dashboards/entity-filter/) cards to create dynamic cards. @@ -157,9 +164,3 @@ entities: tap_action: action: toggle ``` - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/iframe.markdown b/source/_dashboards/iframe.markdown index 21bd62efc0e..0311f321922 100644 --- a/source/_dashboards/iframe.markdown +++ b/source/_dashboards/iframe.markdown @@ -3,6 +3,11 @@ type: card title: "Webpage card" sidebar_label: Webpage description: "The webpage card allows you to embed your favorite webpage right into Home Assistant." +related: +- docs: /dashboards/dashboards/#webpage-dashboard + title: Webpage dashboard +- docs: /dashboards/cards/ + title: Dashboard cards --- The webpage card allows you to embed your favorite webpage right into Home Assistant. You can also embed files stored in your `/www` folder and reference them using `/local/`. @@ -59,8 +64,3 @@ type: iframe url: https://www.home-assistant.io aspect_ratio: 75% ``` - -## Related topics - -- [Dashboard cards](/dashboards/cards/) -- [Webpage dashboard](/dashboards/dashboards/#webpage-dashboard) \ No newline at end of file diff --git a/source/_dashboards/light.markdown b/source/_dashboards/light.markdown index 7023f9def8d..1c7ae31bb38 100644 --- a/source/_dashboards/light.markdown +++ b/source/_dashboards/light.markdown @@ -3,6 +3,13 @@ type: card title: "Light card" sidebar_label: Light description: "The light card allows you to change the brightness of the light." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The light card allows you to change the brightness of the light. @@ -80,9 +87,3 @@ name: My Office Screenshot of the Light card Screenshot of the Light card names.

    - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/map.markdown b/source/_dashboards/map.markdown index 3ee49dcb992..48a0d3aaaf4 100644 --- a/source/_dashboards/map.markdown +++ b/source/_dashboards/map.markdown @@ -3,6 +3,13 @@ type: card title: "Map card" sidebar_label: Map description: "The map card that allows you to display entities on a map" +related: +- docs: /dashboards/dashboards/#map-dashboard + title: Map dashboard +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The map card that allows you to display entities on a map. This card is used on the [Map dashboard](/dashboards/dashboards/#map-dashboard), which is one of the default dashboards. @@ -134,9 +141,3 @@ entities: focus: false hours_to_show: 48 ``` - -## Related topics - -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) -- [Map dashboard](/dashboards/dashboards/#map-dashboard) \ No newline at end of file diff --git a/source/_dashboards/picture-elements.markdown b/source/_dashboards/picture-elements.markdown index aa6433d9f6d..65e6342d521 100644 --- a/source/_dashboards/picture-elements.markdown +++ b/source/_dashboards/picture-elements.markdown @@ -3,6 +3,13 @@ type: card title: "Picture elements card" sidebar_label: Picture elements description: "The picture elements card is one of the most versatile types of cards. The cards allow you to position icons or text and even services! On an image based on coordinates." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The picture elements card is one of the most versatile types of cards. @@ -573,9 +580,3 @@ elements: top: 47% left: 42% ``` - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/picture-entity.markdown b/source/_dashboards/picture-entity.markdown index 928fa7912f1..d4b1a59b8d0 100644 --- a/source/_dashboards/picture-entity.markdown +++ b/source/_dashboards/picture-entity.markdown @@ -3,6 +3,13 @@ type: card title: Picture entity card sidebar_label: Picture entity description: The picture entity card displays an entity in the form of an image. Instead of images from URL, it can also show the picture of camera entities. +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The picture entity card displays an entity in the form of an image. Instead of images from URL, it can also show the picture of `camera` entities. @@ -139,8 +146,3 @@ tap_action: The filename needs to be a path that is writable by Home Assistant in your system. You may need to configure `allowlist_external_dirs` ([documentation](/docs/configuration/basic/)). -## Related topics - -- [Card actions](/dashboards/actions/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/picture-glance.markdown b/source/_dashboards/picture-glance.markdown index de065a64941..a335eb911c5 100644 --- a/source/_dashboards/picture-glance.markdown +++ b/source/_dashboards/picture-glance.markdown @@ -3,6 +3,13 @@ type: card title: "Picture glance card" sidebar_label: Picture glance description: "The picture glance card shows an image and corresponding entity states as an icon. The entities on the right side allow toggle actions, others show the more information dialog." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The picture glance card shows an image and lets you place small icons of entity states on top of that card to control those entities from there. In the image below: the entities on the right allow toggle actions, the others show the more information dialog. @@ -267,9 +274,3 @@ state_image: "off": /local/living_room_off.png entity: group.living.room ``` - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/picture.markdown b/source/_dashboards/picture.markdown index 1ee6176e191..e451c5fe9bb 100644 --- a/source/_dashboards/picture.markdown +++ b/source/_dashboards/picture.markdown @@ -3,6 +3,13 @@ type: card title: "Picture card" sidebar_label: Picture description: "The picture card allows you to set an image to use for navigation to various paths in your interface or to call a service." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards --- The picture card allows you to set an image to use for navigation to various paths in your interface or to call a service. @@ -74,9 +81,3 @@ tap_action: data: entity_id: light.ceiling_lights ``` - -## Related topics - -- [Card actions](/dashboards/actions/) -- [Themes](/integrations/frontend/) -- [Dashboard cards](/dashboards/cards/) \ No newline at end of file diff --git a/source/_dashboards/tile.markdown b/source/_dashboards/tile.markdown index 713c9789887..026532b14e9 100644 --- a/source/_dashboards/tile.markdown +++ b/source/_dashboards/tile.markdown @@ -3,6 +3,13 @@ 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." +related: +- docs: /dashboards/actions/ + title: Card actions +- docs: /dashboards/features + title: Card features +- docs: /dashboards/cards/ + title: Dashboard cards --- The tile card gives you a quick overview of your {% term entity %}. The card allows you to toggle the {% term entity %} and show the more info dialog. A badge is shown for some {% term entities %} like the [climate](/integrations/climate) or [person](/integrations/person) {% term entities %}. @@ -130,8 +137,3 @@ features: You want to colorize the tile card? Choose one of the following colors: `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`. -## Related topics - -- [Card actions](/dashboards/actions/) -- [Card features](/dashboards/features) -- [Dashboard cards](/dashboards/cards/) diff --git a/source/_dashboards/todo-list.markdown b/source/_dashboards/todo-list.markdown index 51b358e1755..b08f63e57da 100644 --- a/source/_dashboards/todo-list.markdown +++ b/source/_dashboards/todo-list.markdown @@ -3,6 +3,19 @@ type: card title: "To-do list card" sidebar_label: To-do list description: "The to-do list card allows you to add, edit, check-off, and clear items from your to-do list." +related: +- docs: /dashboards/dashboards/ + title: Dashboards +- docs: /integrations/frontend/ + title: Themes +- docs: /dashboards/cards/ + title: Dashboard cards +- docs: /integrations/todo + title: To-do list integration documentation +- docs: /integrations/#to-do-list + title: List of to-do list integrations +- docs: /integrations/local_todo/ + title: Local to-do integration --- The to-do list card allows you to add, edit, check-off, and clear items from your to-do list. @@ -59,15 +72,3 @@ type: todo-list entity: todo-list title: todo list ``` - -## Related topics - -- [To-do list integration documentation](/integrations/todo) -- [List of to-do list integrations](/integrations/#to-do-list) -- [Local to-do integration](/integrations/local_todo/) - -### Dashboards, cards, and themes - -- [Dashboards](/dashboards/dashboards/) -- [Dashboard cards](/dashboards/cards/) -- [Themes](/integrations/frontend/) \ No newline at end of file From ff801754571473da2edeb3d75c71553dc26d4e2a Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 11:50:03 +0200 Subject: [PATCH 101/123] Dashboard: move related topics to meta data (#32406) --- source/_dashboards/masonry.markdown | 10 +++++----- source/_dashboards/panel.markdown | 10 +++++----- source/_dashboards/sections.markdown | 23 ++++++++++++++--------- source/_dashboards/shopping-list.markdown | 11 ++++++----- source/_dashboards/sidebar.markdown | 12 ++++++------ 5 files changed, 36 insertions(+), 30 deletions(-) diff --git a/source/_dashboards/masonry.markdown b/source/_dashboards/masonry.markdown index 53e8d7c065d..db469490618 100644 --- a/source/_dashboards/masonry.markdown +++ b/source/_dashboards/masonry.markdown @@ -3,6 +3,11 @@ type: view title: Masonry view sidebar_label: Masonry (default) description: "The default panel layout uses a masonry algorithm." +related: +- docs: /dashboards/panel/ + title: Panel view +- docs: /dashboards/sidebar/ + title: Sidebar view --- The masonry view is the default view type. @@ -27,8 +32,3 @@ type: description: "`masonry`" type: string {% endconfiguration %} - -## Related topics - -- [Panel view](/dashboards/panel/) -- [Sidebar view](/dashboards/sidebar/) \ No newline at end of file diff --git a/source/_dashboards/panel.markdown b/source/_dashboards/panel.markdown index c4a2869e2a9..fa6c9392734 100644 --- a/source/_dashboards/panel.markdown +++ b/source/_dashboards/panel.markdown @@ -3,6 +3,11 @@ type: view title: Panel view sidebar_label: Panel description: "The panel view shows a single card in the full width of the screen." +related: +- docs: /dashboards/masonry/ + title: Masonry view +- docs: /dashboards/sidebar/ + title: Sidebar view --- The panel view must have exactly one card. This card is rendered full-width. @@ -22,8 +27,3 @@ type: description: "`panel`" type: string {% endconfiguration %} - -## Related topics - -- [Masonry view](/dashboards/masonry/) -- [Sidebar view](/dashboards/sidebar/) \ No newline at end of file diff --git a/source/_dashboards/sections.markdown b/source/_dashboards/sections.markdown index 029fd058ad9..36864e25d67 100644 --- a/source/_dashboards/sections.markdown +++ b/source/_dashboards/sections.markdown @@ -3,6 +3,20 @@ type: view title: Sections (experimental) sidebar_label: Sections (experimental) description: "Lets you organize your cards in sections on a grid." +description: "The panel view shows a single card in the full width of the screen." +related: +- docs: /dashboards/masonry/ + title: Masonry view +- docs: /dashboards/sidebar/ + title: Sidebar view +- docs: /dashboards/panel/ + title: Panel view +- docs: /blog/2024/03/04/dashboard-chapter-1/ + title: Dashboard chapter 1 blog post +- docs: /dashboards/cards/#adding-cards-to-your-dashboard + title: Adding cards to a view +- docs: /dashboards/views/#adding-a-view-to-a-dashboard + title: Adding a new view --- The sections view lets you organize your cards in sections on a grid. @@ -69,12 +83,3 @@ type: description: "`sections`" type: string {% endconfiguration %} - -## Related topics - -- [Masonry view](/dashboards/masonry/) -- [Panel view](/dashboards/panel/) -- [Sidebar view](/dashboards/sidebar/) -- [Dashboard chapter 1 blog post](/blog/2024/03/04/dashboard-chapter-1/) -- [Adding cards to a view](/dashboards/cards/#adding-cards-to-your-dashboard) -- [Adding a new view](/dashboards/views/#adding-a-view-to-a-dashboard) \ No newline at end of file diff --git a/source/_dashboards/shopping-list.markdown b/source/_dashboards/shopping-list.markdown index b0a955f7a8c..2f128a67162 100644 --- a/source/_dashboards/shopping-list.markdown +++ b/source/_dashboards/shopping-list.markdown @@ -1,6 +1,12 @@ --- title: "Shopping list card" description: "The shopping list card allows you to add, edit, check-off, and clear items from your shopping list." +description: "The panel view shows a single card in the full width of the screen." +related: +- docs: /integrations/todo/ + title: To-do list integration +- docs: /integrations/local_todo/ + title: Local to-do integration --- Note: the shopping list card is no longer available as a card to add from the user interface. Use the [to-do list card](/dashboards/todo-list/) instead. @@ -45,8 +51,3 @@ Title example: type: shopping-list title: shopping list ``` - -## Related topics - -- [To-do list integration](/integrations/todo) -- [Local to-do integration](/integrations/local_todo/) \ No newline at end of file diff --git a/source/_dashboards/sidebar.markdown b/source/_dashboards/sidebar.markdown index 3c55ccccd4a..810fadd21e5 100644 --- a/source/_dashboards/sidebar.markdown +++ b/source/_dashboards/sidebar.markdown @@ -3,6 +3,11 @@ type: view title: Sidebar view sidebar_label: Sidebar description: "The sidebar view has 2 columns, a wide one and a smaller one on the right." +related: +- docs: /dashboards/masonry/ + title: Masonry view +- docs: /dashboards/panel/ + title: Panel view --- The sidebar view has 2 columns, a wide one and a smaller one on the right. @@ -53,9 +58,4 @@ cards: - media_player.lounge_room view_layout: position: sidebar -``` - -## Related topics - -- [Panel view](/dashboards/panel/) -- [Masonry view](/dashboards/masonry/) \ No newline at end of file +``` \ No newline at end of file From 0ddb576344cc85ef5fde1ebae4bb3a5330d126b8 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 12:41:43 +0200 Subject: [PATCH 102/123] Organizing: move related topics to meta data (#32407) --- source/_docs/organizing.markdown | 16 ++++++++------- source/_docs/organizing/areas.markdown | 16 +++++++++------ source/_docs/organizing/categories.markdown | 13 +++++++----- source/_docs/organizing/filtering.markdown | 22 ++++++++++++--------- source/_docs/organizing/floors.markdown | 16 +++++++++------ source/_docs/organizing/labels.markdown | 14 ++++++++----- 6 files changed, 59 insertions(+), 38 deletions(-) diff --git a/source/_docs/organizing.markdown b/source/_docs/organizing.markdown index 0ab5f7ece4a..cfd1d72acdc 100644 --- a/source/_docs/organizing.markdown +++ b/source/_docs/organizing.markdown @@ -1,6 +1,15 @@ --- title: "Grouping your assets" description: "Grouping your assets makes it easier to find them and allows you to target groups in automations." +related: +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/floors/ + title: Floors +- docs: /docs/organizing/labels/ + title: Labels +- docs: /docs/organizing/categories/ + title: Categories --- Once you have more devices, you may want to target entire groups of devices in automations. It also becomes more challenging to find items in lists. There are a few tools to group your assets: [Areas](#areas), [floors](#floors), [labels](#labels), and [categories](#categories). @@ -44,10 +53,3 @@ Once you have more devices, you may want to target entire groups of devices in a - Categories are unique for each table. The automations page can have different categories than the scene, scripts, or helpers settings page. Screenshots the new categories. Automations are grouped into their categories, making it easier to get an overview or to filter them. - -## Related topics - -- [Areas](/docs/organizing/areas/) -- [Floors](/docs/organizing/floors/) -- [Labels](/docs/organizing/labels/) -- [Categories](/docs/organizing/categories/) diff --git a/source/_docs/organizing/areas.markdown b/source/_docs/organizing/areas.markdown index 60c86cb4e05..28f3d364f45 100644 --- a/source/_docs/organizing/areas.markdown +++ b/source/_docs/organizing/areas.markdown @@ -1,6 +1,16 @@ --- title: "Areas" description: "Group your devices and entities in areas and group areas in floors." +related: +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/ +- docs: /docs/organizing/labels/ + title: Labels +- docs: /docs/organizing/categories/ + title: Categories +- docs: /docs/configuration/templating/#areas + title: Using areas in template --- An area in Home Assistant is a logical grouping of {% term devices %} and {% term entities %} that are meant to match areas (or rooms) in the physical world of your home. For example, the "Living room" area groups devices and entities in your living room. Areas allow you to target an entire group of devices with a service call. For example, turning off all the lights in the living room. @@ -34,9 +44,3 @@ If an area has not yet been assigned to a floor, it is shown in the **Unassigned 1. Go to {% my areas title="**Settings** > **Areas, labels & zones**" %} and select **Create area**. 2. On the area card, select the pencil icon. 3. In the dialog, select the floor and add labels, if you like. - -## Related topics - -- [Floors](/docs/organizing/floors/) -- [Labels](/docs/organizing/labels/) -- [Using areas in templates](/docs/configuration/templating/#areas) diff --git a/source/_docs/organizing/categories.markdown b/source/_docs/organizing/categories.markdown index f85ae9ae758..ee2dd14455b 100644 --- a/source/_docs/organizing/categories.markdown +++ b/source/_docs/organizing/categories.markdown @@ -1,6 +1,13 @@ --- title: "Categories" description: "Use categories to group and filter your table items" +related: +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/floors/ + title: Floors +- docs: /docs/organizing/labels/ + title: Labels --- Categories let you group and filter items in a table. Like labels, categories allow grouping irrespective of the items physical location. For example, on the automations page, you can create the categories “Notifications” or “NFC tags” to view your automations grouped or filtered. These categories group automations on the automation page, but have no effect anywhere else. Categories are unique for each table. The automations page can have different categories than the scene, scripts, or helpers settings page. @@ -31,10 +38,6 @@ Follow these steps to create a new category. - In the top right corner, select **Move to category**. - Then, select the category from the list. 4. Once categories are applied, the table items are grouped by those categories. - - The example shows 2 categories: Coffee and housekeeping. + - The example shows 2 categories: Coffee and housekeeping. ![Group table items by category](/images/organizing/category_02.png) - -## Related topics - -- [Labels](/docs/organizing/labels/) diff --git a/source/_docs/organizing/filtering.markdown b/source/_docs/organizing/filtering.markdown index 18b354f13fb..2e4d19a1430 100644 --- a/source/_docs/organizing/filtering.markdown +++ b/source/_docs/organizing/filtering.markdown @@ -1,6 +1,19 @@ --- title: "Filtering your assets" description: "Filter for items in tables." +related: +- docs: /docs/organizing/floors/ + title: Floors +- docs: /docs/organizing/labels/ + title: Labels +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/categories/ + title: Categories +- docs: /docs/organizing/ + title: Grouping your assets +- docs: /common-tasks/general/ + title: Enabling or disabling entities and automations --- When working with tables, you can select multiple elements to apply an action on multiple items at once. If you have [grouped](/docs/organizing/) your assets by assigning them to floors, areas, labels, or directories you can also filter your data accordingly. @@ -41,12 +54,3 @@ You can group items in a table according to certain criteria. The number of show ![Select the Group by button](/images/organizing/table_group_01.png) 3. To sort the items, select the **Sort by** button. - -## Related topics - -- [Floors](/docs/organzing/floors/) -- [Labels](/docs/organzing/labels/) -- [Areas](/docs/organzing/areas/) -- [Categories](/docs/organzing/categories/) -- [Grouping your assets](/docs/organizing/) -- [Enabling or disabling entities and automations](/common-tasks/general/) \ No newline at end of file diff --git a/source/_docs/organizing/floors.markdown b/source/_docs/organizing/floors.markdown index c9b9199d1b8..e86cb2d7777 100644 --- a/source/_docs/organizing/floors.markdown +++ b/source/_docs/organizing/floors.markdown @@ -1,6 +1,16 @@ --- title: "Floors" description: "Group your areas per floor" +related: +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/ +- docs: /docs/organizing/labels/ + title: Labels +- docs: /docs/configuration/templating/#floors + title: Using floors in templates +- docs: /voice_control/aliases/ + title: Using floor alias for voice assistants --- A floor in Home Assistant is a logical grouping of areas meant to match your home's physical floors. Devices and entities @@ -27,9 +37,3 @@ Follow these steps to create a new floor. ![Create floor dialog](/images/organizing/create_floor_02.png) 4. You can now [assign areas to that floor](/docs/organizing/areas/#assigning-areas-to-floors-and-add-labels). - -## Related topics - -- [Alias for voice assistants](/voice_control/aliases/) -- [Areas](/docs/organizing/areas/) -- [Using floors in templates](/docs/configuration/templating/#floors) diff --git a/source/_docs/organizing/labels.markdown b/source/_docs/organizing/labels.markdown index 23948927316..f76f7057de8 100644 --- a/source/_docs/organizing/labels.markdown +++ b/source/_docs/organizing/labels.markdown @@ -1,6 +1,15 @@ --- title: "Labels" description: "Label your areas, devices, entities, automations, scripts, and helpers. Then, filter by label or run an automation on all entities with that label." +related: +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/floors/ + title: Floors +- docs: /docs/organizing/categories/ + title: Categories +- docs: /docs/configuration/templating/#labels + title: Using labels in templates --- Labels in Home Assistant allow grouping elements irrespective of their physical location or type. Labels can be assigned to areas, devices, entities, automations, scenes, scripts, and helpers. Labels can be used in automations and scripts as a target for actions and services. Labels can also be used to filter data. For example, you can filter the list of devices to show only devices with the label `heavy energy usage` or turn these devices off when there is not a lot of solar energy available. @@ -41,8 +50,3 @@ Follow these steps to apply a label - Select the Multiselect icon button. - From the list, select all the items to which you want to apply a label. - In the top right corner, select the three dots menu, then select **Add label**. Then, select the labels from the list. - -## Related topics - -- [Areas](/docs/organizing/areas/) -- [Using labels in templates](/docs/configuration/templating/#labels) From e6448f68dc3425969a7bf0cd1c748ea056474e48 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 14:42:24 +0200 Subject: [PATCH 103/123] Configuration: Move related topics to meta data (#32409) --- source/_docs/automation/trigger.markdown | 3 ++ source/_docs/configuration.markdown | 20 ++++++------- source/_docs/configuration/secrets.markdown | 10 +++---- .../splitting_configuration.markdown | 12 ++++---- source/_docs/configuration/yaml.markdown | 30 ++++++++----------- source/_docs/locked_out.md | 13 ++++---- source/_docs/troubleshooting_general.markdown | 13 ++++---- 7 files changed, 51 insertions(+), 50 deletions(-) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 175745aa935..30663a158ac 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -1,6 +1,9 @@ --- title: "Automation Trigger" description: "All the different ways how automations can be triggered." +related: +- docs: /voice_control/custom_sentences/#adding-a-custom-sentence-to-trigger-an-automation + title: Adding a custom sentence to trigger an automation --- Triggers are what starts the processing of an {% term automation %} rule. When _any_ of the automation's triggers becomes true (trigger _fires_), Home Assistant will validate the [conditions](/docs/automation/condition/), if any, and call the [action](/docs/automation/action/). diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 4589d8acff0..5e340df411a 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -1,6 +1,15 @@ --- title: "Configuration.yaml" description: "Configuring Home Assistant via text files." +related: +- docs: /docs/configuration/yaml/ + title: YAML syntax +- docs: /docs/configuration/secrets + title: Storing credentials in `secrets.yaml` file +- docs: /common-tasks/os/#backups + title: Creating and restoring backups +- docs: /integrations/backup + title: Creating backups for Home Assistant Container and Core --- While you can configure most of Home Assistant directly from the user interface under {% my config %}, some parts need you to edit `configuration.yaml`. This file contains {% term integrations %} to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality. @@ -49,14 +58,3 @@ The method for running a configuration check depends on your [installation type] - [Configuration check on Supervised](/common-tasks/supervised/#configuration-check) - [Configuration check on Container](/common-tasks/container/#configuration-check) - [Configuration check on Core](/common-tasks/core/#configuration-check) - -## Related topics - -- [YAML syntax](/docs/configuration/yaml/) -- [Configuration check on Operating System](/common-tasks/os/#configuration-check) -- [Storing credentials in `secrets.yaml` file](/docs/configuration/secrets) - -### Backups - -- [Creating and restoring backups](/common-tasks/os/#backups) -- [Creating backups for Home Assistant Container and Core](/integrations/backup) diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index 3e4eade924a..a30ad0b505b 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -1,6 +1,11 @@ --- title: "Storing secrets" description: "Storing secrets outside of your configuration.yaml." +related: +- docs: /docs/configuration/ + title: `configuration.yaml` file +- docs: /docs/configuration/splitting_configuration/ + title: Splitting the configuration --- The `configuration.yaml` file is a plain-text file, thus it is readable by anyone who has access to the file. The file contains passwords and API tokens which need to be redacted if you want to share your configuration. By using `!secret` you can remove any private information from your configuration files. This separation can also help you to keep easier track of your passwords and API keys, as they are all stored at one place and no longer spread across the `configuration.yaml` file or even multiple YAML files if you [split up your configuration](/docs/configuration/splitting_configuration/). @@ -59,8 +64,3 @@ hass --script check_config --secrets ``` This will print all your secrets. - -### Related topics - -- [`configuration.yaml` file](/docs/configuration/) -- [Splitting the configuration](/docs/configuration/splitting_configuration/) diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index 59cf7fec3c0..6cf73ba8e06 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -1,6 +1,13 @@ --- title: "Splitting up the configuration" description: "Splitting the configuration.yaml into several files." +related: +- docs: /docs/configuration/ + title: `configuration.yaml` file +- docs: /examples/#example-configurationyaml + title: Example configuration files by the community +- docs: /docs/configuration/packages + title: Using packages to organize configuration files --- So you've been using Home Assistant for a while now and your `configuration.yaml` file brings people to tears because it has become so large. Or, you simply want to start off with the distributed approach. Here's how to split the `configuration.yaml` into more manageable (read: human-readable) pieces. @@ -536,8 +543,3 @@ automation ui: !include automations.yaml ``` [discord]: https://discord.gg/c5DvZ4e - -## Related topics - -- [Example configuration files by the community](/examples/#example-configurationyaml) -- [Using packages to organize configuration files](/docs/configuration/packages) \ No newline at end of file diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 4a957fceba2..2a0b6b6eba3 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -1,6 +1,19 @@ --- title: "YAML syntax" description: "Details about the YAML syntax used to configure Home Assistant." +related: +- docs: /docs/configuration/ + title: `configuration.yaml` file +- docs: /docs/configuration/secrets/ + title: Storing private data in separate file +- docs: /docs/automation/yaml/ + title: Automation.yaml +- docs: /docs/configuration/troubleshooting/ + title: Troubleshooting the configuration files +- docs: /docs/configuration/#validating-the-configuration + title: Validating the configuration +- url: https://developers.home-assistant.io/docs/documenting/yaml-style-guide/ + title: YAML Style Guide for Home Assistant developers --- Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. While most integrations can be configured through the UI, some integrations require you to edit your [`configuration.yaml`](/docs/configuration/) file to specify its settings. @@ -130,20 +143,3 @@ not a valid value for dictionary value @ data With all these indents and rules, it is easy to make a mistake. The best way to check if your YAML syntax is correct (validate) depends on the editor you use. We can't list them all here. - If you edit the files directly in Home Assistant, refer to the section: [Validating the configuration](/docs/configuration/#validating-the-configuration) - -## Related topics - -### YAML - -- [YAML Style Guide for Home Assistant developers](https://developers.home-assistant.io/docs/documenting/yaml-style-guide/) -- [Validating the configuration](/docs/configuration/#validating-the-configuration) - -### Related configuration topics - -- [`configuration.yaml` file](/docs/configuration/) -- [Troubleshooting the configuration files](/docs/configuration/troubleshooting/) -- [Storing private data in separate file](/docs/configuration/secrets/) - -### Automation - -- [Automation.yaml](/docs/automation/yaml/) \ No newline at end of file diff --git a/source/_docs/locked_out.md b/source/_docs/locked_out.md index 1615df455a7..1b6266c3df4 100644 --- a/source/_docs/locked_out.md +++ b/source/_docs/locked_out.md @@ -1,6 +1,13 @@ --- title: "I'm locked out!" description: "Options for regaining access" +related: +- docs: /common-tasks/os/#listing-all-users-from-the-command-line + title: Listing all user names via command line +- url: https://yellow.home-assistant.io/guides/factory-reset/ + title: Reset the Yellow +- url: https://green.home-assistant.io/guides/reset/ + title: Reset the Green --- The sections below deal with recovering from a situation where you are not able to sign in, @@ -131,9 +138,3 @@ For Windows or macOS you will need third party software. Below are some options. - Windows: (read-only access to the SD) - macOS: - -## Related topics - -- [Reset the Green](https://green.home-assistant.io/guides/reset/) -- [Reset the Yellow](https://yellow.home-assistant.io/guides/factory-reset/) -- [Listing all user names via command line](/common-tasks/os/#listing-all-users-from-the-command-line) \ No newline at end of file diff --git a/source/_docs/troubleshooting_general.markdown b/source/_docs/troubleshooting_general.markdown index da987e2d24e..1b3321f51ec 100644 --- a/source/_docs/troubleshooting_general.markdown +++ b/source/_docs/troubleshooting_general.markdown @@ -1,6 +1,13 @@ --- title: "General troubleshooting" description: "General troubleshooting information" +related: +- docs: /docs/configuration/#editing-configurationyaml + title: Editing your configuration +- docs: /integrations/recovery_mode/ + title: Recovery mode integration +- docs: /docs/locked_out/ + title: Resetting your password --- This page provides some information about more generic troubleshooting topics. @@ -35,9 +42,3 @@ If your Home Assistant is acting up and you cannot identify a root cause, you ca Safe mode loads Home Assistant Core, but no custom integrations, no custom cards, and no custom themes. If the issue does not persist in Safe mode, the issue is not with Home Assistant Core. Before reporting an issue, check if the issue persists in Safe mode. To enable Safe mode, go to **Settings** > **System** > **Restart Home Assistant** (top right) > **Restart Home Assistant in safe mode**. - -## Related topics - -- [Editing your configuration](/docs/configuration/#editing-configurationyaml) -- [Recovery mode integration](/integrations/recovery_mode/) -- [Resetting your password](/docs/locked_out/) \ No newline at end of file From 6d58f9cea0c7aea023b58fedd0d531325e58b18b Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 15:33:21 +0200 Subject: [PATCH 104/123] integrations-move-related-topics (#32412) --- source/_docs/tools/check_config.markdown | 7 +++--- source/_integrations/backup.markdown | 16 ++++++++------ source/_integrations/bring.markdown | 16 ++++++++------ source/_integrations/caldav.markdown | 7 ++++++ source/_integrations/google_tasks.markdown | 22 +++++++++---------- source/_integrations/ourgroceries.markdown | 9 ++++++++ source/_integrations/todoist.markdown | 25 +++++++++++----------- 7 files changed, 61 insertions(+), 41 deletions(-) diff --git a/source/_docs/tools/check_config.markdown b/source/_docs/tools/check_config.markdown index 9b93898c16d..fae27e4d9be 100644 --- a/source/_docs/tools/check_config.markdown +++ b/source/_docs/tools/check_config.markdown @@ -1,6 +1,9 @@ --- title: "check_config" description: "Script to perform a check of the current configuration" +related: +- docs: /docs/configuration/#validating-the-configuration + title: Validating the configuration --- Test any changes to your `configuration.yaml` file before launching Home Assistant. This script allows you to test changes without the need to restart Home Assistant. @@ -28,7 +31,3 @@ optional arguments: -f, --files Show used configuration files -s, --secrets Show secret information ``` - -## Related topics - -- [Validating the configuration](/docs/configuration/#validating-the-configuration) \ No newline at end of file diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index f3526a4253b..6df5e910d8b 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -10,6 +10,15 @@ ha_codeowners: - '@home-assistant/core' ha_iot_class: Calculated ha_integration_type: system +related: +- docs: /installation/#advanced-installation-methods + title: Home Assistant installation methods +- docs: /getting-started/onboarding/ + title: Recover from backup during onboarding +- docs: /docs/configuration/ + title: Configuration file +- docs: /common-tasks/os/#restoring-a-backup + title: Home Assistant Operating System- Restoring a backup --- The **Backup** {% term integration %} allows you to create and download backups for your {% term "Home Assistant Core" %} and {% term "Home Assistant Container" %} installations. This backup file can be used if you migrate to {% term "Home Assistant Operating System" %}. @@ -74,10 +83,3 @@ The steps on recovering from a backup depend on the installation type and use ca 3. If you migrate from a {% term "Home Assistant Core" %} or {% term "Home Assistant Container" %} installation to {% term "Home Assistant Operating System" %}: - You can use these backup files during [onboarding](/getting-started/onboarding/) to recover your installation from backup. - -## Related topics - -- [Home Assistant installation methods](/installation/#advanced-installation-methods) -- [Recover from backup during onboarding](/getting-started/onboarding/) -- [Configuration file](/docs/configuration/) -- [Home Assistant Operating System: Restoring a backup](/common-tasks/os/#restoring-a-backup) diff --git a/source/_integrations/bring.markdown b/source/_integrations/bring.markdown index 5f2f7ff98ad..d0e1da37ecd 100644 --- a/source/_integrations/bring.markdown +++ b/source/_integrations/bring.markdown @@ -13,6 +13,15 @@ ha_domain: bring ha_integration_type: service ha_platforms: - todo +related: +- docs: /integrations/todo + title: To-do list integration documentation +- docs: /integrations/#to-do-list + title: List of to-do list integrations +- docs: /dashboards/todo-list/ + title: To-do list card +- url: https://www.getbring.com/ + title: Bring! --- The **Bring!** integration allows you to interact with your [Bring!](https://www.getbring.com/) shopping lists within Home Assistant. @@ -20,10 +29,3 @@ The **Bring!** integration allows you to interact with your [Bring!](https://www For authentication, the integration requires the `email` and `password` you used for your Bring! account. If you want to automatically receive notifications via the Bring! app when Home Assistant adds or removes an item from the list, you should use a dedicated account (such as `email: your.name+ha@gmail.com`) to connect Home Assistant with [Bring!](https://www.getbring.com/). {% include integrations/config_flow.md %} - -## Related topics - -- [Bring!](https://www.getbring.com/) -- [To-do list integration documentation](/integrations/todo) -- [List of to-do list integrations](/integrations/#to-do-list) -- [To-do list card](/dashboards/todo-list/) diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index ead6c770f76..533056cbfca 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -12,6 +12,13 @@ ha_platforms: - todo ha_integration_type: integration ha_config_flow: true +related: +- docs: /integrations/todo + title: To-do list integration documentation +- docs: /integrations/#to-do-list + title: List of to-do list integrations +- docs: /dashboards/todo-list/ + title: To-do list card --- The **CalDAV** integration allows you to connect your WebDAV calendar to Home Assistant diff --git a/source/_integrations/google_tasks.markdown b/source/_integrations/google_tasks.markdown index ee2bcffe652..402074b35ee 100644 --- a/source/_integrations/google_tasks.markdown +++ b/source/_integrations/google_tasks.markdown @@ -12,6 +12,17 @@ ha_codeowners: ha_integration_type: integration ha_platforms: - todo +related: +- docs: /integrations/todo + title: To-do list integration documentation +- docs: /integrations/#to-do-list + title: List of to-do list integrations +- docs: /dashboards/todo-list/ + title: To-do list card +- url: https://support.google.com/tasks/answer/7675772 + title: Google Tasks +- url: https://console.cloud.google.com/apis/library/tasks.googleapis.com + title: Google Developers Console --- The **Google Tasks** integration allows you to connect your [Google Tasks](https://support.google.com/tasks/answer/7675772) to Home Assistant. The integration adds a [to-do list entity](/integrations/todo) for @@ -78,14 +89,3 @@ The integration setup will next give you instructions to enter the [Application ## Troubleshooting If you have an error with your credentials, you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface. - -## Related topics - -- [Google Tasks](https://support.google.com/tasks/answer/7675772) -- [Google Developers Console](https://console.cloud.google.com/apis/library/tasks.googleapis.com) - -### To-do list - -- [To-do list integration documentation](/integrations/todo) -- [List of to-do list integrations](/integrations/#to-do-list) -- [To-do list card](/dashboards/todo-list/) diff --git a/source/_integrations/ourgroceries.markdown b/source/_integrations/ourgroceries.markdown index 81e463cba47..26526f6132e 100644 --- a/source/_integrations/ourgroceries.markdown +++ b/source/_integrations/ourgroceries.markdown @@ -12,6 +12,15 @@ ha_domain: ourgroceries ha_platforms: - todo ha_integration_type: integration +related: +- docs: /integrations/todo + title: To-do list integration documentation +- docs: /integrations/#to-do-list + title: List of to-do list integrations +- docs: /dashboards/todo-list/ + title: To-do list card +- url: https://www.ourgroceries.com/ + title: OurGroceries --- This integration connects with an [OurGroceries](https://www.ourgroceries.com/) account and integrates your shopping lists into Home Assistant. diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown index 654890c4a28..b30daa42ef7 100644 --- a/source/_integrations/todoist.markdown +++ b/source/_integrations/todoist.markdown @@ -14,6 +14,19 @@ ha_platforms: - todo ha_integration_type: integration ha_config_flow: true +related: +- docs: /integrations/todo + title: To-do list integration documentation +- docs: /integrations/#to-do-list + title: List of to-do list integrations +- docs: /dashboards/todo-list/ + title: To-do list card +- docs: /dashboards/dashboards/ + title: Dashboards +- docs: /integrations/calendar/ + title: Calendar +- url: https://todoist.com + title: Todoist projects --- This platform allows you to connect to your [Todoist projects](https://todoist.com) as [todo](/integrations/todo/) or [calendar](/integrations/calendar/) entities. All tasks get updated roughly every 15 minutes. @@ -194,15 +207,3 @@ Here are two example JSON payloads resulting in the same task: Valid languages are: `en`, `da`, `pl`, `zh`, `ko`, `de`, `pt`, `ja`, `it`, `fr`, `sv`, `ru`, `es`, `nl` - **reminder_date** (*Optional*): When should the user be reminded of this task, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format (in UTC timezone). Mutually exclusive with `reminder_date_string`. - -## Related topics - -- [Todoist projects](https://todoist.com) -- [Calendar](/integrations/calendar/) - -## To-do list - -- [To-do list integration documentation](/integrations/todo) -- [List of to-do list integrations](/integrations/#to-do-list) -- [To-do list card](/dashboards/todo-list/)- -- [Dashboards](/dashboards/dashboards/) From 936ec1e06083d30057eb6393847d107c051cfbc4 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Mon, 22 Apr 2024 16:52:33 +0200 Subject: [PATCH 105/123] Integrations - move related topics to meta data (#32414) --- source/_integrations/ezviz.markdown | 61 ++++++++++----------- source/_integrations/history.markdown | 5 ++ source/_integrations/matter.markdown | 18 +++--- source/_integrations/ollama.markdown | 5 ++ source/_integrations/prusalink.markdown | 7 +++ source/_integrations/recovery_mode.markdown | 7 +-- source/_integrations/thread.markdown | 35 ++++++------ 7 files changed, 74 insertions(+), 64 deletions(-) diff --git a/source/_integrations/ezviz.markdown b/source/_integrations/ezviz.markdown index 0d7143d64dc..604759d6c06 100644 --- a/source/_integrations/ezviz.markdown +++ b/source/_integrations/ezviz.markdown @@ -25,6 +25,9 @@ ha_platforms: - switch - update ha_integration_type: integration +related: +- docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera + title: Controlling the camera from the dashboard --- The `ezviz` sensor platform uses the ezvizlife.com API to interact with the devices. @@ -74,61 +77,61 @@ You can also change the camera options should you need to access a high or low r If your EZVIZ camera supports warning sounds, you can use this service to set the intensity. -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | -| `level` | Set the sound level to 0 for Soft, 1 for Intensive or 2 to disable | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| `level` | Set the sound level to 0 for Soft, 1 for Intensive or 2 to disable | ### Service `ezviz.ptz` If your EZVIZ camera supports PTZ, you will be able to pan or tilt your camera. -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | -| `direction` | Direction of the movement. Allowed values: `up`, `down`, `left`, `right` | -| `speed` | (Optional) Speed to in which to move the camera. Allowed values: int from 1 to 9. Default: 5 | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| `direction` | Direction of the movement. Allowed values: `up`, `down`, `left`, `right` | +| `speed` | (Optional) Speed to in which to move the camera. Allowed values: int from 1 to 9. Default: 5 | ### Service `ezviz.set_alarm_detection_sensibility` If your EZVIZ camera supports motion detection, you will be able to set the sensitivity level using this service. -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | -| `level` | Sensibility level (1-6) for type 0 (Normal camera) or (1-100) for type 3 (PIR sensor camera). | -| `type_value` | Type of detection. Options : 0 - Camera or 3 - PIR Sensor Camera. | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| `level` | Sensibility level (1-6) for type 0 (Normal camera) or (1-100) for type 3 (PIR sensor camera). | +| `type_value` | Type of detection. Options : 0 - Camera or 3 - PIR Sensor Camera. | ### Service `ezviz.sound_alarm` If your EZVIZ camera has a built-in siren, you can use this service to make a noise. -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | -| `enable` | Sound the alarm by setting this to 1 or stop the siren by setting this to 0. | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| `enable` | Sound the alarm by setting this to 1 or stop the siren by setting this to 0. | ### Service `ezviz.wake_device` If you have "sleep" mode enabled on your camera, you can use this service to wake it. Especially useful for battery cameras. -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | To enable/disable motion detection, use the Home Assistant built in services. ### Service `camera.enable_motion_detection` -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | ### Service `camera.disable_motion_detection` -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------------------------------------------------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | ### Alarm control panel entity @@ -166,7 +169,3 @@ The image entity represents the last detected event from a camera and visually r ## Troubleshooting - `authentication failed`: The authentication requires an EZVIZ account with two-step verification disabled. Google, Facebook, TikTok, or other Oauth-based accounts will not work. - -## Related topics - -- [Controlling the camera from the dashboard](/dashboards/picture-glance/#creating-a-card-to-control-the-camera) diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index a18c10f14b1..4c05981e26c 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -9,6 +9,11 @@ ha_codeowners: - '@home-assistant/core' ha_domain: history ha_integration_type: system +related: +- docs: /integrations/recorder/ + title: Recorder integration +- url: https://data.home-assistant.io + title: Home Assistant Data Science Portal --- The **History** integration tracks everything that is going on within Home diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index d76352d761a..5fe2b66c9b1 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -26,6 +26,13 @@ ha_platforms: - sensor - switch ha_integration_type: integration +related: +- docs: /integrations/thread/ + title: Thread +- docs: /integrations/homekit_controller/ + title: HomeKit +- docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread + title: Adding an Apple HomeKit device through Thread --- The Matter integration allows you to control Matter devices on your local Wi-Fi or {% term Thread %} network. @@ -356,14 +363,3 @@ Also see this [extended troubleshooting guide](https://developers.home.google.co The Matter protocol relies on (local) IPv6 and mDNS (multicast traffic) which should be able to travel freely in your network. Matter devices that use Wi-Fi (including Thread border routers) must be on the same LAN/VLAN as Home Assistant. Matter devices that only use {% term Thread %} must be joined to {% term Thread %} networks for which there is at least one border router connected to the Home Assistant LAN. If you experience any issues with discovering devices (for example, if the initial {% term commissioning %} keeps failing or if devices become unavailable randomly), investigate your network topology. For instance, a setting on your router or Wi-Fi access point to "optimize" multicast traffic can harm the (discovery) traffic from Matter devices. Keep this in mind when you experience issues trying to add or control Matter devices. Protocols like Matter are designed for regular residential network setups and may not integrate well with enterprise networking solutions like VLANs, Multicast filtering, and (malfunctioning) IGMP snooping. To avoid issues, try to keep your network topology as simple and flat as possible. - -## Related topics - -### Related integrations - -- [Thread](/integrations/thread/) -- [HomeKit](/integrations/homekit_controller/) - -### Related guides - -- [Adding an Apple HomeKit device through Thread](/integrations/homekit_controller/#adding-a-homekit-device-through-thread) diff --git a/source/_integrations/ollama.markdown b/source/_integrations/ollama.markdown index ceac5c6a7f2..5acbedeba09 100644 --- a/source/_integrations/ollama.markdown +++ b/source/_integrations/ollama.markdown @@ -10,6 +10,11 @@ ha_codeowners: - '@synesthesiam' ha_domain: ollama ha_integration_type: service +related: +- docs: /docs/configuration/templating/ + title: Home Assistant Templating +- docs: /docs/automation/trigger/#sentence-trigger + title: Sentence trigger --- The **Ollama** {% term integration %} adds a conversation agent in Home Assistant powered by a local [Ollama](https://ollama.com/) server. diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index 66b60eab6d6..4860f9462bc 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -16,6 +16,13 @@ ha_platforms: - camera - sensor ha_dhcp: true +related: +- url: https://help.prusa3d.com/article/prusa-connect-and-prusalink-explained_302608 + title: PrusaLink documentation +- url: https://help.prusa3d.com/guide/prusalink-and-prusa-connect-setup-mk3-s-_221744 + title: PrusaLink installation guide for Prusa MK3 with Raspberry Pi Zero W +- url: https://help.prusa3d.com/guide/prusalink-prusa-connect-with-rpi-3-4-usb-mk2-5-s-mk3-s-_469341 + title: Sentence trigger --- The **PrusaLink** {% term integration %} allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration works with Prusa MINI/MINI+, Prusa MK3.9/MK4, Prusa XL, and with the older Raspberry Pi-based Prusa MK2.5/MK3. diff --git a/source/_integrations/recovery_mode.markdown b/source/_integrations/recovery_mode.markdown index 475e34e3438..a2afe670373 100644 --- a/source/_integrations/recovery_mode.markdown +++ b/source/_integrations/recovery_mode.markdown @@ -8,6 +8,9 @@ ha_codeowners: ha_domain: recovery_mode ha_quality_scale: internal ha_integration_type: system +related: +- docs: /docs/troubleshooting_general/ + title: General troubleshooting --- The **Recovery mode** integration is an internal integration used by the @@ -26,7 +29,3 @@ the Home Assistant frontend, settings and add-ons. This gives you the possibility to correct the issue and restart Home Assistant to re-try. - -## Related topics - -- [General troubleshooting](/docs/troubleshooting_general/) diff --git a/source/_integrations/thread.markdown b/source/_integrations/thread.markdown index 8b1b637c701..4dda645ddad 100644 --- a/source/_integrations/thread.markdown +++ b/source/_integrations/thread.markdown @@ -12,6 +12,23 @@ ha_config_flow: true ha_platforms: - diagnostics ha_zeroconf: true +related: +- docs: /yellow/ + title: Home Assistant Yellow - hub +- docs: /skyconnect/ + title: Home Assistant SkyConnect - Zigbee/Thread USB stick +- docs: /integrations/matter/ + title: Matter +- docs: /integrations/homekit_controller/ + title: HomeKit +- docs: /integrations/matter/#adding-a-matter-device-to-home-assistant + title: Adding a Matter device to Home Assistant +- docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread + title: Adding an Apple HomeKit device through Thread +- url: https://skyconnect.home-assistant.io/procedures/enable-thread/ + title: Enabling Thread on SkyConnect +- url: https://yellow.home-assistant.io/procedures/enable-thread/ + title: Enabling Thread on Yellow --- The Thread integration helps you track the different Thread networks in your home and store the Thread network credentials (similar to a Wi-Fi password). The Thread integration in Home Assistant is currently still a work in progress. @@ -226,21 +243,3 @@ You can only set a Thread network as preferred if the credentials are known. In the current implementation, having multiple TBRs from different vendors results in separate networks using different credentials. This prevents devices from roaming between the Thread networks. In theory, it would be better to join all Thread networks into a single network to increase the size of the mesh network. A dense mesh network should lead to better RF coverage and better link quality, which lowers transmission latencies, making communication faster. -## Related topics - -### Related hardware - -- [Home Assistant Yellow](/yellow/) hub -- [Home Assistant SkyConnect](/skyconnect/) Zigbee/Thread USB stick - -### Related integrations for smart home standards - -- [Matter](/integrations/matter/) -- [HomeKit](/integrations/homekit_controller/) - -### Related guides - -- [Adding a Matter device to Home Assistant](/integrations/matter/#adding-a-matter-device-to-home-assistant) -- [Adding an Apple HomeKit device through Thread](/integrations/homekit_controller/#adding-a-homekit-device-through-thread) -- [Enabling Thread on SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-thread/) -- [Enabling Thread on Yellow](https://yellow.home-assistant.io/procedures/enable-thread/) From 45ec1f49253bf7b5c163bdf05d05fa237193b5c1 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 08:13:47 +0200 Subject: [PATCH 106/123] Voice control: move related topics to meta data (#32421) --- source/voice_control/about_wake_word.markdown | 16 +++++++------ source/voice_control/aliases.markdown | 13 +++++----- source/voice_control/android.markdown | 13 +++++----- ...assist_create_open_ai_personality.markdown | 13 +++++----- .../assist_daily_summary.markdown | 19 ++++++++------- .../voice_control/builtin_sentences.markdown | 24 ++++++++++++------- 6 files changed, 56 insertions(+), 42 deletions(-) diff --git a/source/voice_control/about_wake_word.markdown b/source/voice_control/about_wake_word.markdown index 4a15afc9816..dc5a5a0961b 100644 --- a/source/voice_control/about_wake_word.markdown +++ b/source/voice_control/about_wake_word.markdown @@ -1,5 +1,14 @@ --- title: "About wake words" +related: +- docs: /voice_control/thirteen-usd-voice-remote/ + title: Create a $13 voice assistant +- docs: /voice_control/install_wake_word_add_on/ + title: Enable wake words +- docs: /voice_control/create_wake_word/ + title: Create your own wake words +- docs: /voice_control/voice_remote_cloud_assistant/) + title: Create a cloud assistant --- Wake words are special words or phrases that tell a voice assistant that a command is about to be spoken. The device then switches from passive to active listening. Examples are: *Hey Google*, *Hey Siri*, or *Alexa*. Home Assistant supports its own wake words, such as *Hey Nabu*. @@ -101,13 +110,6 @@ Right now, there are two easy options to get started with wake words: - Follow the guide to the [$13 voice assistant][13-tutorial]. This tutorial is using the tiny ATOM Echo, detecting wake words with openWakeWord. - Follow the guide to set up an [ESP32-S3-BOX-3 voice assistant](/voice_control/s3_box_voice_assistant/). This tutorial is using the bigger S3-BOX-3 device which features a display. It can detect wake words using openWakeWord. But it can also do on-device wake word detection using microWakeWord. -## Related topics - -- [Create a $13 voice assistant](/voice_control/thirteen-usd-voice-remote/) -- [Enable wake words](/voice_control/install_wake_word_add_on/) -- [Create your own wake words](/voice_control/create_wake_word/) -- [Create a cloud assistant](/voice_control/voice_remote_cloud_assistant/) - [13-tutorial]: /voice_control/thirteen-usd-voice-remote/ [openWakeWord]: https://github.com/dscripka/openWakeWord [own-wake-word]: /voice_control/create_wake_word/ diff --git a/source/voice_control/aliases.markdown b/source/voice_control/aliases.markdown index d564bf23869..7c74cb5804d 100644 --- a/source/voice_control/aliases.markdown +++ b/source/voice_control/aliases.markdown @@ -1,5 +1,12 @@ --- title: "Assist - entity, area, and floor aliases" +related: +- docs: /docs/organizing/areas/ + title: Areas +- docs: /docs/organizing/floors/ + title: Floors +- docs: /voice_control/custom_sentences/ + title: Assist - custom sentences --- Assist will use the names of your entities, areas and floors, as well as any aliases you've configured. The configured aliases are not only used by Assist, but can also be used by Google Assistant, if you have set that up. @@ -29,9 +36,3 @@ There are multliple ways to add an alias of an entity: 2. Next to the floor of interest, select the three-dot menu, then select **Edit floor**. 3. Select **Add alias** and enter the alias you want to use for that floor. 4. **Save** your changes. - -## Related topics - -- [Areas](/docs/organizing/areas/) -- [Floors](/docs/organizing/floors/) -- [Assist - custom sentences](/voice_control/custom_sentences/) diff --git a/source/voice_control/android.markdown b/source/voice_control/android.markdown index 5bf8e675397..667903f732a 100644 --- a/source/voice_control/android.markdown +++ b/source/voice_control/android.markdown @@ -1,5 +1,12 @@ --- title: "Assist on Android" +related: +- docs: /voice_control/voice_remote_expose_devices/ + title: Exposing devices to Assist +- docs: /voice_control/start_assist_from_dashboard/ + title: Starting Assist from your dashboard +- url: https://companion.home-assistant.io/docs/getting_started/ + title: Home Assistant Companion App --- ## Assist on Android phones @@ -134,9 +141,3 @@ Depending on your watch, you can assign Assist to a button so that you can start ![List of assistants](/images/assist/android_watch_7.png) 3. Now, use your key and speak a command. - -## Related topics - -- [Home Assistant Companion App](https://companion.home-assistant.io/docs/getting_started/) -- [Exposing devices to Assist](/voice_control/voice_remote_expose_devices/) -- [Starting Assist from your dashboard](/voice_control/start_assist_from_dashboard/) diff --git a/source/voice_control/assist_create_open_ai_personality.markdown b/source/voice_control/assist_create_open_ai_personality.markdown index 685e06f084b..f10b0bb5a6a 100644 --- a/source/voice_control/assist_create_open_ai_personality.markdown +++ b/source/voice_control/assist_create_open_ai_personality.markdown @@ -1,5 +1,12 @@ --- title: "Create a personality with OpenAI" +related: +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Cloud assistant pipeline +- docs: /voice_control/voice_remote_local_assistant/ + title: Local assistant pipeline +- url: https://www.nabucasa.com + title: Home Assistant Cloud --- You can give your voice assistant personality by using OpenAI. This requires an OpenAI account. For what we do in this tutorial, the free trial option is sufficient. No need to leave your credit card information. @@ -36,9 +43,3 @@ Using OpenAI requires an OpenAI account. For this tutorial, the free trial optio - Leave the other settings unchanged and select **Create**. 4. You can repeat this with other OpenAI personalities. You can add as many OpenAI Conversation integrations as you would like. - To add a new personality, you need to create a new API key. Then, add a new OpenAI Conversation integration with that API key. - -## Related topics - -- [Home Assistant Cloud](https://www.nabucasa.com) -- [Cloud assistant pipeline](/voice_control/voice_remote_cloud_assistant/) -- [Local assistant pipeline](/voice_control/voice_remote_local_assistant/) diff --git a/source/voice_control/assist_daily_summary.markdown b/source/voice_control/assist_daily_summary.markdown index 6a11c203669..9c25e48469f 100644 --- a/source/voice_control/assist_daily_summary.markdown +++ b/source/voice_control/assist_daily_summary.markdown @@ -1,5 +1,16 @@ --- title: "Daily summary by Assist" +related: +- docs: /voice_control/voice_remote_local_assistant/ + title: Local assistant pipeline +- docs: /integrations/local_calendar/ + title: Local calendar +- docs: /integrations/telegram/#setup-example + title: Telegram notification +- docs: /voice_control/assist_create_open_ai_personality/ + title: Telegram notification +- url: https://www.nabucasa.com + title: Home Assistant Cloud --- In this tutorial, we are creating an automation that has Assist send you a daily summary. Assist will tell you about the weather and your calendar events today. It will also send you the summary to your messenger. @@ -84,11 +95,3 @@ We are using a blueprint (courtesy of [@allenporter]) that polls calendar events - You should now receive a notification from Assist in your messenger app. [@allenporter]: https://github.com/allenporter - -## Related topics - -- [Home Assistant Cloud](https://www.nabucasa.com) -- [Local assistant pipeline](/voice_control/voice_remote_local_assistant/) -- [Local calendar](/integrations/local_calendar/) -- [Telegram notification](/integrations/telegram/#setup-example) -- [Create a Mario personality](/voice_control/assist_create_open_ai_personality/) \ No newline at end of file diff --git a/source/voice_control/builtin_sentences.markdown b/source/voice_control/builtin_sentences.markdown index 695115b9fad..29dca680f35 100644 --- a/source/voice_control/builtin_sentences.markdown +++ b/source/voice_control/builtin_sentences.markdown @@ -1,5 +1,20 @@ --- title: "Assist - default sentences" +related: +- docs: /voice_control/aliases/ + title: Create aliases +- docs: /voice_control/custom_sentences/ + title: Create your own sentences +- docs: /voice_control/troubleshooting/ + title: Sentence troubleshooting +- url: https://github.com/home-assistant/intents/tree/main/sentences + title: Built-in sentence definitions +- url: https://github.com/home-assistant/intents/tree/main/responses + title: Built-in response definitions +- url: https://developers.home-assistant.io/docs/voice/intent-recognition/template-sentence-syntax/ + title: Template sentence syntax documentation +- url: https://github.com/home-assistant/intents/tree/main/sentences + title: Sentence test cases --- Home Assistant comes with [built-in sentences](https://github.com/home-assistant/intents/tree/main/sentences) contributed by the community for [dozens of languages](https://developers.home-assistant.io/docs/voice/intent-recognition/supported-languages). @@ -103,12 +118,3 @@ The list of supported sentences is constantly being updated for each language. T 3. View the [sentence definition](https://github.com/home-assistant/intents/tree/main/sentences) for your language. 4. View the [response definition](https://github.com/home-assistant/intents/tree/main/responses) -## Related topics - -- [Create aliases](/voice_control/aliases/) -- [Create your own sentences](/voice_control/custom_sentences/) -- [Built-in sentence definitions](https://github.com/home-assistant/intents/tree/main/sentences) -- [Built-in response definitions](https://github.com/home-assistant/intents/tree/main/responses) -- [Template sentence syntax documentation](https://developers.home-assistant.io/docs/voice/intent-recognition/template-sentence-syntax/) -- [Sentence test cases](https://github.com/home-assistant/intents/tree/main/sentences) -- [Sentence troubleshooting](/voice_control/troubleshooting/) From 8e091ccc358b1a4e80a0dcebc731c47c3cc20c4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 08:14:25 +0200 Subject: [PATCH 107/123] Bump sorbet-runtime from 0.5.11352 to 0.5.11353 (#32423) Bumps [sorbet-runtime](https://github.com/sorbet/sorbet) from 0.5.11352 to 0.5.11353. - [Release notes](https://github.com/sorbet/sorbet/releases) - [Commits](https://github.com/sorbet/sorbet/commits) --- updated-dependencies: - dependency-name: sorbet-runtime dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 16d20c9894f..3470c786f86 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM rack-protection (= 4.0.0) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.11352) + sorbet-runtime (0.5.11353) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 97245db4e08ea674db9d9a01beeaadb7c6dca505 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 08:31:45 +0200 Subject: [PATCH 108/123] Bump rubocop from 1.63.2 to 1.63.3 (#32422) Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.2 to 1.63.3. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.63.2...v1.63.3) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index c0509c57410..859ab858451 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ group :development do gem 'stringex', '2.8.6' # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' - gem 'rubocop', '1.63.2' + gem 'rubocop', '1.63.3' gem 'ruby-lsp', '0.16.4' gem 'rackup', '2.1.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 3470c786f86..9d41aa00108 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,7 +102,7 @@ GEM regexp_parser (2.9.0) rexml (3.2.6) rouge (4.2.1) - rubocop (1.63.2) + rubocop (1.63.3) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -160,7 +160,7 @@ DEPENDENCIES nokogiri (= 1.16.4) rackup (= 2.1.0) rake (= 13.2.1) - rubocop (= 1.63.2) + rubocop (= 1.63.3) ruby-lsp (= 0.16.4) sass-globbing (= 1.1.5) sassc (= 2.1.0) From 45fcc779911454633b801346b30383d21c7a519a Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 08:33:34 +0200 Subject: [PATCH 109/123] Dashboards: move related topics to meta data (#32420) --- source/dashboards/actions.markdown | 28 ++++++++++++++---------- source/dashboards/cards.markdown | 26 +++++++++++----------- source/dashboards/dashboards.markdown | 19 +++++++++------- source/dashboards/features.markdown | 12 +++++----- source/dashboards/header-footer.markdown | 16 ++++++++------ source/dashboards/index.markdown | 26 +++++++++++----------- source/dashboards/views.markdown | 22 +++++++++++-------- 7 files changed, 83 insertions(+), 66 deletions(-) diff --git a/source/dashboards/actions.markdown b/source/dashboards/actions.markdown index 1010ea4f4a8..3bc256dd09c 100644 --- a/source/dashboards/actions.markdown +++ b/source/dashboards/actions.markdown @@ -1,6 +1,23 @@ --- title: "Actions" description: "Define what an object does when interacted with." +related: +- docs: /dashboards/button/ + title: Button card +- docs: /dashboards/entities/ + title: Entities card +- docs: /dashboards/glance/ + title: Glance card +- docs: /dashboards/light/ + title: Light card +- docs: /dashboards/picture/ + title: Picture card +- docs: /dashboards/picture-elements/ + title: Picture element card +- docs: /dashboards/picture-entity/ + title: Picture entity card +- docs: /dashboards/picture-glance/ + title: Picture glance card --- Some cards have support for tap actions. These actions define what will happen when you tap or hold on an object within a card. @@ -264,14 +281,3 @@ hold_action: ## Limitations It is not possible to use templates for actions. But calling a [script](/docs/scripts/) is a good alternative. - -## Related topics - -- [Button card](/dashboards/button/) -- [Entities card](/dashboards/entities/) -- [Glance card](/dashboards/glance/) -- [Light card](/dashboards/light/) -- [Picture card](/dashboards/picture/) -- [Picture element card](/dashboards/picture-elements/) -- [Picture entity card](/dashboards/picture-entity/) -- [Picture glance card](/dashboards/picture-glance/) \ No newline at end of file diff --git a/source/dashboards/cards.markdown b/source/dashboards/cards.markdown index ac5e78b7dc5..d3e8ddf7929 100644 --- a/source/dashboards/cards.markdown +++ b/source/dashboards/cards.markdown @@ -1,6 +1,19 @@ --- title: "Cards" description: "Introduction to the role of cards on the dashboard and how to add a card." +related: +- docs: /dashboards/actions/ + title: Card tap actions +- docs: /dashboards/features/ + title: Card features +- docs: /dashboards/header-footer/ + title: Card header and footer widgets +- docs: /dashboards/views/ + title: Views +- docs: /dashboards/ + title: Introduction to dashboards +- docs: /dashboards/#get-started-with-your-own-dashboard/ + title: Take control of the default dashboard --- Each dashboard is made up of cards. @@ -75,16 +88,3 @@ Another way to add entities to a dashboard is to use the **Device** page. ![Add to Dashboard button on the device page](/images/blog/2024-03-dashboard-chapter-1/sections-add-from-device-page.jpg) {% enddetails %} - -## Related topics - -- [Views](/dashboards/views/) -- [Introduction to dashboards](/dashboards/) -- [Take control of the default dashboard](/dashboards/#get-started-with-your-own-dashboard) - -### Cards - -- For a list of available card types and more detailed documentation, refer to the **Card types** section in the side navigation. -- [Card tap actions](/dashboards/actions/) -- [Card features](/dashboards/actions/) -- [Card header and footer widgets](/dashboards/header-footer/) diff --git a/source/dashboards/dashboards.markdown b/source/dashboards/dashboards.markdown index 1cfbb924ebb..c9f9b2f2e07 100644 --- a/source/dashboards/dashboards.markdown +++ b/source/dashboards/dashboards.markdown @@ -1,6 +1,17 @@ --- title: "Multiple dashboards" description: "Multiple powerful and configurable dashboards in Home Assistant." +related: +- docs: /integrations/logbook/ + title: Logbook integration +- docs: /integrations/history/ + title: History integration +- docs: /integrations/todo/ + title: To-do list integration +- docs: /dashboards/views/ + title: Views +- docs: /dashboards/iframe/ + title: Webpage card --- You can define multiple dashboards in Home Assistant. Each dashboard can be added to the sidebar. This makes it possible to create separate control dashboards for each individual part of your house. @@ -282,11 +293,3 @@ views: content: > Welcome to your **dashboard**. ``` - -## Related topics - -- [Logbook integration](/integrations/logbook/) -- [History integration](/integrations/history/) -- [To-do list integration](/integrations/todo/) -- [Webpage card](/dashboards/iframe/) -- [Views](/dashboards/views/) \ No newline at end of file diff --git a/source/dashboards/features.markdown b/source/dashboards/features.markdown index cc62befc47a..35d286ea043 100644 --- a/source/dashboards/features.markdown +++ b/source/dashboards/features.markdown @@ -1,6 +1,13 @@ --- title: "Features for dashboard cards" description: "Decorate your dashboard cards with quick controls." +related: +- docs: /dashboards/humidifier/ + title: Humidifier card +- docs: /dashboards/thermostat/ + title: Thermostat card +- docs: /dashboards/tile/ + title: Tile card --- Some dashboard cards have support for features. These widgets add quick controls to the card. Supported features depend on the card and entity capabilities. Multiple features can be added to a single card. @@ -581,8 +588,3 @@ operation_modes: type: list {% endconfiguration %} -## Related topics - -- [Humidifier card](/dashboards/humidifier/) -- [Thermostat card](/dashboards/thermostat/) -- [Tile card](/dashboards/tile/) diff --git a/source/dashboards/header-footer.markdown b/source/dashboards/header-footer.markdown index 10e7f607d7e..5406fb14995 100644 --- a/source/dashboards/header-footer.markdown +++ b/source/dashboards/header-footer.markdown @@ -1,6 +1,15 @@ --- title: "Headers & Footers for dashboard cards" description: "Decorate your dashboard cards with header and footer widgets." +related: +- docs: /integrations/entity/ + title: Entity +- docs: /integrations/entities/ + title: Entities +- docs: /integrations/statistics/ + title: Statistics +- docs: /integrations/actions/ + title: Card actions --- Some dashboard cards have support for header and footer widgets. These widgets fill up the whole available space in a card. @@ -146,10 +155,3 @@ hours_to_show: type: integer default: 24 {% endconfiguration %} - -## Related topics - -- [Entity](/dashboards/entity/) -- [Entities](/dashboards/entities/) -- [statistics](/dashboards/statistics/) -- [Card actions](/dashboards/actions/) diff --git a/source/dashboards/index.markdown b/source/dashboards/index.markdown index ba52d11d050..69dc5f73a00 100644 --- a/source/dashboards/index.markdown +++ b/source/dashboards/index.markdown @@ -1,6 +1,19 @@ --- title: "Dashboards" description: "Powerful and configurable dashboards for Home Assistant." +related: +- docs: /integrations/entity/ + title: Dashboard themes +- docs: /dashboards/dashboards/#creating-a-new-dashboard + title: Creating a new dashboard +- docs: /dashboards/cards/ + title: About cards +- url: https://demo.home-assistant.io + title: Interactive dashboard demo +- url: https://home-assistant-cards.bessarabov.com/ + title: Home Assistant cards +- url: https://github.com/custom-cards + title: Community custom cards --- Home Assistant dashboards allow you to display information about your smart home. Dashboards are customizable and provide a powerful way to manage your home from your mobile or desktop. @@ -29,16 +42,3 @@ To create your own dashboard, follow the steps on [creating a new dashboard](/da - Suggestions are welcome in the [frontend repository](https://github.com/home-assistant/frontend/) - For help with dashboards, join the `#frontend` channel on [our chat](/join-chat/) or [our forums](https://community.home-assistant.io/c/projects/frontend) - -## Related topics - -- [Dashboard themes](/integrations/frontend/#defining-themes) -- [Interactive dashboard demo](https://demo.home-assistant.io) -- [Creating a new dashboard](/dashboards/dashboards/#creating-a-new-dashboard) - -### Cards - -- [About cards](/dashboards/cards/) -- [Community custom cards](https://github.com/custom-cards) -- [Home Assistant cards](https://home-assistant-cards.bessarabov.com/) - diff --git a/source/dashboards/views.markdown b/source/dashboards/views.markdown index 22d10a1badd..2cea1ecfbb7 100644 --- a/source/dashboards/views.markdown +++ b/source/dashboards/views.markdown @@ -1,6 +1,19 @@ --- title: "Views" description: "A view is a tab inside a dashboard." +related: +- docs: /dashboards/masonry/ + title: Masonry view +- docs: /dashboards/panel/ + title: Panel view +- docs: /dashboards/sidebar/ + title: Sidebar view +- docs: /dashboards/sections/ + title: Sections view +- docs: /dashboards/ + title: About dashboards +- docs: /dashboards/cards/#adding-cards-to-your-dashboard + title: Adding cards to a view --- A view is a tab inside a dashboard. For example, the screenshot below shows a separate view for lights on the Overview dashboard. @@ -267,12 +280,3 @@ Subview configuration: entities: - sensor.today_avg_price ``` - -## Related topics - -- [Masonry view](/dashboards/masonry/) -- [Panel view](/dashboards/panel/) -- [Sidebar view](/dashboards/sidebar/) -- [Sections view](/dashboards/sections/) -- [About dashboards](/dashboards/) -- [Adding cards to a view](/dashboards/cards/#adding-cards-to-your-dashboard) \ No newline at end of file From 17f39b267ac2817e03c6cb4927b6f8dd7f8a13fa Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 23 Apr 2024 08:46:32 +0200 Subject: [PATCH 110/123] Fix the blueprint community link (#32417) --- source/_docs/blueprint.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_docs/blueprint.markdown b/source/_docs/blueprint.markdown index 7fe1eb1de7d..eb07e05191c 100644 --- a/source/_docs/blueprint.markdown +++ b/source/_docs/blueprint.markdown @@ -23,3 +23,5 @@ A blueprint is a {% term script %} or {% term automation %} configuration with c Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time. Blueprints are shared by the community in the [blueprint community forum][blueprint-forums]. + +[blueprint-forums]: /get-blueprints From 3e7c04e1eb0ccf19c809fb4283427915bf22fee1 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 09:59:35 +0200 Subject: [PATCH 111/123] assist: move related topics to meta data (#32425) --- .../voice_control/create_wake_word.markdown | 19 +++++++----- .../voice_control/custom_sentences.markdown | 21 +++++++------ source/voice_control/index.markdown | 31 ++++++++++++------- .../voice_control/s3-box-customize.markdown | 28 ++++++++++------- .../s3_box_voice_assistant.markdown | 19 +++++++----- .../start_assist_from_dashboard.markdown | 9 ++++++ .../thirteen-usd-voice-remote.markdown | 25 +++++++++------ 7 files changed, 94 insertions(+), 58 deletions(-) diff --git a/source/voice_control/create_wake_word.markdown b/source/voice_control/create_wake_word.markdown index 1655e89847a..b02813cd025 100644 --- a/source/voice_control/create_wake_word.markdown +++ b/source/voice_control/create_wake_word.markdown @@ -1,5 +1,16 @@ --- title: "Create your own wake word" +related: +- docs: /voice_control/thirteen-usd-voice-remote/ + title: $13 voice assistant for Home Assistant +- docs: /voice_control/custom_sentences/ + title: Installing the Samba add-on +- docs: /voice_control/about_wake_word/ + title: About wake words +- url: https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing#scrollTo=1cbqBebHXjFD + title: Wake word training environment +- url: https://github.com/dscripka/openWakeWord + title: Wake word training environment --- You can now create your own wake word to use with Home Assistant. The procedure below will guide you to train a model. The model is trained using voice clips generated by our local neural text-to-speech system [Piper](https://github.com/rhasspy/piper). @@ -93,11 +104,3 @@ Things you can try if the execution is very slow: - Select the link to **Upgrade to Colab Pro**. - Select your price plan and follow the instructions on screen. ![Connect to hosted runtime](/images/assist/wake_word_upgrade_to_colab.png) - -## Related topics - -- [$13 voice assistant for Home Assistant](/voice_control/thirteen-usd-voice-remote/) -- [Wake word training environment](https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing#scrollTo=1cbqBebHXjFD) -- [Installing the Samba add-on](/common-tasks/os/#configuring-access-to-files) -- [openWakeWord add-on](https://github.com/dscripka/openWakeWord) -- [About wake words](/voice_control/about_wake_word/) diff --git a/source/voice_control/custom_sentences.markdown b/source/voice_control/custom_sentences.markdown index 2b475538446..770ef79022b 100644 --- a/source/voice_control/custom_sentences.markdown +++ b/source/voice_control/custom_sentences.markdown @@ -1,5 +1,16 @@ --- title: "Assist - custom sentences" +related: +- docs: /voice_control/aliases/ + title: Create aliases +- docs: /docs/scripts/#respond-to-a-conversation/ + title: Conversation response script action +- docs: /docs/automation/trigger/#sentence-trigger + title: Sentence triggers +- docs: /docs/automation/trigger/#sentence-wildcards + title: Sentence wildcards +- url: https://developers.home-assistant.io/docs/intent_builtin/ + title: View existing intents --- You may add your own sentences to the intent recognizer by either extending an [existing intent](https://developers.home-assistant.io/docs/intent_builtin/) or creating a new one. You may also [customize responses](#customizing-responses) for existing intents. @@ -165,15 +176,7 @@ responses: {% endraw %} -## Related topics - -- [View existing intents](https://developers.home-assistant.io/docs/intent_builtin/) -- [Create aliases](/voice_control/aliases/) -- [Conversation response script action](/docs/scripts/#respond-to-a-conversation) -- [Sentence triggers](/docs/automation/trigger/#sentence-trigger) -- [Sentence wildcards](/docs/automation/trigger/#sentence-wildcards) - -### Related devices and installation tutorials +## Related devices and installation tutorials - [$13 voice assistant for Home Assistant](/voice_control/thirteen-usd-voice-remote/) - [S3-BOX-3 voice assistant](/voice_control/s3_box_voice_assistant/) diff --git a/source/voice_control/index.markdown b/source/voice_control/index.markdown index 46de3a826fc..4f857c3d83c 100644 --- a/source/voice_control/index.markdown +++ b/source/voice_control/index.markdown @@ -1,5 +1,24 @@ --- title: Assist - Talking to Home Assistant +related: +- docs: /voice_control/android + title: Assist on Android +- docs: /voice_control/android/#assist-on-wear-os + title: Assist on Wear OS +- docs: /voice_control/apple + title: Siri and Assist shortcuts +- docs: /voice_control/start_assist_from_dashboard/ + title: Assist dashboard button +- docs: /voice_control/thirteen-usd-voice-remote/ + title: Build a 13$ voice remote using an ESPHome device +- docs: /voice_control/install_wake_word_add_on + title: Enable a wake word +- docs: /voice_control/create_wake_word/ + title: Create your own wake words +- docs: /voice_control/builtin_sentences + title: Built-in sentences +- url: https://www.nabucasa.com/config/ + title: Home Assistant Cloud --- Assist logo @@ -62,15 +81,3 @@ Use the [built-in sentences](/voice_control/builtin_sentences) to control entiti Did Assist not understand your sentence? [Contribute them](https://developers.home-assistant.io/docs/voice/intent-recognition/). _Assist was introduced in Home Assistant 2023.2._ - -## Related topics - -- [Home Assistant Cloud](https://www.nabucasa.com/config/) -- [Assist on Android](/voice_control/android) -- [Assist on Wear OS](/voice_control/android/#assist-on-wear-os) -- [Siri and Assist shortcuts](/voice_control/apple) -- [Assist dashboard button](/voice_control/start_assist_from_dashboard/) -- [Build a 13$ voice remote using an ESPHome device](/voice_control/thirteen-usd-voice-remote/) -- [Enable a wake word](/voice_control/install_wake_word_add_on) -- [Create your own wake words](/voice_control/create_wake_word/) -- [Built-in sentences](/voice_control/builtin_sentences) diff --git a/source/voice_control/s3-box-customize.markdown b/source/voice_control/s3-box-customize.markdown index a800d3c266d..9de8d2b47f2 100644 --- a/source/voice_control/s3-box-customize.markdown +++ b/source/voice_control/s3-box-customize.markdown @@ -2,6 +2,23 @@ title: "Customize the S3-BOX-3" product_name: ESP32-S3-BOX-3 device_name_entry: ESP32-S3-BOX-3 +related: +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Home Assistant Cloud +- docs: /voice_control/voice_remote_local_assistant + title: Assist Pipeline +- docs: /voice_control/s3_box_voice_assistant/ + title: ESP32-S3-BOX-3 voice assistant +- docs: /voice_control/troubleshooting/ + title: General troubleshooting section for Assist +- docs: /voice_control/troubleshooting_the_s3_box/ + title: Troubleshooting the ESP32-S3-BOX-3 +- docs: /common-tasks/os/#configuring-access-to-files + title: Access to your configuration files +- url: https://github.com/jlpouffier/home-assistant-s3-box-community-illustrations/tree/main + title: Community image repository +- url: https://github.com/kahrendt/microWakeWord + title: microWakeWord --- ## Customize the S3-BOX-3 with your own illustrations @@ -222,16 +239,5 @@ You can change the on-device wake word (microWakeWord) that is used on your S3-B 7. Now, speak a command to test the new setting. For example, *Hey Jarvis, turn on the light*. -## Related topics - -- [Community image repository](https://github.com/jlpouffier/home-assistant-s3-box-community-illustrations/tree/main) -- [Home Assistant Cloud](/voice_control/voice_remote_cloud_assistant/) -- [Assist Pipeline](/voice_control/voice_remote_local_assistant) -- [ESP32-S3-BOX-3 voice assistant](/voice_control/s3_box_voice_assistant/) -- [General troubleshooting section for Assist](/voice_control/troubleshooting/) -- [Troubleshooting the ESP32-S3-BOX-3](/voice_control/troubleshooting_the_s3_box/) -- [Access to your configuration files](/common-tasks/os/#configuring-access-to-files) -- [microWakeWord](https://github.com/kahrendt/microWakeWord) - [microWakeWord]: https://github.com/kahrendt/microWakeWord [Kevin Ahrendt]: https://www.kevinahrendt.com/ \ No newline at end of file diff --git a/source/voice_control/s3_box_voice_assistant.markdown b/source/voice_control/s3_box_voice_assistant.markdown index 07865fb5930..f831114f966 100644 --- a/source/voice_control/s3_box_voice_assistant.markdown +++ b/source/voice_control/s3_box_voice_assistant.markdown @@ -3,6 +3,17 @@ title: "ESP32-S3-BOX voice assistant" product_name: ESP32-S3-BOX device_name_entry: ESP32-S3-BOX config_link: /voice_control/s3_box_voice_assistant/#to-delete-the-configuration-from-esphome +related: +- docs: /voice_control/troubleshooting/ + title: General troubleshooting section for Assist +- docs: /voice_control/troubleshooting_the_s3_box/ + title: Troubleshooting the ESP32-S3-BOX-3 +- docs: /common-tasks/os/#configuring-access-to-files + title: Access to your configuration files +- docs: /voice_control/s3-box-customize/#customizing-on-device-wake-words-microwakeword + title: Customizing the S3-BOX with on-device wake words +- url: https://esphome.io/projects/index.html + title: ESPHome projects page --- This tutorial will guide you to turn an ESP32-S3-BOX, ESP32-S3-BOX-3, or an ESP32-S3-BOX-Light into a Home Assistant voice assistant. Note, the term ESP32-S3-BOX is used to refer to any of the 3 product variants. @@ -84,11 +95,3 @@ Before you can use this device with Home Assistant, you need to install a bit of - Disable **LCD Backlight**. ![Toggle to enable/disable wake word](/images/assist/s3-box-disable-screen.png) - -## Related topics - -- [General troubleshooting section for Assist](/voice_control/troubleshooting/) -- [Troubleshooting the ESP32-S3-BOX-3](/voice_control/troubleshooting_the_s3_box/) -- [ESPHome projects page](https://esphome.io/projects/index.html) -- [Access to your configuration files](/common-tasks/os/#configuring-access-to-files) -- [Customizing the S3-BOX with on-device wake words](/voice_control/s3-box-customize/#customizing-on-device-wake-words-microwakeword) diff --git a/source/voice_control/start_assist_from_dashboard.markdown b/source/voice_control/start_assist_from_dashboard.markdown index ec79fbe26f2..42a6179dd7b 100644 --- a/source/voice_control/start_assist_from_dashboard.markdown +++ b/source/voice_control/start_assist_from_dashboard.markdown @@ -1,5 +1,14 @@ --- title: "Starting Assist from your dashboard" +related: +- docs: /voice_control/android/ + title: Assist for Android +- docs: /voice_control/voice_remote_local_assistant/ + title: Creating a local assistant +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant +- docs: /voice_control/voice_remote_expose_devices/ + title: Exposing devices to Assist --- If you are using Home Assistant in kiosk mode, for example if you have a tablet mounted on the wall, the Assist icon in the top right corner is not accessible. In this case, use a dashboard button to start Assist. diff --git a/source/voice_control/thirteen-usd-voice-remote.markdown b/source/voice_control/thirteen-usd-voice-remote.markdown index 2d090c30a24..355e3df98d6 100644 --- a/source/voice_control/thirteen-usd-voice-remote.markdown +++ b/source/voice_control/thirteen-usd-voice-remote.markdown @@ -3,6 +3,21 @@ title: "$13 voice assistant for Home Assistant" product_name: ATOM Echo device_name_entry: M5Stack Atom Echo a61920 config_link: /voice_control/thirteen-usd-voice-remote/#to-delete-the-atom-echo-configuration-from-esphome +related: +- docs: /voice_control/install_wake_word_add_on/ + title: Enable a wake word +- docs: /voice_control/create_wake_word/ + title: Create your own wake words +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant +- docs: /voice_control/troubleshooting/ + title: General troubleshooting section for Assist +- docs: /voice_control/voice_remote_local_assistant + title: Manually configured Assist pipeline +- docs: /voice_control/custom_sentences/ + title: Using a sentence trigger +- docs: /common-tasks/os/#configuring-access-to-files + title: Access to your configuration files --- This tutorial will guide you to turn an ATOM Echo into the @@ -76,13 +91,3 @@ Before you can use this device with Home Assistant, you need to install a bit of Are things not working as expected? - Checkout the [general troubleshooting section for Assist](/voice_control/troubleshooting/). - -## Related topics - -- [Enable a wake word](/voice_control/install_wake_word_add_on/) -- [Create your own wake words](/voice_control/create_wake_word/) -- [General troubleshooting section for Assist](/voice_control/troubleshooting/) -- [Access to your configuration files](/common-tasks/os/#configuring-access-to-files) -- [Using a sentence trigger](/voice_control/custom_sentences/) -- [Home Assistant Cloud](/voice_control/voice_remote_cloud_assistant/) -- [Manually configured Assist pipeline](/voice_control/voice_remote_local_assistant) From 390e3d6d324bb57121796aef50584e4ff81421cc Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 10:54:18 +0200 Subject: [PATCH 112/123] Integrations: move Related topics to meta data (#32426) --- source/_integrations/caldav.markdown | 12 +----- source/_integrations/history.markdown | 5 --- source/_integrations/local_todo.markdown | 10 ++--- source/_integrations/ollama.markdown | 5 --- source/_integrations/ourgroceries.markdown | 7 --- source/_integrations/prusalink.markdown | 5 --- source/_integrations/reolink.markdown | 17 ++++---- source/_integrations/todo.markdown | 50 +++++++++++----------- source/_integrations/tts.markdown | 19 ++++---- 9 files changed, 52 insertions(+), 78 deletions(-) diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index 533056cbfca..1045fac7652 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -19,6 +19,8 @@ related: title: List of to-do list integrations - docs: /dashboards/todo-list/ title: To-do list card +- docs: /integrations/calendar + title: Calendar --- The **CalDAV** integration allows you to connect your WebDAV calendar to Home Assistant @@ -210,13 +212,3 @@ to generate a new password for use by Home Assistant to avoid sharing your iClou password. {% enddetails %} - -## Related topics - -- [Calendar](/integrations/calendar) - -### To-do list - -- [To-do list integration documentation](/integrations/todo) -- [List of to-do list integrations](/integrations/#to-do-list) -- [To-do list card](/dashboards/todo-list/) diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index 4c05981e26c..b6aa03efdbf 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -54,8 +54,3 @@ If you select a time frame that exceeds 10 days, the data is taken from the long The history information is also available through the [RESTful API](/developers/rest_api/#get-apihistory). - -## Related topics - -- [Recorder integration](/integrations/recorder/) -- [Home Assistant Data Science Portal](https://data.home-assistant.io) diff --git a/source/_integrations/local_todo.markdown b/source/_integrations/local_todo.markdown index 934b22aa4bd..311864427d1 100644 --- a/source/_integrations/local_todo.markdown +++ b/source/_integrations/local_todo.markdown @@ -12,6 +12,11 @@ ha_codeowners: ha_integration_type: integration ha_platforms: - todo +related: +- docs: /integrations/todo/ + title: To-do list integration documentation +- docs: /dashboards/todo-list/ + title: To-do list card --- The **Local to-do list** integration allows you to create to-do lists in Home Assistant. @@ -22,8 +27,3 @@ See the [**To-do list** integration](/integrations/todo) for additional details about to-do list entities. {% include integrations/config_flow.md %} - -## Related topics - -- [**To-do list** integration](/integrations/todo) -- [To-do list card](/dashboards/todo-list/) diff --git a/source/_integrations/ollama.markdown b/source/_integrations/ollama.markdown index 5acbedeba09..16354745b97 100644 --- a/source/_integrations/ollama.markdown +++ b/source/_integrations/ollama.markdown @@ -40,8 +40,3 @@ Max history messages: description: Maximum number of messages to keep for each conversation (0 = no limit). Limiting this value will cause older messages in a conversation to be dropped. {% endconfiguration_basic %} - -## Related topics - -- [Home Assistant Templating](/docs/configuration/templating/) -- [Sentence trigger](/docs/automation/trigger/#sentence-trigger) diff --git a/source/_integrations/ourgroceries.markdown b/source/_integrations/ourgroceries.markdown index 26526f6132e..1d925b206bf 100644 --- a/source/_integrations/ourgroceries.markdown +++ b/source/_integrations/ourgroceries.markdown @@ -27,10 +27,3 @@ This integration connects with an [OurGroceries](https://www.ourgroceries.com/) It adds a [to-do list entity](/integrations/todo) for each shopping list, allowing you to create, update, or delete items on the list from the **To-do list** dashboard. {% include integrations/config_flow.md %} - -## Related topics - -- [OurGroceries](https://www.ourgroceries.com/) -- [To-do list integration documentation](/integrations/todo) -- [List of to-do list integrations](/integrations/#to-do-list) -- [To-do list card](/dashboards/todo-list/) diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index 4860f9462bc..a348d54516b 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -51,8 +51,3 @@ Firmware update guides can be found here: {% include integrations/config_flow.md %} -## Related topics - -- [PrusaLink documentation](https://help.prusa3d.com/article/prusa-connect-and-prusalink-explained_302608) -- [PrusaLink installation guide for Prusa MK3 with Raspberry Pi Zero W](https://help.prusa3d.com/guide/prusalink-and-prusa-connect-setup-mk3-s-_221744) -- [PrusaLink installation guide for Prusa MK2.5/MK3 with Raspberry Pi 3/4](https://help.prusa3d.com/guide/prusalink-prusa-connect-with-rpi-3-4-usb-mk2-5-s-mk3-s-_469341) diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index e05afde201b..2784b4921b4 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -24,6 +24,11 @@ ha_platforms: - update ha_integration_type: integration ha_dhcp: true +related: +- docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera + title: Controlling the camera from the dashboard +- url: https://reolink.com/ + title: Reolink product page --- The integration allows you to control [Reolink](https://reolink.com/) NVRs or cameras. @@ -144,10 +149,10 @@ Depending on the supported features of the camera, button entities are added for Some Reolink PTZ cameras can move at different speeds. For those cameras, the `reolink.ptz_move` service can be used in combination with the **PTZ left**, **right**, **up**, **down**, **zoom in**, or **zoom out** entity which allows specifying the speed attribute. If the PTZ button entities for a specific camera are not shown under **Choose entity** under **targets** of the `reolink.ptz_move` service, it means that this camera does not support custom PTZ speeds. -| Service data attribute | Optional | Description | -| ---------------------- | -------- | -----------------------------------------------------------------------------------------| -| `entity_id` | no | Name of the Reolink PTZ button entity to control. For example, `button.trackmix_ptz_left`. | -| `speed` | no | PTZ move speed. For example `10`. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `entity_id` | no | Name of the Reolink PTZ button entity to control. For example, `button.trackmix_ptz_left`. | +| `speed` | no | PTZ move speed. For example `10`. | ## Select entities @@ -360,7 +365,3 @@ An SSL certificate can still be enforced for external connections, by, for insta To see if a Reolink integration is currently using `ONVIF push`, `ONVIF long polling` or `Fast polling`, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"event connection": "ONVIF push"\"ONVIF long polling"\"Fast polling"` in the txt file. -## Related topics - -- [Controlling the camera from the dashboard](/dashboards/picture-glance/#creating-a-card-to-control-the-camera) -- [Reolink product page](https://reolink.com/) diff --git a/source/_integrations/todo.markdown b/source/_integrations/todo.markdown index c07dc406748..4b6b586efa6 100644 --- a/source/_integrations/todo.markdown +++ b/source/_integrations/todo.markdown @@ -9,6 +9,11 @@ ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_integration_type: entity +related: +- docs: /integrations/local_todo + title: Local to-do list integration documentation +- docs: /dashboards/todo-list/ + title: To-do list card --- The **To-do list** {% term integration %} provides to-do list {% term entities %}, allowing other integrations @@ -46,9 +51,9 @@ services provided by some to-do list entities are described below or you can rea Get to-do items from a to-do list. A to-do list `target` is selected with a [target selector](/docs/blueprint/selectors/#target-selector). The `data` payload supports the following fields: -| Service data attribute | Optional | Description | Example | -| ---------------------- | -------- | ----------- | --------| -| `status` | yes | Only return to-do items with this status. | `needs_action`, `completed` +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------------------------------------- | --------------------------- | +| `status` | yes | Only return to-do items with this status. | `needs_action`, `completed` | This is a full example that returns all to-do items that have not been completed: @@ -65,12 +70,12 @@ data: Add a new to-do item. A to-do list `target` is selected with a [Target Selector](/docs/blueprint/selectors/#target-selector) and the `data` payload supports the following fields: -| Service data attribute | Optional | Description | Example | -| ---------------------- | -------- | ----------- | --------| -| `item` | no | the name of the to-do Item. | Submit income tax return -| `due_date` | yes | The date the to-do item is expected to be completed. | 2024-04-10 -| `due_datetime` | yes | The date and time the to-do item is expected to be completed. | 2024-04-10 23:00:00 -| `description` | yes | A more complete description than the one provided by the summary | Collect all necessary documents and submit the final return. +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ---------------------------------------------------------------- | ------------------------------------------------------------ | +| `item` | no | the name of the to-do Item. | Submit income tax return | +| `due_date` | yes | The date the to-do item is expected to be completed. | 2024-04-10 | +| `due_datetime` | yes | The date and time the to-do item is expected to be completed. | 2024-04-10 23:00:00 | +| `description` | yes | A more complete description than the one provided by the summary | Collect all necessary documents and submit the final return. | Only one of `due_date` or `due_datetime` may be specified. @@ -90,14 +95,14 @@ data: Update a to-do item. A to-do list `target` is selected with a [Target Selector](/docs/blueprint/selectors/#target-selector) and the `data` payload supports the following fields: -| Service data attribute | Optional | Description | Example | -| ---------------------- | -------- | ----------- | --------| -| `item` | no | The name of the to-do Item to update. | Submit income tax return -| `rename` | yes | The new name of the to-do Item. | Something else -| `status` | yes | The overall status of the To-do Item. | `needs_action` or `completed` -| `due_date` | yes | The date the to-do item is expected to be completed. | 2024-04-10 -| `due_datetime` | yes | The date and time the to-do item is expected to be completed. | 2024-04-10 23:00:00 -| `description` | yes | A more complete description than the one provided by the summary. | Collect all necessary documents and submit the final return. +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------------------------------------------------------------- | ------------------------------------------------------------ | +| `item` | no | The name of the to-do Item to update. | Submit income tax return | +| `rename` | yes | The new name of the to-do Item. | Something else | +| `status` | yes | The overall status of the To-do Item. | `needs_action` or `completed` | +| `due_date` | yes | The date the to-do item is expected to be completed. | 2024-04-10 | +| `due_datetime` | yes | The date and time the to-do item is expected to be completed. | 2024-04-10 23:00:00 | +| `description` | yes | A more complete description than the one provided by the summary. | Collect all necessary documents and submit the final return. | At least one of `rename` or `status` is required. Only one of `due_date` or `due_datetime` may be specified. This is a full example of a service call that updates the status and the name of a to-do item. @@ -115,9 +120,9 @@ data: Removing a to-do item. A to-do list `target` is selected with a [Target Selector](/docs/blueprint/selectors/#target-selector), and the `data` payload supports the following fields: -| Service data attribute | Optional | Description | Example | -| ---------------------- | -------- | ----------- | --------| -| `item` | no | The name of the to-do item. | Submit income tax return +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | --------------------------- | ------------------------ | +| `item` | no | The name of the to-do item. | Submit income tax return | This is a full example of a service call that deletes a to-do Item with the specified name. @@ -140,8 +145,3 @@ service: todo.remove_completed_items target: entity_id: todo.personal_tasks ``` - -## Related topics - -- [Local to-do integration](/integrations/local_todo/) -- [To-do list card](/dashboards/todo-list/) diff --git a/source/_integrations/tts.markdown b/source/_integrations/tts.markdown index c3f4e8bc000..b8734da06a9 100644 --- a/source/_integrations/tts.markdown +++ b/source/_integrations/tts.markdown @@ -12,6 +12,17 @@ ha_quality_scale: internal ha_platforms: - notify ha_integration_type: entity +related: +- url: https://www.home-assistant.io/integrations/#text-to-speech + title: List of integrations using the TTS integration +- url: https://www.nabucasa.com/config/tts/ + title: TTS with Home Assistant Cloud +- url: https://www.home-assistant.io/integrations/google_translate/ + title: Google Translate TTS +- url: https://www.home-assistant.io/integrations/microsoft/ + title: Microsoft TTS +- url: https://www.home-assistant.io/voice_control/ + title: Home Assistant Assist --- Text-to-speech (TTS) enables Home Assistant to speak to you. @@ -143,11 +154,3 @@ The Google cast devices (Google Home, Chromecast, etc.) present the following pr - They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). If you are _not_ using SSL then setting an internal URL that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname. - If you are using SSL (e.g., `https://yourhost.example.org/...`) then you _must_ use the hostname in the certificate (e.g., `external_url: https://yourhost.example.org`). You cannot use an IP address since the certificate won't be valid for the IP address, and the cast device will refuse the connection. - -### Related topics - -- [List of integrations using the TTS integration](https://www.home-assistant.io/integrations/#text-to-speech) -- [TTS with Home Assistant Cloud](https://www.nabucasa.com/config/tts/) -- [Google Translate TTS](https://www.home-assistant.io/integrations/google_translate/) -- [Microsoft TTS](https://www.home-assistant.io/integrations/microsoft/) -- [Home Assistant Assist](https://www.home-assistant.io/voice_control/) From e1bcbcae636295cb589dfb17124ede8c86aa667e Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 11:42:55 +0200 Subject: [PATCH 113/123] Move related topics to meta data (#32429) --- .../start_assist_from_dashboard.markdown | 7 ------- .../troubleshooting_the_s3_box.markdown | 10 +++++----- .../voice_remote_cloud_assistant.markdown | 16 +++++++++------- .../voice_remote_expose_devices.markdown | 11 +++++------ .../voice_remote_local_assistant.markdown | 15 +++++++++------ .../worlds-most-private-voice-assistant.markdown | 16 +++++++++------- 6 files changed, 37 insertions(+), 38 deletions(-) diff --git a/source/voice_control/start_assist_from_dashboard.markdown b/source/voice_control/start_assist_from_dashboard.markdown index 42a6179dd7b..3d8ae69a33a 100644 --- a/source/voice_control/start_assist_from_dashboard.markdown +++ b/source/voice_control/start_assist_from_dashboard.markdown @@ -30,10 +30,3 @@ If you are using Home Assistant in kiosk mode, for example if you have a tablet 6. If you are using Assist with your voice, enable **Start listening**. - If you don't want to use voice but just want to type, you do not need to enable listening. 7. **Save** your new button card. - -## Related topics - -- [Assist for Android](/voice_control/android/) -- [Creating a local assistant](/voice_control/voice_remote_local_assistant/) -- [Creating a Cloud assistant](/voice_control/voice_remote_cloud_assistant/) -- [Exposing devices to Assist](/voice_control/voice_remote_expose_devices/) diff --git a/source/voice_control/troubleshooting_the_s3_box.markdown b/source/voice_control/troubleshooting_the_s3_box.markdown index 2c3b59e061f..4643b1866ea 100644 --- a/source/voice_control/troubleshooting_the_s3_box.markdown +++ b/source/voice_control/troubleshooting_the_s3_box.markdown @@ -1,5 +1,10 @@ --- title: "Troubleshooting the ESP32-S3-BOX-3" +related: +- docs: /voice_control/s3_box_voice_assistant/ + title: Creating a ESP32-S3-BOX-3 voice assistant +- url: https://esphome.io/projects/index.html + title: ESPHome projects website --- This section provides troubleshooting steps for the ESP32-S3-BOX-3 by Espressif. @@ -77,8 +82,3 @@ This message indicates that the device could connect to the Wi-Fi, but is unable ![ESP32-S3-BOX-3 open config file](/images/assist/esp32-s3-box-not-discovered.png) - Go to your router, find the IP address or hostname of your device, and enter it. - -## Related topics - -- [Creating a ESP32-S3-BOX-3 voice assistant](/voice_control/s3_box_voice_assistant/) -- [ESPHome projects website](https://esphome.io/projects/index.html) \ No newline at end of file diff --git a/source/voice_control/voice_remote_cloud_assistant.markdown b/source/voice_control/voice_remote_cloud_assistant.markdown index 8b3691e29cf..3e3ad801535 100644 --- a/source/voice_control/voice_remote_cloud_assistant.markdown +++ b/source/voice_control/voice_remote_cloud_assistant.markdown @@ -1,5 +1,14 @@ --- title: "Creating a cloud Assist pipeline" +related: +- docs: /voice_control/install_wake_word_add_on/ + title: Enabling a wake word +- docs: /voice_control/create_wake_word/ + title: Create your own wake word +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant +- docs: /voice_control/voice_remote_expose_devices/ + title: Exposing devices to Assist --- In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant. @@ -42,10 +51,3 @@ To have the fastest processing voice assistant experience, follow these steps: 6. That's it. You can now speak to your device, and the device can answer in the language you defined. 7. If you haven't done so yet, [expose your devices to Assist](/voice_control/voice_remote_expose_devices/#exposing-your-devices). - Otherwise you won't be able to control them by voice. - -## Related topics - -- [Enable Home Assistant Cloud](https://www.nabucasa.com/config/) -- [Enabling a wake word](/voice_control/install_wake_word_add_on/) -- [Create your own wake word](/voice_control/create_wake_word/) -- [Expose your devices to Assist](/voice_control/voice_remote_expose_devices/#exposing-your-devices) diff --git a/source/voice_control/voice_remote_expose_devices.markdown b/source/voice_control/voice_remote_expose_devices.markdown index 41c7db07351..199038ba1ef 100644 --- a/source/voice_control/voice_remote_expose_devices.markdown +++ b/source/voice_control/voice_remote_expose_devices.markdown @@ -1,5 +1,10 @@ --- title: "Exposing devices" +related: +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant +- docs: /voice_control/voice_remote_local_assistant/ + title: Creating a local assistant --- To be able to control your devices over a voice command, you must expose your entities to Assist. @@ -13,9 +18,3 @@ This is to avoid that sensitive devices, such as locks and garage doors, can ina 3. Select **Expose entities**. 1. Select all entities you want to be able to control by voice. ![Expose entities tab](/images/assist/assistant-expose-02.png) - - -## Related topics - -- [Local assistant pipeline](/voice_control/voice_remote_local_assistant/) -- [Cloud assistant pipeline](/voice_control/voice_remote_cloud_assistant/) \ No newline at end of file diff --git a/source/voice_control/voice_remote_local_assistant.markdown b/source/voice_control/voice_remote_local_assistant.markdown index caadd0f74a4..12036b8e3a8 100644 --- a/source/voice_control/voice_remote_local_assistant.markdown +++ b/source/voice_control/voice_remote_local_assistant.markdown @@ -1,5 +1,14 @@ --- title: "Installing a local Assist pipeline" +related: +- docs: /voice_control/voice_remote_expose_devices/#exposing-your-devices + title: Expose your devices to Assist +- docs: /voice_control/create_wake_word/ + title: Create your own wake words +- url: https://github.com/openai/whisper + title: Whisper for speech-to-text +- url: https://github.com/rhasspy/piper + title: Piper for text-to-speech --- In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant. @@ -69,9 +78,3 @@ View some of the options in the video below. Explained by Mike Hansen, creator o The options are also documented in the add-on itself. Go to the {% my supervisor_addon addon="core_whisper" title="**Whisper**" %} or the {% my supervisor_addon addon="core_piper" title="**Piper**" %} add-on and open the **Documentation** page. -## Related topics - -- [Create your own wake word](/voice_control/create_wake_word/) -- [Expose your devices to Assist](/voice_control/voice_remote_expose_devices/#exposing-your-devices) -- [Whisper for speech-to-text](https://github.com/openai/whisper) -- [Piper for text-to-speech](https://github.com/rhasspy/piper) diff --git a/source/voice_control/worlds-most-private-voice-assistant.markdown b/source/voice_control/worlds-most-private-voice-assistant.markdown index ac77ccc0b66..8558e13ffca 100644 --- a/source/voice_control/worlds-most-private-voice-assistant.markdown +++ b/source/voice_control/worlds-most-private-voice-assistant.markdown @@ -1,5 +1,14 @@ --- title: "World's most private voice assistant" +related: +- docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant +- docs: /voice_control/voice_remote_local_assistant/ + title: Creating a local assistant +- url: https://amzn.to/40k7mRa + title: Grandstream HT801 +- url: https://www.nabucasa.com + title: Home Assistant Cloud --- This tutorial will guide you to turn your old landline phone into the @@ -125,10 +134,3 @@ The phone shown in the video by TheFes is a *Heemaf type 1955*, which was used b The phone used during creation of this tutorial is a 1953 [*Tischstation Mod.29 HF-TR* by Autophon AG](https://www.radiomuseum.org/r/autophon_tischstation_mod29_hf_tr.html). ![Analog phone Tischstation Mod.29 by Autophon AG](/images/assist/autophon-mod-29.jpg) - -## Related topics - -- [Grandstream HT801](https://amzn.to/40k7mRa) -- [Home Assistant Cloud](https://www.nabucasa.com) -- [Cloud assistant pipeline](/voice_control/voice_remote_cloud_assistant/) -- [Local assistant pipeline](/voice_control/voice_remote_local_assistant/) \ No newline at end of file From c392aa6a77fc631af706148afca58d5a7c71cdd6 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:17:20 +0200 Subject: [PATCH 114/123] Dashboards: fix markdown in related meta data section (#32430) --- source/_dashboards/alarm-panel.markdown | 8 +++---- source/_dashboards/area.markdown | 8 +++---- source/_dashboards/button.markdown | 16 ++++++------- source/_dashboards/calendar.markdown | 8 +++---- source/_dashboards/conditional.markdown | 4 ++-- source/_dashboards/energy.markdown | 8 +++---- source/_dashboards/entities.markdown | 12 +++++----- source/_dashboards/entity.markdown | 12 +++++----- source/_dashboards/gauge.markdown | 8 +++---- source/_dashboards/glance.markdown | 12 +++++----- source/_dashboards/grid.markdown | 8 +++---- source/_dashboards/history-graph.markdown | 8 +++---- source/_dashboards/horizontal-stack.markdown | 4 ++-- source/_dashboards/humidifier.markdown | 8 +++---- source/_dashboards/iframe.markdown | 8 +++---- source/_dashboards/light.markdown | 12 +++++----- source/_dashboards/logbook.markdown | 8 +++---- source/_dashboards/map.markdown | 12 +++++----- source/_dashboards/markdown.markdown | 8 +++---- source/_dashboards/masonry.markdown | 8 +++---- source/_dashboards/media-control.markdown | 8 +++---- source/_dashboards/panel.markdown | 8 +++---- source/_dashboards/picture-elements.markdown | 12 +++++----- source/_dashboards/picture-entity.markdown | 12 +++++----- source/_dashboards/picture-glance.markdown | 12 +++++----- source/_dashboards/picture.markdown | 12 +++++----- source/_dashboards/plant-status.markdown | 8 +++---- source/_dashboards/sections.markdown | 24 ++++++++++---------- source/_dashboards/sensor.markdown | 8 +++---- source/_dashboards/shopping-list.markdown | 8 +++---- source/_dashboards/sidebar.markdown | 8 +++---- source/_dashboards/statistic.markdown | 8 +++---- source/_dashboards/statistics-graph.markdown | 8 +++---- source/_dashboards/thermostat.markdown | 8 +++---- source/_dashboards/tile.markdown | 12 +++++----- source/_dashboards/todo-list.markdown | 24 ++++++++++---------- source/_dashboards/vertical-stack.markdown | 4 ++-- source/_dashboards/weather-forecast.markdown | 8 +++---- 38 files changed, 186 insertions(+), 186 deletions(-) diff --git a/source/_dashboards/alarm-panel.markdown b/source/_dashboards/alarm-panel.markdown index 6d137c69412..6fc60fdb02a 100644 --- a/source/_dashboards/alarm-panel.markdown +++ b/source/_dashboards/alarm-panel.markdown @@ -4,10 +4,10 @@ title: "Alarm panel card" sidebar_label: Alarm panel description: "The alarm panel card allows you to arm and disarm your alarm control panel integrations." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The alarm panel card allows you to arm and disarm your [alarm control panel](/integrations/#alarm) {% term integrations %}. diff --git a/source/_dashboards/area.markdown b/source/_dashboards/area.markdown index 3efb8beff65..be21b487ee8 100644 --- a/source/_dashboards/area.markdown +++ b/source/_dashboards/area.markdown @@ -4,10 +4,10 @@ title: "Area card" sidebar_label: Area description: "The area card gives control of your entities in a specified area." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The area card lets you control and monitor an individual {% term area %}. diff --git a/source/_dashboards/button.markdown b/source/_dashboards/button.markdown index 3ce404ea79b..c7eed878e8c 100644 --- a/source/_dashboards/button.markdown +++ b/source/_dashboards/button.markdown @@ -4,14 +4,14 @@ title: "Button card" sidebar_label: Button description: "The Button card allows you to add buttons to perform tasks." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /docs/scripts/ - title: Scripts -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /docs/scripts/ + title: Scripts + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The button card allows you to add buttons to perform tasks. diff --git a/source/_dashboards/calendar.markdown b/source/_dashboards/calendar.markdown index 863067a6632..940a45c7fe6 100644 --- a/source/_dashboards/calendar.markdown +++ b/source/_dashboards/calendar.markdown @@ -4,10 +4,10 @@ title: "Calendar card" sidebar_label: Calendar description: "The calendar card displays your calendar entities in a month, day and list view" related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The calendar card displays your [calendar](/integrations/#calendar) {% term entities %} in a month, day, and list view (7 days). diff --git a/source/_dashboards/conditional.markdown b/source/_dashboards/conditional.markdown index 002e2dd4f4c..ead8ea37a11 100644 --- a/source/_dashboards/conditional.markdown +++ b/source/_dashboards/conditional.markdown @@ -4,8 +4,8 @@ title: Conditional card sidebar_label: Conditional description: The Conditional card displays another card based on conditions. related: -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/cards/ + title: Dashboard cards --- The conditional card displays another card based on conditions. diff --git a/source/_dashboards/energy.markdown b/source/_dashboards/energy.markdown index 892841844bb..d0101d4d697 100644 --- a/source/_dashboards/energy.markdown +++ b/source/_dashboards/energy.markdown @@ -4,10 +4,10 @@ title: "Energy cards" sidebar_label: Energy cards description: "An overview of the energy cards that are available." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- This is a list of all the cards used in the energy dashboard. You can also place them anywhere you want in your dashboard. diff --git a/source/_dashboards/entities.markdown b/source/_dashboards/entities.markdown index 503a6149c3e..98cc7056db5 100644 --- a/source/_dashboards/entities.markdown +++ b/source/_dashboards/entities.markdown @@ -4,12 +4,12 @@ title: "Entities card" sidebar_label: Entities description: "The entities card is the most common type of card. It groups items together into lists." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /dashboards/header-footer/ - title: Card header and footer -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /dashboards/header-footer/ + title: Card header and footer + - docs: /dashboards/cards/ + title: Dashboard cards --- The entities card is the most common type of card. It groups items together into lists. It can be used to display an entity's state or attribute, but also contain buttons, web links, etc. diff --git a/source/_dashboards/entity.markdown b/source/_dashboards/entity.markdown index 6feb88344a4..12e77a61dac 100644 --- a/source/_dashboards/entity.markdown +++ b/source/_dashboards/entity.markdown @@ -4,12 +4,12 @@ title: "Entity card" sidebar_label: Entity description: "The entity card gives you a quick overview of your entity's state" related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/header-footer/ - title: Card header and footer -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/header-footer/ + title: Card header and footer + - docs: /dashboards/cards/ + title: Dashboard cards --- The entity card gives you a quick overview of your entity's state. diff --git a/source/_dashboards/gauge.markdown b/source/_dashboards/gauge.markdown index 56d8104fe76..8ede3f1de0a 100644 --- a/source/_dashboards/gauge.markdown +++ b/source/_dashboards/gauge.markdown @@ -4,10 +4,10 @@ title: "Gauge card" sidebar_label: Gauge description: "The gauge card is a basic card that allows visually seeing sensor data." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The gauge card is a basic card that allows visually seeing sensor data. diff --git a/source/_dashboards/glance.markdown b/source/_dashboards/glance.markdown index fea5f6bc720..bdf2f0aa8c0 100644 --- a/source/_dashboards/glance.markdown +++ b/source/_dashboards/glance.markdown @@ -4,12 +4,12 @@ title: "Glance card" sidebar_label: Glance description: "The glance card is useful to group multiple sensors in a compact overview." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The glance card is useful to group multiple sensors in a compact overview. Keep in mind that this can be used together with [entity-filter](/dashboards/entity-filter/) cards to create dynamic cards. diff --git a/source/_dashboards/grid.markdown b/source/_dashboards/grid.markdown index bc445f8a134..706f93d0a13 100644 --- a/source/_dashboards/grid.markdown +++ b/source/_dashboards/grid.markdown @@ -4,10 +4,10 @@ title: "Grid card" sidebar_label: Grid description: "The grid card allows you to show multiple cards in a grid." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The grid card allows you to show multiple cards in a grid. It will first fill the columns, automatically adding new rows as needed. diff --git a/source/_dashboards/history-graph.markdown b/source/_dashboards/history-graph.markdown index c40e43f8e8d..1ab062ad138 100644 --- a/source/_dashboards/history-graph.markdown +++ b/source/_dashboards/history-graph.markdown @@ -4,10 +4,10 @@ title: "History graph card" sidebar_label: History graph description: "The history graph card allows you to display a graph for each of the entities listed." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The history graph card allows you to display a graph for each of up to eight entities. diff --git a/source/_dashboards/horizontal-stack.markdown b/source/_dashboards/horizontal-stack.markdown index 16035d48ffc..ed211f7782d 100644 --- a/source/_dashboards/horizontal-stack.markdown +++ b/source/_dashboards/horizontal-stack.markdown @@ -4,8 +4,8 @@ title: "Horizontal stack card" sidebar_label: Horizontal stack description: "The horizontal stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column." related: -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/cards/ + title: Dashboard cards --- The horizontal stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column. diff --git a/source/_dashboards/humidifier.markdown b/source/_dashboards/humidifier.markdown index 1fa21c47197..759f74b357e 100644 --- a/source/_dashboards/humidifier.markdown +++ b/source/_dashboards/humidifier.markdown @@ -4,10 +4,10 @@ title: "Humidifier card" sidebar_label: Humidifier description: "The humidifier card gives control of your humidifier entity, allowing you to change the target humidity and mode of the entity." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The humidifier card lets you control and monitor humidifiers, dehumidifiers, and hygrostat devices. diff --git a/source/_dashboards/iframe.markdown b/source/_dashboards/iframe.markdown index 0311f321922..cec7c97b2e5 100644 --- a/source/_dashboards/iframe.markdown +++ b/source/_dashboards/iframe.markdown @@ -4,10 +4,10 @@ title: "Webpage card" sidebar_label: Webpage description: "The webpage card allows you to embed your favorite webpage right into Home Assistant." related: -- docs: /dashboards/dashboards/#webpage-dashboard - title: Webpage dashboard -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/dashboards/#webpage-dashboard + title: Webpage dashboard + - docs: /dashboards/cards/ + title: Dashboard cards --- The webpage card allows you to embed your favorite webpage right into Home Assistant. You can also embed files stored in your `/www` folder and reference them using `/local/`. diff --git a/source/_dashboards/light.markdown b/source/_dashboards/light.markdown index 1c7ae31bb38..006bb3ccc82 100644 --- a/source/_dashboards/light.markdown +++ b/source/_dashboards/light.markdown @@ -4,12 +4,12 @@ title: "Light card" sidebar_label: Light description: "The light card allows you to change the brightness of the light." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The light card allows you to change the brightness of the light. diff --git a/source/_dashboards/logbook.markdown b/source/_dashboards/logbook.markdown index fe0ecd390a2..8f86938ebd3 100644 --- a/source/_dashboards/logbook.markdown +++ b/source/_dashboards/logbook.markdown @@ -4,10 +4,10 @@ title: "Logbook card" sidebar_label: Logbook description: "The logbook card displays entries from the logbook for specific entities." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The logbook card displays entries from the logbook for specific entities. diff --git a/source/_dashboards/map.markdown b/source/_dashboards/map.markdown index 48a0d3aaaf4..dbb024b2979 100644 --- a/source/_dashboards/map.markdown +++ b/source/_dashboards/map.markdown @@ -4,12 +4,12 @@ title: "Map card" sidebar_label: Map description: "The map card that allows you to display entities on a map" related: -- docs: /dashboards/dashboards/#map-dashboard - title: Map dashboard -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/dashboards/#map-dashboard + title: Map dashboard + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The map card that allows you to display entities on a map. This card is used on the [Map dashboard](/dashboards/dashboards/#map-dashboard), which is one of the default dashboards. diff --git a/source/_dashboards/markdown.markdown b/source/_dashboards/markdown.markdown index dfbbd49d692..d6145a082b2 100644 --- a/source/_dashboards/markdown.markdown +++ b/source/_dashboards/markdown.markdown @@ -4,10 +4,10 @@ title: "Markdown card" sidebar_label: Markdown description: "The Markdown card is used to render Markdown" related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The Markdown card is used to render [Markdown](https://commonmark.org/help/). diff --git a/source/_dashboards/masonry.markdown b/source/_dashboards/masonry.markdown index db469490618..6bbf31ccef2 100644 --- a/source/_dashboards/masonry.markdown +++ b/source/_dashboards/masonry.markdown @@ -4,10 +4,10 @@ title: Masonry view sidebar_label: Masonry (default) description: "The default panel layout uses a masonry algorithm." related: -- docs: /dashboards/panel/ - title: Panel view -- docs: /dashboards/sidebar/ - title: Sidebar view + - docs: /dashboards/panel/ + title: Panel view + - docs: /dashboards/sidebar/ + title: Sidebar view --- The masonry view is the default view type. diff --git a/source/_dashboards/media-control.markdown b/source/_dashboards/media-control.markdown index 28b6ebbba4a..cc620cf0cc7 100644 --- a/source/_dashboards/media-control.markdown +++ b/source/_dashboards/media-control.markdown @@ -4,10 +4,10 @@ title: "Media control card" sidebar_label: Media control description: "The media control card is used to display media player entities on an interface with easy to use controls." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The media control card is used to display [media player](/integrations/#media-player) entities on an interface with easy to use controls. diff --git a/source/_dashboards/panel.markdown b/source/_dashboards/panel.markdown index fa6c9392734..5b98a449016 100644 --- a/source/_dashboards/panel.markdown +++ b/source/_dashboards/panel.markdown @@ -4,10 +4,10 @@ title: Panel view sidebar_label: Panel description: "The panel view shows a single card in the full width of the screen." related: -- docs: /dashboards/masonry/ - title: Masonry view -- docs: /dashboards/sidebar/ - title: Sidebar view + - docs: /dashboards/masonry/ + title: Masonry view + - docs: /dashboards/sidebar/ + title: Sidebar view --- The panel view must have exactly one card. This card is rendered full-width. diff --git a/source/_dashboards/picture-elements.markdown b/source/_dashboards/picture-elements.markdown index 65e6342d521..cdfacbf3b58 100644 --- a/source/_dashboards/picture-elements.markdown +++ b/source/_dashboards/picture-elements.markdown @@ -4,12 +4,12 @@ title: "Picture elements card" sidebar_label: Picture elements description: "The picture elements card is one of the most versatile types of cards. The cards allow you to position icons or text and even services! On an image based on coordinates." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The picture elements card is one of the most versatile types of cards. diff --git a/source/_dashboards/picture-entity.markdown b/source/_dashboards/picture-entity.markdown index d4b1a59b8d0..7796de220ab 100644 --- a/source/_dashboards/picture-entity.markdown +++ b/source/_dashboards/picture-entity.markdown @@ -4,12 +4,12 @@ title: Picture entity card sidebar_label: Picture entity description: The picture entity card displays an entity in the form of an image. Instead of images from URL, it can also show the picture of camera entities. related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The picture entity card displays an entity in the form of an image. Instead of images from URL, it can also show the picture of `camera` entities. diff --git a/source/_dashboards/picture-glance.markdown b/source/_dashboards/picture-glance.markdown index a335eb911c5..5f591567008 100644 --- a/source/_dashboards/picture-glance.markdown +++ b/source/_dashboards/picture-glance.markdown @@ -4,12 +4,12 @@ title: "Picture glance card" sidebar_label: Picture glance description: "The picture glance card shows an image and corresponding entity states as an icon. The entities on the right side allow toggle actions, others show the more information dialog." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The picture glance card shows an image and lets you place small icons of entity states on top of that card to control those entities from there. In the image below: the entities on the right allow toggle actions, the others show the more information dialog. diff --git a/source/_dashboards/picture.markdown b/source/_dashboards/picture.markdown index e451c5fe9bb..bc9827e14f9 100644 --- a/source/_dashboards/picture.markdown +++ b/source/_dashboards/picture.markdown @@ -4,12 +4,12 @@ title: "Picture card" sidebar_label: Picture description: "The picture card allows you to set an image to use for navigation to various paths in your interface or to call a service." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The picture card allows you to set an image to use for navigation to various paths in your interface or to call a service. diff --git a/source/_dashboards/plant-status.markdown b/source/_dashboards/plant-status.markdown index 770d6f0dd5c..a989dc0ee50 100644 --- a/source/_dashboards/plant-status.markdown +++ b/source/_dashboards/plant-status.markdown @@ -4,10 +4,10 @@ title: "Plant status card" sidebar_label: Plant status description: "The plant status card is for all the lovely botanists out there." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The plant status card is for all the lovely botanists out there. diff --git a/source/_dashboards/sections.markdown b/source/_dashboards/sections.markdown index 36864e25d67..5385e47645b 100644 --- a/source/_dashboards/sections.markdown +++ b/source/_dashboards/sections.markdown @@ -5,18 +5,18 @@ sidebar_label: Sections (experimental) description: "Lets you organize your cards in sections on a grid." description: "The panel view shows a single card in the full width of the screen." related: -- docs: /dashboards/masonry/ - title: Masonry view -- docs: /dashboards/sidebar/ - title: Sidebar view -- docs: /dashboards/panel/ - title: Panel view -- docs: /blog/2024/03/04/dashboard-chapter-1/ - title: Dashboard chapter 1 blog post -- docs: /dashboards/cards/#adding-cards-to-your-dashboard - title: Adding cards to a view -- docs: /dashboards/views/#adding-a-view-to-a-dashboard - title: Adding a new view + - docs: /dashboards/masonry/ + title: Masonry view + - docs: /dashboards/sidebar/ + title: Sidebar view + - docs: /dashboards/panel/ + title: Panel view + - docs: /blog/2024/03/04/dashboard-chapter-1/ + title: Dashboard chapter 1 blog post + - docs: /dashboards/cards/#adding-cards-to-your-dashboard + title: Adding cards to a view + - docs: /dashboards/views/#adding-a-view-to-a-dashboard + title: Adding a new view --- The sections view lets you organize your cards in sections on a grid. diff --git a/source/_dashboards/sensor.markdown b/source/_dashboards/sensor.markdown index e22abb22868..ae181701ce7 100644 --- a/source/_dashboards/sensor.markdown +++ b/source/_dashboards/sensor.markdown @@ -4,10 +4,10 @@ title: "Sensor card" sidebar_label: Sensor description: "The sensor card gives you a quick overview of your sensors state with an optional graph to visualize change over time." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The sensor card gives you a quick overview of your sensors state with an optional graph to visualize change over time. diff --git a/source/_dashboards/shopping-list.markdown b/source/_dashboards/shopping-list.markdown index 2f128a67162..fd4061f6838 100644 --- a/source/_dashboards/shopping-list.markdown +++ b/source/_dashboards/shopping-list.markdown @@ -3,10 +3,10 @@ title: "Shopping list card" description: "The shopping list card allows you to add, edit, check-off, and clear items from your shopping list." description: "The panel view shows a single card in the full width of the screen." related: -- docs: /integrations/todo/ - title: To-do list integration -- docs: /integrations/local_todo/ - title: Local to-do integration + - docs: /integrations/todo/ + title: To-do list integration + - docs: /integrations/local_todo/ + title: Local to-do integration --- Note: the shopping list card is no longer available as a card to add from the user interface. Use the [to-do list card](/dashboards/todo-list/) instead. diff --git a/source/_dashboards/sidebar.markdown b/source/_dashboards/sidebar.markdown index 810fadd21e5..47815a9e52d 100644 --- a/source/_dashboards/sidebar.markdown +++ b/source/_dashboards/sidebar.markdown @@ -4,10 +4,10 @@ title: Sidebar view sidebar_label: Sidebar description: "The sidebar view has 2 columns, a wide one and a smaller one on the right." related: -- docs: /dashboards/masonry/ - title: Masonry view -- docs: /dashboards/panel/ - title: Panel view + - docs: /dashboards/masonry/ + title: Masonry view + - docs: /dashboards/panel/ + title: Panel view --- The sidebar view has 2 columns, a wide one and a smaller one on the right. diff --git a/source/_dashboards/statistic.markdown b/source/_dashboards/statistic.markdown index 523fc04a4f5..e7d03df5ebf 100644 --- a/source/_dashboards/statistic.markdown +++ b/source/_dashboards/statistic.markdown @@ -4,10 +4,10 @@ title: "Statistic card" sidebar_label: Statistic description: "The statistic card allows you to display a statistical value for an entity." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The statistic card allows you to display a statistical value for an entity. diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown index 526800d0d36..52a69b301be 100644 --- a/source/_dashboards/statistics-graph.markdown +++ b/source/_dashboards/statistics-graph.markdown @@ -4,10 +4,10 @@ title: "Statistics graph card" sidebar_label: Statistics graph description: "The statistics graph card allows you to display a graph with statistics data for each of the entities listed." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The statistics graph card allows you to display a graph of statistics data for each of the entities listed. diff --git a/source/_dashboards/thermostat.markdown b/source/_dashboards/thermostat.markdown index 885545f9120..240a89bbc80 100644 --- a/source/_dashboards/thermostat.markdown +++ b/source/_dashboards/thermostat.markdown @@ -4,10 +4,10 @@ title: "Thermostat card" sidebar_label: Thermostat description: "The thermostat card gives control of your climate entity, allowing you to change the temperature and mode of the entity." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The thermostat card gives control of your [climate](/integrations/#climate) {% term entity %}, allowing you to change the temperature and mode of the {% term entity %}. diff --git a/source/_dashboards/tile.markdown b/source/_dashboards/tile.markdown index 026532b14e9..7dba42385ef 100644 --- a/source/_dashboards/tile.markdown +++ b/source/_dashboards/tile.markdown @@ -4,12 +4,12 @@ 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." related: -- docs: /dashboards/actions/ - title: Card actions -- docs: /dashboards/features - title: Card features -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/actions/ + title: Card actions + - docs: /dashboards/features + title: Card features + - docs: /dashboards/cards/ + title: Dashboard cards --- The tile card gives you a quick overview of your {% term entity %}. The card allows you to toggle the {% term entity %} and show the more info dialog. A badge is shown for some {% term entities %} like the [climate](/integrations/climate) or [person](/integrations/person) {% term entities %}. diff --git a/source/_dashboards/todo-list.markdown b/source/_dashboards/todo-list.markdown index b08f63e57da..846d6cfd7f2 100644 --- a/source/_dashboards/todo-list.markdown +++ b/source/_dashboards/todo-list.markdown @@ -4,18 +4,18 @@ title: "To-do list card" sidebar_label: To-do list description: "The to-do list card allows you to add, edit, check-off, and clear items from your to-do list." related: -- docs: /dashboards/dashboards/ - title: Dashboards -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards -- docs: /integrations/todo - title: To-do list integration documentation -- docs: /integrations/#to-do-list - title: List of to-do list integrations -- docs: /integrations/local_todo/ - title: Local to-do integration + - docs: /dashboards/dashboards/ + title: Dashboards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /integrations/local_todo/ + title: Local to-do integration --- The to-do list card allows you to add, edit, check-off, and clear items from your to-do list. diff --git a/source/_dashboards/vertical-stack.markdown b/source/_dashboards/vertical-stack.markdown index 1d9ef13ff57..56212aec535 100644 --- a/source/_dashboards/vertical-stack.markdown +++ b/source/_dashboards/vertical-stack.markdown @@ -4,8 +4,8 @@ title: "Vertical stack card" sidebar_label: Vertical stack description: "The vertical stack card allows you to group multiple cards so they always sit in the same column." related: -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /dashboards/cards/ + title: Dashboard cards --- The vertical stack card allows you to group multiple cards so they always sit in the same column. diff --git a/source/_dashboards/weather-forecast.markdown b/source/_dashboards/weather-forecast.markdown index f0423dfa1ce..2ef07499650 100644 --- a/source/_dashboards/weather-forecast.markdown +++ b/source/_dashboards/weather-forecast.markdown @@ -4,10 +4,10 @@ title: "Weather forecast card" sidebar_label: Weather forecast description: "The weather forecast card displays the weather. Very useful to include on interfaces that people display on the wall." related: -- docs: /integrations/frontend/ - title: Themes -- docs: /dashboards/cards/ - title: Dashboard cards + - docs: /integrations/frontend/ + title: Themes + - docs: /dashboards/cards/ + title: Dashboard cards --- The weather forecast card displays the weather. This card is particularly useful on wall-mounted displays. From aa445fbdd48d1e3dd19f434aad934eaf2bddd07a Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:28:05 +0200 Subject: [PATCH 115/123] Integrations: fix markdown in related meta data section (#32432) --- source/_integrations/backup.markdown | 16 +++++------ source/_integrations/bring.markdown | 16 +++++------ source/_integrations/caldav.markdown | 16 +++++------ source/_integrations/ezviz.markdown | 4 +-- source/_integrations/google_tasks.markdown | 20 ++++++------- source/_integrations/history.markdown | 8 +++--- source/_integrations/local_todo.markdown | 8 +++--- source/_integrations/matter.markdown | 12 ++++---- source/_integrations/ollama.markdown | 8 +++--- source/_integrations/ourgroceries.markdown | 16 +++++------ source/_integrations/prusalink.markdown | 12 ++++---- source/_integrations/recovery_mode.markdown | 4 +-- source/_integrations/reolink.markdown | 8 +++--- source/_integrations/thread.markdown | 32 ++++++++++----------- source/_integrations/todo.markdown | 8 +++--- source/_integrations/todoist.markdown | 24 ++++++++-------- source/_integrations/tts.markdown | 20 ++++++------- 17 files changed, 116 insertions(+), 116 deletions(-) diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index 6df5e910d8b..d14542ffe47 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -11,14 +11,14 @@ ha_codeowners: ha_iot_class: Calculated ha_integration_type: system related: -- docs: /installation/#advanced-installation-methods - title: Home Assistant installation methods -- docs: /getting-started/onboarding/ - title: Recover from backup during onboarding -- docs: /docs/configuration/ - title: Configuration file -- docs: /common-tasks/os/#restoring-a-backup - title: Home Assistant Operating System- Restoring a backup + - docs: /installation/#advanced-installation-methods + title: Home Assistant installation methods + - docs: /getting-started/onboarding/ + title: Recover from backup during onboarding + - docs: /docs/configuration/ + title: Configuration file + - docs: /common-tasks/os/#restoring-a-backup + title: Home Assistant Operating System- Restoring a backup --- The **Backup** {% term integration %} allows you to create and download backups for your {% term "Home Assistant Core" %} and {% term "Home Assistant Container" %} installations. This backup file can be used if you migrate to {% term "Home Assistant Operating System" %}. diff --git a/source/_integrations/bring.markdown b/source/_integrations/bring.markdown index d0e1da37ecd..062b6804f43 100644 --- a/source/_integrations/bring.markdown +++ b/source/_integrations/bring.markdown @@ -14,14 +14,14 @@ ha_integration_type: service ha_platforms: - todo related: -- docs: /integrations/todo - title: To-do list integration documentation -- docs: /integrations/#to-do-list - title: List of to-do list integrations -- docs: /dashboards/todo-list/ - title: To-do list card -- url: https://www.getbring.com/ - title: Bring! + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /dashboards/todo-list/ + title: To-do list card + - url: https://www.getbring.com/ + title: Bring! --- The **Bring!** integration allows you to interact with your [Bring!](https://www.getbring.com/) shopping lists within Home Assistant. diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index 1045fac7652..3031fee40ae 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -13,14 +13,14 @@ ha_platforms: ha_integration_type: integration ha_config_flow: true related: -- docs: /integrations/todo - title: To-do list integration documentation -- docs: /integrations/#to-do-list - title: List of to-do list integrations -- docs: /dashboards/todo-list/ - title: To-do list card -- docs: /integrations/calendar - title: Calendar + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /dashboards/todo-list/ + title: To-do list card + - docs: /integrations/calendar + title: Calendar --- The **CalDAV** integration allows you to connect your WebDAV calendar to Home Assistant diff --git a/source/_integrations/ezviz.markdown b/source/_integrations/ezviz.markdown index 604759d6c06..8fc658bd915 100644 --- a/source/_integrations/ezviz.markdown +++ b/source/_integrations/ezviz.markdown @@ -26,8 +26,8 @@ ha_platforms: - update ha_integration_type: integration related: -- docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera - title: Controlling the camera from the dashboard + - docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera + title: Controlling the camera from the dashboard --- The `ezviz` sensor platform uses the ezvizlife.com API to interact with the devices. diff --git a/source/_integrations/google_tasks.markdown b/source/_integrations/google_tasks.markdown index 402074b35ee..02ccff1f761 100644 --- a/source/_integrations/google_tasks.markdown +++ b/source/_integrations/google_tasks.markdown @@ -13,16 +13,16 @@ ha_integration_type: integration ha_platforms: - todo related: -- docs: /integrations/todo - title: To-do list integration documentation -- docs: /integrations/#to-do-list - title: List of to-do list integrations -- docs: /dashboards/todo-list/ - title: To-do list card -- url: https://support.google.com/tasks/answer/7675772 - title: Google Tasks -- url: https://console.cloud.google.com/apis/library/tasks.googleapis.com - title: Google Developers Console + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /dashboards/todo-list/ + title: To-do list card + - url: https://support.google.com/tasks/answer/7675772 + title: Google Tasks + - url: https://console.cloud.google.com/apis/library/tasks.googleapis.com + title: Google Developers Console --- The **Google Tasks** integration allows you to connect your [Google Tasks](https://support.google.com/tasks/answer/7675772) to Home Assistant. The integration adds a [to-do list entity](/integrations/todo) for diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index b6aa03efdbf..87603d666a4 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -10,10 +10,10 @@ ha_codeowners: ha_domain: history ha_integration_type: system related: -- docs: /integrations/recorder/ - title: Recorder integration -- url: https://data.home-assistant.io - title: Home Assistant Data Science Portal + - docs: /integrations/recorder/ + title: Recorder integration + - url: https://data.home-assistant.io + title: Home Assistant Data Science Portal --- The **History** integration tracks everything that is going on within Home diff --git a/source/_integrations/local_todo.markdown b/source/_integrations/local_todo.markdown index 311864427d1..a863db2f43e 100644 --- a/source/_integrations/local_todo.markdown +++ b/source/_integrations/local_todo.markdown @@ -13,10 +13,10 @@ ha_integration_type: integration ha_platforms: - todo related: -- docs: /integrations/todo/ - title: To-do list integration documentation -- docs: /dashboards/todo-list/ - title: To-do list card + - docs: /integrations/todo/ + title: To-do list integration documentation + - docs: /dashboards/todo-list/ + title: To-do list card --- The **Local to-do list** integration allows you to create to-do lists in Home Assistant. diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index 5fe2b66c9b1..7e070a96b22 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -27,12 +27,12 @@ ha_platforms: - switch ha_integration_type: integration related: -- docs: /integrations/thread/ - title: Thread -- docs: /integrations/homekit_controller/ - title: HomeKit -- docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread - title: Adding an Apple HomeKit device through Thread + - docs: /integrations/thread/ + title: Thread + - docs: /integrations/homekit_controller/ + title: HomeKit + - docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread + title: Adding an Apple HomeKit device through Thread --- The Matter integration allows you to control Matter devices on your local Wi-Fi or {% term Thread %} network. diff --git a/source/_integrations/ollama.markdown b/source/_integrations/ollama.markdown index 16354745b97..bbb3bbc7080 100644 --- a/source/_integrations/ollama.markdown +++ b/source/_integrations/ollama.markdown @@ -11,10 +11,10 @@ ha_codeowners: ha_domain: ollama ha_integration_type: service related: -- docs: /docs/configuration/templating/ - title: Home Assistant Templating -- docs: /docs/automation/trigger/#sentence-trigger - title: Sentence trigger + - docs: /docs/configuration/templating/ + title: Home Assistant Templating + - docs: /docs/automation/trigger/#sentence-trigger + title: Sentence trigger --- The **Ollama** {% term integration %} adds a conversation agent in Home Assistant powered by a local [Ollama](https://ollama.com/) server. diff --git a/source/_integrations/ourgroceries.markdown b/source/_integrations/ourgroceries.markdown index 1d925b206bf..9fb27b4a781 100644 --- a/source/_integrations/ourgroceries.markdown +++ b/source/_integrations/ourgroceries.markdown @@ -13,14 +13,14 @@ ha_platforms: - todo ha_integration_type: integration related: -- docs: /integrations/todo - title: To-do list integration documentation -- docs: /integrations/#to-do-list - title: List of to-do list integrations -- docs: /dashboards/todo-list/ - title: To-do list card -- url: https://www.ourgroceries.com/ - title: OurGroceries + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /dashboards/todo-list/ + title: To-do list card + - url: https://www.ourgroceries.com/ + title: OurGroceries --- This integration connects with an [OurGroceries](https://www.ourgroceries.com/) account and integrates your shopping lists into Home Assistant. diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index a348d54516b..aa899f6d980 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -17,12 +17,12 @@ ha_platforms: - sensor ha_dhcp: true related: -- url: https://help.prusa3d.com/article/prusa-connect-and-prusalink-explained_302608 - title: PrusaLink documentation -- url: https://help.prusa3d.com/guide/prusalink-and-prusa-connect-setup-mk3-s-_221744 - title: PrusaLink installation guide for Prusa MK3 with Raspberry Pi Zero W -- url: https://help.prusa3d.com/guide/prusalink-prusa-connect-with-rpi-3-4-usb-mk2-5-s-mk3-s-_469341 - title: Sentence trigger + - url: https://help.prusa3d.com/article/prusa-connect-and-prusalink-explained_302608 + title: PrusaLink documentation + - url: https://help.prusa3d.com/guide/prusalink-and-prusa-connect-setup-mk3-s-_221744 + title: PrusaLink installation guide for Prusa MK3 with Raspberry Pi Zero W + - url: https://help.prusa3d.com/guide/prusalink-prusa-connect-with-rpi-3-4-usb-mk2-5-s-mk3-s-_469341 + title: Sentence trigger --- The **PrusaLink** {% term integration %} allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration works with Prusa MINI/MINI+, Prusa MK3.9/MK4, Prusa XL, and with the older Raspberry Pi-based Prusa MK2.5/MK3. diff --git a/source/_integrations/recovery_mode.markdown b/source/_integrations/recovery_mode.markdown index a2afe670373..a2244ca9332 100644 --- a/source/_integrations/recovery_mode.markdown +++ b/source/_integrations/recovery_mode.markdown @@ -9,8 +9,8 @@ ha_domain: recovery_mode ha_quality_scale: internal ha_integration_type: system related: -- docs: /docs/troubleshooting_general/ - title: General troubleshooting + - docs: /docs/troubleshooting_general/ + title: General troubleshooting --- The **Recovery mode** integration is an internal integration used by the diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index 2784b4921b4..c0f29e084d4 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -25,10 +25,10 @@ ha_platforms: ha_integration_type: integration ha_dhcp: true related: -- docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera - title: Controlling the camera from the dashboard -- url: https://reolink.com/ - title: Reolink product page + - docs: /dashboards/picture-glance/#creating-a-card-to-control-the-camera + title: Controlling the camera from the dashboard + - url: https://reolink.com/ + title: Reolink product page --- The integration allows you to control [Reolink](https://reolink.com/) NVRs or cameras. diff --git a/source/_integrations/thread.markdown b/source/_integrations/thread.markdown index 4dda645ddad..4793c54d4f2 100644 --- a/source/_integrations/thread.markdown +++ b/source/_integrations/thread.markdown @@ -13,22 +13,22 @@ ha_platforms: - diagnostics ha_zeroconf: true related: -- docs: /yellow/ - title: Home Assistant Yellow - hub -- docs: /skyconnect/ - title: Home Assistant SkyConnect - Zigbee/Thread USB stick -- docs: /integrations/matter/ - title: Matter -- docs: /integrations/homekit_controller/ - title: HomeKit -- docs: /integrations/matter/#adding-a-matter-device-to-home-assistant - title: Adding a Matter device to Home Assistant -- docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread - title: Adding an Apple HomeKit device through Thread -- url: https://skyconnect.home-assistant.io/procedures/enable-thread/ - title: Enabling Thread on SkyConnect -- url: https://yellow.home-assistant.io/procedures/enable-thread/ - title: Enabling Thread on Yellow + - docs: /yellow/ + title: Home Assistant Yellow - hub + - docs: /skyconnect/ + title: Home Assistant SkyConnect - Zigbee/Thread USB stick + - docs: /integrations/matter/ + title: Matter + - docs: /integrations/homekit_controller/ + title: HomeKit + - docs: /integrations/matter/#adding-a-matter-device-to-home-assistant + title: Adding a Matter device to Home Assistant + - docs: /integrations/homekit_controller/#adding-a-homekit-device-through-thread + title: Adding an Apple HomeKit device through Thread + - url: https://skyconnect.home-assistant.io/procedures/enable-thread/ + title: Enabling Thread on SkyConnect + - url: https://yellow.home-assistant.io/procedures/enable-thread/ + title: Enabling Thread on Yellow --- The Thread integration helps you track the different Thread networks in your home and store the Thread network credentials (similar to a Wi-Fi password). The Thread integration in Home Assistant is currently still a work in progress. diff --git a/source/_integrations/todo.markdown b/source/_integrations/todo.markdown index 4b6b586efa6..8799cfc8e9a 100644 --- a/source/_integrations/todo.markdown +++ b/source/_integrations/todo.markdown @@ -10,10 +10,10 @@ ha_codeowners: - '@home-assistant/core' ha_integration_type: entity related: -- docs: /integrations/local_todo - title: Local to-do list integration documentation -- docs: /dashboards/todo-list/ - title: To-do list card + - docs: /integrations/local_todo + title: Local to-do list integration documentation + - docs: /dashboards/todo-list/ + title: To-do list card --- The **To-do list** {% term integration %} provides to-do list {% term entities %}, allowing other integrations diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown index b30daa42ef7..127d9401328 100644 --- a/source/_integrations/todoist.markdown +++ b/source/_integrations/todoist.markdown @@ -15,18 +15,18 @@ ha_platforms: ha_integration_type: integration ha_config_flow: true related: -- docs: /integrations/todo - title: To-do list integration documentation -- docs: /integrations/#to-do-list - title: List of to-do list integrations -- docs: /dashboards/todo-list/ - title: To-do list card -- docs: /dashboards/dashboards/ - title: Dashboards -- docs: /integrations/calendar/ - title: Calendar -- url: https://todoist.com - title: Todoist projects + - docs: /integrations/todo + title: To-do list integration documentation + - docs: /integrations/#to-do-list + title: List of to-do list integrations + - docs: /dashboards/todo-list/ + title: To-do list card + - docs: /dashboards/dashboards/ + title: Dashboards + - docs: /integrations/calendar/ + title: Calendar + - url: https://todoist.com + title: Todoist projects --- This platform allows you to connect to your [Todoist projects](https://todoist.com) as [todo](/integrations/todo/) or [calendar](/integrations/calendar/) entities. All tasks get updated roughly every 15 minutes. diff --git a/source/_integrations/tts.markdown b/source/_integrations/tts.markdown index b8734da06a9..6c4fc263f88 100644 --- a/source/_integrations/tts.markdown +++ b/source/_integrations/tts.markdown @@ -13,16 +13,16 @@ ha_platforms: - notify ha_integration_type: entity related: -- url: https://www.home-assistant.io/integrations/#text-to-speech - title: List of integrations using the TTS integration -- url: https://www.nabucasa.com/config/tts/ - title: TTS with Home Assistant Cloud -- url: https://www.home-assistant.io/integrations/google_translate/ - title: Google Translate TTS -- url: https://www.home-assistant.io/integrations/microsoft/ - title: Microsoft TTS -- url: https://www.home-assistant.io/voice_control/ - title: Home Assistant Assist + - url: https://www.home-assistant.io/integrations/#text-to-speech + title: List of integrations using the TTS integration + - url: https://www.nabucasa.com/config/tts/ + title: TTS with Home Assistant Cloud + - url: https://www.home-assistant.io/integrations/google_translate/ + title: Google Translate TTS + - url: https://www.home-assistant.io/integrations/microsoft/ + title: Microsoft TTS + - url: https://www.home-assistant.io/voice_control/ + title: Home Assistant Assist --- Text-to-speech (TTS) enables Home Assistant to speak to you. From 2dde0f36697d8821d5f3b3d2ce4bf758ceee1bb1 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:34:27 +0200 Subject: [PATCH 116/123] Dashboards: fix markdown in related meta data section (#32433) --- source/dashboards/actions.markdown | 32 ++++++++++++------------ source/dashboards/cards.markdown | 24 +++++++++--------- source/dashboards/dashboards.markdown | 20 +++++++-------- source/dashboards/features.markdown | 12 ++++----- source/dashboards/header-footer.markdown | 16 ++++++------ source/dashboards/index.markdown | 24 +++++++++--------- source/dashboards/views.markdown | 24 +++++++++--------- 7 files changed, 76 insertions(+), 76 deletions(-) diff --git a/source/dashboards/actions.markdown b/source/dashboards/actions.markdown index 3bc256dd09c..a22d473b038 100644 --- a/source/dashboards/actions.markdown +++ b/source/dashboards/actions.markdown @@ -2,22 +2,22 @@ title: "Actions" description: "Define what an object does when interacted with." related: -- docs: /dashboards/button/ - title: Button card -- docs: /dashboards/entities/ - title: Entities card -- docs: /dashboards/glance/ - title: Glance card -- docs: /dashboards/light/ - title: Light card -- docs: /dashboards/picture/ - title: Picture card -- docs: /dashboards/picture-elements/ - title: Picture element card -- docs: /dashboards/picture-entity/ - title: Picture entity card -- docs: /dashboards/picture-glance/ - title: Picture glance card + - docs: /dashboards/button/ + title: Button card + - docs: /dashboards/entities/ + title: Entities card + - docs: /dashboards/glance/ + title: Glance card + - docs: /dashboards/light/ + title: Light card + - docs: /dashboards/picture/ + title: Picture card + - docs: /dashboards/picture-elements/ + title: Picture element card + - docs: /dashboards/picture-entity/ + title: Picture entity card + - docs: /dashboards/picture-glance/ + title: Picture glance card --- Some cards have support for tap actions. These actions define what will happen when you tap or hold on an object within a card. diff --git a/source/dashboards/cards.markdown b/source/dashboards/cards.markdown index d3e8ddf7929..8d707a46dbf 100644 --- a/source/dashboards/cards.markdown +++ b/source/dashboards/cards.markdown @@ -2,18 +2,18 @@ title: "Cards" description: "Introduction to the role of cards on the dashboard and how to add a card." related: -- docs: /dashboards/actions/ - title: Card tap actions -- docs: /dashboards/features/ - title: Card features -- docs: /dashboards/header-footer/ - title: Card header and footer widgets -- docs: /dashboards/views/ - title: Views -- docs: /dashboards/ - title: Introduction to dashboards -- docs: /dashboards/#get-started-with-your-own-dashboard/ - title: Take control of the default dashboard + - docs: /dashboards/actions/ + title: Card tap actions + - docs: /dashboards/features/ + title: Card features + - docs: /dashboards/header-footer/ + title: Card header and footer widgets + - docs: /dashboards/views/ + title: Views + - docs: /dashboards/ + title: Introduction to dashboards + - docs: /dashboards/#get-started-with-your-own-dashboard/ + title: Take control of the default dashboard --- Each dashboard is made up of cards. diff --git a/source/dashboards/dashboards.markdown b/source/dashboards/dashboards.markdown index c9f9b2f2e07..bb40bb191ab 100644 --- a/source/dashboards/dashboards.markdown +++ b/source/dashboards/dashboards.markdown @@ -2,16 +2,16 @@ title: "Multiple dashboards" description: "Multiple powerful and configurable dashboards in Home Assistant." related: -- docs: /integrations/logbook/ - title: Logbook integration -- docs: /integrations/history/ - title: History integration -- docs: /integrations/todo/ - title: To-do list integration -- docs: /dashboards/views/ - title: Views -- docs: /dashboards/iframe/ - title: Webpage card + - docs: /integrations/logbook/ + title: Logbook integration + - docs: /integrations/history/ + title: History integration + - docs: /integrations/todo/ + title: To-do list integration + - docs: /dashboards/views/ + title: Views + - docs: /dashboards/iframe/ + title: Webpage card --- You can define multiple dashboards in Home Assistant. Each dashboard can be added to the sidebar. This makes it possible to create separate control dashboards for each individual part of your house. diff --git a/source/dashboards/features.markdown b/source/dashboards/features.markdown index 35d286ea043..b61bfcfbc83 100644 --- a/source/dashboards/features.markdown +++ b/source/dashboards/features.markdown @@ -2,12 +2,12 @@ title: "Features for dashboard cards" description: "Decorate your dashboard cards with quick controls." related: -- docs: /dashboards/humidifier/ - title: Humidifier card -- docs: /dashboards/thermostat/ - title: Thermostat card -- docs: /dashboards/tile/ - title: Tile card + - docs: /dashboards/humidifier/ + title: Humidifier card + - docs: /dashboards/thermostat/ + title: Thermostat card + - docs: /dashboards/tile/ + title: Tile card --- Some dashboard cards have support for features. These widgets add quick controls to the card. Supported features depend on the card and entity capabilities. Multiple features can be added to a single card. diff --git a/source/dashboards/header-footer.markdown b/source/dashboards/header-footer.markdown index 5406fb14995..2b80e0720eb 100644 --- a/source/dashboards/header-footer.markdown +++ b/source/dashboards/header-footer.markdown @@ -2,14 +2,14 @@ title: "Headers & Footers for dashboard cards" description: "Decorate your dashboard cards with header and footer widgets." related: -- docs: /integrations/entity/ - title: Entity -- docs: /integrations/entities/ - title: Entities -- docs: /integrations/statistics/ - title: Statistics -- docs: /integrations/actions/ - title: Card actions + - docs: /integrations/entity/ + title: Entity + - docs: /integrations/entities/ + title: Entities + - docs: /integrations/statistics/ + title: Statistics + - docs: /integrations/actions/ + title: Card actions --- Some dashboard cards have support for header and footer widgets. These widgets fill up the whole available space in a card. diff --git a/source/dashboards/index.markdown b/source/dashboards/index.markdown index 69dc5f73a00..b0248d37ab8 100644 --- a/source/dashboards/index.markdown +++ b/source/dashboards/index.markdown @@ -2,18 +2,18 @@ title: "Dashboards" description: "Powerful and configurable dashboards for Home Assistant." related: -- docs: /integrations/entity/ - title: Dashboard themes -- docs: /dashboards/dashboards/#creating-a-new-dashboard - title: Creating a new dashboard -- docs: /dashboards/cards/ - title: About cards -- url: https://demo.home-assistant.io - title: Interactive dashboard demo -- url: https://home-assistant-cards.bessarabov.com/ - title: Home Assistant cards -- url: https://github.com/custom-cards - title: Community custom cards + - docs: /integrations/entity/ + title: Dashboard themes + - docs: /dashboards/dashboards/#creating-a-new-dashboard + title: Creating a new dashboard + - docs: /dashboards/cards/ + title: About cards + - url: https://demo.home-assistant.io + title: Interactive dashboard demo + - url: https://home-assistant-cards.bessarabov.com/ + title: Home Assistant cards + - url: https://github.com/custom-cards + title: Community custom cards --- Home Assistant dashboards allow you to display information about your smart home. Dashboards are customizable and provide a powerful way to manage your home from your mobile or desktop. diff --git a/source/dashboards/views.markdown b/source/dashboards/views.markdown index 2cea1ecfbb7..7ca8f3ef4e0 100644 --- a/source/dashboards/views.markdown +++ b/source/dashboards/views.markdown @@ -2,18 +2,18 @@ title: "Views" description: "A view is a tab inside a dashboard." related: -- docs: /dashboards/masonry/ - title: Masonry view -- docs: /dashboards/panel/ - title: Panel view -- docs: /dashboards/sidebar/ - title: Sidebar view -- docs: /dashboards/sections/ - title: Sections view -- docs: /dashboards/ - title: About dashboards -- docs: /dashboards/cards/#adding-cards-to-your-dashboard - title: Adding cards to a view + - docs: /dashboards/masonry/ + title: Masonry view + - docs: /dashboards/panel/ + title: Panel view + - docs: /dashboards/sidebar/ + title: Sidebar view + - docs: /dashboards/sections/ + title: Sections view + - docs: /dashboards/ + title: About dashboards + - docs: /dashboards/cards/#adding-cards-to-your-dashboard + title: Adding cards to a view --- A view is a tab inside a dashboard. For example, the screenshot below shows a separate view for lights on the Overview dashboard. From 980996f0f50c3321765edda88fdc819c80130df4 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:49:58 +0200 Subject: [PATCH 117/123] Docs: fix markdown in related meta data section (#32431) * Docs: fix markdown in related meta data section * Fix markdown * Update source/_docs/organizing/categories.markdown Co-authored-by: Klaas Schoute --------- Co-authored-by: Klaas Schoute --- source/_docs/automation/trigger.markdown | 4 ++-- source/_docs/configuration.markdown | 16 ++++++------- source/_docs/configuration/secrets.markdown | 8 +++---- .../splitting_configuration.markdown | 12 +++++----- source/_docs/configuration/yaml.markdown | 24 +++++++++---------- source/_docs/locked_out.md | 12 +++++----- source/_docs/organizing.markdown | 16 ++++++------- source/_docs/organizing/areas.markdown | 18 +++++++------- source/_docs/organizing/categories.markdown | 12 +++++----- source/_docs/organizing/filtering.markdown | 24 +++++++++---------- source/_docs/organizing/floors.markdown | 18 +++++++------- source/_docs/organizing/labels.markdown | 16 ++++++------- source/_docs/tools/check_config.markdown | 4 ++-- source/_docs/troubleshooting_general.markdown | 12 +++++----- 14 files changed, 98 insertions(+), 98 deletions(-) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 30663a158ac..9f7dc28a1f1 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -2,8 +2,8 @@ title: "Automation Trigger" description: "All the different ways how automations can be triggered." related: -- docs: /voice_control/custom_sentences/#adding-a-custom-sentence-to-trigger-an-automation - title: Adding a custom sentence to trigger an automation + - docs: /voice_control/custom_sentences/#adding-a-custom-sentence-to-trigger-an-automation + title: Adding a custom sentence to trigger an automation --- Triggers are what starts the processing of an {% term automation %} rule. When _any_ of the automation's triggers becomes true (trigger _fires_), Home Assistant will validate the [conditions](/docs/automation/condition/), if any, and call the [action](/docs/automation/action/). diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 5e340df411a..66f388bfcc1 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -2,14 +2,14 @@ title: "Configuration.yaml" description: "Configuring Home Assistant via text files." related: -- docs: /docs/configuration/yaml/ - title: YAML syntax -- docs: /docs/configuration/secrets - title: Storing credentials in `secrets.yaml` file -- docs: /common-tasks/os/#backups - title: Creating and restoring backups -- docs: /integrations/backup - title: Creating backups for Home Assistant Container and Core + - docs: /docs/configuration/yaml/ + title: YAML syntax + - docs: /docs/configuration/secrets + title: Storing credentials in `secrets.yaml` file + - docs: /common-tasks/os/#backups + title: Creating and restoring backups + - docs: /integrations/backup + title: Creating backups for Home Assistant Container and Core --- While you can configure most of Home Assistant directly from the user interface under {% my config %}, some parts need you to edit `configuration.yaml`. This file contains {% term integrations %} to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality. diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index a30ad0b505b..e762db3af80 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -2,10 +2,10 @@ title: "Storing secrets" description: "Storing secrets outside of your configuration.yaml." related: -- docs: /docs/configuration/ - title: `configuration.yaml` file -- docs: /docs/configuration/splitting_configuration/ - title: Splitting the configuration + - docs: /docs/configuration/ + title: `configuration.yaml` file + - docs: /docs/configuration/splitting_configuration/ + title: Splitting the configuration --- The `configuration.yaml` file is a plain-text file, thus it is readable by anyone who has access to the file. The file contains passwords and API tokens which need to be redacted if you want to share your configuration. By using `!secret` you can remove any private information from your configuration files. This separation can also help you to keep easier track of your passwords and API keys, as they are all stored at one place and no longer spread across the `configuration.yaml` file or even multiple YAML files if you [split up your configuration](/docs/configuration/splitting_configuration/). diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index 6cf73ba8e06..7a19080c907 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -2,12 +2,12 @@ title: "Splitting up the configuration" description: "Splitting the configuration.yaml into several files." related: -- docs: /docs/configuration/ - title: `configuration.yaml` file -- docs: /examples/#example-configurationyaml - title: Example configuration files by the community -- docs: /docs/configuration/packages - title: Using packages to organize configuration files + - docs: /docs/configuration/ + title: `configuration.yaml` file + - docs: /examples/#example-configurationyaml + title: Example configuration files by the community + - docs: /docs/configuration/packages + title: Using packages to organize configuration files --- So you've been using Home Assistant for a while now and your `configuration.yaml` file brings people to tears because it has become so large. Or, you simply want to start off with the distributed approach. Here's how to split the `configuration.yaml` into more manageable (read: human-readable) pieces. diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 2a0b6b6eba3..cb357c55033 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -2,18 +2,18 @@ title: "YAML syntax" description: "Details about the YAML syntax used to configure Home Assistant." related: -- docs: /docs/configuration/ - title: `configuration.yaml` file -- docs: /docs/configuration/secrets/ - title: Storing private data in separate file -- docs: /docs/automation/yaml/ - title: Automation.yaml -- docs: /docs/configuration/troubleshooting/ - title: Troubleshooting the configuration files -- docs: /docs/configuration/#validating-the-configuration - title: Validating the configuration -- url: https://developers.home-assistant.io/docs/documenting/yaml-style-guide/ - title: YAML Style Guide for Home Assistant developers + - docs: /docs/configuration/ + title: `configuration.yaml` file + - docs: /docs/configuration/secrets/ + title: Storing private data in separate file + - docs: /docs/automation/yaml/ + title: Automation.yaml + - docs: /docs/configuration/troubleshooting/ + title: Troubleshooting the configuration files + - docs: /docs/configuration/#validating-the-configuration + title: Validating the configuration + - url: https://developers.home-assistant.io/docs/documenting/yaml-style-guide/ + title: YAML Style Guide for Home Assistant developers --- Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. While most integrations can be configured through the UI, some integrations require you to edit your [`configuration.yaml`](/docs/configuration/) file to specify its settings. diff --git a/source/_docs/locked_out.md b/source/_docs/locked_out.md index 1b6266c3df4..d8935e29b31 100644 --- a/source/_docs/locked_out.md +++ b/source/_docs/locked_out.md @@ -2,12 +2,12 @@ title: "I'm locked out!" description: "Options for regaining access" related: -- docs: /common-tasks/os/#listing-all-users-from-the-command-line - title: Listing all user names via command line -- url: https://yellow.home-assistant.io/guides/factory-reset/ - title: Reset the Yellow -- url: https://green.home-assistant.io/guides/reset/ - title: Reset the Green + - docs: /common-tasks/os/#listing-all-users-from-the-command-line + title: Listing all user names via command line + - url: https://yellow.home-assistant.io/guides/factory-reset/ + title: Reset the Yellow + - url: https://green.home-assistant.io/guides/reset/ + title: Reset the Green --- The sections below deal with recovering from a situation where you are not able to sign in, diff --git a/source/_docs/organizing.markdown b/source/_docs/organizing.markdown index cfd1d72acdc..5091baaac10 100644 --- a/source/_docs/organizing.markdown +++ b/source/_docs/organizing.markdown @@ -2,14 +2,14 @@ title: "Grouping your assets" description: "Grouping your assets makes it easier to find them and allows you to target groups in automations." related: -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/floors/ - title: Floors -- docs: /docs/organizing/labels/ - title: Labels -- docs: /docs/organizing/categories/ - title: Categories + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/floors/ + title: Floors + - docs: /docs/organizing/labels/ + title: Labels + - docs: /docs/organizing/categories/ + title: Categories --- Once you have more devices, you may want to target entire groups of devices in automations. It also becomes more challenging to find items in lists. There are a few tools to group your assets: [Areas](#areas), [floors](#floors), [labels](#labels), and [categories](#categories). diff --git a/source/_docs/organizing/areas.markdown b/source/_docs/organizing/areas.markdown index 28f3d364f45..9b132256f52 100644 --- a/source/_docs/organizing/areas.markdown +++ b/source/_docs/organizing/areas.markdown @@ -2,15 +2,15 @@ title: "Areas" description: "Group your devices and entities in areas and group areas in floors." related: -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/ -- docs: /docs/organizing/labels/ - title: Labels -- docs: /docs/organizing/categories/ - title: Categories -- docs: /docs/configuration/templating/#areas - title: Using areas in template + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/ + - docs: /docs/organizing/labels/ + title: Labels + - docs: /docs/organizing/categories/ + title: Categories + - docs: /docs/configuration/templating/#areas + title: Using areas in template --- An area in Home Assistant is a logical grouping of {% term devices %} and {% term entities %} that are meant to match areas (or rooms) in the physical world of your home. For example, the "Living room" area groups devices and entities in your living room. Areas allow you to target an entire group of devices with a service call. For example, turning off all the lights in the living room. diff --git a/source/_docs/organizing/categories.markdown b/source/_docs/organizing/categories.markdown index ee2dd14455b..bb3ff237946 100644 --- a/source/_docs/organizing/categories.markdown +++ b/source/_docs/organizing/categories.markdown @@ -2,12 +2,12 @@ title: "Categories" description: "Use categories to group and filter your table items" related: -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/floors/ - title: Floors -- docs: /docs/organizing/labels/ - title: Labels + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/floors/ + title: Floors + - docs: /docs/organizing/labels/ + title: Labels --- Categories let you group and filter items in a table. Like labels, categories allow grouping irrespective of the items physical location. For example, on the automations page, you can create the categories “Notifications” or “NFC tags” to view your automations grouped or filtered. These categories group automations on the automation page, but have no effect anywhere else. Categories are unique for each table. The automations page can have different categories than the scene, scripts, or helpers settings page. diff --git a/source/_docs/organizing/filtering.markdown b/source/_docs/organizing/filtering.markdown index 2e4d19a1430..97aea10bfbf 100644 --- a/source/_docs/organizing/filtering.markdown +++ b/source/_docs/organizing/filtering.markdown @@ -2,18 +2,18 @@ title: "Filtering your assets" description: "Filter for items in tables." related: -- docs: /docs/organizing/floors/ - title: Floors -- docs: /docs/organizing/labels/ - title: Labels -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/categories/ - title: Categories -- docs: /docs/organizing/ - title: Grouping your assets -- docs: /common-tasks/general/ - title: Enabling or disabling entities and automations + - docs: /docs/organizing/floors/ + title: Floors + - docs: /docs/organizing/labels/ + title: Labels + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/categories/ + title: Categories + - docs: /docs/organizing/ + title: Grouping your assets + - docs: /common-tasks/general/ + title: Enabling or disabling entities and automations --- When working with tables, you can select multiple elements to apply an action on multiple items at once. If you have [grouped](/docs/organizing/) your assets by assigning them to floors, areas, labels, or directories you can also filter your data accordingly. diff --git a/source/_docs/organizing/floors.markdown b/source/_docs/organizing/floors.markdown index e86cb2d7777..d4db0cb84cf 100644 --- a/source/_docs/organizing/floors.markdown +++ b/source/_docs/organizing/floors.markdown @@ -2,15 +2,15 @@ title: "Floors" description: "Group your areas per floor" related: -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/ -- docs: /docs/organizing/labels/ - title: Labels -- docs: /docs/configuration/templating/#floors - title: Using floors in templates -- docs: /voice_control/aliases/ - title: Using floor alias for voice assistants + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/ + - docs: /docs/organizing/labels/ + title: Labels + - docs: /docs/configuration/templating/#floors + title: Using floors in templates + - docs: /voice_control/aliases/ + title: Using floor alias for voice assistants --- A floor in Home Assistant is a logical grouping of areas meant to match your home's physical floors. Devices and entities diff --git a/source/_docs/organizing/labels.markdown b/source/_docs/organizing/labels.markdown index f76f7057de8..fddcb4659bf 100644 --- a/source/_docs/organizing/labels.markdown +++ b/source/_docs/organizing/labels.markdown @@ -2,14 +2,14 @@ title: "Labels" description: "Label your areas, devices, entities, automations, scripts, and helpers. Then, filter by label or run an automation on all entities with that label." related: -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/floors/ - title: Floors -- docs: /docs/organizing/categories/ - title: Categories -- docs: /docs/configuration/templating/#labels - title: Using labels in templates + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/floors/ + title: Floors + - docs: /docs/organizing/categories/ + title: Categories + - docs: /docs/configuration/templating/#labels + title: Using labels in templates --- Labels in Home Assistant allow grouping elements irrespective of their physical location or type. Labels can be assigned to areas, devices, entities, automations, scenes, scripts, and helpers. Labels can be used in automations and scripts as a target for actions and services. Labels can also be used to filter data. For example, you can filter the list of devices to show only devices with the label `heavy energy usage` or turn these devices off when there is not a lot of solar energy available. diff --git a/source/_docs/tools/check_config.markdown b/source/_docs/tools/check_config.markdown index fae27e4d9be..4a805d672cd 100644 --- a/source/_docs/tools/check_config.markdown +++ b/source/_docs/tools/check_config.markdown @@ -2,8 +2,8 @@ title: "check_config" description: "Script to perform a check of the current configuration" related: -- docs: /docs/configuration/#validating-the-configuration - title: Validating the configuration + - docs: /docs/configuration/#validating-the-configuration + title: Validating the configuration --- Test any changes to your `configuration.yaml` file before launching Home Assistant. This script allows you to test changes without the need to restart Home Assistant. diff --git a/source/_docs/troubleshooting_general.markdown b/source/_docs/troubleshooting_general.markdown index 1b3321f51ec..9180465edbd 100644 --- a/source/_docs/troubleshooting_general.markdown +++ b/source/_docs/troubleshooting_general.markdown @@ -2,12 +2,12 @@ title: "General troubleshooting" description: "General troubleshooting information" related: -- docs: /docs/configuration/#editing-configurationyaml - title: Editing your configuration -- docs: /integrations/recovery_mode/ - title: Recovery mode integration -- docs: /docs/locked_out/ - title: Resetting your password + - docs: /docs/configuration/#editing-configurationyaml + title: Editing your configuration + - docs: /integrations/recovery_mode/ + title: Recovery mode integration + - docs: /docs/locked_out/ + title: Resetting your password --- This page provides some information about more generic troubleshooting topics. From 4a96b3b40155225ca8a7c580830772db4e022bd4 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 15:00:08 +0200 Subject: [PATCH 118/123] Voice: fix markdown in related meta data section (#32434) * Voice: fix markdown in related meta data section * Fix indents * Fix indents * Fix indents --- source/voice_control/about_wake_word.markdown | 16 ++++----- source/voice_control/aliases.markdown | 12 +++---- source/voice_control/android.markdown | 12 +++---- ...assist_create_open_ai_personality.markdown | 12 +++---- .../assist_daily_summary.markdown | 20 +++++------ .../voice_control/builtin_sentences.markdown | 28 +++++++-------- .../voice_control/create_wake_word.markdown | 20 +++++------ .../voice_control/custom_sentences.markdown | 20 +++++------ source/voice_control/index.markdown | 36 +++++++++---------- .../voice_control/s3-box-customize.markdown | 32 ++++++++--------- .../s3_box_voice_assistant.markdown | 20 +++++------ .../start_assist_from_dashboard.markdown | 16 ++++----- .../thirteen-usd-voice-remote.markdown | 28 +++++++-------- .../troubleshooting_the_s3_box.markdown | 8 ++--- .../voice_remote_cloud_assistant.markdown | 16 ++++----- .../voice_remote_expose_devices.markdown | 8 ++--- .../voice_remote_local_assistant.markdown | 16 ++++----- ...rlds-most-private-voice-assistant.markdown | 16 ++++----- 18 files changed, 168 insertions(+), 168 deletions(-) diff --git a/source/voice_control/about_wake_word.markdown b/source/voice_control/about_wake_word.markdown index dc5a5a0961b..687faacc6f4 100644 --- a/source/voice_control/about_wake_word.markdown +++ b/source/voice_control/about_wake_word.markdown @@ -1,14 +1,14 @@ --- title: "About wake words" related: -- docs: /voice_control/thirteen-usd-voice-remote/ - title: Create a $13 voice assistant -- docs: /voice_control/install_wake_word_add_on/ - title: Enable wake words -- docs: /voice_control/create_wake_word/ - title: Create your own wake words -- docs: /voice_control/voice_remote_cloud_assistant/) - title: Create a cloud assistant + - docs: /voice_control/thirteen-usd-voice-remote/ + title: Create a $13 voice assistant + - docs: /voice_control/install_wake_word_add_on/ + title: Enable wake words + - docs: /voice_control/create_wake_word/ + title: Create your own wake words + - docs: /voice_control/voice_remote_cloud_assistant/) + title: Create a cloud assistant --- Wake words are special words or phrases that tell a voice assistant that a command is about to be spoken. The device then switches from passive to active listening. Examples are: *Hey Google*, *Hey Siri*, or *Alexa*. Home Assistant supports its own wake words, such as *Hey Nabu*. diff --git a/source/voice_control/aliases.markdown b/source/voice_control/aliases.markdown index 7c74cb5804d..813f430e281 100644 --- a/source/voice_control/aliases.markdown +++ b/source/voice_control/aliases.markdown @@ -1,12 +1,12 @@ --- title: "Assist - entity, area, and floor aliases" related: -- docs: /docs/organizing/areas/ - title: Areas -- docs: /docs/organizing/floors/ - title: Floors -- docs: /voice_control/custom_sentences/ - title: Assist - custom sentences + - docs: /docs/organizing/areas/ + title: Areas + - docs: /docs/organizing/floors/ + title: Floors + - docs: /voice_control/custom_sentences/ + title: Assist - custom sentences --- Assist will use the names of your entities, areas and floors, as well as any aliases you've configured. The configured aliases are not only used by Assist, but can also be used by Google Assistant, if you have set that up. diff --git a/source/voice_control/android.markdown b/source/voice_control/android.markdown index 667903f732a..d5b7e7039ee 100644 --- a/source/voice_control/android.markdown +++ b/source/voice_control/android.markdown @@ -1,12 +1,12 @@ --- title: "Assist on Android" related: -- docs: /voice_control/voice_remote_expose_devices/ - title: Exposing devices to Assist -- docs: /voice_control/start_assist_from_dashboard/ - title: Starting Assist from your dashboard -- url: https://companion.home-assistant.io/docs/getting_started/ - title: Home Assistant Companion App + - docs: /voice_control/voice_remote_expose_devices/ + title: Exposing devices to Assist + - docs: /voice_control/start_assist_from_dashboard/ + title: Starting Assist from your dashboard + - url: https://companion.home-assistant.io/docs/getting_started/ + title: Home Assistant Companion App --- ## Assist on Android phones diff --git a/source/voice_control/assist_create_open_ai_personality.markdown b/source/voice_control/assist_create_open_ai_personality.markdown index f10b0bb5a6a..348392cc161 100644 --- a/source/voice_control/assist_create_open_ai_personality.markdown +++ b/source/voice_control/assist_create_open_ai_personality.markdown @@ -1,12 +1,12 @@ --- title: "Create a personality with OpenAI" related: -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Cloud assistant pipeline -- docs: /voice_control/voice_remote_local_assistant/ - title: Local assistant pipeline -- url: https://www.nabucasa.com - title: Home Assistant Cloud + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Cloud assistant pipeline + - docs: /voice_control/voice_remote_local_assistant/ + title: Local assistant pipeline + - url: https://www.nabucasa.com + title: Home Assistant Cloud --- You can give your voice assistant personality by using OpenAI. This requires an OpenAI account. For what we do in this tutorial, the free trial option is sufficient. No need to leave your credit card information. diff --git a/source/voice_control/assist_daily_summary.markdown b/source/voice_control/assist_daily_summary.markdown index 9c25e48469f..b63a6c20e1f 100644 --- a/source/voice_control/assist_daily_summary.markdown +++ b/source/voice_control/assist_daily_summary.markdown @@ -1,16 +1,16 @@ --- title: "Daily summary by Assist" related: -- docs: /voice_control/voice_remote_local_assistant/ - title: Local assistant pipeline -- docs: /integrations/local_calendar/ - title: Local calendar -- docs: /integrations/telegram/#setup-example - title: Telegram notification -- docs: /voice_control/assist_create_open_ai_personality/ - title: Telegram notification -- url: https://www.nabucasa.com - title: Home Assistant Cloud + - docs: /voice_control/voice_remote_local_assistant/ + title: Local assistant pipeline + - docs: /integrations/local_calendar/ + title: Local calendar + - docs: /integrations/telegram/#setup-example + title: Telegram notification + - docs: /voice_control/assist_create_open_ai_personality/ + title: Telegram notification + - url: https://www.nabucasa.com + title: Home Assistant Cloud --- In this tutorial, we are creating an automation that has Assist send you a daily summary. Assist will tell you about the weather and your calendar events today. It will also send you the summary to your messenger. diff --git a/source/voice_control/builtin_sentences.markdown b/source/voice_control/builtin_sentences.markdown index 29dca680f35..c7fc5855165 100644 --- a/source/voice_control/builtin_sentences.markdown +++ b/source/voice_control/builtin_sentences.markdown @@ -1,20 +1,20 @@ --- title: "Assist - default sentences" related: -- docs: /voice_control/aliases/ - title: Create aliases -- docs: /voice_control/custom_sentences/ - title: Create your own sentences -- docs: /voice_control/troubleshooting/ - title: Sentence troubleshooting -- url: https://github.com/home-assistant/intents/tree/main/sentences - title: Built-in sentence definitions -- url: https://github.com/home-assistant/intents/tree/main/responses - title: Built-in response definitions -- url: https://developers.home-assistant.io/docs/voice/intent-recognition/template-sentence-syntax/ - title: Template sentence syntax documentation -- url: https://github.com/home-assistant/intents/tree/main/sentences - title: Sentence test cases + - docs: /voice_control/aliases/ + title: Create aliases + - docs: /voice_control/custom_sentences/ + title: Create your own sentences + - docs: /voice_control/troubleshooting/ + title: Sentence troubleshooting + - url: https://github.com/home-assistant/intents/tree/main/sentences + title: Built-in sentence definitions + - url: https://github.com/home-assistant/intents/tree/main/responses + title: Built-in response definitions + - url: https://developers.home-assistant.io/docs/voice/intent-recognition/template-sentence-syntax/ + title: Template sentence syntax documentation + - url: https://github.com/home-assistant/intents/tree/main/sentences + title: Sentence test cases --- Home Assistant comes with [built-in sentences](https://github.com/home-assistant/intents/tree/main/sentences) contributed by the community for [dozens of languages](https://developers.home-assistant.io/docs/voice/intent-recognition/supported-languages). diff --git a/source/voice_control/create_wake_word.markdown b/source/voice_control/create_wake_word.markdown index b02813cd025..cd04b3bf05a 100644 --- a/source/voice_control/create_wake_word.markdown +++ b/source/voice_control/create_wake_word.markdown @@ -1,16 +1,16 @@ --- title: "Create your own wake word" related: -- docs: /voice_control/thirteen-usd-voice-remote/ - title: $13 voice assistant for Home Assistant -- docs: /voice_control/custom_sentences/ - title: Installing the Samba add-on -- docs: /voice_control/about_wake_word/ - title: About wake words -- url: https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing#scrollTo=1cbqBebHXjFD - title: Wake word training environment -- url: https://github.com/dscripka/openWakeWord - title: Wake word training environment + - docs: /voice_control/thirteen-usd-voice-remote/ + title: $13 voice assistant for Home Assistant + - docs: /voice_control/custom_sentences/ + title: Installing the Samba add-on + - docs: /voice_control/about_wake_word/ + title: About wake words + - url: https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing#scrollTo=1cbqBebHXjFD + title: Wake word training environment + - url: https://github.com/dscripka/openWakeWord + title: Wake word training environment --- You can now create your own wake word to use with Home Assistant. The procedure below will guide you to train a model. The model is trained using voice clips generated by our local neural text-to-speech system [Piper](https://github.com/rhasspy/piper). diff --git a/source/voice_control/custom_sentences.markdown b/source/voice_control/custom_sentences.markdown index 770ef79022b..e348a65b27b 100644 --- a/source/voice_control/custom_sentences.markdown +++ b/source/voice_control/custom_sentences.markdown @@ -1,16 +1,16 @@ --- title: "Assist - custom sentences" related: -- docs: /voice_control/aliases/ - title: Create aliases -- docs: /docs/scripts/#respond-to-a-conversation/ - title: Conversation response script action -- docs: /docs/automation/trigger/#sentence-trigger - title: Sentence triggers -- docs: /docs/automation/trigger/#sentence-wildcards - title: Sentence wildcards -- url: https://developers.home-assistant.io/docs/intent_builtin/ - title: View existing intents + - docs: /voice_control/aliases/ + title: Create aliases + - docs: /docs/scripts/#respond-to-a-conversation/ + title: Conversation response script action + - docs: /docs/automation/trigger/#sentence-trigger + title: Sentence triggers + - docs: /docs/automation/trigger/#sentence-wildcards + title: Sentence wildcards + - url: https://developers.home-assistant.io/docs/intent_builtin/ + title: View existing intents --- You may add your own sentences to the intent recognizer by either extending an [existing intent](https://developers.home-assistant.io/docs/intent_builtin/) or creating a new one. You may also [customize responses](#customizing-responses) for existing intents. diff --git a/source/voice_control/index.markdown b/source/voice_control/index.markdown index 4f857c3d83c..fb41ac16f9e 100644 --- a/source/voice_control/index.markdown +++ b/source/voice_control/index.markdown @@ -1,24 +1,24 @@ --- title: Assist - Talking to Home Assistant related: -- docs: /voice_control/android - title: Assist on Android -- docs: /voice_control/android/#assist-on-wear-os - title: Assist on Wear OS -- docs: /voice_control/apple - title: Siri and Assist shortcuts -- docs: /voice_control/start_assist_from_dashboard/ - title: Assist dashboard button -- docs: /voice_control/thirteen-usd-voice-remote/ - title: Build a 13$ voice remote using an ESPHome device -- docs: /voice_control/install_wake_word_add_on - title: Enable a wake word -- docs: /voice_control/create_wake_word/ - title: Create your own wake words -- docs: /voice_control/builtin_sentences - title: Built-in sentences -- url: https://www.nabucasa.com/config/ - title: Home Assistant Cloud + - docs: /voice_control/android + title: Assist on Android + - docs: /voice_control/android/#assist-on-wear-os + title: Assist on Wear OS + - docs: /voice_control/apple + title: Siri and Assist shortcuts + - docs: /voice_control/start_assist_from_dashboard/ + title: Assist dashboard button + - docs: /voice_control/thirteen-usd-voice-remote/ + title: Build a 13$ voice remote using an ESPHome device + - docs: /voice_control/install_wake_word_add_on + title: Enable a wake word + - docs: /voice_control/create_wake_word/ + title: Create your own wake words + - docs: /voice_control/builtin_sentences + title: Built-in sentences + - url: https://www.nabucasa.com/config/ + title: Home Assistant Cloud --- Assist logo diff --git a/source/voice_control/s3-box-customize.markdown b/source/voice_control/s3-box-customize.markdown index 9de8d2b47f2..d873af398cb 100644 --- a/source/voice_control/s3-box-customize.markdown +++ b/source/voice_control/s3-box-customize.markdown @@ -3,22 +3,22 @@ title: "Customize the S3-BOX-3" product_name: ESP32-S3-BOX-3 device_name_entry: ESP32-S3-BOX-3 related: -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Home Assistant Cloud -- docs: /voice_control/voice_remote_local_assistant - title: Assist Pipeline -- docs: /voice_control/s3_box_voice_assistant/ - title: ESP32-S3-BOX-3 voice assistant -- docs: /voice_control/troubleshooting/ - title: General troubleshooting section for Assist -- docs: /voice_control/troubleshooting_the_s3_box/ - title: Troubleshooting the ESP32-S3-BOX-3 -- docs: /common-tasks/os/#configuring-access-to-files - title: Access to your configuration files -- url: https://github.com/jlpouffier/home-assistant-s3-box-community-illustrations/tree/main - title: Community image repository -- url: https://github.com/kahrendt/microWakeWord - title: microWakeWord + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Home Assistant Cloud + - docs: /voice_control/voice_remote_local_assistant + title: Assist Pipeline + - docs: /voice_control/s3_box_voice_assistant/ + title: ESP32-S3-BOX-3 voice assistant + - docs: /voice_control/troubleshooting/ + title: General troubleshooting section for Assist + - docs: /voice_control/troubleshooting_the_s3_box/ + title: Troubleshooting the ESP32-S3-BOX-3 + - docs: /common-tasks/os/#configuring-access-to-files + title: Access to your configuration files + - url: https://github.com/jlpouffier/home-assistant-s3-box-community-illustrations/tree/main + title: Community image repository + - url: https://github.com/kahrendt/microWakeWord + title: microWakeWord --- ## Customize the S3-BOX-3 with your own illustrations diff --git a/source/voice_control/s3_box_voice_assistant.markdown b/source/voice_control/s3_box_voice_assistant.markdown index f831114f966..9e76a272b29 100644 --- a/source/voice_control/s3_box_voice_assistant.markdown +++ b/source/voice_control/s3_box_voice_assistant.markdown @@ -4,16 +4,16 @@ product_name: ESP32-S3-BOX device_name_entry: ESP32-S3-BOX config_link: /voice_control/s3_box_voice_assistant/#to-delete-the-configuration-from-esphome related: -- docs: /voice_control/troubleshooting/ - title: General troubleshooting section for Assist -- docs: /voice_control/troubleshooting_the_s3_box/ - title: Troubleshooting the ESP32-S3-BOX-3 -- docs: /common-tasks/os/#configuring-access-to-files - title: Access to your configuration files -- docs: /voice_control/s3-box-customize/#customizing-on-device-wake-words-microwakeword - title: Customizing the S3-BOX with on-device wake words -- url: https://esphome.io/projects/index.html - title: ESPHome projects page + - docs: /voice_control/troubleshooting/ + title: General troubleshooting section for Assist + - docs: /voice_control/troubleshooting_the_s3_box/ + title: Troubleshooting the ESP32-S3-BOX-3 + - docs: /common-tasks/os/#configuring-access-to-files + title: Access to your configuration files + - docs: /voice_control/s3-box-customize/#customizing-on-device-wake-words-microwakeword + title: Customizing the S3-BOX with on-device wake words + - url: https://esphome.io/projects/index.html + title: ESPHome projects page --- This tutorial will guide you to turn an ESP32-S3-BOX, ESP32-S3-BOX-3, or an ESP32-S3-BOX-Light into a Home Assistant voice assistant. Note, the term ESP32-S3-BOX is used to refer to any of the 3 product variants. diff --git a/source/voice_control/start_assist_from_dashboard.markdown b/source/voice_control/start_assist_from_dashboard.markdown index 3d8ae69a33a..92db86f8442 100644 --- a/source/voice_control/start_assist_from_dashboard.markdown +++ b/source/voice_control/start_assist_from_dashboard.markdown @@ -1,14 +1,14 @@ --- title: "Starting Assist from your dashboard" related: -- docs: /voice_control/android/ - title: Assist for Android -- docs: /voice_control/voice_remote_local_assistant/ - title: Creating a local assistant -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Creating a Cloud assistant -- docs: /voice_control/voice_remote_expose_devices/ - title: Exposing devices to Assist + - docs: /voice_control/android/ + title: Assist for Android + - docs: /voice_control/voice_remote_local_assistant/ + title: Creating a local assistant + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant + - docs: /voice_control/voice_remote_expose_devices/ + title: Exposing devices to Assist --- If you are using Home Assistant in kiosk mode, for example if you have a tablet mounted on the wall, the Assist icon in the top right corner is not accessible. In this case, use a dashboard button to start Assist. diff --git a/source/voice_control/thirteen-usd-voice-remote.markdown b/source/voice_control/thirteen-usd-voice-remote.markdown index 355e3df98d6..51dd0207719 100644 --- a/source/voice_control/thirteen-usd-voice-remote.markdown +++ b/source/voice_control/thirteen-usd-voice-remote.markdown @@ -4,20 +4,20 @@ product_name: ATOM Echo device_name_entry: M5Stack Atom Echo a61920 config_link: /voice_control/thirteen-usd-voice-remote/#to-delete-the-atom-echo-configuration-from-esphome related: -- docs: /voice_control/install_wake_word_add_on/ - title: Enable a wake word -- docs: /voice_control/create_wake_word/ - title: Create your own wake words -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Creating a Cloud assistant -- docs: /voice_control/troubleshooting/ - title: General troubleshooting section for Assist -- docs: /voice_control/voice_remote_local_assistant - title: Manually configured Assist pipeline -- docs: /voice_control/custom_sentences/ - title: Using a sentence trigger -- docs: /common-tasks/os/#configuring-access-to-files - title: Access to your configuration files + - docs: /voice_control/install_wake_word_add_on/ + title: Enable a wake word + - docs: /voice_control/create_wake_word/ + title: Create your own wake words + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant + - docs: /voice_control/troubleshooting/ + title: General troubleshooting section for Assist + - docs: /voice_control/voice_remote_local_assistant + title: Manually configured Assist pipeline + - docs: /voice_control/custom_sentences/ + title: Using a sentence trigger + - docs: /common-tasks/os/#configuring-access-to-files + title: Access to your configuration files --- This tutorial will guide you to turn an ATOM Echo into the diff --git a/source/voice_control/troubleshooting_the_s3_box.markdown b/source/voice_control/troubleshooting_the_s3_box.markdown index 4643b1866ea..470be2efe39 100644 --- a/source/voice_control/troubleshooting_the_s3_box.markdown +++ b/source/voice_control/troubleshooting_the_s3_box.markdown @@ -1,10 +1,10 @@ --- title: "Troubleshooting the ESP32-S3-BOX-3" related: -- docs: /voice_control/s3_box_voice_assistant/ - title: Creating a ESP32-S3-BOX-3 voice assistant -- url: https://esphome.io/projects/index.html - title: ESPHome projects website + - docs: /voice_control/s3_box_voice_assistant/ + title: Creating a ESP32-S3-BOX-3 voice assistant + - url: https://esphome.io/projects/index.html + title: ESPHome projects website --- This section provides troubleshooting steps for the ESP32-S3-BOX-3 by Espressif. diff --git a/source/voice_control/voice_remote_cloud_assistant.markdown b/source/voice_control/voice_remote_cloud_assistant.markdown index 3e3ad801535..0a5f4b76bf9 100644 --- a/source/voice_control/voice_remote_cloud_assistant.markdown +++ b/source/voice_control/voice_remote_cloud_assistant.markdown @@ -1,14 +1,14 @@ --- title: "Creating a cloud Assist pipeline" related: -- docs: /voice_control/install_wake_word_add_on/ - title: Enabling a wake word -- docs: /voice_control/create_wake_word/ - title: Create your own wake word -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Creating a Cloud assistant -- docs: /voice_control/voice_remote_expose_devices/ - title: Exposing devices to Assist + - docs: /voice_control/install_wake_word_add_on/ + title: Enabling a wake word + - docs: /voice_control/create_wake_word/ + title: Create your own wake word + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant + - docs: /voice_control/voice_remote_expose_devices/ + title: Exposing devices to Assist --- In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant. diff --git a/source/voice_control/voice_remote_expose_devices.markdown b/source/voice_control/voice_remote_expose_devices.markdown index 199038ba1ef..30b9b3b38ff 100644 --- a/source/voice_control/voice_remote_expose_devices.markdown +++ b/source/voice_control/voice_remote_expose_devices.markdown @@ -1,10 +1,10 @@ --- title: "Exposing devices" related: -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Creating a Cloud assistant -- docs: /voice_control/voice_remote_local_assistant/ - title: Creating a local assistant + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant + - docs: /voice_control/voice_remote_local_assistant/ + title: Creating a local assistant --- To be able to control your devices over a voice command, you must expose your entities to Assist. diff --git a/source/voice_control/voice_remote_local_assistant.markdown b/source/voice_control/voice_remote_local_assistant.markdown index 12036b8e3a8..8112568c8b2 100644 --- a/source/voice_control/voice_remote_local_assistant.markdown +++ b/source/voice_control/voice_remote_local_assistant.markdown @@ -1,14 +1,14 @@ --- title: "Installing a local Assist pipeline" related: -- docs: /voice_control/voice_remote_expose_devices/#exposing-your-devices - title: Expose your devices to Assist -- docs: /voice_control/create_wake_word/ - title: Create your own wake words -- url: https://github.com/openai/whisper - title: Whisper for speech-to-text -- url: https://github.com/rhasspy/piper - title: Piper for text-to-speech + - docs: /voice_control/voice_remote_expose_devices/#exposing-your-devices + title: Expose your devices to Assist + - docs: /voice_control/create_wake_word/ + title: Create your own wake words + - url: https://github.com/openai/whisper + title: Whisper for speech-to-text + - url: https://github.com/rhasspy/piper + title: Piper for text-to-speech --- In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant. diff --git a/source/voice_control/worlds-most-private-voice-assistant.markdown b/source/voice_control/worlds-most-private-voice-assistant.markdown index 8558e13ffca..a98b79de126 100644 --- a/source/voice_control/worlds-most-private-voice-assistant.markdown +++ b/source/voice_control/worlds-most-private-voice-assistant.markdown @@ -1,14 +1,14 @@ --- title: "World's most private voice assistant" related: -- docs: /voice_control/voice_remote_cloud_assistant/ - title: Creating a Cloud assistant -- docs: /voice_control/voice_remote_local_assistant/ - title: Creating a local assistant -- url: https://amzn.to/40k7mRa - title: Grandstream HT801 -- url: https://www.nabucasa.com - title: Home Assistant Cloud + - docs: /voice_control/voice_remote_cloud_assistant/ + title: Creating a Cloud assistant + - docs: /voice_control/voice_remote_local_assistant/ + title: Creating a local assistant + - url: https://amzn.to/40k7mRa + title: Grandstream HT801 + - url: https://www.nabucasa.com + title: Home Assistant Cloud --- This tutorial will guide you to turn your old landline phone into the From 91c1972bbed4ffc2efd8b119aa605adf0a01ce51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Tue, 23 Apr 2024 15:51:09 +0200 Subject: [PATCH 119/123] Remove instructions for public MQTT broker (#32427) --- source/_integrations/mqtt.markdown | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index f276fd2c7e9..e56b6c42a5d 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -115,11 +115,9 @@ MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things Your first step to get MQTT and Home Assistant working is to choose a broker. -## Choose an MQTT broker +## Setting up a broker -### Run your own - -The most private option is running your own MQTT broker. +While public MQTT brokers are available, the easiest and most private option is running your own. 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). @@ -130,10 +128,6 @@ There are [at least two](https://issues.apache.org/jira/browse/AMQ-6360) [issues
    -### Use 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 1883 or 8883. - ## Broker configuration MQTT broker settings are configured when the MQTT integration is first set up and can be changed later if needed. From b609c2542bc050d11a77521cd8692a2eabe02b1b Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 15:59:09 +0200 Subject: [PATCH 120/123] Related topics: fix typo in title (#32435) --- source/_docs/configuration/secrets.markdown | 2 +- source/_docs/configuration/splitting_configuration.markdown | 2 +- source/_docs/configuration/yaml.markdown | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index e762db3af80..559f1ff4dc2 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -3,7 +3,7 @@ title: "Storing secrets" description: "Storing secrets outside of your configuration.yaml." related: - docs: /docs/configuration/ - title: `configuration.yaml` file + title: configuration.yaml file - docs: /docs/configuration/splitting_configuration/ title: Splitting the configuration --- diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index 7a19080c907..c4f459b03dd 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -3,7 +3,7 @@ title: "Splitting up the configuration" description: "Splitting the configuration.yaml into several files." related: - docs: /docs/configuration/ - title: `configuration.yaml` file + title: configuration.yaml file - docs: /examples/#example-configurationyaml title: Example configuration files by the community - docs: /docs/configuration/packages diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index cb357c55033..bbc31bf9c0c 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -3,7 +3,7 @@ title: "YAML syntax" description: "Details about the YAML syntax used to configure Home Assistant." related: - docs: /docs/configuration/ - title: `configuration.yaml` file + title: configuration.yaml file - docs: /docs/configuration/secrets/ title: Storing private data in separate file - docs: /docs/automation/yaml/ From d5b9650c6ff2eb8e3b9e194ee78bf6a07432c5be Mon Sep 17 00:00:00 2001 From: hosswald <32925139+hosswald@users.noreply.github.com> Date: Tue, 23 Apr 2024 16:08:20 +0200 Subject: [PATCH 121/123] Denon AVR / HEOS Universal Media Player example (#32360) * Add Denon/HEOS Universal Remote example * Reference Denon/HEOS example in Universal Remote from HEOS * Reference to Denon AVR in note mentioning universal remote * Naming fix * Making the linter happy --- source/_integrations/heos.markdown | 1 + source/_integrations/universal.markdown | 55 +++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown index cb12ee09b6a..8fba4803b74 100644 --- a/source/_integrations/heos.markdown +++ b/source/_integrations/heos.markdown @@ -144,6 +144,7 @@ For removing a HEOS player from a group you can use the `media_player.unjoin` se ## Notes - Receivers with multiple zones are represented as a single media player. They will be turned on when playback is started, but cannot be turned off by the integration at this time. +- [Denon AVR](/integrations/denonar/) and HEOS media players can be combined into a [Universal Media Player](/integrations/universal/#denon-avr--heos) ## Troubleshooing diff --git a/source/_integrations/universal.markdown b/source/_integrations/universal.markdown index 5838f0199e3..b2fb1e6959d 100644 --- a/source/_integrations/universal.markdown +++ b/source/_integrations/universal.markdown @@ -327,6 +327,61 @@ media_player: {% endraw %} +### Denon AVR & HEOS + +This media player combines the media players provided by the [Denon AVR](/integrations/denonavr/) and [HEOS](/integrations/heos/) integrations. + +Features: +- Volume control via Denon entity (might be more fine-granular than HEOS volume control) +- ON/OFF button via Denon entity (not provided by HEOS media player) +- Sound mode selector via Denon entity (not provided by HEOS media player) +- Album art & Metadata via HEOS entity (not provided by Denon media player) + +The complete configuration is: + +{% raw %} + +```yaml +media_player: + - platform: universal + name: Denon + unique_id: denon_universal_remote + device_class: receiver + children: + - media_player.denon_avr_x2700h # Denon AVR Integration entity + - media_player.denon_avr_x2700h_heos # Denon HEOS Integration entity + browse_media_entity: media_player.denon_avr_x2700h_heos + commands: + turn_off: + service: media_player.turn_off + data: + entity_id: media_player.denon_avr_x2700h + turn_on: + service: media_player.turn_on + data: + entity_id: media_player.denon_avr_x2700h + volume_up: + service: media_player.volume_up + data: + entity_id: media_player.denon_avr_x2700h + volume_down: + service: media_player.volume_down + data: + entity_id: media_player.denon_avr_x2700h + select_sound_mode: + service: media_player.select_sound_mode + target: + entity_id: media_player.denon_avr_x2700h + data: + sound_mode: "{{ sound_mode }}" + attributes: + sound_mode: media_player.denon_avr_x2700h|sound_mode + sound_mode_raw: media_player.denon_avr_x2700h|sound_mode_raw + sound_mode_list: media_player.denon_avr_x2700h|sound_mode_list +``` + +{% endraw %} + ### Override active children This example shows how you can use `active_child_template`: From de559b4e1b2849afecaba9190d3cb73986920fe3 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 23 Apr 2024 21:51:10 +0200 Subject: [PATCH 122/123] 2024.4.4 (#32438) --- _config.yml | 4 +- .../_posts/2024-04-03-release-20244.markdown | 77 +++++++++++++++++++ source/changelogs/core-2024.4.markdown | 76 ++++++++++++++++++ 3 files changed, 155 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 91d74c3e529..94290300322 100644 --- a/_config.yml +++ b/_config.yml @@ -110,8 +110,8 @@ social: # Home Assistant release details current_major_version: 2024 current_minor_version: 4 -current_patch_version: 3 -date_released: 2024-04-12 +current_patch_version: 4 +date_released: 2024-04-23 # 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/2024-04-03-release-20244.markdown b/source/_posts/2024-04-03-release-20244.markdown index 82d63300ceb..64d6213de5b 100644 --- a/source/_posts/2024-04-03-release-20244.markdown +++ b/source/_posts/2024-04-03-release-20244.markdown @@ -58,6 +58,7 @@ Enjoy the release! 🌞 - [Release 2024.4.1 - April 5](#release-202441---april-5) - [Release 2024.4.2 - April 8](#release-202442---april-8) - [Release 2024.4.3 - April 12](#release-202443---april-12) +- [Release 2024.4.4 - April 23](#release-202444---april-23) - [Need help? Join the community!](#need-help-join-the-community) - [Backward-incompatible changes](#backward-incompatible-changes) - [Farewell to the following](#farewell-to-the-following) @@ -720,6 +721,82 @@ The following integrations are now available via the Home Assistant UI: [@mdegat01]: https://github.com/mdegat01 [@thecode]: https://github.com/thecode +## Release 2024.4.4 - April 23 + +- Bump slixmpp version to 1.8.5 ([@ravermeister] - [#114448]) +- Make Withings recoverable after internet outage ([@joostlek] - [#115124]) +- Fix Hyperion light not updating state ([@avee87] - [#115389]) +- Add scheduled mode to renault charge mode ([@slyoldfox] - [#115427]) +- Bump zeroconf to 0.132.1 ([@bdraco] - [#115501]) +- Bump zeroconf to 0.132.2 ([@bdraco] - [#115505]) +- Update pillow to 10.3.0 ([@cdce8p] - [#115524]) +- Fix race in TimestampDataUpdateCoordinator ([@bdraco] - [#115542]) +- Fix Teslemetry sensor values ([@Bre77] - [#115571]) +- Modbus: Bump pymodbus v3.6.8 ([@janiversen] - [#115574]) +- Fix sensor entity description in Teslemetry ([@Bre77] - [#115614]) +- Bump httpcore to 1.0.5 ([@bdraco] - [#115672]) +- Bump sqlparse to 0.5.0 ([@bdraco] - [#115681]) +- Bump aiohttp to 3.9.5 ([@bdraco] - [#115727]) +- Bump renault-api to 0.2.2 ([@epenet] - [#115738]) +- Fix homeworks import flow ([@emontnemery] - [#115761]) +- Allow [##:##:##] type keypad address in homeworks ([@emontnemery] - [#115762]) +- Add missing media_player features to Samsung TV ([@chemelli74] - [#115788]) +- Bump aiounifi to v75 ([@Kane610] - [#115819]) +- Ensure scripts with timeouts of zero timeout immediately ([@bdraco] - [#115830]) +- Fix KeyError error when fetching sensors (Airthings) ([@LaStrada] - [#115844]) +- Bump plexapi to 4.15.12 ([@jjlawren] - [#115872]) +- Bump ical to 8.0.0 ([@allenporter] - [#115907]) +- Fix geo location attributes of Tankerkoenig sensors ([@mib1185] - [#115914]) +- Use start helper in squeezebox for server discovery ([@rajlaud] - [#115978]) + +[#114448]: https://github.com/home-assistant/core/pull/114448 +[#114764]: https://github.com/home-assistant/core/pull/114764 +[#114934]: https://github.com/home-assistant/core/pull/114934 +[#115124]: https://github.com/home-assistant/core/pull/115124 +[#115186]: https://github.com/home-assistant/core/pull/115186 +[#115389]: https://github.com/home-assistant/core/pull/115389 +[#115427]: https://github.com/home-assistant/core/pull/115427 +[#115463]: https://github.com/home-assistant/core/pull/115463 +[#115501]: https://github.com/home-assistant/core/pull/115501 +[#115505]: https://github.com/home-assistant/core/pull/115505 +[#115524]: https://github.com/home-assistant/core/pull/115524 +[#115542]: https://github.com/home-assistant/core/pull/115542 +[#115571]: https://github.com/home-assistant/core/pull/115571 +[#115574]: https://github.com/home-assistant/core/pull/115574 +[#115614]: https://github.com/home-assistant/core/pull/115614 +[#115672]: https://github.com/home-assistant/core/pull/115672 +[#115681]: https://github.com/home-assistant/core/pull/115681 +[#115727]: https://github.com/home-assistant/core/pull/115727 +[#115738]: https://github.com/home-assistant/core/pull/115738 +[#115761]: https://github.com/home-assistant/core/pull/115761 +[#115762]: https://github.com/home-assistant/core/pull/115762 +[#115788]: https://github.com/home-assistant/core/pull/115788 +[#115819]: https://github.com/home-assistant/core/pull/115819 +[#115830]: https://github.com/home-assistant/core/pull/115830 +[#115844]: https://github.com/home-assistant/core/pull/115844 +[#115872]: https://github.com/home-assistant/core/pull/115872 +[#115907]: https://github.com/home-assistant/core/pull/115907 +[#115914]: https://github.com/home-assistant/core/pull/115914 +[#115978]: https://github.com/home-assistant/core/pull/115978 +[@Bre77]: https://github.com/Bre77 +[@Kane610]: https://github.com/Kane610 +[@LaStrada]: https://github.com/LaStrada +[@allenporter]: https://github.com/allenporter +[@avee87]: https://github.com/avee87 +[@bdraco]: https://github.com/bdraco +[@cdce8p]: https://github.com/cdce8p +[@chemelli74]: https://github.com/chemelli74 +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@frenck]: https://github.com/frenck +[@janiversen]: https://github.com/janiversen +[@jjlawren]: https://github.com/jjlawren +[@joostlek]: https://github.com/joostlek +[@mib1185]: https://github.com/mib1185 +[@rajlaud]: https://github.com/rajlaud +[@ravermeister]: https://github.com/ravermeister +[@slyoldfox]: https://github.com/slyoldfox + ## Need help? Join the community! Home Assistant has a great community of users who are all more than willing diff --git a/source/changelogs/core-2024.4.markdown b/source/changelogs/core-2024.4.markdown index a18fc90762e..a7d0caa5d98 100644 --- a/source/changelogs/core-2024.4.markdown +++ b/source/changelogs/core-2024.4.markdown @@ -1708,6 +1708,82 @@ For a summary in a more readable format: [@mdegat01]: https://github.com/mdegat01 [@thecode]: https://github.com/thecode +## Release 2024.4.4 - April 23 + +- Bump slixmpp version to 1.8.5 ([@ravermeister] - [#114448]) +- Make Withings recoverable after internet outage ([@joostlek] - [#115124]) +- Fix Hyperion light not updating state ([@avee87] - [#115389]) +- Add scheduled mode to renault charge mode ([@slyoldfox] - [#115427]) +- Bump zeroconf to 0.132.1 ([@bdraco] - [#115501]) +- Bump zeroconf to 0.132.2 ([@bdraco] - [#115505]) +- Update pillow to 10.3.0 ([@cdce8p] - [#115524]) +- Fix race in TimestampDataUpdateCoordinator ([@bdraco] - [#115542]) +- Fix Teslemetry sensor values ([@Bre77] - [#115571]) +- Modbus: Bump pymodbus v3.6.8 ([@janiversen] - [#115574]) +- Fix sensor entity description in Teslemetry ([@Bre77] - [#115614]) +- Bump httpcore to 1.0.5 ([@bdraco] - [#115672]) +- Bump sqlparse to 0.5.0 ([@bdraco] - [#115681]) +- Bump aiohttp to 3.9.5 ([@bdraco] - [#115727]) +- Bump renault-api to 0.2.2 ([@epenet] - [#115738]) +- Fix homeworks import flow ([@emontnemery] - [#115761]) +- Allow [##:##:##] type keypad address in homeworks ([@emontnemery] - [#115762]) +- Add missing media_player features to Samsung TV ([@chemelli74] - [#115788]) +- Bump aiounifi to v75 ([@Kane610] - [#115819]) +- Ensure scripts with timeouts of zero timeout immediately ([@bdraco] - [#115830]) +- Fix KeyError error when fetching sensors (Airthings) ([@LaStrada] - [#115844]) +- Bump plexapi to 4.15.12 ([@jjlawren] - [#115872]) +- Bump ical to 8.0.0 ([@allenporter] - [#115907]) +- Fix geo location attributes of Tankerkoenig sensors ([@mib1185] - [#115914]) +- Use start helper in squeezebox for server discovery ([@rajlaud] - [#115978]) + +[#114448]: https://github.com/home-assistant/core/pull/114448 +[#114764]: https://github.com/home-assistant/core/pull/114764 +[#114934]: https://github.com/home-assistant/core/pull/114934 +[#115124]: https://github.com/home-assistant/core/pull/115124 +[#115186]: https://github.com/home-assistant/core/pull/115186 +[#115389]: https://github.com/home-assistant/core/pull/115389 +[#115427]: https://github.com/home-assistant/core/pull/115427 +[#115463]: https://github.com/home-assistant/core/pull/115463 +[#115501]: https://github.com/home-assistant/core/pull/115501 +[#115505]: https://github.com/home-assistant/core/pull/115505 +[#115524]: https://github.com/home-assistant/core/pull/115524 +[#115542]: https://github.com/home-assistant/core/pull/115542 +[#115571]: https://github.com/home-assistant/core/pull/115571 +[#115574]: https://github.com/home-assistant/core/pull/115574 +[#115614]: https://github.com/home-assistant/core/pull/115614 +[#115672]: https://github.com/home-assistant/core/pull/115672 +[#115681]: https://github.com/home-assistant/core/pull/115681 +[#115727]: https://github.com/home-assistant/core/pull/115727 +[#115738]: https://github.com/home-assistant/core/pull/115738 +[#115761]: https://github.com/home-assistant/core/pull/115761 +[#115762]: https://github.com/home-assistant/core/pull/115762 +[#115788]: https://github.com/home-assistant/core/pull/115788 +[#115819]: https://github.com/home-assistant/core/pull/115819 +[#115830]: https://github.com/home-assistant/core/pull/115830 +[#115844]: https://github.com/home-assistant/core/pull/115844 +[#115872]: https://github.com/home-assistant/core/pull/115872 +[#115907]: https://github.com/home-assistant/core/pull/115907 +[#115914]: https://github.com/home-assistant/core/pull/115914 +[#115978]: https://github.com/home-assistant/core/pull/115978 +[@Bre77]: https://github.com/Bre77 +[@Kane610]: https://github.com/Kane610 +[@LaStrada]: https://github.com/LaStrada +[@allenporter]: https://github.com/allenporter +[@avee87]: https://github.com/avee87 +[@bdraco]: https://github.com/bdraco +[@cdce8p]: https://github.com/cdce8p +[@chemelli74]: https://github.com/chemelli74 +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@frenck]: https://github.com/frenck +[@janiversen]: https://github.com/janiversen +[@jjlawren]: https://github.com/jjlawren +[@joostlek]: https://github.com/joostlek +[@mib1185]: https://github.com/mib1185 +[@rajlaud]: https://github.com/rajlaud +[@ravermeister]: https://github.com/ravermeister +[@slyoldfox]: https://github.com/slyoldfox + [#100055]: https://github.com/home-assistant/core/pull/100055 [#102333]: https://github.com/home-assistant/core/pull/102333 [#102884]: https://github.com/home-assistant/core/pull/102884 From b57e27e1d8932f778711b46023419e493979e987 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 23 Apr 2024 22:35:00 +0200 Subject: [PATCH 123/123] General settings: add screenshots, make procedural (#32371) Co-authored-by: Klaas Schoute --- source/_docs/configuration/basic.markdown | 122 ++----------- source/_integrations/homeassistant.markdown | 169 +++++++++++++++--- .../coordinates-defined-in-yaml.png | Bin 0 -> 36346 bytes ...general-settings-stored-in-config-yaml.png | Bin 0 -> 20203 bytes .../docs/configuration/general-settings.png | Bin 0 -> 44983 bytes 5 files changed, 164 insertions(+), 127 deletions(-) create mode 100644 source/images/docs/configuration/coordinates-defined-in-yaml.png create mode 100644 source/images/docs/configuration/general-settings-stored-in-config-yaml.png create mode 100644 source/images/docs/configuration/general-settings.png diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index 5fc503984b8..9fc13e7f9f0 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -1,117 +1,33 @@ --- title: "Setup basic information" description: "Setting up the basic info of Home Assistant." +related: + - docs: /integrations/homeassistant/ + - docs: /docs/configuration/ --- -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" %}, network related configuration is found under {% my network title="Settings > System > Network" %}. +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. If you didn't adjust this directly during onboarding, you can do it later. -If you prefer YAML, you can add the following information to your `configuration.yaml`: +

    + Screenshot showing General settings page + Screenshot showing the General settings page. +

    -```yaml -homeassistant: - name: Home - latitude: 32.87336 - longitude: 117.22743 - elevation: 430 - unit_system: metric - currency: USD - country: US - time_zone: "America/Los_Angeles" - external_url: "https://www.example.com" - internal_url: "http://homeassistant.local:8123" - allowlist_external_dirs: - - "/usr/var/dumping-ground" - - "/tmp" - allowlist_external_urls: - - "http://images.com/image1.png" - media_dirs: - media: "/media" - recordings: "/mnt/recordings" -``` +## Editing the general settings -
    +To change the general settings that were defined during onboarding, follow these steps: - You will not be able to edit anything in {% my general title="Settings > System > General" %} in the UI if you are using YAML configuration for any of the following: name, latitude, longitude, elevation, unit_system, temperature_unit, time_zone, external_url, internal_url, country, currency. Additionally, some options are only visible after "Advanced Mode" is enabled on your {% my profile title="User Profile" %}. +1. Go to {% my general title="**Settings** > **System** > **General**" %} and make your changes. +2. To change network-related configuration, such as the network name, go to {% my network title="**Settings** > **System** > **Network**" %}. +3. If some of the settings are not visible, you may need to enable **Advanced mode**. + - In the bottom left, select your user name to go to your {% my profile title="**User profile**" %}, and enable **Advanced mode**. +4. **Troubleshooting**: If any of the settings are grayed out and can't be edited, this is because they are defined in the [`configuration.yaml` file](/docs/configuration/). + - If you prefer editing the settings in the UI, you have to delete these entries from the [`configuration.yaml` file](/docs/configuration/). + - For more information about the general settings in YAML, refer to the [Home Assistant Core integration documentation](/integrations/homeassistant/). -
    - -{% configuration %} -name: - description: Name of the location where Home Assistant is running. - required: false - type: string -latitude: - description: Latitude of your location required to calculate the time the sun rises and sets. - required: false - type: float -longitude: - description: Longitude of your location required to calculate the time the sun rises and sets. - required: false - type: float -elevation: - description: Altitude above sea level in meters. Impacts sunrise data. - required: false - type: integer -unit_system: - 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: - description: "Override temperature unit set by unit_system. `C` for Celsius, `F` for Fahrenheit." - required: false - type: string -time_zone: - description: "Pick your time zone from the column **TZ** of [Wikipedia's list of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)" - required: false - type: string -currency: - description: "Pick your currency code from the column **Code** of [Wikipedia's list of ISO 4217 active codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)" - required: false - type: string - default: "EUR" -external_url: - description: "The URL that Home Assistant is available on from the internet. For example: `https://example.duckdns.org:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported." - required: false - type: string -internal_url: - description: "The URL that Home Assistant is available on from your local network. For example: `http://homeassistant.local:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported." - required: false - type: string -customize: - description: "[Customize](/docs/configuration/customizing-devices/) entities." - required: false - type: string -customize_domain: - description: "[Customize](/docs/configuration/customizing-devices/) all entities in a domain." - required: false - type: string -customize_glob: - description: "[Customize](/docs/configuration/customizing-devices/) entities matching a pattern." - required: false - type: string -allowlist_external_dirs: - description: List of folders that can be used as sources for sending files. - required: false - type: list -allowlist_external_urls: - description: List of external URLs that can be fetched. URLs can match specific resources (e.g., `http://10.10.10.12/images/image1.jpg`) or a relative path that allows access to resources within it (e.g., `http://10.10.10.12/images` would allow access to anything under that path) - required: false - type: list -media_dirs: - description: A mapping of local media sources and their paths on disk. - required: false - type: map -language: - description: "Default language used by Home Assistant. This may, for example, influence the language used by voice assistants. The language should be specified as an RFC 5646 language tag, and must be a language which Home Assistant is translated to." - required: false - type: string - default: "en" -country: - description: "Country in which Home Assistant is running. This may, for example, influence radio settings to comply with local regulations. The country should be specified as an ISO 3166.1 alpha-2 code. Pick your country from the column **Code** of [Wikipedia's list of ISO 31661 alpha-2 officially assigned code codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)" - required: false - type: string -{% endconfiguration %} + ![Setting fields are grayed out because the configuration settings stored in configuration.yaml file](/images/docs/configuration/general-settings-stored-in-config-yaml.png) ## Reload core service Home Assistant offers a service to reload the core configuration while Home Assistant is running called {% my developer_call_service service="homeassistant.reload_core_config" %}. This allows you to change any of the above sections and see it being applied without having to restart Home Assistant. To call this service, go to the "{% my developer_services %}" tab under {% my developer_services title="Developer Tools" %}, select the {% my developer_call_service service="homeassistant.reload_core_config" %} service and click the "CALL SERVICE" button. Alternatively, you can press the "Location & Customizations" button under {% my server_controls title="Developer Tools > YAML" %}. + diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown index 503b5790943..cbe1239a02d 100644 --- a/source/_integrations/homeassistant.markdown +++ b/source/_integrations/homeassistant.markdown @@ -11,9 +11,130 @@ ha_domain: homeassistant ha_platforms: - scene ha_integration_type: system +related: + - docs: /docs/configuration/basic/ + title: Basic information + - docs: /docs/configuration/ --- -The Home Assistant integration provides generic implementations like the generic `homeassistant.turn_on`. +The **Home Assistant Core** {% term integration %} provides generic implementations like the generic `homeassistant.turn_on`. + +## Editing the general settings in YAML + +The Home Assistant Core integration is also responsible for the general settings. These settings are defined during onboarding, but you can change them later under {% my general title="**Settings** > **System** > **General**" %}. For the detailed steps, refer to [Basic settings](/docs/configuration/basic/). + +If you prefer editing in YAML, you can define your general settings in the [`configuration.yaml` file](/docs/configuration/). +Note that for some of the settings, these can't be edited from the UI if they were defined in YAML. They will be grayed out or inaccessible. + +

    + Screenshot showing coordinates cannot be edited because they are defined in configuration.yaml file + Screenshot showing coordinates cannot be edited because they are defined in configuration.yaml file. +

    + +To get started with the general settings in YAML, follow these steps: + +1. Copy the following information to your [`configuration.yaml` file](/docs/configuration/). + + ```yaml + homeassistant: + name: Home + latitude: 32.87336 + longitude: 117.22743 + elevation: 430 + unit_system: metric + currency: USD + country: US + time_zone: "America/Los_Angeles" + external_url: "https://www.example.com" + internal_url: "http://homeassistant.local:8123" + allowlist_external_dirs: + - "/usr/var/dumping-ground" + - "/tmp" + allowlist_external_urls: + - "http://images.com/image1.png" + media_dirs: + media: "/media" + recordings: "/mnt/recordings" + ``` + +2. Edit each entry to fit your home. + +{% configuration %} +name: + description: Name of the location where Home Assistant is running. + required: false + type: string +latitude: + description: Latitude of your location required to calculate the time the sun rises and sets. + required: false + type: float +longitude: + description: Longitude of your location required to calculate the time the sun rises and sets. + required: false + type: float +elevation: + description: Altitude above sea level in meters. Impacts sunrise data. + required: false + type: integer +unit_system: + 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: + description: "Override temperature unit set by unit_system. `C` for Celsius, `F` for Fahrenheit." + required: false + type: string +time_zone: + description: "Pick your time zone from the column **TZ** of [Wikipedia's list of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)" + required: false + type: string +currency: + description: "Pick your currency code from the column **Code** of [Wikipedia's list of ISO 4217 active codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)" + required: false + type: string + default: "EUR" +external_url: + description: "The URL that Home Assistant is available on from the internet. For example: `https://example.duckdns.org:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported." + required: false + type: string +internal_url: + description: "The URL that Home Assistant is available on from your local network. For example: `http://homeassistant.local:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported." + required: false + type: string +customize: + description: "[Customize](/docs/configuration/customizing-devices/) entities." + required: false + type: string +customize_domain: + description: "[Customize](/docs/configuration/customizing-devices/) all entities in a domain." + required: false + type: string +customize_glob: + description: "[Customize](/docs/configuration/customizing-devices/) entities matching a pattern." + required: false + type: string +allowlist_external_dirs: + description: List of folders that can be used as sources for sending files. + required: false + type: list +allowlist_external_urls: + description: List of external URLs that can be fetched. URLs can match specific resources (e.g., `http://10.10.10.12/images/image1.jpg`) or a relative path that allows access to resources within it (e.g., `http://10.10.10.12/images` would allow access to anything under that path) + required: false + type: list +media_dirs: + description: A mapping of local media sources and their paths on disk. + required: false + type: map +language: + description: "Default language used by Home Assistant. This may, for example, influence the language used by voice assistants. The language should be specified as an RFC 5646 language tag, and must be a language which Home Assistant is translated to." + required: false + type: string + default: "en" +country: + description: "Country in which Home Assistant is running. This may, for example, influence radio settings to comply with local regulations. The country should be specified as an ISO 3166.1 alpha-2 code. Pick your country from the column **Code** of [Wikipedia's list of ISO 31661 alpha-2 officially assigned code codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)" + required: false + type: string +{% endconfiguration %} ## Services @@ -43,12 +164,12 @@ will take effect the next time an importing template is rendered. Reloads an integration config entry. -| Service data attribute | Description | -|---------------------------|-------------------------------------------------------------| -| `entity_id` | List of entity ids used to reference a config entry. | -| `area_id` | List of area ids used to reference a config entry. | -| `device_id` | List of device ids used to reference a config entry. | -| `entry_id` | A single config entry id used to reference a config entry. | +| Service data attribute | Description | +| ---------------------- | ---------------------------------------------------------- | +| `entity_id` | List of entity ids used to reference a config entry. | +| `area_id` | List of area ids used to reference a config entry. | +| `device_id` | List of device ids used to reference a config entry. | +| `entry_id` | A single config entry id used to reference a config entry. | ### Service `homeassistant.reload_core_config` @@ -68,11 +189,11 @@ Stops the Home Assistant instance. Home Assistant must be restarted from the Hos Update the location of the Home Assistant default zone (usually "Home"). -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `latitude` | no | Latitude of your location. | -| `longitude` | no | Longitude of your location. | -| `elevation` | yes | Elevation of your location. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | --------------------------- | +| `latitude` | no | Latitude of your location. | +| `longitude` | no | Longitude of your location. | +| `elevation` | yes | Elevation of your location. | #### Example @@ -92,9 +213,9 @@ Generic service to toggle devices on/off. Same usage as the service compared the others, is that is can be used to mix different domains, for example, a light and a switch can be toggled in a single service call. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | The entity_id of the device to toggle on/off. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | --------------------------------------------- | +| `entity_id` | yes | The entity_id of the device to toggle on/off. | #### Example @@ -114,9 +235,9 @@ Generic service to toggle devices on. Same usage as the service compared the others, is that is can be used to mix different domains, for example, a light and a switch can be turned on in a single service call. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | The entity_id of the device to turn on. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | --------------------------------------- | +| `entity_id` | yes | The entity_id of the device to turn on. | #### Example @@ -136,9 +257,9 @@ Generic service to toggle devices off. Same usage as the service compared the others, is that is can be used to mix different domains, for example, a light and a switch can be turned off in a single service call. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | The entity_id of the device to turn off. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------- | +| `entity_id` | yes | The entity_id of the device to turn off. | #### Example @@ -155,9 +276,9 @@ action: Force one or more entities to update its data rather than wait for the next scheduled update. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | One or multiple entity_ids to update. It can be a list. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------------- | +| `entity_id` | no | One or multiple entity_ids to update. It can be a list. | #### Example diff --git a/source/images/docs/configuration/coordinates-defined-in-yaml.png b/source/images/docs/configuration/coordinates-defined-in-yaml.png new file mode 100644 index 0000000000000000000000000000000000000000..f0dbffe8a578e82ea40f3b0cb62295439b422def GIT binary patch literal 36346 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 literal 0 HcmV?d00001 diff --git a/source/images/docs/configuration/general-settings-stored-in-config-yaml.png b/source/images/docs/configuration/general-settings-stored-in-config-yaml.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c5eee1c51c9d0befd6b7cf04bcee7adfeae7a6 GIT binary patch literal 20203 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 eU?gH_oidV7_sC71o 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

    IJYPZL`?%Em4%LQ){GoO;)nKW`*U-e| zbddjW82GcGCUpBDq5^>>@TT$uC8cGC7Fov@xRSwig^}3Xw`0W`KcNdIpd!G0XTVC~ zb##iSv9|La9BNg7z_T6Cw1Gwg_%6Ha-!h|7ta5)naIw%0Yf{_srIuHu z)<6yunVlek!+;l}BxexM$NG&m%Kif{_~h&Cp5Y&RJp=0#rd0A;ydE^{C1~WrcTwyj zo?C^7G4<}KGF|ayRzdn}L`1#wjRCsk)~z2%wQK!J?ETfW`66&GwYq$7mFlgMXi9Y7 zS_vHvq0^Z8pqNTq+D6)5S|cmQ>ASQ)IhpfNi(BZClsbR zwAF2{XV)>FdS@etS5jCBo!wg+dh6-BZAWHB;;~(CQMti1eV=H7b)2akP3kLjwl`W< zcDUK6C5oWxRg*Y3cEFh)DU49ZzioQFKH2KE6FkDrqJLJ(_KT)^t$mu8EE zl;vr2ZoD{ul84Ue(|PhN-$!KkRqU(Pt#bX4OKj=H*1t+4!x zzstAU+q=m#e;a>o$m|B7B)-1BKAm;Vy~U;AHUDT_Kb4Rd7ri}^@Z|zEYe}=k;WO#7 zW5ag)uKqrU#Y2bbUYYb4^Hoq*C4g*jW-?Ly6u!%v*DM?E?lO&6OJ;gd^fn5ehsQ<;Hqnwt* z!zYLl(^E@`b|JL)WU6I6$#a*!yVXEpH-uZt-u=P{iP)Gp`7$lvvx#wOKi^a^b7$XG zZN^3{&w!EF9q9|CS%F_#!skXO5q#ed%ItO(6s$&eMbpzT>F=9M&_2}|yGNzm2p8!c zqr>_5XSg(~W|w?KMDMMdRYrCb@=+1=fq{b}9(WCIT2@jDfjFY{JYd!a$yFBup>G=J%E(XHFV z{Ir-2R!U)t;9o_UgDj6L^eL9&zlDW=jRV&9@74x`ZVYg;NaJ4lxmC+2j%PT6{!#|A zpXJqu-Kf3_29^=16+FT^#^0Q~z5$9iEQIvp#f!?TP-LPTmW1o;M+hu&`R}L*Cg0+l z3_l7E;xmRg9WKb3nVA)SW{bZjH4vq%Zz$(qB>9C!L#33p8vopw(#@X$0^EYF4!Y<# zT0M?LLQ*5@@lP-KtT2F_A5DazZo)zMBs~6?U)cL-5IheHF&GS!49kd0^u#)jh;Rk+ zSdn@a%2H7wYoc(GjBiZfSRVzG6(WRN0dzBd!reP_SCb7JU0ex+N2MFq4vmB1)({)r zWswSq=$x39nw?MWD%w+F0)yXZ2h*&0EEW8BBvWINeMU68oJqaX1im=$l$a<<$@()g zGH!voXbg<%Ff!pL9BmPur8U-sK;V}uoP40--EcumP+Kci4YggqPHROmG{%XlSdo4| zHxNR2zrh1s%URf?$ZgwEvq2WgW)c8~oM1qHhuQ~1_(zv32q?a9JK_7Pe=7!Is z!{#wjF4SnUhs^W)u7p#b%_N4l;AV&^y?JQK3-66X4j{jKwtCpbcJ?Y0Fp>-sVHS0| zuz5nr1nV@_)d`&!T=OKP#X6K=_Jexd1rQ5i zi|MZ$0UGjOH{#zLYINon6$OO@1t9;9ypj@m7@Bf<3fp}Dzi<0T&H7(1M=jlb>WN4} zK>=_OvOuQOVP{;5or==3ZQJ2JXxac;fv9-v&`{}wj%X6u#TZZ+!9g}Ze}82xU;cRnhjJHiJ8*tcu0(-@d}6>50MatpQ6v~h!q>eD95=un0F#klP_V<( zs;Q{x8yOi1JO%;vG|(62S*9i?OuNK8RuLaRc1i{yh*PAuuz+dhK7Z@bP=zl6i`O z9L?PFT)ne3EQr{Htsu~vDIPjk$SEc!5TyX(eb8dBYd~}G*$jJJ4}n6Hr3Rd$DUe+} zU06s&PvMHg{_nWjpQ1c@V(P$4O^xV-1a8?ct?)-Afv{J@KVFJG5M{A(a1dL-$;J7p z*?lKUDysR*YY_67-?9Y=8vxIG?lkD^z9uXRY@<`>@DiLg$So>D^SL=}PFuX);4UBp zKGgmGa-^i395ofyY8W$0cNhWe5QEE~?K~+txlV9!E;d%&#f1mreY;B5`|FoJ(9t1) zmR5M)IDyo5ynrhk2xe}CGB+(HnwL;8GKMFxo9MG8z@&7(jogw^p4v;Y*C1#B_$_2@ zW8?k1cdr!{u|S~m`Sa(%+3F9$p;v_(qelw;p@RUI8mR>wDFnj|7%ecSz#$4-a2!OI zCgzm{P=4i(!Hlsx?tB0u^F|XB0PKt!)n9?q1N7^@nJV+^Kf9%XAL@Y7_$fH@OtY6%6RU|QmCyRZJhqNgBqS*BhLydEWB_XJ^4LGnvVKhXgOn zbX(ysyH*byPBFj?gFt>lt3T3d7m>Bi-T4$di2Xvq?Osn0dBHdfU~`e+&SpOUe{Q%- zgH61uX^Y|u^;=F7%292LnaW@Vq3i4sN04pRzI1juF9;)(_sNSFbgy2ZptOY9SfKSS z6pBt4`cH2=)I}n5>USX9+1n?89RLBOZ#6f`%5L#8>MbddTeZ`Hqj7ud0bnC2UBbJk zUjhS9!KobB+J#s(97}+$Lpa}U^%I=L6ScEr17})!R!?B39!AH;hy;zn!CRnwpMsv- zq>L9V#%IRkZcgX!$Rd1qHa6#VvkwB*sqP27vNYJhIRxAb;VCZeM$=)2Xdna>7G#hO z0K;Yg4h;QVbez&UNCQFfE7;fo?-i~kFU@Oa>yn0=Ix0C?7MzK_oU_L)ZM>Kvi1YOD zfNgvt!NKlsq^yx1U_rr(z_!ClpU!-i9=AfhHGNkGcRg!35i)lz59BzNh;`;Y)jCh z%aUBaLk$czP^89yH3!V!ou);w26-qV1@L~jKez!8lMJ;Ni~}J`Uy%My1j5LD(NF8?ih$l2 z+S5GYyI|lirfrYqrP&g|M$tqo_V}nBQ%OaoOXvOs56EpUJ3sP*A|iw~cY`A$Hge*$ zGb<{hK{Wh_zBnJGbUxx5nC>8+3`@XAA@I9jSXib|tcVMk@*9`#$KRaqcC!x&tVWeu z{`&S3#RzNL1yJq_(|20Abf+}B@>cnCZ z6ZeA%=vI>^P+NfX5gJK_U7D)o@o$RAl)(f=TPuP^B17ZRPDJ=mHXqY^}D_T*cp zJO$$#M@BQD*(-J9%HB8h<#c6IJyLu8R~)0T$D_bgqf~%G~`&+f<1N^ zvxk^xbXK)F42PSm%c3=ap-s7-F0Tk(!lLrP4Yzf&y0x?9A_B>e3LV{p?d@J*(@)Tg ziQ$}ff@N+vQ)vn~LUs4v!G68 zU7b3}cS)M({1w!7)L{jI-}wMgC@~YIY@7r(Bk532%YplXu<`K^Fy}lvIvRA3uFg(z zL6vNRBrq2@7yGN#vsP48R0!7A)|r`^Wz!ZQ12Ed`?G1WAQVUG90tXbNKuH73e*NLD z`Qa^yq(nqSzav4^lE<-NDX=jEsy3ob*tAP*HgmU-}uG za9Cbn&(UTa?dRp;;kd85-`d1XPEH1ejvN3bD~^Yw<#yOfOK0axi81%{ola12TtQF+ zNOH<7I`UXpSbM+A{lOt!C85`pl#Fiyo}{CvH<&0;zJLfjY&`{`nC!B$uR!Zx+Hw&X z1(ASuSnz_)P!d|dr!oZ)O#1Hs0u}!wK2_VFcuULXwLK$(g{AzzHr-!y{eN#`utAb# zu|gxgNm87C-B#NAsydR2i?z-cpriSA80?6O?{vG?gfV2)Iey@lWlO|ZAu8!|P;a2gM!nP(Y*LB$rb9$D zzV+89_as(4h0^s(ci`g(OsM<4q|+9Z5c6^zI4K`hlDJuJ_q0$5T*?{~K-cBbOHhQv z)sGRTWOt|0Rt+YJlW>uE{A8IW$YDhoU-BUOEd<(Vx1g-@`qL+Tt|WB)&i2ShOa9DV zBh>h4LRa6{^1FkAUKyiQlNH7upPveDPW(F1Xlu(37E6MML!j7Z&Bl<1XFy9!=5ttrFaT2tcL+f75Q^E$X@9~&@Fe_C&;+)7nr-dKYCEfVf3>&p92@AN zVu#r|kQdYeU%#=yAGIARK9|T6R{B2p=(da|P`@j5!oW$7jZjLKS#juT6n$5#F?2%b zM+zRu0s*Y9Eb|y-^Y_N$y5gt|dS0iHqK{);YM&kadx=9p;3B#|k zeKQpE8ZRYUZ;|CMkE2`4I!@;l;q;&b-OU=rQW)LBt-nWKd?92dB)U)8P@zRnYifWf z=C(iwg&$7s^ki2@&laL&2G!(-$$Pwscfr{v)ZCuVH6{Xg`CX%uco)T+bCUW;Jone_ z-@9WQ8s_?%rVKVa*T_VzoTB+^^7XAEq(!>O?tT?gd}AaK>&T0WA(UBpl4EC){>1(b zTt;sC7jCall(Y-TFNdF_PolN0jP*)|Q*iB`T{g*}u`AjnN(;~oi^;!%i@Hb0IlD#1 zHsv+$LL}&gWXejshuXCWB-y@HTgw(>pG8wUe)Gck+gB(L%0rM?5w+T*uI#k2a!q-? zTyhj?6lAslINjNAk`dEk%`cxpvRH$N?coqZsnnA7jJ^I3XKw*k)w=BugII`&h|-FZ z7Ts-tgoM&aOG|f1DN0BQC@fk5K?G^(M!EzP>F(~1|9IW!-0$pj&;Q=<`*|`*Yf4u+mQAjOjucW563TFJpb&B;7CcdrjpC~m6;P5 z`FM)fuXHg#Fbd5xIldSRuUxA{?)5YGh-|J3dj06;xXrufEA#D+#7&*76unR1xlCCY zf-yfSJ4UO;bEZpazhJOGfAubi;Tmj6)$z!u3EC+6HVe>5tXZcK?ck6S8A?LMu>{xW~9-n+AF%ogo)# zZS00hYZ9>4@F}?7#>7a6Giglsg$wd%6i%XdG%fA`~2 zW>4!3Cie77jdx*lkR)9VL5^X$8?Zq>;&u_Zaf6D-L&9NeJ{VtX9qvUy7; z>vAqcIJ{<7?{iYFmE^EZFW|U!c~xY`D$GY3ioMOG4(->#bGvq_&F!{f+RdD7aVe?q zot>cw{y`f`5S+0=+ht8i3^>2Ahv8IcwkZmZiE6surbRkBGcIXv4kzOzFyn9zhd!o? zB1|}AFB-G5vR0FkLB%W9mtRpwaMmkf!F6|t#U(>H&!u|*rT^J%c4d}4hm%=kXD%5} zRGJFOwQ1$4rWBUrx4X64vfc3sqB+91Gi+H{bc_|_$!Lp}_+0K=@xv%P+`nck_>&9y zrB@BYxsN@B`k(XDCj?7hvypX4Wi!&acz8D$-=Sa)kAaorJcL@jxOJL^MB#Zd0iDKK z(_=UZvb=%wuU%KT$$j&sXt7kXoCW9;e0ig82Q0=;ZH?cfmVOW)f|vQE)mnHaG;l(F ze}AnF_Twu+9RrgW4{z^NPzg_c^u9vP#=o@>N+W8HUC+*=^HjyJcy$hsi_$;Ea=Bl7fzYT*cvb$w$r}peqnvX=di?GxfeTw^ zmbOOQyBHC7<=E2J*KS%0Y$hHr?q1HAZ;Pv0>m=I~uYdiO;*#W@s(Tk`?x|v&oDO|9 zL9D}S+(Ao8Nh!nc4qMy(MThbPli%qrNeRiAul}1R+wEbOs9r6-+t{8yV4k{5)gTl{ zGK^JS{^glEoj$ied+W5JcCC5eCE;2;e0`5BJmt>5-&@(Qvkw?H$?lP9Z!eGNaph3l zyNsvrf%Q7u==#|2{58t~bJ@*35tsNqu1=e z2zqY+e%bO}aJsp^&MUk8f|68}%=}N|c@>Tb3aaSFRk}h)9Ki>HQ?Xaxo=^bC2HSas zl2p7KCrZ@B>l_ygr&Mx{2th=wpD-gUe83SK8%t6$a4I=aw=1`yU}zbO!29y8B#QhI z-_7)Gk|0^PfYi_51?`W0QjOJCty3hZWox-S8a6*+KAa+vrPmTAQjutE8q1A4-6SYm zL#Ub;m^SN`eubMcZ1%F>_2c$h+)tL=9^@bb_%f|EyWt?kRT&{rR-t)y0!Th94GeLBNG0W5he|j}d!*`hKeS&;02xOc zQs{O{0fG&zeuTs$qK^U6@L_>9lF#U<*OWRa%i9o77xt4lkL2Xy2T?)o*Pdslh862H zNoH+rjfG)1JQooWVLRU)3_|DOg@qQ-Si?pPc}M8!>2-TLPPN8#n{sV}aUEL~v-vuzJF-adc(|_YS-#HnO*I+FQuCvbK(gjT0#0 zhNq{+H8rn5yAIw5$WM{|Vr-&`8`iLG+faTs1?L9lGGl2?loY~;-%JOJ-pj=B9gJG} zh&N4+j97K;fU8*ef=aa7UIU_aI46qZWf`=Pccp9e8TI~5k&hafGy3(L^$5Bk$x>>i z&flE##o0N*O2_Nm<=(XWg{r64z-FYrsfmV}nZU2c`fi^ibj-1@U%w6pFM$wU@7=$T zOF*DZKw>;O(yxBMut&N1K>}eyyH9vH31oTftGv8q9>9i<05v-{G8Kb%)_~CfbgF&A zHJx!i02T)Q`|{S-sjIMyEmcd5@V2q(O7kp)Fbkd1rQ9`GFu*k!295*`7*h0}cx~0@zF0}bERQEw3Wy;fZ7eOZP=jaF7|@$M#zvAGv~I;vE;464%`< zopT-_19_h!pWN$t2p{JoARn`rsjWqGXXh}=X)1SBRJw0;LR+OCkd~kPB2R*oY%klS zmZ>u_GcUa}hSsJo&@5&@QOCd8kyL>7|K&ezFWoq$4@2F{*Td!hZ`;aAy!Odz>*%1v zrcZ%F5uApa-A`$HtY?BoyanHzDr*r2Hzm#tT_0-qjchmHv?#|{2xf-2ihAo@q~BE` ztGM2lmNaWfp?j!Yx0!Y(#Qh7MlgZe#qA~9Y$}e9HRU~K_EU4KRGV;FiZ$t6ptyqnL1JzkAh2IUL7wF8hqz^^8wr42rW7)E#eb8q79)`+4jf zri5}{UTc2oWt9Bo9^s#BFUf@PEMIc9(#9#6XeYEB9gxHfeG2>1OTKsx zcxIn>G-f}?ht2I$eDK6kBzxcgM5%4SbGC3Vw@$GsY1Vl+E$tm0#QdJ%E?N9I4>ItR_UWT#@zvCaZ@5q(j`yi-Y z)DV#Q&YHR`CE?4gBX7why-}!K>tcd*{x`$RWQ>|DuU~7PeVdi?tfoJ@MN;{wFl@!tRth$$*|7TINZ0ZKoj{yTSZAQk#T z|GuGhcZHaWI3WpAVJgq zf?!zXAl+$(1}*ACeR4!m@Lg}78D0hSIjf-!Jo7V!2w2hd3=F3{cx@&#!4ssUv~&k_ zOLqZTLAnf}C?!BY2Y|1mVd#d*6a1lJ%AqzPV0s_}uc)axAuB6Od6}Y|mVtrcnTd&& zr6tc{{N>BQ28#!V(kwQ0$2br7Zyc(B1W$ybt!!>if@2x2fB>bImX<*?2ECt^gTtv0 zz-L3sWWb%hTVwcfShOoV=(mii2nmf&66gwY8Mvf?euR*SDB;RgYAi=b$7s8<*brAT zNODhNL7bXtztH=jGf5_56l7muQ1*=Dh}nGy4-3h;oYTZ_otc_U>p5kkr$>vtM}XA# z?%hQsx9Lh#)s2e_4#u{W)JB{qcYO#;$TsQDSkzoO6xk@OgM2H-3_8PF=Rih}Ecc-O z^%kxxtJ}V#DVJJ;mN7E^0Nt5go@k<~(WUSvX$;E?Xm!t-`qh(herlSCR&&+`E7mw* zj(z#3@+ zNR<~8>+kPZV2vXHXnH>qBz}O1%K_le@y$}{zv2FCm)->jf6QS(nO+YP;ARFRF&H;9#0RV&u{2&n%E<4y%1B`EFeSI7n%U3~526s9OjI-c}D6~bLAhDsIZly~W zIOn~}$zcb&A25^Q<9tp@K>EKY;(h>l711x&0 z0U`M7FxLQ4kKi&R2lvc)Xc$CCQ^MOD_vJC7qJf`(4b1j}qoVvgJ#m0@p9np5IFXeR zZz|A*i-Fn_G)2&!eTfjd%2QMb21@yl9b#TCCYNglZLtCQ`P}Z?)l{toQou$Au^K&9+lB-j0qkxz4@!rpJf_{OML!SK|T2?+49< zz-G7ZooW^dL?(rfEX7ygMN?v3aaq2*STJ^OZ+&{&2p*0;KsMy+ob0Oyj6YKmVqTsG%s8FDJ z-VOC#g7HbukL^cHOiamXQeN08}yCRf^kiy zDVwMcR}^bhi;67fiq07vZL0^k+VoG|Dpw+SeQz@rdbo-vA7c@wdnkzDW5dbU(0784 z3aQ6C%xS3?Ix1M1A^X7*kH#$X7>?@-IVnCo_kx~=kkyZ(jJe_J4?SA8ylWop24cD# zkt)%;*J_7+%zin_-G0kssCa)m$gg6YN+j?^W+I!pJ?dzzU$CPjG;XOh-Ma|2UHiq; zddrW83dar7D=e$1Q`eN*x$Q5zF?=N_CcST9e&rz*lU^R#Jpv^&1}?JP7W9R*NV{`A#)S>8b1i(@zzt4)-ep#VbgBeBKC;6?H`~9H*4t#j0+9 zvfnN9RcQmA?tL<)GiS~~v05?99$E9a9b?ncZO(5+hI68iorjl+$T>O0oaw62Q%YQ# zvr;Q2+d}j|%RiFlKdG10l8RlJj+~Sh^A@i-AA84Eg!%-papDQu&&fXZ`kmu(K;u02 zwk#`pVE`Y4b!6T;FSP5r$*uI@Wc~<&*{qdJmK=L;1M36`HRb?JSEf1X-Fl4sy|8eL~boql&vpnF;Of{?uL(@ zt~AL;=I>lsD10kg_{<&b^cqgBC7zf%TA8j2O2&Q^S)Tvta6YMEb#=i^V>R)?5y>Ls zPku3xOE#XOR=5iC((3)xpPQdH1j?-{)5@Ru&e$!bKXRt)B9)fVEq&}qjk$D%3dHFn zWBbqKM(K61lVl_Hwao9TAN!@i#_M!>E`&i|f-{sz?t|kAzii2@eFtI&)3BpSwfZOT zJWgPUx$(Z>MQjXpB-lKRI9$=ZU3f!J^+Rn*;B4d53v#OsM?5b&o?(QHcW?9sMhOJX zHr}I`(z3OJ$38OA?l-WNXXHswtz zmFXQysne)0Y56psfswhv;I!h%tFZbjLkg{J%h@%NgU%k&)`o=%2A zEb5jci|PDXrkZur6s0qSTvsfH4Gx>uPek<`tu;)n@h$psj0~EQQj~Y&I*y*OwPVg< z4(X#gOVS^~CxnSwB5PQGW&HCU=kcx<>_Nwk=}O@WCkkdBvM~4Qc+i(HtAWQAr!E@pFjD}q5s$>%X8M|X@OU%r8Tsu7}D218*1seRv%{&TimqKx6w6jqL)aU`<98rN^+!`G0352G)_?!oyp46dz|T)B{!cz1 zyPmJZR=E1qogsEN<#3%M<@JL1Z2i|XWhn8YWoZlFE9I1AMk-5wY-&$AROapcJ@=~M z%hxf#B{P4)aUWbvUV0=+@y|8SDE76oyjY#S4HdJEi&S4s;B)~2Pwx&2ijSur2vQY^ zJc0h3sCWc@oIk1a->;Q1{_Gs{l46ZA2WFtZ-?mmXu^}}r%~Y^*erCq0$Nhq@PjrUo zDT2IMZF?)L5pYWQsY((|-}LO;=-61N^GmYf+0=}r%*;oIS|X9rAh7{S8FXKY()LQ@ zw;FkNlurQP3ThE6E33yrfG);^?Jl$s+zxjPVWVSZU$*ZcX3mDXWB9g((SJADD13Bo zWA~M}4}8^=8PnbeS(S(gYM{XvO7if97#r|)6LkZC9xGW{0v3fJyjPR)Q)y1552Rt^ zIPV@xn9vYc@k9KnLGoj5vyY`$Z^d3s2(G}KEu}%PlCiFo&FTg57?2Baw1KwA_~FJG z3>Bedl|7EDE^)TyhE$0RCY+BcWOy#FV*7h?T5Pu(W)gp<(4p_h$q1`jSo zdjeyti9r5EqfPwaOH>k7_NQgkTRIqUWUhx{yWqwZMk?BjIu)p4^D+c*sI{cfKJX?S zx2V!vWw=fq*)ww@x&T8*2j(pz3X^;bf~AfA z_HA67CDJe^)wbq@sBejN=ehQsN0-zpb`#H^-CS6tHj80?7@p2Bqw*q_D=@SBtV^6q zRmVnMP;Usi^pE8^372j8F4=bRLUiNlZeV0@hhcM>c2@v1s?~`BF0ffrOX!2#8C<0v znP`w|rYbEbQjOErt=_#x>b>`P`!Sm@!|jRAVj|NgQr5j9lYu;%y_;oAI>$=L8O1HA zy7dNMlP!Pp*kP5J&$go}a3G7LXIM>f)nVQ*sw@hce9OlADr>WMP<*@kTC~dS^8if4 zuE$wohB_i*Ol3MwfadY8W9&-KagS_)F6~o)f~5KI@DK<(+&80_3dRD7tryrlm_6_L zXPWTGC0$ysrzsOl4$?L^A8gNHOcdGBA1xw!Ba?b*nO3{`BE461NsBM7`t*njwzBYI z6i={aMkqJ`L^M}$C~4zoUb?fgnr&}h5pg|@mF`}qZJymj%YACRBwYvQC@@^R_5yL? z-rrJYb6Oo=BR4j0be2_bjD8%`9eZBtk?ome^+~l5AoqM}_E?c8{gvV$6i)7_ zvm%)E*aek1?i1je===Dt$katSgSEuY4bRi=PpR3f58PJd-gvy)FfF%WU0Hd&%|QH= z(>B4OzFJBuvWbXwB~k56J@&EnD?kw>sJ$(Hw}B(5X<}Agk5Z$A3Oux}LQ6 z|N2J!kC!!=2(BEH%wJFn{x$eeEs>Sl6%7p%_*UfPI%VR2ohN6&-}A_SyyNgjj6=X` z1)IbP7|oC^+Xq&%Hj~Yd$IvC^z%C-NA^MRZMgYAQ48H@@dOxOV84P54zucZzZ9WM(+RveurAIx ziLMwg0lAL(F#w6T2bSFG!21MsT6n=8*EJT70=-9YGTm>SD5G)YU2Bf{cT>8_NZNB4k+wkVq&PpdnXG=xP8` z#JeB_ghMCP5L{hdMY8hz0ecEO5~kd?p#m!!c7tYZ@T5W56FAE3l@T**Hp2@Wnw#~I zRn6{n0$3h4lr17d%)@1GVMKF*FbR#^P6-GW!3GjE&C=f=GM9<~@P@6Dsf`Un1cAft zF`$~yz0=wQlEi{E zN&s-XlKs^tM9kiw(>jWWHtwb!I5>kzk^s)1cJuzuT0=tvqQL_ca|vL@ShrncEO-V} z;Gj?yu*0MUJ$-%7qULe%e4m2u@K0Y9+%7d+>&TP{4nQ{;9%2_M6H~A<6&-jTMkC0U-g6VF7`xzxhBBHjoHv#~nXsLj37bD+5NRgd$adUc&`w`P$Sz zzsASQi@gl>CnP^TWM~Y1$M5Ji9&8QCf?Na}8yi+YC^+o)ngJAO2|9u`^w;nVniozG zgANA+&ZxYXm*9H5hV>4-&IEwX_E&=3_2AarsXo0q`zv(^2=Fq{3f-xuIs{pRuM7%U z91oo>eXpp)`B5L6uB0=JC;U(K=-;FHKe9^4`b;Gqi7~X{o*jp)YfN|uG~X|T3M{F* zzHsFFopw4vjp6GbMeTn)$ln8%cn-u(t;F8mCuvHl44NenZZ*2#l^*o#KdUc2ojcL zXJ>;MML}^fB#8n5sb_wC^mNq%?+8Gv9|4#GPmXS_f29$}Dg>M;2wjggH1O|$#TY=h zB^zC8Xu$&)HY7Z}4m!tHwzhhJn&esx#R9b!Lem`;6^u+Goatxnuv@9{P#{e_k`6%} zf%5_acZkbVSM#5Jpsexa(Qp+&m6C7317yq;`i;NFca=9v%uFK0b7@kRfYtzJ)9#Y~&39 zBRHy_W<}czqu2z#8{iOt16@|73{7cx-t3OSB1rsYiD2%p8#Vvna{Bc?5EXsx91NEu z_wq+kuj(rk3?F4!+(Ah z%V+oH%|w$pO|$YHn8yP`6LLtlzzD!v2IPKhWTbMm#&4ksY=@6@mxn7$z?K?>NK_s` z23R@VTk6cvDu3Yc9SzlCWn~Qz+6MI^-`;OTB?9^x0~gn3ZrwUe5ex|qt^`@`kkKx3 z){*8O&>K<$HXh6&LcDv3pKHL)7>0L4NgTTPt-D3s;3Lu{vgHeqYwE+|hL%)Ci#L5I&GU9>l@zI9@U4g)Uz8kwj!(l+w$mn`& zYx2>+9Ejg^VXoSy8Ck%C=d5T#koHg)bBl0ZIdE1EK@S+SHfIYs4-nN4v0Dg)wmsC$ z3tvO74nZ+RB9xvLluRIN!~%thFeH`z?Xe&zS=L}FS$9fvuYlSDqCo@rDIm*2codI+ zC@F~s(s}5+cOvjX(Zn{0_sAi0cK%QBoNxgU_OXJ32t3;hoq?BHk@yeQRtPI8N0(?* zzp1GSNb9EoB%OeZk%BH$@TRTHYU zfa>4{paUf3O|yO&fuIg_Q^3f)K;z^Au^f5$_YVy009ez6hD$+xhm9bi8%#`-Fxf~C zh$|@LgJ}jUECoBqzfyIXfS@37HSocJf72L|BO$Blg1`d2f;wR&0X$H(@D0qGaM#=| z6>Qw){PKeUxJOl0RoigQ7ewteGzNI79>OvNRtXsKqH66a3+en2RdFs2_%Q?jwD)&U zmhLIIy#0=20aFLPILD54g9rg|;Z0*$ahrtmT9NJu^)8(KlG<7jryH(^B(o3>5z_}E zIu=U)Gaau1i{-wV=`i12`3)Grcc*e85TiH@+CF5q2>^Ky)Y|SxdqclQU|;bBOQYK5 z1QI&9Y>#*!KXIZb`Cu*XXdKjbV-OFYLdgdo6RzTK6qX=wm35jMLZUrO!Q~H%P@oAp zJ+50H_9R$^?^w12aFLvZZ+adc3>1Ydj?3CWQM?5L!dByAB6=xg(k&Iu6AVR1aAag7 z8pBcM$`2xzQFx4LA@dKDOx>@ZxYg6s17@IW(VI()i>**G6oMft7y*pekZ9>`%>HVQ z<-Rm<+rJ+sc$CMEJqpF;CCYbQ)Q7z*P+42)B&>IU#H=5>Y(0- zXIPQuv$j$l%3i^12@e5a`Ckt5_W~o>Kza*yUho)#C>0o`P(_)5iw|%XIKLYkz1pEp zQ9{Zl^S4I$ZcfR`&BBl!z_n@+bwdVp@Gqiz1fBbj^YzlA}J3;;+3v4s~Y*>ro;i&>` zHGBZnphg@qL>znmSHA_du4mQe{Fravj0f*ol5YVJfH$bovp^^yAi(tO0JM`ZS*CZi zSCr;&jb8;8ZZ+s)Agg)s@kI(se=>Gp9XzgvRff7cVAKnPIN^FwgF6`PDt~0@iY*q+ zF>wa^_=w|y=&lvbCV-X)lhFZOWX^afYz+Ybhn2d2aInw`&ID*$Fy!rLS7G(vnuat# z1sR_n_9YOi%MN!MuSt~H&5Mc-ymtZwZKubrL1@{4X z9rF$uU%-1UJ^dUCsX*zsMVn11F<_%PE_}2@@MAeM3r%Z*N)_$e)0A!@*&$S*PocT; zE-Y*n>ZKK+kk4dvmQxRS7y9ySCh@N1i;0OH2+_bQ|FkjRLzK{dx&l0J8(~eg!r3nn zP!@yTMNg64Ei{#s8hA$tns13RWDYEc#Sbk#*ftPhA&LbbALtevK+xs|Tn;}H=Dgq7 zP>n(?1wWOIdEg>FFLAW7pG5X*NS}x1@6d<(LLFM|=J(`rW&bEfiXO-xhbI&kL(6uJAukgCs=HSAnvxk0P#Qom_w)f|}I~aRR1x&xa@^VhI+EOW6jep|$sa zi(dcQZZzJ7c;v?c^Gi5i!Ygu5yC2MH{W^UU^D7G-ZhU__1k6_9>+jpQ|0#U`J@TS0 zd|CFWCyVIqr18WV<92$fcH^nsfS2n#w_ADgPO#@xONlfy7x-t4O3urp_dJn92^zXr zH`ro##;8woM6m35Unu1{bqh-=TS%OChlYKe_QEqtnGPn3KBAYbUM;mQja_LN`KLao zSL=*GaY5WNe-=;s8fPz+yzR{}UB4%CK5RQgAh$as?iWP+bLdt3xU7)^^$cCKT^!wv zugL3NUABnRXDRCTqZ8C*sJzSFX|u9|kMBgWL>|NSlel)vgmsMi7%Q3d_9@ZJf=qv1 z3~L$xS8eK&2B3F|7`rC)rrST1cm~Waol<=Y2j7=v&DE=|(7G{L&ew?m751dbkcvw< zpQKA3NPeGdb@DXZb8lDmgt^IXX#;v!No~`!#+pLklfB=*BYTN`8j~HXZi35e>=#jLeu?Un zLB;fIf1U-IX4AH;QTAh!X96{nM(Vy_y2Y|hdUb4ES+7DH%ky_iM*A~GVDJ$JPfF7? zlca2I`}$uOr)6^%0%2P-FInPu5f&!h^SDG}>MFSA9xoTj^dcV0q@*w!kDXo*(!2YD z`5Hlx;V98H$BDGjZn_^{gc8k^?^=m;0PTSd(|)jr)qu^TpG z!=Hpuhc8?LYJ1o-n^|Q%q-kapmyoPEZ z&DxAp`M{*T$)t^&>)`#iw!SSFA#@67{z^^%^~0LzQWl@kF?j_6JhtpCmFxzU^Rn-5 zym{qcE11V@ao1fct3i+Zsb;Z0CtgQ(K^ejEX5G8)L{>Jp1G-P~r;bUB(3&dB7clCD zQkqcPKRZe6_i6A}Q2YY{j^xR#4dedIK0h^O_Ku5ppLV@xbQ|2#Hxo#Ddz{U@Gbfyt z>v(7Pw`aA~@fEl8RrkfO+`Bh;y@NY>`Du_C?m4%2SD2GB-DYlW@3VV$26x8hho#() zKMjMXbRSaulM8U#cUJaZNS>aLTC!MH2my)ZtJk&4Cj3J+?%w9lNOru`!9yD=LM z0}SMkjwjXDUC=pGb@9T({g=11l^NJ*ZyuL_>-+hde4DdRGiOSZS+k=B7HqmVG_iA8 zts9>FjvhWplbM(OIrHRqs>bHe>rw}GAw0BaLXGtn5(dBOF_J!1e}x-*<5hRC&FmFQ z1)H)2QvRuRE|XTpT3+A&BD-@dBpA1>rLKs)CpJ1H>y3PrpPEQ7>5a-2=A>%`_|tvY ztGY<&Fu1iDZ|1ttZByk$_;5GMM>@TfqgDJWEp_ZT@5*;k%xN~!^WmAhX-n_z=At8u zF!y}O+1}e3YW(WXN~HTCeDl?Zt3-rWE6qL6eo^TYKGqIX3%Kk@NAS`USBU%VEBvtl zUsv3dZ#ulrvsshigqa)U_cSlIP<3qN@H|cC`jKoZt!sJ|LCRoW>#}@x(u`{LjVv)) z*exF$<>GWXJYyOfmVo}6&l?6^45FH=n!iLJJ`4QT<{i~zCgkI!#%HljOGNlyoY;dd zqPttqUjh;5<~8H0GOzAA>3nPPxY)JCm9rDTk~yh^Pb%8DJAfg$qPI2a+Z{SaTAVj1 zC!|3Zo*fG_yfOI!p5wvIoMn|AEyb)<969SLw`&8V^ZKUr30@^wImSn;A4u4x~{z zM8EpnsZ%uhe4J?WBvpC_uksBYvhP6})=JEIEA1pETQl=B0Y~O!Gf__`hx?O_I-X+T z5kyA(!kqFWFJ5i*p6fB=(j5$|qKW%XsP>%Dp&@VZ^U`&J)u(4>`kE;@lG!);9-quu;FL=6Bne*F=V)v(n2^|hL%O4`lniwvaHe7uep({Yx>dchBjp<|>D5BYJs|=_8Fm033HSi+1ueBgL$b^^c zbY^vR);Wkew2R2t)aLM}>&exRPFK51zNTqr2HM4aH82}YD9N(zo>&@G{MuA`NQc*R z(fGItp%TA#$+}#a2C<{mlTU{d;&j6%iYplv>^@Ow~m z((g1?|2aaBwi%7WM`fJk*fbBQ#_T>fz2|jWrA<}(ItrwYl4%zJv60Pwu4&IIpWE}u zW$}A_GZ`o2+;O`xPbgelIZh-H(rntaik23U=bS*lM)v%VOZZl4zJt6owR`6KJ zw7vwr5O0D(v{Ad#WG#WtY}d&PT93)^-=p@?GGi$CeakV|TU6x8!Ah$^Mo-%>Im zbW$}@Js(%WPaI)_a<5+#sdOmh@> z5HQoh6w9uwI~yHwnXLO*ba*&`7yz-Xwyb!PE31vB?xI zi%ob!dmS;?BEGX89Sf}$rz(tJ>AZj`%F8t`vRhE0zUP(6!t8M+p_X;!{grLK41V^0 zQITesga5th>bas+qz~!a^D7+^wvw6^{izyw7GHvQ_R7;uIfQE<#GSa;L?3 zdsXF$q@=jKy5`wdV{+zbe-jnLcNoa_`RD zNiyw?jCrv7voNid&u4&CWIWS1O?JsnQ@bz*NcI76!X04I=CUQ-t(^uN7>NABbKe zEW{Z|5o{)h2hH}Gs{C$7kn%6rO~2>;6s44pws0z28STg?cApItabkg}Lb)UmPWqT7 zG$g)!0DeTp?QpKqDb9h$BMa}#VhaJRUF*xE1lOc3Ewmkziz!M-dSA6AlwxHnRvzW& zOnTp;@f1*eRG2P9P>tNyKvxr9TGBbA2QHR|U(wF#g(}l5_kv(|PgB&(GbAk?jonIp zY66EkZ6}xBjgbEIxB52rE}vL=EGNxB;S$rPz*tKKRyAi|M%DTjhDGO?gfTBqTVzO6 zV*&g-VhprCl^8;$d;oJjLdC^W( z4xEg@HwH=|_3D#N{t|dSYUNpcIVwCef?OAmy~{M7)HAp}@X$9WX+WPbrgGe=uki3| z#w%%d23F>#6sQm3k|^ICzv5tu6UDj}{=nH)zj~~bt;ixX_-Trs{9{hKbJw$r>#u(? zFqfel==$BfmU@=L#@#s4MVtM~M&V|1rsyC`aX6ZdrZymN1aVuB6QaTz_>r)+@8ntZ+@tfuOQ#O(pKmqZkWGwcxp zHbivKsPo@J$2a8d+dn8U^7l%TjcWz*P<>T*)a6@g`vH*AJIR$pi>-X-#JSgm8u!aKbyI0VX z1tikDxR@W(X}|l?!TRFB9x-Xgy!6zF{IpAv8OfslLbkr?ijQtp)5td0m&<%6)kgOP zSU2_vVr66v58o+Bmf+x0ZBu?6#BYu)_id@;W7YOgp-n}i`Xf*-vToN zjx791iCH5nj~&zdMTdtQ1U^3o4Es!Teomm!qV2lX)UQ((T~~ezovq1XuRf}-@)wrT z`RZ^zf!?mRuP}emg+9Lco4!^nv(wH5=`le`mW+Y=tRInDwa$*t!vacge&Gs*Z^z}x zI&vfhm`JdnV*fGTkR^>5QGTGK8FT(VKc}x+FLYj-&^Lfy_BQq(G_J?=wob0)-geou zi)W;pS1SyoEZ6ENzRW53ja`nHPzZx9=xIDP*H-QJwL6PHbuPRkMM_A~#J`BzA!WNYtAq#S2 zxO0~NRlpWF20WMOYVYN6!w*w8-}tCs9-#Y+%lhIke%b%u9~b}H>5@0xrz_xtXbQ$^ zmk{`GZUPcw&&m(?IPM5GD@*90cX?<0kH7xM4~Vt!TNHBt<;VERA7&Hgnb34YbW5-% zJB^3;kD*~`@>L3IqrqwkiHnm3O*O!M)kYj0&`E_^u~|>PBJ2$u_1^*PWeMZK3|b;< zph;EAaiJ(DmYfa>^z{iQN!dh;67!-{3mGnCjIH5$5*(F!2~-1tSlXb z*~yb&#ImEav!*R@Nl!!TSQ4xsu>iwGkEUsN<_pxUpPR$;fCmgz(Z{A zhc2-$s}eBoyb)X^!2vf_%>g?7AStj~rNvxFU6m)0KRv$z=Kvb1Yk>M7 zHWqyB2H>`!BSW?wA0LP2ukc%F9D)qYwqZl`!GqC>2{acEakKy#ON5yf_*$2p9G3xw z%W>JU2IY-PsWa!pu-lbQO@1)+j1}zio_u>|S2=+wc8d?p&v{qd>MAO`dO96Xjm3K{R7b=Y!0s-dIajj6%$x`9~tRfy@^;z;G2m& zCF3@n0M-M5UA5Xi~N$yH^zZQKHehwUnyvH1rOs{`iw007yxGmU^=$g7mS zK*#mhS%f1W>~81+rm5_D7TU~)16B#F09GIi0NA5c4Gonqt^v6S4^(5|2-&7qJ7L`p z)f1ZVWonvM#tSRc;c9@6ImQ`d!J51jQ(`exR@7$D8r=ZgEbQ(QCw4e#>dx(bcd`D%J(Ojf#((y8rnI`HR!sf0gMHCk}y9%KLF(D!B7_X38=cXwdDX{ z)i6D+zn@gtO#pzVJed%Ki%?!zH5s z`Fa*<_JMf?v+e9ay4txGb_D0)xY=XK{5*~dC=M_&f!BVX6w1S25*J}}b+0X0n ztUZB4c7pqDIji&fbkh~k{lO~a?+iLz>^K!}3Z{~vv5W#60x*zpZP)?3hd1DP049pN zUFd>-Tu%@_VQ^ydBtlI9-a3q5qvW?gOGQOhQc|)Wj-u9!opd}@x`r1ksGMBKLA>6= zRAZJe@bZ5w<$wE8ACO3Opz#TG!v|q`0FwFx7YsH zFV|u|j*6dX=`eM%jX#sK(L86V$~io0S?2kUDmBA&Lg|!j;(PW^=jT7cm4Perpt_Zb z6A#V|`Z+m;R&hbt@}<9VTAoSn$@+!nyMM-S7FHTAud1DUeselI-rvAjUtr~HXmzr( zykd=3`8UF7r3Z86;q2>s&u%j1Hte5yl99=35ET%((e-Tu<4N*6taG=M?TNdAZf(%7 zJDjOp@7tY$_LUr-&pQ*NRO`2s?tIHGYqHN~GWCmI^H9^Y`}Fz=kC?-w>j^;L$vrF% zVDG4O| z+0NnD7Wd1-xyM|{G5L)F>6c5l513`V#VK&I`+LYHpGp6_X96tfq*VIZPM6f5JvGU;F~}k6Rj&AU@xs(Zo_}{XV)Q(XxoU!I5N_yIrIaj__=3ntV<$g9Jam@Y{ z8DqcWUM59O+{*Zs52J~pI#FMo7FX!^TZb$UvjfVjD%8(x4V)7Ds%WQk;J~Ws=yU^7 z@ah?fHxyo~y~;mTPT&Rzdt96&0KNU@896?SjTc~yg^cPx3ThOawGzo`k(Yuo~zT~x6B2T;EIZh z;#o|~^G4q+=chA^PL~9~!Cj5qihm_yCr!k7sMw!9xc3Y4B^xt7o z?=IqPCh@4)A*OwyI(an$JJ2@h|Jx7i2hF_YG17J8jcm*7ujy~U7O|edHhEN zYl?Dz-cFzV#9uVafBbm-54!%}eiUNcsufbCfs!38<}AUF9+)ll4Gkkup`*c;zfCEC zH-I2i@E$LJT#0h&MT`YAvND;NKwbqf7X_sXVPPtmVcs^dV_R9KN*X3mODphyQ{zeC+GQC-Xu8{!Ww_D2Av zE|nCmw7Mt|V z(|aLb8|aecyj+EBb}`K2>ITcuF)#(Y4g?-(mE^oZ#7O*;h9}0O#GnHcQ9bej+;&0e z2Il8jVu6$+sNjJD0r5S-H5UAQZd||4W3hus2H?<)C~XKG2iZRu17A``iRQ)5=I=xa zBFN=nxRFs@(}(!VV89LfvoRP)%n5`r_*ONuDh zkw1o>H6p8`>IcXus91x$<@4rEJP<(yfQ{Z9CmaVwGt?5~>SaLC+XpJm6qxo;!KujI zMUPGTH2}J~+%1ve3A~67iYsVKu6-wx{j7+B-6g=oFJhMJ{{#bwyROFndw#8Fyhp%P zC<&F+%|Bs^5O|6i)Yn;3b^ef}C)(fs1%>}T5d07S2Z3a<+T}f{XEOU1ZX(uEe-}LA zCq3`JHu7-BWQ3p{n$Pvl>wgJP{_*3#vi)BYg+FyM6a;HAQ((C30*+?DzxeWJ<>g~T zRwRB56+h5ZS2i{#fF^eQ`0*dWX$WK1l7SI=K#C|S5kS;k1%->i!9?)`{=#y9+X~Ep z5%CojO}>79W8h;Nk%U@%2a3Fu&!3So2=o@=jnS|J z(5k>B;LN8rXMlmviiR%&OZNfL=y<{8cL>bXPyAl6E;Je{6NHvDu(_>P$0cC<^&RZM zSxL{9ELY)S*_95W&;aJ~6~BLzV1cR#k+7hevyDgVEIr{G8TVa%eL4o&*u;VY449I@ zP;nqBeT4r3Zb?|&!Mq{jSXdX5mo=^|U*+I<2Lt~?fzDlIH#eK~4cLHCv4fDQ8Oc)a z04*B$zsRHp=3^mWZP?Jk2c-nZGANp}EQW-@b&TK+n8ctEG1nCUaknE|{~<6r5{MY! zQFfr?_O2c&QX?q)EAgd15p#0dk?z@o-6cd=QTXtx`TwW2>i}wU&Dty?iZlT!7p|a) zK|pE@J>W$Uq=*7al@3Y^NQiVnlqRB-iv&Z_1x2LSKp>zZ%}@mlHK8K}sR5*geS`bY z{&!~g?(WPo6Bv@reBYP6-+9k@&htD6ak9{=asp5aaRn%Faw{M-b8&OiIoUuSLJy%p z_z?;P*SDwzQf&OYY2*QRY-)egz8>~-u`sU1zmh-b1Y_U+i>UMx1R}r~Td6a5cb|t@ zhJll&hYAM3Zl!Zd>0C$OY9q+kw#qOlmssjXsb~ zK<=XWK~?HL?@)gQ#0)^$u^$bVl`Sr3ZrcYnz-!RNXQ1+3ox4v zU<5O;U7>Zq{SJ(_SAa;s)WSj!j2@>8ZvZr$kD;v+WO?}cj{q+*bvg$Pfu+2n^W{L6 zq4XR`pupyriXQ=bneb7>EMV}^3n4ImuJf{VFaQw%e`o;EHo?tNZ6iackb`~MyLFkq zwSfD>t%7c84<7pkT{O^TNd|@XEx#JTBKulw*F`7vZY+)xfZ>gvg@wT4Vyf`1HNZGc z2NUDy&N6h(0#J8>y*1$=jI`=}(`d(zhoS*}%?Ny*UFvIWV2=bP^eVW9wWWR9l6wz0 zbKfRE5m4KxK@Nh>IXSX2&fwpc9w0OV{^b8KG=j^ge+d8hQ)9Eyzk-g4II6nIo7nm_ zim%n0iwU#Ez`!1KMf*21&^-DTd7k0s*QfEPB=1UXG<%*`OS9-b{`|x!*er8U zm!Up`bucB9t?OjRYP4O_tsWKysv_4MiI@ah zo2PWyLs;CDG7nd*b^j@PP^-!op7HpopV<`gdJ)f+70xhZ(Tm2t?<|=XS)Is+nc5l! zMWRXxg0}HJdaRRkFq`yHlxXZA{)f-7kT&D-_d;`*3r??y6@70y|3;zzOB^Q_Z>1J0 zP_CFYCyIc|#abT8Re-+IY}2_1Vr6#}XzY48eY#UHD3ZOhip}6=@sSNBqxGDH!sVE$ zEUq7Lo~top7uhd^Q$w5q_a7wW=ur+x^&;;@p)=i(aQiILvhsO$)v943CEG3TC(oj| zJv$%-lcmOmup}2w$c2Fz`BP|y{K$p6AWWx~)EaLI833;F7)U z?dw%_P{NCY)S+_h$CK;7Wo7JHCTq0Ax-p`b&20r!VxL{m|AjBI4) z1uF|2xvWN5m0z|aABI&aIc~kyJ@lZ4G{GT`H&<2eAB^)BmLKue1vpz=Ru=iB|4rC| zq-M%0|834ru1i2)edd52YCI4R7q}}jC0yv3D(P?VIYC4Sjw83H@fhS&mS6*$EAcqGP#JFS-R> z-L5%ovq7ZWKL#GEa_JcS_y&JA7uz1S`KBbGcPjI;9qPlOS<-oV1*86Km}uD#@FP(5X3n(WsbCMQxT((urwoRkudHVYFtBi1|xk}f(P2T2=WCfUMwQ&?_7s!^fya= zT~%wJ4lLJe{{EN7=D0&^MA^0Z@4C6s_|g;V?fE>8cl;AWQG5vT z^~sb4HD>7uqaUiTbRHId4BXbwzg}66Nb9I@;hW#j&a_*KHH>ldAKyUrpp=S8RU_=@ zua3q{TY%3i;~OkMZgdy^fP16J(4~LFMt`M=N@cA(?&Wmji&jVCHtnAwif9~?!Unal7k#?uT z3Dc@$+rt>sTT=5J>*17SrQF(^QyH}l{6pf=l)fHE^R2l<=R1A&+#DZE^@42g>HV1( zv~5u$4L7>i4%_Q6?yM_D&13eFMuvkklA5L$h*Tnf^@g%d(V?umxfk15=2bzk**pxnyWyYdVw}UYRFg+;ubb*b|weP->+}iQf}$q;vXaq zZHFP}+p9D%G@M5dZOw|1hWy$(lrcCUO#G`7*-yGv9o4phQfVRD<2^R_jk8Yr@T%F! zq-Ku*#ZC?3`p#AaJXh#pW9980N|8U2zt*P6(Y!eef-_N|2!0-1G7g>GZs_%*9;4W0 z)_}wI=@fYd=Gt(i5~h`JET~TV!~*1J3gFQG&aQn4PbfKMTs-r*O}KUU*J56h#bByp zT$9imB}yPbG02HHBf{D_ES?*A138n7D7CE(OMa`qqY1}%74)fvut9A(G>bQPM)00J zU$gl5r8{}Qu5#CgZtVoE7g(~Ut&(IuiW@nYb(p#d_SYBv5J;Ck8tT9(+X9a%&W+#o z=2vj~DtL?m~9M!Y-xsZ(s^}CE+Q?S!WGM`lfY-#Bif^HHP&_H5noP+foSE+ z6P#pw99#*lyc7pF>z@5s>4_TO3-M_cW6qTob4!Xe;nY-xA59tI44;eG5$vcY)>*2D zDdZn}spBKQTilbH@7x${xKqavz7-4epQV1gkd$+s-^~up+{((6U*Dj<(rMG@lNq_X z7^|;7#N6w(+{-j!H0Dv9ROzmGg_ZSOAr*A%m2Cxp@4K;`DhgUE0ZSAk2yh=^&fKdv zpM1LMxW0+_i)CIpy1Y2t#L6e^jwW+-5QP))=572zstDwo>%0hil4L+o0Neem(782! zC;4~>t@H->?Cm&Ur!bP|-*ydDBXmK{b^H3G@qf3e_ybb*PvNsad-5Nd;ve(I|MI^- zJH(&8Rx=#%mI-9fqU?DP7koT%`4ji>qaDHBcAaMI^ru}PSBdOgp+s8dt{uOzA@f*z z;FCoJdPwlctvfuKYj@SW^Le*;nZisXCHgSzCr2n7)7i3Kb!L6t_i^&yCA=Y(6Lq0^ zhp5(>df_Zue;CYUMemx{>8~nw05{`60*03O2pqJV%Fyp9ps9h$=Z)Ij}ENIhN*)@04{9csRh^6qt zeam5$#*7B)y6Yos=Qmy~)BmrxFIF;w)spCON=b=dQ?mi6Mf|K){^RvCV+~w9UcP&$ zUkDW7+EbDT0O?4Y@rkRYuMKZdFas)^3zp6#~@O=E2t0UI3ebJQ@HHW>Nj7A_i1L|3z(3BU97l?1J&1e3Z--+`7pYh2bVJI8qzNTD48);iuLzV&jT+z9z JU8H3n@i&Jad+-1N literal 0 HcmV?d00001