diff --git a/source/_integrations/device_automation.markdown b/source/_integrations/device_automation.markdown
index 1036db1e390..cab524a1b2d 100644
--- a/source/_integrations/device_automation.markdown
+++ b/source/_integrations/device_automation.markdown
@@ -1,6 +1,6 @@
---
-title: Device Automation
-description: Information about the Device Automation plugin.
+title: Device automation
+description: Information about the device automation plugin.
ha_category:
- Automation
ha_release: 0.7
@@ -11,7 +11,7 @@ ha_domain: device_automation
ha_integration_type: system
---
-Device Automations is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions.
+**Device automation** is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions.
There is no device automation specific configuration. Instead, it is configured as part of the normal automations.
diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown
index b7f9570249a..87dd2c60606 100644
--- a/source/_integrations/dialogflow.markdown
+++ b/source/_integrations/dialogflow.markdown
@@ -12,7 +12,7 @@ ha_integration_type: integration
The **Dialogflow** {% term integration %} is designed to be used with the [webhook](https://cloud.google.com/dialogflow/es/docs/fulfillment-webhook) integration of [Dialogflow](https://cloud.google.com/dialogflow/docs/). After each phrase a user says, Dialogflow sends an action and parameters to the webhook.
-To be able to receive messages from Dialogflow, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/docs/configuration/basic). Dialogflow will return fallback answers if your server does not answer or takes too long (more than 5 seconds).
+To be able to receive messages from Dialogflow, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/integrations/homeassistant/#editing-the-general-settings-in-yaml). Dialogflow will return fallback answers if your server does not answer or takes too long (more than 5 seconds).
Dialogflow could be [integrated](https://cloud.google.com/dialogflow/es/docs/integrations) with many popular messaging, virtual assistant and IoT platforms.
diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown
index 71a5e39f72e..5c7d7cdbc40 100644
--- a/source/_integrations/discord.markdown
+++ b/source/_integrations/discord.markdown
@@ -69,26 +69,26 @@ When adding the Discord integration you will be asked for an API Key. Enter the
The following attributes can be placed inside the `data` key of the service call for extended functionality:
-| Attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `images` | yes | The file(s) to attach to message.
-| `urls` | yes | The file(s) to download from a remote URL and attach to message.
-| `verify_ssl` | yes | A boolean to determine if SSL certs should be verified when calling the remote URLs in the `url` attribute. Defaults to `True`.
-| `embed` | yes | Array of [Discord embeds](https://discordpy.readthedocs.io/en/latest/api.html#embed). *NOTE*: if using `embed`, `message` is still required.
+| Attribute | Optional | Description |
+| ------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
+| `images` | yes | The file(s) to attach to message. |
+| `urls` | yes | The file(s) to download from a remote URL and attach to message. |
+| `verify_ssl` | yes | A boolean to determine if SSL certs should be verified when calling the remote URLs in the `url` attribute. Defaults to `True`. |
+| `embed` | yes | Array of [Discord embeds](https://discordpy.readthedocs.io/en/latest/api.html#embed). *NOTE*: if using `embed`, `message` is still required. |
To include messages with embedding, use these attributes underneath the `embed` key:
-| Attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `title` | yes | Title of the embed.
-| `description` | yes | Description of the embed.
-| `color` | yes | Color code of the embed. This value is an *int*.
-| `url` | yes | URL of the embed.
-| `author` | yes | Sets the footer for the embed content.
-| `footer` | yes | Sets the footer for the embed content.
-| `thumbnail` | yes | Sets the thumbnail for the embed content.
-| `image` | yes | Sets the image for the embed content.
-| `fields` | yes | Adds a field to the embed object. `name` and `value` are *required*, `inline` is *true* by default.
+| Attribute | Optional | Description |
+| ------------- | -------- | ---------------------------------------------------------------------------------------------------- |
+| `title` | yes | Title of the embed. |
+| `description` | yes | Description of the embed. |
+| `color` | yes | Color code of the embed. This value is an *int*. |
+| `url` | yes | URL of the embed. |
+| `author` | yes | Sets the footer for the embed content. |
+| `footer` | yes | Sets the footer for the embed content. |
+| `thumbnail` | yes | Sets the thumbnail for the embed content. |
+| `image` | yes | Sets the image for the embed content. |
+| `fields` | yes | Adds a field to the embed object. `name` and `value` are *required*, `inline` is *true* by default. |
### Example service call
@@ -117,7 +117,7 @@ To include messages with embedding, use these attributes underneath the `embed`
- "https://example.com/video.mp4"
```
-Note that `verify_ssl` defaults to `True`, and that any remote hosts will need to be in your [`allowlist_external_urls`](/docs/configuration/basic/#allowlist_external_urls) list. Discord limits attachment size to 8MB, so anything exceeding this will be skipped and noted in the error log.
+Note that `verify_ssl` defaults to `True`, and that any remote hosts will need to be in your [`allowlist_external_urls`](/integrations/homeassistant/#allowlist_external_urls) list. Discord limits attachment size to 8MB, so anything exceeding this will be skipped and noted in the error log.
### Example embed service call
diff --git a/source/_integrations/file.markdown b/source/_integrations/file.markdown
index f5b2833dffc..88fb0caf33c 100644
--- a/source/_integrations/file.markdown
+++ b/source/_integrations/file.markdown
@@ -56,7 +56,7 @@ To use notifications, please see the [getting started with automation page](/get
## Sensor
-The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. Note that file paths must be added to [allowlist_external_dirs](/docs/configuration/basic/).
+The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. Note that file paths must be added to [allowlist_external_dirs](/integrations/homeassistant/#allowlist_external_dirs).
To enable the `file` sensor, add the following lines to your `configuration.yaml`:
diff --git a/source/_integrations/file_upload.markdown b/source/_integrations/file_upload.markdown
index 25489b543d8..3f609934d8e 100644
--- a/source/_integrations/file_upload.markdown
+++ b/source/_integrations/file_upload.markdown
@@ -1,5 +1,5 @@
---
-title: File Upload
+title: File upload
description: File upload integration supports various frontend features within Home Assistant
ha_release: 2022.9
ha_quality_scale: internal
@@ -10,6 +10,6 @@ ha_codeowners:
ha_category: []
---
-The file upload integration allows various features in the frontend to upload files.
+The **File upload** {% term integration %} allows various features in the frontend to upload files.
{% include integrations/building_block_integration.md %}
diff --git a/source/_integrations/filesize.markdown b/source/_integrations/filesize.markdown
index 7be864a7055..3d34b5044c7 100644
--- a/source/_integrations/filesize.markdown
+++ b/source/_integrations/filesize.markdown
@@ -1,5 +1,5 @@
---
-title: File Size
+title: File size
description: Integration for monitoring the size of a file.
ha_category:
- Sensor
@@ -15,11 +15,11 @@ ha_config_flow: true
ha_integration_type: integration
---
-The `filesize` sensor is for displaying the size in MB of a file.
+The **File size** {% term integration %} is for displaying the size in MB of a file.
-File paths must also be added to [allowlist_external_dirs](/docs/configuration/basic/) in your `configuration.yaml`.
+File paths must also be added to [allowlist_external_dirs](/integrations/homeassistant/#allowlist_external_dirs) in your `configuration.yaml`.
File paths should be absolute paths. For example: `/config/home-assistant_v2.db` to monitor the size of the default database.
diff --git a/source/_integrations/folder.markdown b/source/_integrations/folder.markdown
index bd435c5dc3b..b9a1763969e 100644
--- a/source/_integrations/folder.markdown
+++ b/source/_integrations/folder.markdown
@@ -12,7 +12,7 @@ ha_platforms:
ha_integration_type: integration
---
-Sensor for monitoring the contents of a folder. Note that folder paths must be added to [allowlist_external_dirs](/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria.
+Sensor for monitoring the contents of a folder. Note that folder paths must be added to [allowlist_external_dirs](/integrations/homeassistant/#allowlist_external_dirs). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria.
The sensor exposes the number of filtered files in the folder, total size in bytes of those files and a comma separated list of the file paths as attributes.
## Configuration
diff --git a/source/_integrations/folder_watcher.markdown b/source/_integrations/folder_watcher.markdown
index 5397a3d0122..cf7ce0a5df5 100644
--- a/source/_integrations/folder_watcher.markdown
+++ b/source/_integrations/folder_watcher.markdown
@@ -1,5 +1,5 @@
---
-title: Folder Watcher
+title: Folder watcher
description: Integration for monitoring changes within the filesystem.
ha_category:
- System monitor
@@ -11,7 +11,7 @@ ha_domain: folder_watcher
ha_integration_type: integration
---
-This integration adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are:
+The **Folder watcher** {% term integration %} adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are:
- `closed`
- `created`
@@ -19,7 +19,7 @@ This integration adds [Watchdog](https://pythonhosted.org/watchdog/) file system
- `modified`
- `moved`
-Configured folders must be added to [allowlist_external_dirs](/docs/configuration/basic/). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.
+Configured folders must be added to [allowlist_external_dirs](/integrations/homeassistant/#allowlist_external_dirs). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.
{% include integrations/config_flow.md %}
diff --git a/source/_integrations/history_stats.markdown b/source/_integrations/history_stats.markdown
index 3b018340db8..5cabd7d3e59 100644
--- a/source/_integrations/history_stats.markdown
+++ b/source/_integrations/history_stats.markdown
@@ -1,5 +1,5 @@
---
-title: History Stats
+title: History stats
description: Instructions about how to integrate historical statistics into Home Assistant.
ha_category:
- Sensor
@@ -13,7 +13,7 @@ ha_platforms:
ha_integration_type: integration
---
-The `history_stats` sensor platform provides quick statistics about another integration or platforms, using data from the [`history`](/integrations/history/) integration.
+The **History stats** {% term integration %} provides quick statistics about another integration or platforms, using data from the [`history`](/integrations/history/) integration.
It can track how long the integration has been in a specific state, in a custom time period.
diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown
index 714bdaa063e..cd6ca218562 100644
--- a/source/_integrations/homeassistant.markdown
+++ b/source/_integrations/homeassistant.markdown
@@ -15,6 +15,7 @@ related:
- docs: /docs/configuration/basic/
title: Basic information
- docs: /docs/configuration/
+ - docs: /docs/configuration/customizing-devices/
---
The **Home Assistant Core** {% term integration %} provides generic implementations like the generic `homeassistant.turn_on`.
@@ -103,15 +104,15 @@ internal_url:
required: false
type: string
customize:
- description: "[Customize](/docs/configuration/customizing-devices/) entities."
+ description: "[Customize](#editing-the-entity-settings-in-yaml) entities."
required: false
type: string
customize_domain:
- description: "[Customize](/docs/configuration/customizing-devices/) all entities in a domain."
+ description: "[Customize](#editing-the-entity-settings-in-yaml) all entities in a domain."
required: false
type: string
customize_glob:
- description: "[Customize](/docs/configuration/customizing-devices/) entities matching a pattern."
+ description: "[Customize](#editing-the-entity-settings-in-yaml) entities matching a pattern."
required: false
type: string
allowlist_external_dirs:
@@ -142,6 +143,109 @@ debug:
default: false
{% endconfiguration %}
+## Editing the entity settings in YAML
+
+The Home Assistant Core integration is also responsible for the entity settings.
+By default, all of your devices will be visible and have a default icon determined by their domain. You can customize the look and feel of your front page by altering some of these parameters. This can be done by overriding attributes of specific entities.
+
+Most of these settings can be changed from the UI. For the detailed steps, refer to [Customizing entites](/docs/configuration/customizing-devices/).
+
+If you prefer editing in YAML, you can define your general settings in the [`configuration.yaml` file](/docs/configuration/).
+
+### Possible values
+
+{% configuration customize %}
+friendly_name:
+ description: Name of the entity as displayed in the UI.
+ required: false
+ type: string
+entity_picture:
+ description: URL to use as picture for entity.
+ required: false
+ type: string
+icon:
+ description: "Any icon from [Material Design Icons](https://pictogrammers.com/library/mdi/). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release."
+ required: false
+ type: string
+assumed_state:
+ description: For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon.
+ required: false
+ type: boolean
+ default: true
+device_class:
+ description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`.
+ required: false
+ type: device_class
+ default: None
+unit_of_measurement:
+ description: Defines the units of measurement, if any. This will also influence the graphical presentation in the history visualization as continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values.
+ required: false
+ type: string
+ default: None
+initial_state:
+ description: Sets the initial state for automations, `on` or `off`.
+ required: false
+ type: boolean
+ default: None
+{% endconfiguration %}
+
+### Device class
+
+Device class is currently supported by the following platforms:
+
+- [Binary sensor](/integrations/binary_sensor/)
+- [Button](/integrations/button/)
+- [Cover](/integrations/cover/)
+- [Humidifier](/integrations/humidifier/)
+- [Media player](/integrations/media_player/)
+- [Number](/integrations/number/)
+- [Sensor](/integrations/sensor/)
+- [Switch](/integrations/switch/)
+
+### Manual customization
+
+
+
+If you implement `customize`, `customize_domain`, or `customize_glob` you must make sure it is done inside of `homeassistant:` or it will fail.
+
+
+
+```yaml
+homeassistant:
+ name: Home
+ unit_system: metric
+ # etc
+
+ customize:
+ # Add an entry for each entity that you want to overwrite.
+ thermostat.family_room:
+ entity_picture: https://example.com/images/nest.jpg
+ friendly_name: Nest
+ switch.wemo_switch_1:
+ friendly_name: Toaster
+ entity_picture: /local/toaster.jpg
+ switch.wemo_switch_2:
+ friendly_name: Kitchen kettle
+ icon: mdi:kettle
+ switch.rfxtrx_switch:
+ assumed_state: false
+ media_player.my_media_player:
+ source_list:
+ - Channel/input from my available sources
+ # Customize all entities in a domain
+ customize_domain:
+ light:
+ icon: mdi:home
+ automation:
+ initial_state: "on"
+ # Customize entities matching a pattern
+ customize_glob:
+ "light.kitchen_*":
+ icon: mdi:description
+ "scene.month_*_colors":
+ icon: mdi:other
+```
+
## Services
The `homeassistant` integration provides services for controlling Home Assistant itself, as well as generic controls for any entity.
diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown
index afb7abb4bca..d73d606003d 100644
--- a/source/_integrations/ifttt.markdown
+++ b/source/_integrations/ifttt.markdown
@@ -16,7 +16,7 @@ ha_integration_type: integration
## Prerequisites
-To be able to receive events from IFTTT, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/docs/configuration/basic), or use your Nabu Casa account's webhook URL from the IFTTT integration.
+To be able to receive events from IFTTT, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/integrations/homeassistant/#allowlist_external_urls), or use your Nabu Casa account's webhook URL from the IFTTT integration.
{% include integrations/config_flow.md %}
@@ -111,11 +111,11 @@ When your screen looks like this, click the 'call service' button.
By default, the trigger is sent to all the API keys from `configuration.yaml`. If you
want to send the trigger to a specific key use the `target` field:
-Field | Value
------ | -----
-domain | `ifttt`
-service | `trigger`
-Service Data | `{"event": "EventName", "value1": "Hello World", "target": "YOUR_KEY_NAME1"}`
+| Field | Value |
+| ------------ | ----------------------------------------------------------------------------- |
+| domain | `ifttt` |
+| service | `trigger` |
+| Service Data | `{"event": "EventName", "value1": "Hello World", "target": "YOUR_KEY_NAME1"}` |
The `target` field can contain a single key name or a list of key names.
diff --git a/source/_integrations/image_upload.markdown b/source/_integrations/image_upload.markdown
index f45e0a85262..7bb4d212467 100644
--- a/source/_integrations/image_upload.markdown
+++ b/source/_integrations/image_upload.markdown
@@ -1,5 +1,5 @@
---
-title: Image Upload
+title: Image upload
description: The image upload integration handle image assets in Home Assistant.
ha_category:
- Other
@@ -11,7 +11,7 @@ ha_quality_scale: internal
ha_integration_type: system
---
-The Image Upload integration allows Home Assistant to handle image assets in
+The **Image upload** {% term integration %} allows Home Assistant to handle image assets in
Home Assistant, for example, the profile photos of your systems account.
## Configuration
diff --git a/source/_integrations/input_boolean.markdown b/source/_integrations/input_boolean.markdown
index afd4e7064a5..3ea219ddc1a 100644
--- a/source/_integrations/input_boolean.markdown
+++ b/source/_integrations/input_boolean.markdown
@@ -1,6 +1,6 @@
---
-title: Input Boolean
-description: Instructions on how to use the Input Boolean helper with Home Assistant.
+title: Input boolean
+description: Instructions on how to use the input boolean helper with Home Assistant.
ha_category:
- Automation
- Helper
@@ -12,7 +12,7 @@ ha_domain: input_boolean
ha_integration_type: helper
---
-The Input Boolean helper integration allows you to define boolean values that
+The **Input boolean** helper integration allows you to define boolean values that
can be controlled via the user interface and can be used within conditions of
an {% term automation %}. This can for example be used to disable or enable certain
automations by using them in their {% term conditions %}.
@@ -67,12 +67,12 @@ This integration provides the following {% term services %} to modify the state
`input_boolean` and a service to reload the configuration without restarting
Home Assistant itself.
-| Service | Data | Description |
-| ------- | ---- | ----------- |
-| `turn_on` | `entity_id(s)`
`area_id(s)` | Set the value of specific `input_boolean` entities to `on`
-| `turn_off` | `entity_id(s)`
`area_id(s)` | Set the value of specific `input_boolean` entities to `off`
-| `toggle` | `entity_id(s)`
`area_id(s)` | Toggle the value of specific `input_boolean` entities
-| `reload` | | Reload `input_boolean` configuration |
+| Service | Data | Description |
+| ---------- | ------------------------------ | ----------------------------------------------------------- |
+| `turn_on` | `entity_id(s)`
`area_id(s)` | Set the value of specific `input_boolean` entities to `on` |
+| `turn_off` | `entity_id(s)`
`area_id(s)` | Set the value of specific `input_boolean` entities to `off` |
+| `toggle` | `entity_id(s)`
`area_id(s)` | Toggle the value of specific `input_boolean` entities |
+| `reload` | | Reload `input_boolean` configuration |
### Restore state
diff --git a/source/_integrations/input_button.markdown b/source/_integrations/input_button.markdown
index 2e130827e4a..36ccde14901 100644
--- a/source/_integrations/input_button.markdown
+++ b/source/_integrations/input_button.markdown
@@ -1,6 +1,6 @@
---
-title: Input Button
-description: Instructions on how to use the Input Button helper with Home Assistant.
+title: Input button
+description: Instructions on how to use the input button helper with Home Assistant.
ha_category:
- Automation
- Helper
@@ -12,7 +12,7 @@ ha_domain: input_button
ha_integration_type: helper
---
-The Input Button helper integration allows you to define buttons that
+The **Input button** helper integration allows you to define buttons that
can be pressed via the user interface, and can be used to trigger things,
like an automation.
diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown
index 2b34c9d0a24..cc9252568f5 100644
--- a/source/_integrations/input_number.markdown
+++ b/source/_integrations/input_number.markdown
@@ -1,6 +1,6 @@
---
-title: Input Number
-description: Instructions on how to integrate the Input Number integration into Home Assistant.
+title: Input number
+description: Instructions on how to integrate the input number integration into Home Assistant.
ha_category:
- Automation
- Helper
@@ -12,7 +12,7 @@ ha_domain: input_number
ha_integration_type: helper
---
-The `input_number` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well.
+The **Input number** {% term integration %} allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well.
The preferred way to configure an input number is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_number" title="Number" %}** option.
@@ -87,12 +87,12 @@ input_number:
This integration provides the following services to modify the state of the `input_number` and a service to reload the
configuration without restarting Home Assistant itself.
-| Service | Data | Description |
-| ------- | ---- | ----------- |
-| `decrement` | `entity_id(s)`
`area_id(s)` | Decrement the value of specific `input_number` entities by `step`
-| `increment` | `entity_id(s)`
`area_id(s)` | Increment the value of specific `input_number` entities by `step`
-| `reload` | | Reload `input_number` configuration |
-| `set_value` | `value`
`entity_id(s)`
`area_id(s)` | Set the value of specific `input_number` entities
+| Service | Data | Description |
+| ----------- | ----------------------------------------- | ----------------------------------------------------------------- |
+| `decrement` | `entity_id(s)`
`area_id(s)` | Decrement the value of specific `input_number` entities by `step` |
+| `increment` | `entity_id(s)`
`area_id(s)` | Increment the value of specific `input_number` entities by `step` |
+| `reload` | | Reload `input_number` configuration |
+| `set_value` | `value`
`entity_id(s)`
`area_id(s)` | Set the value of specific `input_number` entities |
### Restore state
diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown
index c7303e07e22..72900456e38 100644
--- a/source/_integrations/input_select.markdown
+++ b/source/_integrations/input_select.markdown
@@ -1,6 +1,6 @@
---
-title: Input Select
-description: Instructions on how to integrate the Input Select integration into Home Assistant.
+title: Input select
+description: Instructions on how to integrate the input select integration into Home Assistant.
ha_category:
- Automation
- Helper
@@ -12,7 +12,7 @@ ha_domain: input_select
ha_integration_type: helper
---
-The `input_select` integration allows the user to define a list of values that can be selected via the frontend and can be used within conditions of an automation. When a user selects a new item, a state transition event is generated. This state event can be used in an `automation` trigger.
+The **Input select** {% term integration %} allows the user to define a list of values that can be selected via the frontend and can be used within conditions of an automation. When a user selects a new item, a state transition event is generated. This state event can be used in an `automation` trigger.
The preferred way to configure an input select is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_select" title="Dropdown" %}** option.
@@ -77,29 +77,29 @@ If you set a valid value for `initial` this integration will start with the stat
This integration provides three services to modify the state of the `input_select`.
-| Service | Data | Description |
-| ------- | ---- | ----------- |
-| `select_option` | `option` | This can be used to select a specific option.
-| `set_options` | `options`
`entity_id(s)` | Set the options for specific `input_select` entities.
-| `select_first` | | Select the first option.
-| `select_last` | | Select the last option.
-| `reload` | | Reload `input_select` configuration |
+| Service | Data | Description |
+| --------------- | --------------------------- | ----------------------------------------------------- |
+| `select_option` | `option` | This can be used to select a specific option. |
+| `set_options` | `options`
`entity_id(s)` | Set the options for specific `input_select` entities. |
+| `select_first` | | Select the first option. |
+| `select_last` | | Select the last option. |
+| `reload` | | Reload `input_select` configuration |
#### Service `input_select.select_next`
Select the next option.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `cycle` | yes | Whether to cycle to the first value after the last. Default: `true`
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------- |
+| `cycle` | yes | Whether to cycle to the first value after the last. Default: `true` |
#### Service `input_select.select_previous`
Select the previous option.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `cycle` | yes | Whether to cycle to the last value before the first. Default: `true`
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | -------------------------------------------------------------------- |
+| `cycle` | yes | Whether to cycle to the last value before the first. Default: `true` |
### Scenes
diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown
index ad7fde93350..8a57b830987 100644
--- a/source/_integrations/input_text.markdown
+++ b/source/_integrations/input_text.markdown
@@ -1,6 +1,6 @@
---
-title: Input Text
-description: Instructions on how to integrate the Input Text integration into Home Assistant.
+title: Input text
+description: Instructions on how to integrate the Input text integration into Home Assistant.
ha_category:
- Automation
- Helper
@@ -12,7 +12,7 @@ ha_domain: input_text
ha_integration_type: helper
---
-The `input_text` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. It can also be configured in password mode (obscured text).
+The **Input text** {% term integration %} allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. It can also be configured in password mode (obscured text).
The preferred way to configure an input text is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_text" title="Text" %}** option.
@@ -83,10 +83,10 @@ input_text:
This integration provides a service to modify the state of the `input_text` and a service to reload the `input_text` configuration without restarting Home Assistant itself.
-| Service | Data | Description |
-| ------- | ---- | ----------- |
-| `set_value` | `value`
`entity_id(s)` | Set the value for specific `input_text` entities.
-| `reload` | | Reload `input_text` configuration |
+| Service | Data | Description |
+| ----------- | ------------------------- | ------------------------------------------------- |
+| `set_value` | `value`
`entity_id(s)` | Set the value for specific `input_text` entities. |
+| `reload` | | Reload `input_text` configuration |
### Restore state
diff --git a/source/_integrations/konnected.markdown b/source/_integrations/konnected.markdown
index 717107ad37d..36df0a6f4ed 100644
--- a/source/_integrations/konnected.markdown
+++ b/source/_integrations/konnected.markdown
@@ -111,7 +111,7 @@ Once all zones are configured you'll be presented with the configuration for add
**Blink panel LED on when sending state change:** The desired LED behavior for the panel.
-**Override default Home Assistant API host panel URL:** The Konnected Alarm Panel post sensor states back to the Home Assistant API. If this value is unchecked the panel will default postbacks using the URL [configured](/docs/configuration/basic) in Home Assistant. By default, the integration will use the internal URL. However, if you check this field and set the **Override API host URL** to your _local_ IP address and port (e.g., `http://192.168.1.101:8123`), it will be used instead of the internal URL.
+**Override default Home Assistant API host panel URL:** The Konnected Alarm Panel post sensor states back to the Home Assistant API. If this value is unchecked the panel will default postbacks using the URL [configured](/integrations/homeassistant/#allowlist_external_urls) in Home Assistant. By default, the integration will use the internal URL. However, if you check this field and set the **Override API host URL** to your _local_ IP address and port (e.g., `http://192.168.1.101:8123`), it will be used instead of the internal URL.
**Override API host URL (optional):** The host info to use if you checked **Override default Home Assistant API host panel URL** in the step above. This is ignored if **Override default Home Assistant API host panel URL** is unchecked.
diff --git a/source/_integrations/local_calendar.markdown b/source/_integrations/local_calendar.markdown
index d0ad2e59ed0..e2cd8c251da 100644
--- a/source/_integrations/local_calendar.markdown
+++ b/source/_integrations/local_calendar.markdown
@@ -1,6 +1,6 @@
---
-title: Local Calendar
-description: Instructions on how to use Local Calendars in Home Assistant.
+title: Local calendar
+description: Instructions on how to use local calendars in Home Assistant.
ha_category:
- Calendar
ha_iot_class: Local Polling
@@ -15,7 +15,7 @@ ha_codeowners:
ha_integration_type: integration
---
-The local calendar integration allows you to create a calendar of events in Home Assistant for powering automations.
+The **Local calendar** {% term integration %} allows you to create a calendar of events in Home Assistant for powering automations.
A calendar entity has a state and attributes that represent the next upcoming event (only). A calendar trigger is a much more flexible way to power automations with fewer limitations than using the entity state.
diff --git a/source/_integrations/local_file.markdown b/source/_integrations/local_file.markdown
index a1594b19d2d..ca49a1ded32 100644
--- a/source/_integrations/local_file.markdown
+++ b/source/_integrations/local_file.markdown
@@ -1,6 +1,6 @@
---
-title: Local File
-description: Instructions how to use Local File as a Camera within Home Assistant.
+title: Local file
+description: Instructions how to use local file as a camera within Home Assistant.
ha_category:
- Camera
ha_iot_class: Local Polling
@@ -11,7 +11,7 @@ ha_platforms:
ha_integration_type: integration
---
-The `local_file` camera platform allows you to integrate an image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated. The service `local_file.update_file_path` can be used to update the image using an automation.
+The **Local file** camera {% term integration %} allows you to integrate an image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated. The service `local_file.update_file_path` can be used to update the image using an automation.
The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
@@ -41,7 +41,7 @@ name:
Use this service to change the file displayed by the camera.
-| Service data attribute | Description |
-| -----------------------| ----------- |
-| `entity_id` | String of the `entity_id` of the camera to update. |
-| `file_path` | The full path to the new image file to be displayed. |
+| Service data attribute | Description |
+| ---------------------- | ---------------------------------------------------- |
+| `entity_id` | String of the `entity_id` of the camera to update. |
+| `file_path` | The full path to the new image file to be displayed. |
diff --git a/source/_integrations/local_todo.markdown b/source/_integrations/local_todo.markdown
index a863db2f43e..f7602092bcb 100644
--- a/source/_integrations/local_todo.markdown
+++ b/source/_integrations/local_todo.markdown
@@ -1,5 +1,5 @@
---
-title: Local To-do
+title: Local to-do
description: Instructions on how to use local to-do lists in Home Assistant.
ha_category:
- To-do list
@@ -19,7 +19,7 @@ related:
title: To-do list card
---
-The **Local to-do list** integration allows you to create to-do lists in Home Assistant.
+The **Local to-do list** {% term integration %} allows you to create to-do lists in Home Assistant.
To-do lists are shown on the **To-do list** dashboard for tracking items and whether
or not they have been completed.
diff --git a/source/_integrations/mailgun.markdown b/source/_integrations/mailgun.markdown
index 654fd8562a2..5c5f4def3f8 100644
--- a/source/_integrations/mailgun.markdown
+++ b/source/_integrations/mailgun.markdown
@@ -12,7 +12,7 @@ ha_platforms:
ha_integration_type: integration
---
-To be able to receive webhooks from Mailgun, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/docs/configuration/basic)).
+To be able to receive webhooks from Mailgun, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/integrations/homeassistant/#allowlist_external_urls).
To set it up, go to the integrations page in the configuration screen and find Mailgun. Click on configure. Follow the instructions on the screen to configure Mailgun.
diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown
index 5b8ad02b746..48cfb641a39 100644
--- a/source/_integrations/matrix.markdown
+++ b/source/_integrations/matrix.markdown
@@ -218,7 +218,7 @@ action:
-If you need to include a file from an external folder in your notifications, you will have to [list the source folder as allowed](/docs/configuration/basic/).
+If you need to include a file from an external folder in your notifications, you will have to [list the source folder as allowed](/integrations/homeassistant/#allowlist_external_dirs).
```yaml
configuration.yaml
diff --git a/source/_integrations/media_source.markdown b/source/_integrations/media_source.markdown
index b597f018e4b..e00c857c581 100644
--- a/source/_integrations/media_source.markdown
+++ b/source/_integrations/media_source.markdown
@@ -99,4 +99,4 @@ data:
media_content_id: "media-source://media_source/local/videos/favourites/Epic Sax Guy 10 Hours.mp4"
```
-[basic-configuration]: /docs/configuration/basic/#media_dirs
+[basic-configuration]: /integrations/homeassistant/#media_dirs
\ No newline at end of file
diff --git a/source/_integrations/minio.markdown b/source/_integrations/minio.markdown
index 7ac507c7580..20ae31afb3f 100644
--- a/source/_integrations/minio.markdown
+++ b/source/_integrations/minio.markdown
@@ -14,7 +14,7 @@ ha_integration_type: integration
This integration adds interaction with [Minio](https://min.io).
It also enables listening for bucket notifications: [see documentation](https://docs.min.io/docs/minio-client-complete-guide.html#watch)
-To download or upload files, folders must be added to [allowlist_external_dirs](/docs/configuration/basic/).
+To download or upload files, folders must be added to [allowlist_external_dirs](/integrations/homeassistant/#allowlist_external_dirs).
## Configuration
@@ -133,27 +133,27 @@ These services are provided:
Download file.
-| Service data attribute | Required | Description |
-|---------------------------|----------|---------------------------------------------------|
-| `bucket` | yes | Bucket to use |
-| `key` | yes | Object key of the file |
-| `file_path` | yes | File path on the local file system |
+| Service data attribute | Required | Description |
+| ---------------------- | -------- | ---------------------------------- |
+| `bucket` | yes | Bucket to use |
+| `key` | yes | Object key of the file |
+| `file_path` | yes | File path on the local file system |
### Service `minio.put`
Upload file.
-| Service data attribute | Required | Description |
-|---------------------------|----------|---------------------------------------------------|
-| `bucket` | yes | Bucket to use |
-| `key` | yes | Object key of the file |
-| `file_path` | yes | File path on the local file system |
+| Service data attribute | Required | Description |
+| ---------------------- | -------- | ---------------------------------- |
+| `bucket` | yes | Bucket to use |
+| `key` | yes | Object key of the file |
+| `file_path` | yes | File path on the local file system |
### Service `minio.remove`
Delete file.
-| Service data attribute | Required | Description |
-|---------------------------|----------|---------------------------------------------------|
-| `bucket` | yes | Bucket to use |
-| `key` | yes | Object key of the file |
+| Service data attribute | Required | Description |
+| ---------------------- | -------- | ---------------------- |
+| `bucket` | yes | Bucket to use |
+| `key` | yes | Object key of the file |
diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown
index 6b61de23ca1..9cf7a2036f8 100644
--- a/source/_integrations/mqtt.markdown
+++ b/source/_integrations/mqtt.markdown
@@ -117,7 +117,6 @@ MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things
{% enddetails %}
-
Your first step to get MQTT and Home Assistant working is to choose a broker.
## Setting up a broker
@@ -144,7 +143,12 @@ Add the MQTT integration, then provide your broker's hostname (or IP address) an
3. Select **Configure**, then **Re-configure MQTT**.
+
+
If you experience an error message like `Failed to connect due to exception: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed`, then turn on `Advanced options` and set [Broker certificate validation](/integrations/mqtt/#broker-certificate-validation) to `Auto`.
+
+
+
### Advanced broker configuration
@@ -327,7 +331,6 @@ support_url:
description: Support URL of the application that supplies the discovered MQTT item.
{% endconfiguration_basic %}
-
{% details "Supported abbreviations" %}
```txt
@@ -599,7 +602,9 @@ support_url:
'sa': 'suggested_area',
'sn': 'serial_number',
```
+
{% enddetails %}
+
{% details "Supported abbreviations for origin info" %}
```txt
@@ -607,6 +612,7 @@ support_url:
'sw': 'sw_version',
'url': 'support_url',
```
+
{% enddetails %}
### How to use discovery messages
@@ -1054,16 +1060,15 @@ The MQTT notification support is different than for the other [notification](/in
```
-
+
The same will work for automations.
-
+
-
### Examples
#### REST API
@@ -1124,9 +1129,16 @@ The MQTT integration will register the service `mqtt.publish` which allows publi
| `qos` | yes | Quality of Service to use. (default: 0) |
| `retain` | yes | If message should have the retain flag set. (default: false) |
-
+
+
+
+
You must include either `topic` or `topic_template`, but not both. If providing a payload, you need to include either `payload` or `payload_template`, but not both.
+
+
+
+
```yaml
topic: homeassistant/light/1/command
diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown
index fd19799243e..d7d58a462e8 100644
--- a/source/_integrations/netatmo.markdown
+++ b/source/_integrations/netatmo.markdown
@@ -123,10 +123,10 @@ Set the heating schedule.
Set the preset mode for a Netatmo climate device. The preset mode must match a preset mode configured at Netatmo.
-| Service data attribute | Required | Description |
-| ---------------------- | -------- | ---------------------------------------------------------- |
+| Service data attribute | Required | Description |
+| ---------------------- | -------- | ----------------------------------------------------------- |
| `preset_mode` | Yes | Climate preset mode such as Schedule, Away, or Frost Guard. |
-| `end_datetime` | Yes | Date & time until which the preset will be active. |
+| `end_datetime` | Yes | Date & time until which the preset will be active. |
### Set temperature with end date & time
@@ -145,9 +145,9 @@ Sets the target temperature for a Netatmo climate device with an end date & time
Sets the target temperature for a Netatmo climate device as well as the time period during which this target temperature applies.
-| Service data attribute | Required | Description |
-| ---------------------- | -------- | ------------------------------------------------------ |
-| `target_temperature` | Yes | The target temperature for the device. |
+| Service data attribute | Required | Description |
+| ---------------------- | -------- | ----------------------------------------------------------- |
+| `target_temperature` | Yes | The target temperature for the device. |
| `time_period` | Yes | Time period during which the target temperature is applied. |
### Clear temperature setting
@@ -194,7 +194,7 @@ It is therefore recommended to use [an individual development account](#developm
-To be able to receive events from [Netatmo](https://www.netatmo.com/), your Home Assistant instance needs to be accessible from the web over port `443`. To achieve this you can either use your Nabu Casa account or for example Duck DNS ([Home Assistant instructions](/addons/duckdns/)). You also need to have the external URL configured in the Home Assistant [configuration](/docs/configuration/basic).
+To be able to receive events from [Netatmo](https://www.netatmo.com/), your Home Assistant instance needs to be accessible from the web over port `443`. To achieve this you can either use your Nabu Casa account or for example Duck DNS ([Home Assistant instructions](/addons/duckdns/)). You also need to have the external URL configured in the Home Assistant [configuration](/integrations/homeassistant/#allowlist_external_urls).
Events coming in from Netatmo will be available as an event in Home Assistant and are fired as `netatmo_event`, along with their data. You can use these events to trigger automations.
@@ -304,7 +304,7 @@ Sign in using your username and password from your regular Netatmo account.
-In your Netatmo Application configuration, do not enter a 'redirect URI' or a 'webhook URI'. The 'webhook URI' is automatically registered by this integration based on the external URL configured in the Home Assistant [configuration](/docs/configuration/basic).
+In your Netatmo Application configuration, do not enter a 'redirect URI' or a 'webhook URI'. The 'webhook URI' is automatically registered by this integration based on the external URL configured in the Home Assistant [configuration](/integrations/homeassistant/#editing-the-general-settings-in-yaml).
diff --git a/source/_integrations/network.markdown b/source/_integrations/network.markdown
index 5b072d06246..038d58736c6 100644
--- a/source/_integrations/network.markdown
+++ b/source/_integrations/network.markdown
@@ -1,6 +1,6 @@
---
-title: Network Configuration
-description: Network Configuration for Home Assistant
+title: Network configuration
+description: Network configuration for Home Assistant
ha_category:
- Other
ha_release: 2021.6
@@ -12,7 +12,7 @@ ha_codeowners:
ha_integration_type: system
---
-This integration provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/). It is managed by going to **{% my network title="Settings > System > Network" %}** and is only available to users that have "Advanced Mode" enabled on their {% my profile title="user profile" %}.
+The **Network configuration** {% term integration %} provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/). It is managed by going to **{% my network title="Settings > System > Network" %}** and is only available to users that have "Advanced Mode" enabled on their {% my profile title="user profile" %}.
**{% my general badge %}**
diff --git a/source/_integrations/pushbullet.markdown b/source/_integrations/pushbullet.markdown
index aa792d14967..97339a83a2e 100644
--- a/source/_integrations/pushbullet.markdown
+++ b/source/_integrations/pushbullet.markdown
@@ -60,12 +60,12 @@ The Pushbullet notification platform sends messages to [Pushbullet](https://www.
Pushbullet is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all devices registered in the Pushbullet account. An optional **target** parameter can be given to Pushbullet to specify specific account's devices, contacts or channels.
-Type | Prefix | Suffix | Example
----- | ------ | ------ | -------
-Device | `device/` | Device nickname | `device/iphone`
-Channel | `channel/` | Channel tag | `channel/my_home`
-Email | `email/` | Contact's email address | `email/email@example.com`
-SMS | `sms/` | Contact's phone number | `sms/0612345678`
+| Type | Prefix | Suffix | Example |
+| ------- | ---------- | ----------------------- | ------------------------- |
+| Device | `device/` | Device nickname | `device/iphone` |
+| Channel | `channel/` | Channel tag | `channel/my_home` |
+| Email | `email/` | Contact's email address | `email/email@example.com` |
+| SMS | `sms/` | Contact's phone number | `sms/0612345678` |
If using targets, your own account's email address functions as 'send to all devices'. All targets are verified (if exists) before sending, except email.
@@ -141,6 +141,6 @@ action:
-Don't forget to [allowlist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
+Don't forget to [allowlist external directories](/integrations/homeassistant/#allowlist_external_dirs), so Home Assistant has access to them.
diff --git a/source/_integrations/recovery_mode.markdown b/source/_integrations/recovery_mode.markdown
index a2244ca9332..4df332b4ee5 100644
--- a/source/_integrations/recovery_mode.markdown
+++ b/source/_integrations/recovery_mode.markdown
@@ -1,5 +1,5 @@
---
-title: Recovery Mode
+title: Recovery mode
description: Allows Home Assistant to start up in recovery mode.
ha_category: []
ha_release: 0.105
@@ -13,7 +13,7 @@ related:
title: General troubleshooting
---
-The **Recovery mode** integration is an internal integration used by the
+The **Recovery mode** {% term integration %} is an internal integration used by the
Home Assistant Core.
You don't have to configure it since it is automatically always
diff --git a/source/_integrations/rpi_camera.markdown b/source/_integrations/rpi_camera.markdown
index 972b3dec592..db98923c9bb 100644
--- a/source/_integrations/rpi_camera.markdown
+++ b/source/_integrations/rpi_camera.markdown
@@ -87,4 +87,4 @@ file_path:
default: A temporary file is used.
{% endconfiguration %}
-The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/).
+The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/integrations/homeassistant/#allowlist_external_dirs).
diff --git a/source/_integrations/shopping_list.markdown b/source/_integrations/shopping_list.markdown
index 2f3ae95438d..533e88d4f92 100644
--- a/source/_integrations/shopping_list.markdown
+++ b/source/_integrations/shopping_list.markdown
@@ -14,9 +14,9 @@ ha_platforms:
- todo
---
-The `shopping_list` integration allows you to keep track of shopping list items.
+The **Shopping list** {% term integration %} allows you to keep track of shopping list items.
-Your shopping list will be accessible from the sidebar, and you can optionally add the [To-do list card](/dashboards/todo-list/) to your dashboard. With the [conversation integration](/integrations/conversation/), you can add items to your shopping list using voice commands like "Add eggs to my shopping list."
+Your shopping list will be accessible from the sidebar, and you can optionally add the [To-do list card](/dashboards/todo-list/) to your dashboard. With the [conversation integration](/integrations/conversation/), you can add items to your shopping list using voice commands like "Add eggs to my shopping list."
{% include integrations/config_flow.md %}
@@ -28,33 +28,33 @@ You can add or remove items from your shopping list by using the following servi
Add an item to the shopping list.
-| Service data attribute | Optional | Description |
-|------------------------|----------|--------------------------------------------------------|
-| `name` | no | Name of the item to add. Example: "Milk" |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------- |
+| `name` | no | Name of the item to add. Example: "Milk" |
### Service `shopping_list.remove_item`
Remove the first item with matching name from the shopping list.
-| Service data attribute | Optional | Description |
-|------------------------|----------|--------------------------------------------------------|
-| `name` | no | Name of the item to remove. Example: "Milk" |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------- |
+| `name` | no | Name of the item to remove. Example: "Milk" |
### Service `shopping_list.complete_item`
Mark the first item with matching name as completed in the shopping list. It does not remove the item.
| Service data attribute | Optional | Description |
-|------------------------|----------|--------------------------------------------------------|
-| `name` | no | Name of the item to mark as completed. Example: "Milk" |
+| ---------------------- | -------- | ------------------------------------------------------ |
+| `name` | no | Name of the item to mark as completed. Example: "Milk" |
### Service `shopping_list.incomplete_item`
Mark the first item with matching name as incomplete in the shopping list.
-| Service data attribute | Optional | Description |
-|------------------------|----------|--------------------------------------------------------|
-| `name` | no | Name of the item to mark as incomplete. Example: "Milk" |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------- |
+| `name` | no | Name of the item to mark as incomplete. Example: "Milk" |
### Service `shopping_list.complete_all`
@@ -73,15 +73,15 @@ Clear completed items from the shopping list.
Sort all items by name in the shopping list.
| Service data attribute | Optional | Description |
-|------------------------|----------|---------------------------------------------------------------------|
-| `reverse` | yes | Whether to sort in reverse (_descending_) order. (default: `False`) |
+| ---------------------- | -------- | ------------------------------------------------------------------- |
+| `reverse` | yes | Whether to sort in reverse (_descending_) order. (default: `False`) |
## Using in automations
A `shopping_list_updated` event is triggered when items in the list are modified, with the following data payload attached to it. This can be used to trigger automations such as sending a push notification when someone adds an item to the shopping list, which when clicked, will open the list.
| Data payload attribute | Description |
-|------------------------|--------------------------------------------------------------------------------------------------------------------|
+| ---------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `action` | What action was taken on the item. Either `add` for a new item being added, or `update` for an item being updated. |
| `item` | A dictionary containing details of the item that was updated. |
| `item.id` | A unique ID for this item |
diff --git a/source/_integrations/signal_messenger.markdown b/source/_integrations/signal_messenger.markdown
index d835fb91ae3..2a364595429 100644
--- a/source/_integrations/signal_messenger.markdown
+++ b/source/_integrations/signal_messenger.markdown
@@ -131,7 +131,7 @@ action:
### Text message with an attachment from a URL
-To attach files from outside of Home Assistant, the URLs must be added to the [`allowlist_external_urls`](/docs/configuration/basic/#allowlist_external_urls) list.
+To attach files from outside of Home Assistant, the URLs must be added to the [`allowlist_external_urls`](/integrations/homeassistant/#allowlist_external_urls) list.
Note there is a 50MB size limit for attachments retrieved via URLs. You can also set `verify_ssl` to `false` to ignore SSL errors (default `true`).
diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown
index 67d966f0b8e..e8f50dc093f 100644
--- a/source/_integrations/slack.markdown
+++ b/source/_integrations/slack.markdown
@@ -137,30 +137,30 @@ One sensor entity will be created:
The following attributes can be placed inside the `data` key of the service call for extended functionality:
-| Attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `username` | yes | The username of the Slack bot.
-| `icon` | yes | The icon of the Slack bot.
-| `file` | yes | A file to include with the message; see below.
-| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in place of** the `message` within Slack apps. The message field will be used as notification text and anywhere else Slack is unable to display blocks. `message` is required regardless of whether this field is used.
-| `blocks_template` | yes | The same as `blocks`, but able to support [templates](https://www.home-assistant.io/docs/configuration/templating).
-| `thread_ts` | yes | Sends the message as a reply to a specified parent message.
+| Attribute | Optional | Description |
+| ----------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `username` | yes | The username of the Slack bot. |
+| `icon` | yes | The icon of the Slack bot. |
+| `file` | yes | A file to include with the message; see below. |
+| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in place of** the `message` within Slack apps. The message field will be used as notification text and anywhere else Slack is unable to display blocks. `message` is required regardless of whether this field is used. |
+| `blocks_template` | yes | The same as `blocks`, but able to support [templates](https://www.home-assistant.io/docs/configuration/templating). |
+| `thread_ts` | yes | Sends the message as a reply to a specified parent message. |
Note that using `file` will ignore all usage of `blocks` and `blocks_template` (as Slack does not support those frameworks in messages that accompany uploaded files).
To include a local file with the Slack message, use these attributes underneath the `file` key:
-| Attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `path` | no | A local filepath that has been [whitelisted](/docs/configuration/basic/#allowlist_external_dirs).
+| Attribute | Optional | Description |
+| --------- | -------- | --------------------------------------------------------------------------------------------------- |
+| `path` | no | A local filepath that has been [whitelisted](/integrations/homeassistant/#allowlist_external_dirs). |
To include a remote file with the Slack message, use these attributes underneath the `file` key:
-| Attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `url` | no | A URL that has been [whitelisted](/docs/configuration/basic/#allowlist_external_urls).
-| `username` | yes | An optional username if the URL is protected by HTTP Basic Auth.
-| `password` | yes | An optional password if the URL is protected by HTTP Basic Auth.
+| Attribute | Optional | Description |
+| ---------- | -------- | ---------------------------------------------------------------------------------------- |
+| `url` | no | A URL that has been [whitelisted](/integrations/homeassistant/#allowlist_external_urls). |
+| `username` | yes | An optional username if the URL is protected by HTTP Basic Auth. |
+| `password` | yes | An optional password if the URL is protected by HTTP Basic Auth. |
### Obtaining a member ID
diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown
index 79b03e17c3b..ae88c313e48 100644
--- a/source/_integrations/smartthings.markdown
+++ b/source/_integrations/smartthings.markdown
@@ -64,7 +64,7 @@ The PAT is used to create a Home Assistant SmartApp in your SmartThings account
This integration requires an internet accessible incoming webhook to receive push updates from SmartThings. The preferred approach is to subscribe to [Home Assistant Cloud (Nabu Casa)](https://www.nabucasa.com/) and the integration will configure and use a cloudhook automatically. Alternatively, you will have to configure and setup an internet accessible webhook in Home Assistant as described below:
1. Setup [remote access](/docs/configuration/remote/) via a domain name secured with SSL. *Self-signed SSL certificates are not supported by the SmartThings Cloud API.*
-2. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`). If you do not use Nabu Casa you must configure your network to allow TCP traffic from the internet to reach the IP address and port of the device running Home Assistant.
+2. Set the external URL in the Home Assistant [configuration](/integrations/homeassistant/#external_url) to the URL that Home Assistant is available on the internet (this must start with `https://`). If you do not use Nabu Casa you must configure your network to allow TCP traffic from the internet to reach the IP address and port of the device running Home Assistant.
## Setup instructions
@@ -115,7 +115,7 @@ 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.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.
@@ -140,8 +140,8 @@ Support for additional platforms will be added in the future.
The SmartThings binary sensor platform lets you view devices that have binary sensor-related capabilities. A binary sensor entity will be created for each attribute (below) supported by the device.
-| Capability | Attribute | On-Value |
-| ------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ---------- |
+| Capability | Attribute | On-Value |
+| ----------------------------------------------------------------------------------------------------------------------------- | -------------- | ---------- |
| [`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` |
@@ -159,8 +159,8 @@ The SmartThings Climate platform lets you control devices that have air conditio
For a SmartThings Air Conditioner to be represented by the climate platform, it must have all of the following required capabilities:
-| Capability | Climate Features |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Capability | Climate Features |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`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` |
@@ -171,8 +171,8 @@ For a SmartThings Air Conditioner to be represented by the climate platform, it
For a SmartThings thermostat to be represented by the climate platform, it must have all the capabilities from either "set a" _or_ "set b":
-| Capability | Climate Features |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| Capability | Climate Features |
+| --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [`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` |
@@ -186,29 +186,29 @@ For a SmartThings thermostat to be represented by the climate platform, it must
The SmartThings Cover platform lets you control devices that have open/close related capabilities. For a device to be represented by the cover platform, it must have one of the capabilities from "set a" below.
-| Capability | Cover Features |
-| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
-| [`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.smartthings.com/docs/devices/capabilities/capabilities-reference#battery) | `battery_level` (state attribute) |
+| Capability | Cover Features |
+| -------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
+| [`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.smartthings.com/docs/devices/capabilities/capabilities-reference#battery) | `battery_level` (state attribute) |
### Fan
The SmartThings Fan platform lets you control devices that have fan-related capabilities. For a SmartThings device to be represented by the fan platform, it must have one or more of the capabilities below in addition to the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability.
-| Capability | Fan Features |
-| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
+| Capability | Fan Features |
+| --------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [`fanSpeed`](https://developer.smartthings.com/docs/devices/capabilities/capabilities-reference#fanSpeed) | `speed` (`off`, `low`, `medium`, and `high`) |
### Light
The SmartThings Light platform lets you control devices that have light-related capabilities. For a SmartThings device to be represented by the light platform, it must have one or more of the capabilities below in addition to the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability.
-| Capability | Light Features |
-| --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
+| Capability | Light Features |
+| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [`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` |
@@ -221,8 +221,8 @@ The SmartThings Lock platform lets you control devices that have the [`lock`](ht
The SmartThings Sensor platform lets your view devices that have sensor-related capabilities. A Sensor entity is created for each attribute (below) supported by the device.
-| Capability | Attributes |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
+| Capability | Attributes |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [`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` |
@@ -286,8 +286,8 @@ The SmartThings Scene platform lets you activate scenes defined in SmartThings w
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 |
-| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
+| Capability | Switch Features |
+| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [`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) |
diff --git a/source/_integrations/smtp.markdown b/source/_integrations/smtp.markdown
index dbf4d0737f1..a6eec4e2f51 100644
--- a/source/_integrations/smtp.markdown
+++ b/source/_integrations/smtp.markdown
@@ -134,7 +134,7 @@ The optional `images` field adds image attachments to the email. If `html` is de
-When adding images, make sure the folders containing the attachments are added to `allowlist_external_dirs`.
See: [Setup basic documentation](/docs/configuration/basic/)
+When adding images, make sure the folders containing the attachments are added to `allowlist_external_dirs`.
See: [Setup basic documentation](/integrations/homeassistant/#allowlist_external_dirs)
diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown
index 1006f7d95b1..f4c16d70e2e 100644
--- a/source/_integrations/telegram.markdown
+++ b/source/_integrations/telegram.markdown
@@ -265,7 +265,7 @@ inline_keyboard:
-Since Home Assistant version 0.48 you have to [whitelist the source folder](/docs/configuration/basic/) of the file you want to include in the notification.
+Since Home Assistant version 0.48 you have to [whitelist the source folder](/integrations/homeassistant/#allowlist_external_dirs) of the file you want to include in the notification.
```yaml
configuration.yaml
diff --git a/source/_integrations/telegram_webhooks.markdown b/source/_integrations/telegram_webhooks.markdown
index 01d8bbd29e8..befeaa8a0b8 100644
--- a/source/_integrations/telegram_webhooks.markdown
+++ b/source/_integrations/telegram_webhooks.markdown
@@ -10,7 +10,7 @@ ha_domain: telegram_bot
Telegram chatbot webhooks implementation as described in the Telegram [documentation](https://core.telegram.org/bots/webhooks).
-By default this integration sets your bot's webhook URL automatically to `https://
/api/telegram_webhooks` with the external_url of your Home Assistant [configuration](/docs/configuration/basic/) using Telegrams `setWebhook` method.
+By default this integration sets your bot's webhook URL automatically to `https:///api/telegram_webhooks` with the external_url of your Home Assistant [configuration](/integrations/homeassistant/#external_url) using Telegrams `setWebhook` method.
This is one of two bot implementations supported by Telegram. Described by Telegram as the preferred implementation but requires your Home Assistant instance to be exposed to the internet.
The other implementation method is [Telegram polling](/integrations/telegram_polling/), for which your Home Assistant instance does not have to be exposed to the internet.
@@ -48,7 +48,7 @@ proxy_url:
required: false
type: string
url:
- description: Allow to overwrite the external URL from the Home Assistant [configuration](/docs/configuration/basic/) for different setups (`https://:`).
+ description: Allow to overwrite the external URL from the Home Assistant [configuration](/integrations/homeassistant/#editing-the-general-settings-in-yaml) for different setups (`https://:`).
required: false
type: string
trusted_networks:
diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown
index 71551d120a6..f2b88eef5bf 100644
--- a/source/_integrations/transmission.markdown
+++ b/source/_integrations/transmission.markdown
@@ -84,40 +84,40 @@ All Transmission services require integration `entry_id`. To find it, go to Deve
### Service `add_torrent`
-Adds a new torrent to download. It can either be a URL (HTTP, HTTPS or FTP), magnet link or a local file (make sure that the path is [white listed](/docs/configuration/basic/#allowlist_external_dirs)).
+Adds a new torrent to download. It can either be a URL (HTTP, HTTPS or FTP), magnet link or a local file (make sure that the path is [white listed](/integrations/homeassistant/#allowlist_external_dirs)).
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entry_id` | no | The integration entry_id
-| `torrent` | no | Torrent to download
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------ |
+| `entry_id` | no | The integration entry_id |
+| `torrent` | no | Torrent to download |
### Service `remove_torrent`
Removes a torrent from the client.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entry_id` | no | The integration entry_id
-| `id` | no | ID of the torrent, can be found in the `torrent_info` attribute of the `*_torrents` sensors
-| `delete_data` | yes | Delete torrent data (Default: false)
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------- |
+| `entry_id` | no | The integration entry_id |
+| `id` | no | ID of the torrent, can be found in the `torrent_info` attribute of the `*_torrents` sensors |
+| `delete_data` | yes | Delete torrent data (Default: false) |
### Service `start_torrent`
Starts a torrent.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entry_id` | no | The integration entry_id
-| `id` | no | ID of the torrent, can be found in the `torrent_info` attribute of the `*_torrents` sensors
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------- |
+| `entry_id` | no | The integration entry_id |
+| `id` | no | ID of the torrent, can be found in the `torrent_info` attribute of the `*_torrents` sensors |
### Service `stop_torrent`
Stops a torrent.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entry_id` | no | The integration entry_id
-| `id` | no | ID of the torrent, can be found in the `torrent_info` attribute of the `*_torrents` sensors
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------- |
+| `entry_id` | no | The integration entry_id |
+| `id` | no | ID of the torrent, can be found in the `torrent_info` attribute of the `*_torrents` sensors |
## Templating
diff --git a/source/_integrations/tts.markdown b/source/_integrations/tts.markdown
index 6c4fc263f88..e0258a10786 100644
--- a/source/_integrations/tts.markdown
+++ b/source/_integrations/tts.markdown
@@ -133,7 +133,7 @@ $ curl -X POST -H "Authorization: Bearer " \
-Depending on your setup, you might need to set an external URL (`external_url`) inside the [configuration](/docs/configuration/basic/).
+Depending on your setup, you might need to set an external URL (`external_url`) inside the [configuration](/integrations/homeassistant/#external_url).
diff --git a/source/_integrations/twilio.markdown b/source/_integrations/twilio.markdown
index 9a9f7e706ad..22e8cdf8afe 100644
--- a/source/_integrations/twilio.markdown
+++ b/source/_integrations/twilio.markdown
@@ -41,7 +41,7 @@ auth_token:
After configuring the base Twilio integration, add and configure either or both of the [Twilio SMS](/integrations/twilio_sms) and [Twilio Phone](/integrations/twilio_call) integrations to utilize the notification functionality.
-To be able to receive events from Twilio, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/docs/configuration/basic) in Home Assistant.
+To be able to receive events from Twilio, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/integrations/homeassistant/#external_url) in Home Assistant.
To set it up, go to the integrations page in the configuration screen and find Twilio. Click on configure. Follow the instructions on the screen to configure Twilio.
diff --git a/source/_integrations/vivotek.markdown b/source/_integrations/vivotek.markdown
index f1eb47af9be..1fade9eb67f 100644
--- a/source/_integrations/vivotek.markdown
+++ b/source/_integrations/vivotek.markdown
@@ -108,11 +108,11 @@ Available services: `enable_motion_detection`, `disable_motion_detection`, `snap
Play a live stream from a camera to selected media player(s). Requires [`stream`](/integrations/stream) {% term integration %} to be set up.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | no | Name of {% term entity %} to fetch stream from, e.g., `camera.front_door_camera`. |
-| `media_player` | no | Name of media player to play stream on, e.g., `media_player.living_room_tv`. |
-| `format` | yes | Stream format supported by `stream` {% term integration %} and selected `media_player`. Default: `hls` |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
+| `entity_id` | no | Name of {% term entity %} to fetch stream from, e.g., `camera.front_door_camera`. |
+| `media_player` | no | Name of media player to play stream on, e.g., `media_player.living_room_tv`. |
+| `format` | yes | Stream format supported by `stream` {% term integration %} and selected `media_player`. Default: `hls` |
For example, the following action in an automation would send an `hls` live stream to your chromecast.
@@ -129,28 +129,28 @@ action:
Enable motion detection in a camera. Currently, this will enable the first event configured on the camera.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | Name(s) of entities to enable motion detection, e.g., `camera.front_door_camera`. |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | --------------------------------------------------------------------------------- |
+| `entity_id` | yes | Name(s) of entities to enable motion detection, e.g., `camera.front_door_camera`. |
#### Service `disable_motion_detection`
Disable the motion detection in a camera. Currently, this will disable the first event configured on the camera.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | Name(s) of entities to disable motion detection, e.g., `camera.front_door_camera`. |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------------------------------------------------- |
+| `entity_id` | yes | Name(s) of entities to disable motion detection, e.g., `camera.front_door_camera`. |
#### Service `snapshot`
Take a snapshot from a camera.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `camera.front_door_camera`. |
-| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}`{% endraw %}. |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------- |
+| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `camera.front_door_camera`. |
+| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}`{% endraw %}. |
-The path part of `filename` must be an entry in the `allowlist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
+The path part of `filename` must be an entry in the `allowlist_external_dirs` in your [`homeassistant:`](/integrations/homeassistant/#allowlist_external_dirs) section of your `configuration.yaml` file.
For example, the following action is an automation that would take a snapshot from "front_door_camera" and save it to /tmp with a timestamped filename.
diff --git a/source/_redirects b/source/_redirects
index bfd87d0de24..bafbee11a59 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -256,6 +256,7 @@ layout: null
# Redirect for the QR Codes on the S3 Box
/s3-box-no-wifi /voice_control/troubleshooting_the_s3_box/#error-unable-to-connect-to-wi-fi
/s3-box-no-ha /voice_control/troubleshooting_the_s3_box/#error-no-home-assistant
+
/docs/assist/troubleshooting/ /voice_control/troubleshooting/
/docs/assist/worlds-most-private-voice-assistant/ /voice_control/worlds-most-private-voice-assistant/
/projects/worlds-most-private-voice-assistant/ /voice_control/worlds-most-private-voice-assistant/
@@ -263,6 +264,11 @@ layout: null
/draw_assist /voice_control/s3-box-customize/#to-draw-your-own-images
/projects/thirteen-usd-voice-remote/ /voice_control/thirteen-usd-voice-remote/
/docs/backend/updater /integrations/analytics
+/docs/configuration/basic/#allowlist_external_urls /integrations/homeassistant/#allowlist_external_urls
+/docs/configuration/basic/#allowlist_external_dirs /integrations/homeassistant/#allowlist_external_dirs
+/docs/configuration/basic/#external_urls /integrations/homeassistant/#external_urls
+/docs/configuration/customizing-devices/#device-class /integrations/homeassistant/#device-class
+/docs/configuration/customizing-devices/#customizing-entities /integrations/homeassistant/#editing-the-entity-settings-in-yaml
/docs/ecosystem/ios/ https://companion.home-assistant.io/
/docs/ecosystem/ios/devices_file https://companion.home-assistant.io/
/docs/ecosystem/ios/integration https://companion.home-assistant.io/docs/integrations/integrations
diff --git a/source/images/docs/configuration/config-yaml_via-file-editor.png b/source/images/docs/configuration/config-yaml_via-file-editor.png
new file mode 100644
index 00000000000..4591106da7d
Binary files /dev/null and b/source/images/docs/configuration/config-yaml_via-file-editor.png differ
diff --git a/source/images/docs/configuration/config-yaml_via-vscode.png b/source/images/docs/configuration/config-yaml_via-vscode.png
new file mode 100644
index 00000000000..cf85a40a014
Binary files /dev/null and b/source/images/docs/configuration/config-yaml_via-vscode.png differ
diff --git a/source/images/docs/configuration/customizing-entity-dialog.png b/source/images/docs/configuration/customizing-entity-dialog.png
index 0526735d7c8..5dda10ee232 100644
Binary files a/source/images/docs/configuration/customizing-entity-dialog.png and b/source/images/docs/configuration/customizing-entity-dialog.png differ
diff --git a/source/images/docs/configuration/customizing-entity.png b/source/images/docs/configuration/customizing-entity.png
index 85244081353..e1ccaa269cc 100644
Binary files a/source/images/docs/configuration/customizing-entity.png and b/source/images/docs/configuration/customizing-entity.png differ
diff --git a/source/images/docs/configuration/edit_entity-id_in_automation.png b/source/images/docs/configuration/edit_entity-id_in_automation.png
new file mode 100644
index 00000000000..1b20b856cf9
Binary files /dev/null and b/source/images/docs/configuration/edit_entity-id_in_automation.png differ
diff --git a/source/images/docs/configuration/reload_restart.png b/source/images/docs/configuration/reload_restart.png
new file mode 100644
index 00000000000..662ed31d261
Binary files /dev/null and b/source/images/docs/configuration/reload_restart.png differ
diff --git a/source/images/docs/configuration/settings_restart_ha.png b/source/images/docs/configuration/settings_restart_ha.png
new file mode 100644
index 00000000000..693773950c5
Binary files /dev/null and b/source/images/docs/configuration/settings_restart_ha.png differ
diff --git a/source/images/organizing/edit-delete-category.png b/source/images/organizing/edit-delete-category.png
new file mode 100644
index 00000000000..9de0b6111de
Binary files /dev/null and b/source/images/organizing/edit-delete-category.png differ
diff --git a/source/images/screenshots/System_information.png b/source/images/screenshots/System_information.png
deleted file mode 100644
index bb35d602f27..00000000000
Binary files a/source/images/screenshots/System_information.png and /dev/null differ
diff --git a/source/images/screenshots/system_information.png b/source/images/screenshots/system_information.png
new file mode 100644
index 00000000000..d972ee831ca
Binary files /dev/null and b/source/images/screenshots/system_information.png differ