Please ensure you are using Agent DVR v2.6.1.0 +
diff --git a/source/_integrations/airly.markdown b/source/_integrations/airly.markdown
index 5431d539ae3..2006001bd5f 100644
--- a/source/_integrations/airly.markdown
+++ b/source/_integrations/airly.markdown
@@ -15,15 +15,13 @@ ha_platforms:
- sensor
---
-The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
+The Airly integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
## Setup
To generate an Airly API key, go to [Airly for developers](https://developer.airly.eu/register) page.
-## Configuration
-
-To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Airly**. By default, the values will be taken from the Home Assistant configuration.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/airnow.markdown b/source/_integrations/airnow.markdown
index 8ff9729265f..9b6cbfe5174 100644
--- a/source/_integrations/airnow.markdown
+++ b/source/_integrations/airnow.markdown
@@ -20,9 +20,7 @@ as a source for air quality data for your location.
To generate an AirNow API key, go to the [AirNow Developer Tools Page](https://docs.airnowapi.org/account/request/) page.
-## Configuration
-
-To add AirNow to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **AirNow**. By default, the values will be taken from the Home Assistant configuration.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/airvisual.markdown b/source/_integrations/airvisual.markdown
index 2f609a307b9..86360a174fd 100644
--- a/source/_integrations/airvisual.markdown
+++ b/source/_integrations/airvisual.markdown
@@ -38,10 +38,7 @@ For example:
The integration can communicate to Node/Pro units over the local network. You will need the IP address/hostname of the unit and its Samba password (which can be found on the unit; instructions here: https://support.iqair.com/en/articles/3029331-download-the-airvisual-node-pro-s-data-using-samba).
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations**.
+{% include integrations/config_flow.md %}
## Example Configurations
diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown
index 6938049411f..52974849328 100644
--- a/source/_integrations/alarmdecoder.markdown
+++ b/source/_integrations/alarmdecoder.markdown
@@ -29,9 +29,7 @@ There is currently support for the following device types within Home Assistant:
This is a fully event-based component. Any event sent by the AlarmDecoder device will be immediately reflected within Home Assistant.
-## Configuration
-
-AlarmDecoder can be set up via the **Integrations** section of the **Configuration** page. Click the `+` sign and select _AlarmDecoder_ from the list.
+{% include integrations/config_flow.md %}
You will be prompted to select a protocol (i.e. `socket` or `serial`). Depending on your selection, you will be asked for the following connection information:
diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown
index 0f4f0f33d62..441963b3249 100644
--- a/source/_integrations/ambiclimate.markdown
+++ b/source/_integrations/ambiclimate.markdown
@@ -41,6 +41,8 @@ client_secret:
Note that you have to select manual mode from the Ambiclimate app to be able to control the A/C from Home Assistant.
+{% include integrations/config_flow.md %}
+
## Component services
Enable comfort mode on your AC:
diff --git a/source/_integrations/ambient_station.markdown b/source/_integrations/ambient_station.markdown
index c22aff555bd..0de2fbf35bd 100644
--- a/source/_integrations/ambient_station.markdown
+++ b/source/_integrations/ambient_station.markdown
@@ -17,14 +17,12 @@ ha_platforms:
The `Ambient Weather Station` integration retrieves local weather information
via personal weather stations from [Ambient Weather](https://ambientweather.net).
-## Setup
+## Prerequisites
Using this integration requires both an Application Key and an API Key. To
generate both, simply utilize the profile section of
[your Ambient Weather dashboard](https://dashboard.ambientweather.net).
-## Configuration
-
To add your Ambient Weather PWS to your Home Assistant installation, add the
following to your `configuration.yaml` file:
@@ -46,6 +44,8 @@ app_key:
type: string
{% endconfiguration %}
+{% include integrations/config_flow.md %}
+
## Local API Option
This integration communicates with Ambient Weather PWS units via the Ambient Weather
diff --git a/source/_integrations/apple_tv.markdown b/source/_integrations/apple_tv.markdown
index 72b6b8f0d15..584e160a374 100644
--- a/source/_integrations/apple_tv.markdown
+++ b/source/_integrations/apple_tv.markdown
@@ -25,13 +25,7 @@ There is currently support for the following device types within Home Assistant:
- Media Player
- [Remote](#remote)
-## Configuration
-
-Menu: *Configuration* > *Integrations*
-
-Press on **Apple TV** and configure the integration:
-
-* Enter either an IP address or a device name and follow the next few steps
+{% include integrations/config_flow.md %}
## FAQ
diff --git a/source/_integrations/arcam_fmj.markdown b/source/_integrations/arcam_fmj.markdown
index 7ae53a9a59d..13e49b3c0cc 100644
--- a/source/_integrations/arcam_fmj.markdown
+++ b/source/_integrations/arcam_fmj.markdown
@@ -20,12 +20,7 @@ Supported devices:
- AVR 750
- Likely other AVRs
-## Configuration
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Arcam FMJ**.
-Follow the configuration flow, after finishing, the receivers will be available.
+{% include integrations/config_flow.md %}
## Power state
diff --git a/source/_integrations/atag.markdown b/source/_integrations/atag.markdown
index 0c00cca90a9..eef42a145ca 100644
--- a/source/_integrations/atag.markdown
+++ b/source/_integrations/atag.markdown
@@ -24,9 +24,7 @@ The integration implements the following platforms:
- Water Heater
- Sensor
-## Configuration
-
-The Atag integration can be enabled directly from Home Assistant. Navigate to `configuration`, then `integrations` and click `add`. Click `Atag` to initiate the configuration.
+{% include integrations/config_flow.md %}
{% configuration %}
host:
diff --git a/source/_integrations/august.markdown b/source/_integrations/august.markdown
index ad17efa5e4e..c357686cd2f 100644
--- a/source/_integrations/august.markdown
+++ b/source/_integrations/august.markdown
@@ -35,13 +35,7 @@ There is currently support for the following device types within Home Assistant:
August Lock 2nd Gen will need either August Connect or Doorbell to connect to Home Assistant.
-## Configuration
-
-You will need your August login information (username (either phone# or email), and password) to use this module.
-
-To add `August` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **August**.
-
-Once Home Assistant is started, a configurator will pop up asking you to enter verification code that is sent to your phone number or email.
+{% include integrations/config_flow.md %}
### Binary Sensor
diff --git a/source/_integrations/aurora.markdown b/source/_integrations/aurora.markdown
index 7be169fb4c4..8e8a9d8dd41 100644
--- a/source/_integrations/aurora.markdown
+++ b/source/_integrations/aurora.markdown
@@ -17,13 +17,7 @@ The `aurora` platform uses the [NOAA Aurora Forecast](https://www.swpc.noaa.gov/
This service gives a number 0-100 representing the current likelihood of visible auroras at your latitude/longitude. By default this sensor is set up to trigger when the reported likelihood for your location is > 75. It updates every 5 minutes.
-## Configuration
-
-To add the aurora binary sensor to your installation, search for the Aurora integration through the Configuration -> Integrations menu.
-
-Enter a name for your Aurora location as well as the longitude and latitude of the location (default to your Home Assistant location).
-
-Click Submit to add the integration to your environment.
+{% include integrations/config_flow.md %}
You can configure multiple locations by adding the integration multiple times.
diff --git a/source/_integrations/awair.markdown b/source/_integrations/awair.markdown
index 0176faa5739..6f8fb76e2e6 100644
--- a/source/_integrations/awair.markdown
+++ b/source/_integrations/awair.markdown
@@ -18,11 +18,7 @@ The Awair integration will fetch data from your [Awair devices](https://getawair
You will need to request access to the Awair API and obtain an access token from the Awair [Developer Console](https://developer.getawair.com/). It is free, but getting a token can take up to 24 hours.
-## Configuring the Platform
-
-To enable the Awair integration, add your Awair account from the integrations page.
-
-If you previously configured this integration via configuration.yaml, then your configuration will be imported for you. Only the `access_token` key is imported, and all other configuration is ignored.
+{% include integrations/config_flow.md %}
## Available Sensors
diff --git a/source/_integrations/axis.markdown b/source/_integrations/axis.markdown
index 855f8e598a3..ae894175cc0 100644
--- a/source/_integrations/axis.markdown
+++ b/source/_integrations/axis.markdown
@@ -26,11 +26,7 @@ ha_platforms:
[Axis Communications](https://www.axis.com/) devices are surveillance cameras, speakers, access control and other security-related network connected hardware. Event API works with firmware 5.50 and newer.
-Home Assistant will automatically discover their presence on your network. Discovery utilizes both DHCP, SSDP and Zeroconf protocols to discover devices.
-
-## Configuration
-
-For configuration go to the `Integrations pane` on your Home Assistant instance.
+{% include integrations/config_flow.md %}
It is recommended that you create a user on your Axis device specifically for Home Assistant. For sensor functionality, it is enough to create a user with viewer privileges. If you want additional functional control you will need admin privileges.
diff --git a/source/_integrations/azure_devops.markdown b/source/_integrations/azure_devops.markdown
index 2109ebffd93..e4fde830b2d 100644
--- a/source/_integrations/azure_devops.markdown
+++ b/source/_integrations/azure_devops.markdown
@@ -13,16 +13,10 @@ ha_platforms:
- sensor
---
-The `azure_devops` integration allows you to control and monitor your
+The Azure DevOps integration allows you to control and monitor your
Azure DevOps instance in Home Assistant.
-## Configuration
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Azure DevOps**.
-After completing the configuration flow, the Azure DevOps
-integration will be available.
+{% include integrations/config_flow.md %}
## Sensors
diff --git a/source/_integrations/blebox.markdown b/source/_integrations/blebox.markdown
index 5bbbe74bf80..cf259fe49fb 100644
--- a/source/_integrations/blebox.markdown
+++ b/source/_integrations/blebox.markdown
@@ -20,19 +20,10 @@ ha_platforms:
[BleBox](https://blebox.eu/?lang=en) produces small, low-power, surprisingly affordable, feature-rich WiFi devices for serverless home automation.
-## Configuration
+{% include integrations/config_flow.md %}
For the best experience, make sure your BleBox devices have the most recent available firmware installed.
-This integration can be configured using the integrations in the
-Home Assistant frontend.
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **BleBox**.
-After completing the configuration flow, the BleBox
-integration will be available.
-
Additionally, if you are configuring a gateBox, it may be useful to set the second button as "stop" in your device's settings (via website or phone app).
## Covers
diff --git a/source/_integrations/bond.markdown b/source/_integrations/bond.markdown
index 25fafd1599b..b65109617a4 100644
--- a/source/_integrations/bond.markdown
+++ b/source/_integrations/bond.markdown
@@ -30,14 +30,11 @@ Supported devices (see Requirements section below):
- Shades
- Fireplaces
-## Configuration
+## Prerequisites
To use Bond controlled devices in your installation, add your Bond hub host and access token from the integrations page. Instructions for how to obtain an access token can be found on the [Bond Local API](http://docs-local.appbond.com/#section/Getting-Started/Get-Device-Information) documentation, which includes a section for how to obtain the [IP address of the device](http://docs-local.appbond.com/#section/Getting-Started/Finding-the-Bond-IP) which you will need to obtain the access token.
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Bond** (use typeahead if necessary).
-After completing the configuration flow, the Bond integration will be available.
+{% include integrations/config_flow.md %}
## Requirements
diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown
index 5897a83239c..f19780ec809 100644
--- a/source/_integrations/braviatv.markdown
+++ b/source/_integrations/braviatv.markdown
@@ -15,9 +15,7 @@ The `braviatv` platform allows you to control a [Sony Bravia TV](https://www.son
Almost all [Sony Bravia TV 2013 and newer](https://info.tvsideview.sony.net/en_ww/home_device.html#bravia) are supported. A more generic method for older TVs connected to a Raspberry Pi with HDMI-CEC is explained further [below](#for-tvs-older-than-2013).
-## Configuration
-
-You can setup the Sony Bravia TV via **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select Sony Bravia TV.
+{% include integrations/config_flow.md %}
## Common Issues
diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown
index d63e66e135f..5b566577ea5 100644
--- a/source/_integrations/broadlink.markdown
+++ b/source/_integrations/broadlink.markdown
@@ -26,9 +26,7 @@ The Broadlink integration allows you to control and monitor Broadlink universal
- Universal Remotes: `RM mini`, `RM mini 3`, `RM pro`, `RM pro+`, `RM plus`, `RM4 mini`, `RM4 pro` and `RM4C mini`
- Wi-Fi Controlled Switches: `BG1`, `SC1`
-## Configuration
-
-To set up a Broadlink device, click _Configuration_ in the sidebar and click _Integrations_. If you see your device there, click _Configure_. If not, click the + icon in the lower right, select Broadlink from the list, enter the hostname or IP address of the device and follow the instructions to complete the setup.
+{% include integrations/config_flow.md %}
### Entities and subdomains
diff --git a/source/_integrations/brother.markdown b/source/_integrations/brother.markdown
index 610dc718612..38131400b01 100644
--- a/source/_integrations/brother.markdown
+++ b/source/_integrations/brother.markdown
@@ -20,9 +20,7 @@ The `Brother Printer` integration allows you to read current data from your loca
It usually provides information about the device's state, the left amount of ink or toner and the remaining life of the drum or other parts of the printer.
The integration monitors every supported part.
-## Configuration
-
-To add `Brother Printer` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Brother Printer**.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/bsblan.markdown b/source/_integrations/bsblan.markdown
index cc03fd4db0f..0312dc6348a 100644
--- a/source/_integrations/bsblan.markdown
+++ b/source/_integrations/bsblan.markdown
@@ -23,20 +23,10 @@ of heating systems such as `Elco Thision`, `Brötje` and similar systems.
It can interface with the heating system over Boiler-System-Bus, Local Process Bus and PPS (Punkt-zu-Punkt Schnittstelle)
For more information of which system it supports, have a look at their [documentation](https://1coderookie.github.io/BSB-LPB-LAN_EN/).
-## Configuration
+{% include integrations/config_flow.md %}
-This integration can be configured using the integrations in the
-Home Assistant frontend.
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **BSBLan**.
-Fill in the IP address of the device in your network and, if needed,
-the port number. The default value should be `80`.
-For authentication passkey is supported and also HTTP authentication with username and password.
-
-After completing the configuration flow, the BSBLan Climate integration will be
-available.
+For authentication HTTP authentication using a username and password,
+or using a passkey is supported. Use either one.
For more documentation of the BSBLan device, check the [manual](https://1coderookie.github.io/BSB-LPB-LAN_EN/).
diff --git a/source/_integrations/canary.markdown b/source/_integrations/canary.markdown
index b46f456811e..4a37538fdae 100644
--- a/source/_integrations/canary.markdown
+++ b/source/_integrations/canary.markdown
@@ -23,13 +23,9 @@ There is currently support for the following device types within Home Assistant:
- [Camera](#camera)
- [Sensor](#sensor)
-## Configuration
+{% include integrations/config_flow.md %}
-You will need your Canary login information (username, usually your email address, and password) to use this module.
-
-Go to the integrations page in your configuration and click on new integration -> Canary.
-
-Once loaded, your front end will have the following integrations:
+Once loaded, your front end will have the following entities:
- A camera image triggered by motion for each camera.
- An alarm control panel for each location.
diff --git a/source/_integrations/cert_expiry.markdown b/source/_integrations/cert_expiry.markdown
index 9f7fcec6d07..e438b101eea 100644
--- a/source/_integrations/cert_expiry.markdown
+++ b/source/_integrations/cert_expiry.markdown
@@ -16,32 +16,7 @@ ha_platforms:
The `cert_expiry` integration fetches the certificate from a configured host and displays its expiration in a timestamp sensor.
-## Configuration
-
-There are 2 options in configuring the `cert_expiry` sensor:
-
-- Via the Home Assistant user interface where it will let you enter a host and port for the certificate to check.
-- Via the Home Assistant `configuration.yaml` file.
-
-
-```yaml
-# Example configuration.yaml entry
-sensor:
- - platform: cert_expiry
- host: home-assistant.io
-```
-
-{% configuration %}
-host:
- description: The host FQDN (or IP) to retrieve certificate from.
- required: true
- type: string
-port:
- description: The port number where the server is running.
- required: false
- default: 443
- type: integer
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Attributes
diff --git a/source/_integrations/cloudflare.markdown b/source/_integrations/cloudflare.markdown
index d97301e80a7..4a8ba18d530 100644
--- a/source/_integrations/cloudflare.markdown
+++ b/source/_integrations/cloudflare.markdown
@@ -44,9 +44,7 @@ An easy way to create this is to start with the "Edit zone DNS" template then ad
[Cloudflare API Tokens Guide](https://developers.cloudflare.com/api/tokens/create)
-## Configuration
-
-Go to the integrations page in your configuration and click on new integration -> Cloudflare.
+{% include integrations/config_flow.md %}
## Additional information
diff --git a/source/_integrations/control4.markdown b/source/_integrations/control4.markdown
index 649b143e25d..07a469d9b7b 100644
--- a/source/_integrations/control4.markdown
+++ b/source/_integrations/control4.markdown
@@ -15,14 +15,11 @@ ha_platforms:
The Control4 integration allows you to control and monitor lights from your local Control4 system. Your Control4 controller must be running OS 3.0+.
-## Configuration
+## Prerequisites
Before setting up, you should assign a static IP address/DHCP reservation on your router to your Control4 controller. Home Assistant must be able to communicate with the controller over the local network; 4Sight remote access is not supported.
-Setup the Control4 integration by going to **Configuration** -> **Integrations** -> **Control4**.
-
-Enter the IP address of your controller and your Control4 username and password, then continue. Home Assistant will automatically add all lights it discovers in your Control4 system.
-
+{% include integrations/config_flow.md %}
## Options
The Control4 integration offers additional options in **Configuration** -> **Integrations** -> **Control4** -> **Options**:
diff --git a/source/_integrations/coolmaster.markdown b/source/_integrations/coolmaster.markdown
index 512cbdc6a4c..596eda11957 100644
--- a/source/_integrations/coolmaster.markdown
+++ b/source/_integrations/coolmaster.markdown
@@ -15,12 +15,4 @@ ha_platforms:
The `coolmaster` climate platform lets you control HVAC through [CoolMasterNet](https://coolautomation.com/products/coolmasternet/).
-## Configuration via the frontend
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **CoolMasterNet**.
-Select the host and port of your instance, and check the box for the modes
-supported by your HVAC units. The units you have configured in CoolMasterNet
-will be automatically added to Home Assistant as Climate entities and
-matching devices.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/coronavirus.markdown b/source/_integrations/coronavirus.markdown
index a3d9e40f3d5..34b4a87273e 100644
--- a/source/_integrations/coronavirus.markdown
+++ b/source/_integrations/coronavirus.markdown
@@ -27,24 +27,4 @@ recovered from, and deceased caused by the virus in your country, or worldwide.
The data is sourced from the [Johns Hopkins University](https://www.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6).
-## Configuration
-
-This integration can be configured via the Home Assistant frontend.
-
-- Go to **Configuration** -> **Integrations**.
-- Click on the `+` in the bottom right corner to add a new integration.
-- Search and select the **Coronavirus** integration from the list.
-- Follow the instruction on screen to add the sensors. Either choose to add
- world-wide sensors, or a specific set of sensors for your country.
-
-If you want to track both world-wide and one or more countries at the same time,
-you can repeat the configuration process described above to add multiple
-instances of the integration.
-
-
-This integration is released in a special release of Home Assistant Core:
-0.106.3.
-
-While this integration is marked as released in 0.106, it is only available
-on Home Assistant Core 0.106.3 or newer.
-
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/daikin.markdown b/source/_integrations/daikin.markdown
index bb516251a0a..3fccb8de211 100644
--- a/source/_integrations/daikin.markdown
+++ b/source/_integrations/daikin.markdown
@@ -42,9 +42,7 @@ There is currently support for the following device types within Home Assistant:
-## Configuration
-
-The Daikin integration can be configured via the Home Assistant user interface where it will let you enter the IP-address of your Daikin AC (SKYFi based devices need to provide a password and BRP072Cxx devices need to provide a key).
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown
index c94cf9c52a6..d2fe58fe13c 100644
--- a/source/_integrations/deconz.markdown
+++ b/source/_integrations/deconz.markdown
@@ -54,13 +54,7 @@ Otherwise, use [community container](https://hub.docker.com/r/marthoc/deconz/) b
See [deCONZ wiki](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Supported-Devices) for a list of supported devices.
-## Configuration
-
-Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file.
-
-If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Settings** → **Gateway** → **Advanced** → **Authenticate app** in the Phoscon App and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a configuration entry.
-
-You can manually add deCONZ by going to the integrations page.
+{% include integrations/config_flow.md %}
## Debugging integration
diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown
index 98d16daecfa..5a4b3cdb4be 100644
--- a/source/_integrations/denonavr.markdown
+++ b/source/_integrations/denonavr.markdown
@@ -77,29 +77,18 @@ If your model is not on the list then give it a test, if everything works correc
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.
-To add a Denon Network Receiver to your installation, click Configuration in the sidebar, then click Integrations. Denon and Marantz receivers should be discovered automatically and should show up in the overview. Hit configure and go through the steps to specify the optional settings. If your receiver does not show up automatically, click the + icon in the lower right. Then search for "denonavr" and enter the setup.
+{% include integrations/config_flow.md %}
-{% configuration %}
+{% configuration_basic %}
host:
description: IP address of the device, e.g., 192.168.1.32. If not set, auto-discovery is used.
- required: false
- type: string
show_all_sources:
description: If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed. Some receivers have a bug that marks all sources as deleted in the interface. In this case, this option could help.
- required: false
- default: false
- type: boolean
zone1:
description: Specifies if zone 1 should be activated. Zones are displayed as additional media players with the same functionality as the Main Zone of the device supports.
- required: false
- default: false
- type: boolean
zone2:
description: Specifies if zone 2 should be activated. Zones are displayed as additional media players with the same functionality as the Main Zone of the device supports.
- required: false
- default: false
- type: boolean
-{% endconfiguration %}
+{% endconfiguration_basic %}
A few notes:
diff --git a/source/_integrations/devolo_home_control.markdown b/source/_integrations/devolo_home_control.markdown
index ab78e948548..ee3b4526653 100755
--- a/source/_integrations/devolo_home_control.markdown
+++ b/source/_integrations/devolo_home_control.markdown
@@ -27,11 +27,7 @@ ha_platforms:
devolo Home Control is a Z-Wave ecosystem with a Z-Wave to IP gateway in the center. The integration allows you to control devices connected to the gateway.
-## Configuration
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **devolo Home Control**. You will be asked for your [mydevolo](https://www.mydevolo.com) credentials. After entering them, the devolo Home Control integration will be available. Please do not change the URLs provided in the advanced mode unless you know what you are doing.
+{% include integrations/config_flow.md %}
## Switches
diff --git a/source/_integrations/dexcom.markdown b/source/_integrations/dexcom.markdown
index b1db93bd361..e167038a8d9 100644
--- a/source/_integrations/dexcom.markdown
+++ b/source/_integrations/dexcom.markdown
@@ -15,16 +15,16 @@ ha_platforms:
The Dexcom integration allows you to view your CGM data from [Dexcom](https://www.dexcom.com/) in Home Assistant.
-## Configuration
+## Prerequisites
+
+You will need to set up the [Dexcom Share](https://provider.dexcom.com/education-research/cgm-education-use/videos/setting-dexcom-share-and-follow) feature in your Dexcom G6 App to use this integration.
+
+{% include integrations/config_flow.md %}
Some people have had problems with connecting when their Dexcom passwords are entirely numeric. If you have connection issues in that case, try changing your password to something with a mix of numbers and letters.
-You will need to set up the [Dexcom Share](https://provider.dexcom.com/education-research/cgm-education-use/videos/setting-dexcom-share-and-follow) feature in your Dexcom G6 App to use this integration. Once you have done that, perform the following steps.
-
-To add `Dexcom` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Dexcom**.
-
#### Server
There are two Dexcom Share servers, `US` for United States customers, and `OUS` for all customers outside of the United States.
diff --git a/source/_integrations/directv.markdown b/source/_integrations/directv.markdown
index 688e9d0f12b..1e5bb3f52ff 100644
--- a/source/_integrations/directv.markdown
+++ b/source/_integrations/directv.markdown
@@ -18,7 +18,7 @@ ha_platforms:
The DirecTV platform allows you to control a [DirecTV](https://www.directv.com) receiver and its client devices.
-### Requirements
+## Requirements
For proper integration with Home Assistant, your DirecTV device settings should allow "External Access".
@@ -28,28 +28,7 @@ This is done via series of settings found via "Menu > Settings & Help > Settings
- Current Program: Allow
- Recordings: Allow
-### Configuration
-
-Go to the integrations page in your configuration and click on new integration -> DirecTV.
-If your DirecTV device is on, it has likely been discovered already and you just have to confirm the detected device.
-
-### YAML Configuration
-
-Manual configuration of your DirecTV device is also possible, add the following to your `configuration.yaml` file:
-
-
-```yaml
-# Example configuration.yaml entry
-directv:
- - host: IP_ADDRESS
-```
-
-{% configuration %}
-host:
- description: "The hostname or IP of the DirecTV receiver, e.g., `192.168.0.10`."
- required: true
- type: string
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Services
diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown
index d97d88f8d17..66ac0ee3644 100644
--- a/source/_integrations/doorbird.markdown
+++ b/source/_integrations/doorbird.markdown
@@ -34,87 +34,11 @@ It is recommended to set up a new account on your Doorbird App for use with Home
- "Motion" (last motion)
- "API-Operator" (this needed to be enabled as a minimum)
-## Configuration
-
-To add `DoorBird` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **DoorBird**. After filling out UI prompts, click the gear icon to edit device settings. Enter device event names here to associate with a schedule in DoorBird app. See [Schedules](#schedules)
-
-Alternatively, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-doorbird:
- devices:
- - host: DOORBIRD_IP_OR_HOSTNAME
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
- token: YOUR_DOORBIRD_TOKEN
-```
-
-{% configuration %}
-
-devices:
- description: List of Doorbird devices.
- required: true
- type: list
- keys:
- host:
- description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](https://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box.
- required: true
- type: string
- username:
- description: The username of a non-administrator user account on the device ([User setup](/integrations/doorbird/#setup))
- required: true
- type: string
- password:
- description: The password for the user specified.
- required: true
- type: string
- token:
- description: Token to be used to authenticate Doorbird calls to Home Assistant. This is a user defined value and should be unique across all Doorbird devices.
- required: true
- type: string
- name:
- description: Custom name for this device.
- required: false
- type: string
- hass_url_override:
- description: If your DoorBird cannot connect to the machine running Home Assistant because you are using dynamic DNS or some other HTTP configuration (such as HTTPS), specify the LAN IP of the machine here to force a LAN connection.
- required: false
- type: string
- events:
- description: Custom event names to be registered on the device. User defined values. Special characters should be avoided.
- required: false
- type: list
-
-{% endconfiguration %}
-
-## Full example
-
-```yaml
-doorbird:
- devices:
- - host: DOORBIRD_IP_OR_HOSTNAME
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
- token: CUSTOM_TOKEN_1
- hass_url_override: HASS_URL
- name: Front Door
- - host: DOORBIRD_IP_OR_HOSTNAME
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
- token: CUSTOM_TOKEN_2
- name: Driveway Gate
- events:
- - doorbell_1
- - somebody_pressed_the_button
- - relay_unlocked
- - unit_2_bell
- - rfid_card_scanned
-```
+{% include integrations/config_flow.md %}
## Events
-Events can be defined for each configured DoorBird device independently. These events will be registered on the device and can be attached to a schedule via the DoorBird app.
+Events can be defined for each configured DoorBird device independently. These events will be registered on the device and can be attached to a schedule via the DoorBird app.
See [Schedules](#schedules) section below for details on how to configure schedules.
diff --git a/source/_integrations/dunehd.markdown b/source/_integrations/dunehd.markdown
index af26c66c31f..7c5d94db6df 100644
--- a/source/_integrations/dunehd.markdown
+++ b/source/_integrations/dunehd.markdown
@@ -15,29 +15,4 @@ The `Dune HD` integration allows you to control a [Dune HD media player](https:/
Devices with firmware 110127_2105_beta or above are supported. Some functions may depend on the version of the protocol (volume / mute control is only available with version 2 onwards).
-## Configuration
-
-To add `Dune HD` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Dune HD**.
-
-If you have following configuration in your `configuration.yaml` file it will be imported to the Integrations:
-
-```yaml
-# Example configuration.yaml entry
-media_player:
- - platform: dunehd
- host: IP_ADDRESS
-```
-
-{% configuration %}
-host:
- description: IP address or hostname of the device, e.g., 192.168.1.32.
- required: true
- type: string
-name:
- description: Name of the device.
- required: false
- default: Dune HD
- type: string
-{% endconfiguration %}
-
-After importing, you can safely remove this configuration from the `configuration.yaml` file.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/econet.markdown b/source/_integrations/econet.markdown
index 7e0c00aeb34..e5360fd0565 100644
--- a/source/_integrations/econet.markdown
+++ b/source/_integrations/econet.markdown
@@ -18,7 +18,4 @@ ha_platforms:
The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](https://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and away mode. It also provides access to several device sensors depending on your model of water heater.
-## Configuration
-
-1. From the Home Assistant front-end, navigate to 'Configuration' then 'Integrations'. Under 'Set up a new integration' locate 'Rheem EcoNet Products' and click 'Configure'.
-2. Enter the information requested, email and password, and click 'Submit'.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/elgato.markdown b/source/_integrations/elgato.markdown
index a9348a2d90b..86924c6deba 100644
--- a/source/_integrations/elgato.markdown
+++ b/source/_integrations/elgato.markdown
@@ -23,23 +23,7 @@ bar for high-end studio lightning. With 80 LEDs, that put out a massive
The LED light panel is created specifically, and designed for streamers
and content creators, many of whom operate on platforms like YouTube and Twitch.
-## Configuration
-
-This integration can be configured using the integrations in the
-Home Assistant frontend.
-
-Menu: **Configuration** -> **Integrations**.
-
-In most cases, Elgato Key Lights devices will be automatically discovered by
-Home Assistant. Those automatically discovered devices are listed
-on the integrations page.
-
-If for some reason (e.g., due to lack of mDNS support on your network),
-the Elgato Key Light isn't discovered, it can be added manually.
-
-Click on the `+` sign to add an integration and click on **Elgato Key Light**.
-After completing the configuration flow, the Key Light integration will be
-available.
+{% include integrations/config_flow.md %}
## Lights
diff --git a/source/_integrations/elkm1.markdown b/source/_integrations/elkm1.markdown
index cc186333911..16b10f9e9f4 100644
--- a/source/_integrations/elkm1.markdown
+++ b/source/_integrations/elkm1.markdown
@@ -124,9 +124,9 @@ The complete list of trouble statuses are:
- Display Message In Keypad Line 2
- Fire (zone is part of status)
-## Configuration
+{% include integrations/config_flow.md %}
-To add `ElkM1` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Elk-M1 Control**.
+## Manual configuration
Alternatively, configuration through the `configuration.yaml` file
is supported (example below).
diff --git a/source/_integrations/emulated_roku.markdown b/source/_integrations/emulated_roku.markdown
index 345d5a2ef5a..fc3191d6329 100644
--- a/source/_integrations/emulated_roku.markdown
+++ b/source/_integrations/emulated_roku.markdown
@@ -28,9 +28,9 @@ Using a proxy with whitelisted IP addresses is recommended. (set `advertise_ip`
-## Configuration
+{% include integrations/config_flow.md %}
-The integration is configurable through the frontend. (**Configuration** -> **Integrations** -> **Emulated Roku**)
+## Manual configuration
If you wish to configure advanced options, you can add the following entry in `configuration.yaml`.
diff --git a/source/_integrations/enocean.markdown b/source/_integrations/enocean.markdown
index 92c05f50140..3adce1c1ed5 100644
--- a/source/_integrations/enocean.markdown
+++ b/source/_integrations/enocean.markdown
@@ -51,33 +51,10 @@ Support for tech-in messages is not implemented.
## Configuration
-To integrate an EnOcean controller with Home Assistant, add the integration from the UI.
-
-Menu: **Configuration** -> **Integrations**.
-
-If your hub is detected automatically, you will be able to select its path from a list. Most often, this list should only contain one path, and a "manual" option.
-If your hub is not detected, you will have to manually enter the path.
+{% include integrations/config_flow.md %}
Despite the UI-based configuration of the hub, the entities are still configured using YAML see mext chapters).
-### Text based configuration (deprecated)
-
-If you have an enocean entry in your `configuration.yaml` file, the setup will be imported.
-Note that once imported in the ui-based configuration, the text-based configuration will be ignored. Changing it will have no effect, unless you delete the integration from the UI.
-
-```yaml
-# Example configuration.yaml entry
-enocean:
- device: /dev/ttyUSB0
-```
-
-{% configuration %}
-device:
- description: The port where your device is connected to your Home Assistant host.
- required: true
- type: string
-{% endconfiguration %}
-
## Binary Sensor
This can typically be one of those batteryless wall switches.
diff --git a/source/_integrations/epson.markdown b/source/_integrations/epson.markdown
index 875dcce5576..2f06265e8d1 100644
--- a/source/_integrations/epson.markdown
+++ b/source/_integrations/epson.markdown
@@ -13,35 +13,7 @@ ha_config_flow: true
The `epson` platform allows you to control a Epson projector from Home Assistant.
-To add Epson to your installation go to Integration page and add Epson Projector or configure via `configuration.yaml`.
-
-### Configuration
-
-Add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-media_player:
- - platform: epson
- host: 192.168.0.123
-```
-
-{% configuration %}
-host:
- description: The host name or address of the Epson projector
- required: true
- type: string
-port:
- description: The HTTP port number.
- required: false
- type: integer
- default: 80
-name:
- description: The name of the device used in the frontend.
- required: false
- type: string
- default: "EPSON Projector"
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
### Supported features
diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown
index cb34c06637c..54d58a8a515 100644
--- a/source/_integrations/esphome.markdown
+++ b/source/_integrations/esphome.markdown
@@ -24,13 +24,4 @@ ha_platforms:
This integration allows [ESPHome](https://esphome.io) devices to connect directly to Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html).
-## Configuration
-
-An ESPHome device can be set up via the **Integrations** menu: **Configuration** > **Integrations**:
-
-* Click the orange `+` on the lower-right of the screen and select **ESPHome**
-
-* Complete the dialog box and click `SUBMIT`.
- * **Host**: If the device is called `livingroom` in ESPHome, the hostname would be `livingroom.local`
- * **Port**: The default port is `6053`
- * If the node has a password set, Home Assistant prompt for it.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/fireservicerota.markdown b/source/_integrations/fireservicerota.markdown
index 6e3f97df11d..777759b72a0 100644
--- a/source/_integrations/fireservicerota.markdown
+++ b/source/_integrations/fireservicerota.markdown
@@ -38,13 +38,7 @@ This integration provides the following platforms:
On how to write automations using these platform read the 'Advanced Configuration' section below.
-## Configuration
-
-1. From Home Assistant, navigate to ‘Configuration’ then ‘Integrations’. Click the plus icon and type/select ‘FireServiceRota’.
-1. Choose your platform `BrandweerRooster` or `FireServiceRota`.
-1. Enter your login credentials.
-
-1. Click the Save button.
+{% include integrations/config_flow.md %}
## Entities
diff --git a/source/_integrations/flick_electric.markdown b/source/_integrations/flick_electric.markdown
index 6580db2fe42..66bdac3374d 100644
--- a/source/_integrations/flick_electric.markdown
+++ b/source/_integrations/flick_electric.markdown
@@ -15,14 +15,7 @@ ha_platforms:
[Flick Electric Co](https://www.flickelectric.co.nz/) is a power company in New Zealand, based around a transparent pricing model where each component of pricing is provided. This integration uses the mobile app's API from Flick Electric Co to get the current power price as well as each of the components price.
-## Configuration
-
-This integration can be configured via the Home Assistant frontend.
-
-- Go to **Configuration** -> **Integrations**.
-- Click on the `+` in the bottom right corner to add a new integration.
-- Search and select the **Flick Electric** integration form the list.
-- Follow the instruction on screen to add the sensor.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/flo.markdown b/source/_integrations/flo.markdown
index b61f1e63c9a..242b3b06a20 100644
--- a/source/_integrations/flo.markdown
+++ b/source/_integrations/flo.markdown
@@ -26,10 +26,7 @@ There is currently support for the following device types within Home Assistant:
- **Sensor**: reports on the device's system mode, water flow rate, temperature, water pressure, and daily water consumption.
- **Switch**: allows the user to open and close the valve on the water shutoff device.
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Flo**.
+{% include integrations/config_flow.md %}
## Services
diff --git a/source/_integrations/flume.markdown b/source/_integrations/flume.markdown
index 7ffbea44c1e..2ac872c52b6 100644
--- a/source/_integrations/flume.markdown
+++ b/source/_integrations/flume.markdown
@@ -19,50 +19,13 @@ The `flume` sensor will show you the current [flume](https://portal.flumewater.c
Flume monitors the real-time status of your home water meter. Allowing the end-user to detect small leaks, gain real-time information on household water consumption, set water goals and budgets, and receive push notifications when suspicious water activities occur.
-## Configuration
+{% include integrations/config_flow.md %}
You can find your Client ID and Client Secret under "API Access" on the [settings page](https://portal.flumewater.com/#settings).
To add `Flume` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Flume**.
-Alternatively, add the following lines to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-sensor:
- # Flume
- - platform: flume
- username: YOUR_FLUME_USERNAME
- password: YOUR_FLUME_PASSWORD
- client_id: YOUR_FLUME_CLIENT_ID
- client_secret: YOUR_FLUME_CLIENT_SECRET
-```
-
-{% configuration %}
-username:
- description: Your flume user id.
- required: true
- type: string
-password:
- description: Your flume password.
- required: true
- type: string
-client_id:
- description: Your flume Client ID.
- required: true
- type: string
-client_secret:
- description: Your flume Client Secret.
- required: true
- type: string
-name:
- description: A name to display on the sensor.
- required: false
- default: Flume Sensor
- type: string
-{% endconfiguration %}
-
-# Configuration for Binary Sensor
+## Configuration for Binary Sensor
The following YAML creates a binary sensor. This requires the default sensor to be configured successfully.
diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown
index 383b68c50da..a94bbe5fa14 100644
--- a/source/_integrations/flunearyou.markdown
+++ b/source/_integrations/flunearyou.markdown
@@ -18,10 +18,7 @@ territories to get information regarding reported flu symptoms from [Flu Near
You](https://flunearyou.org/). The platform can return user-reported information as well reports from the
Center for Disease Control (CDC).
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations**.
+{% include integrations/config_flow.md %}
## Sensor Types
diff --git a/source/_integrations/forked_daapd.markdown b/source/_integrations/forked_daapd.markdown
index 7d93fea97d2..2eddc9f5ff2 100644
--- a/source/_integrations/forked_daapd.markdown
+++ b/source/_integrations/forked_daapd.markdown
@@ -18,9 +18,7 @@ The `forked_daapd` integration allows you to control your [forked-daapd](http://
The `forked_daapd` integration requires a forked-daapd server built with libwebsockets enabled, version >= 27.0.
-## Configuration
-
-To add `forked-daapd` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **forked-daapd**.
+{% include integrations/config_flow.md %}
## Outputs
diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown
index 7b9d62f7ff8..ace75d06649 100644
--- a/source/_integrations/foscam.markdown
+++ b/source/_integrations/foscam.markdown
@@ -15,9 +15,7 @@ ha_platforms:
The `foscam` platform allows you to watch the live stream of your [Foscam](https://www.foscam.com) IP camera in Home Assistant.
-## Configuration
-
-Home Assistant offers Foscam IP Cameras integration through **Configuration** -> **Integrations** -> **Foscam**. Follow the instructions to get it set up.
+{% include integrations/config_flow.md %}
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown
index 31726e8a06f..25279632a3c 100644
--- a/source/_integrations/freebox.markdown
+++ b/source/_integrations/freebox.markdown
@@ -27,10 +27,7 @@ There is currently support for the following device types within Home Assistant:
* [Device tracker](#presence-detection) for connected devices
* [Switch](#switch) to control Wi-Fi
-## Configuration
-
-If you have enabled the [discovery integration](/integrations/discovery/), your Freebox should be detected automatically.
-Otherwise, you can set it up manually via the frontend or via your `configuration.yaml` file.
+{% include integrations/config_flow.md %}
You can find out your Freebox host and port by opening this address in your browser.
The returned JSON should contain an `api_domain` (`host`) and a `https_port` (`port`).
diff --git a/source/_integrations/fritzbox.markdown b/source/_integrations/fritzbox.markdown
index 7f6306c2d46..5cb6e7b6abe 100644
--- a/source/_integrations/fritzbox.markdown
+++ b/source/_integrations/fritzbox.markdown
@@ -38,45 +38,7 @@ There is currently support for the following device types within Home Assistant:
- [FRITZ!DECT 301](https://en.avm.de/products/fritzdect/fritzdect-301/)
- [Eurotronic Comet DECT](https://eurotronic.org/produkte/elektronische-heizkoerperthermostate/sparmatic-comet/)
-## Configuration
-
-To add the AVM FRITZ!SmartHome integration to your installation, go to **Configuration** -> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **AVM FRITZ! SmartHome**.
-
-If you have enabled SSDP discovery, it’s likely that you just have to confirm the detected device with username and password.
-
-### Configuration via YAML
-
-YAML configuration is still around for people that prefer YAML, but it's deprecated and you should not use it anymore.
-
-```yaml
-# Example configuration.yaml entry
-fritzbox:
- devices:
- - password: YOUR_PASSWORD
-```
-
-
-{% configuration %}
-devices:
- description: A list of FRITZ! devices.
- type: map
- keys:
- host:
- description: The hostname or IP address of the FRITZ!Box. (e.g. fritz.box or 192.168.178.1)
- required: false
- type: string
- default: fritz.box
- username:
- description: The username for Smart Home access. **(User needs "Smart Home" persmission!)**
- required: false
- type: string
- default: admin
- password:
- description: The password of the user.
- required: true
- type: string
-{% endconfiguration %}
-
+{% include integrations/config_flow.md %}
## Switches & Thermostats
diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown
index 6f8af93a913..1de1d093022 100644
--- a/source/_integrations/fritzbox_callmonitor.markdown
+++ b/source/_integrations/fritzbox_callmonitor.markdown
@@ -31,9 +31,7 @@ To use the FRITZ!Box call monitor in your installation, a user with at least `FR
To activate the call monitor on your FRITZ!Box, dial **#96\*5\*** from any phone connected to it.
-## Configuration
-
-To add the AVM FRITZ!Box Call Monitor integration to your installation, go to **Configuration** -> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **AVM FRITZ!Box Call Monitor**.
+{% include integrations/config_flow.md %}
## Examples
diff --git a/source/_integrations/garmin_connect.markdown b/source/_integrations/garmin_connect.markdown
index 6216a5bd7e0..23086ceb1ca 100644
--- a/source/_integrations/garmin_connect.markdown
+++ b/source/_integrations/garmin_connect.markdown
@@ -15,11 +15,9 @@ ha_platforms:
The Garmin Connect sensor allows you to expose data from [Garmin Connect](https://connect.garmin.com) to Home Assistant.
-## Configuration
+{% include integrations/config_flow.md %}
-To add Garmin Connect to your installation, go to Configuration >> Integrations in the UI and enable the Garmin Connect integration by entering your credentials.
-
-After successful login a standard set of sensors are enabled.
+After successful set up a standard set of sensors are enabled.
You can enable more if needed by using the Integrations page.
Please be aware that Garmin Connect has very low rate limits, max. once every ~10 minutes.
diff --git a/source/_integrations/gdacs.markdown b/source/_integrations/gdacs.markdown
index 8930edc1cc4..886af6f00c0 100644
--- a/source/_integrations/gdacs.markdown
+++ b/source/_integrations/gdacs.markdown
@@ -44,38 +44,7 @@ Please refer to the [creator's disclaimer and terms of use notice](https://www.g
-## Configuration
-
-To integrate the GDACS feed use the "Integrations" feature
-in the GUI, you find it under Configurations - Integrations, or add the
-following line to your `configuration.yaml`.
-
-```yaml
-# Example configuration.yaml entry
-gdacs:
-```
-
-{% configuration %}
-categories:
- description: The categories of alerts to be included. Valid categories are 'Drought', 'Earthquake', 'Flood', 'Tropical Cyclone', 'Tsunami', 'Volcano'.
- required: false
- type: list
-radius:
- description: The radius around your location to monitor; defaults to 500 km or mi (depending on the unit system defined in your `configuration.yaml`).
- required: false
- type: float
- default: 500.0
-latitude:
- description: Latitude of the coordinates around which alerts are considered.
- required: false
- type: float
- default: Latitude defined in your configuration.
-longitude:
- description: Longitude of the coordinates around which alerts are considered.
- required: false
- type: float
- default: Longitude defined in your configuration.
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## State Attributes
diff --git a/source/_integrations/geonetnz_quakes.markdown b/source/_integrations/geonetnz_quakes.markdown
index dcc9c20a393..d99a3329419 100644
--- a/source/_integrations/geonetnz_quakes.markdown
+++ b/source/_integrations/geonetnz_quakes.markdown
@@ -43,44 +43,7 @@ We acknowledge the New Zealand GeoNet project and its sponsors EQC, GNS Science
-## Configuration
-
-To integrate the GeoNet New Zealand Quakes feed use the "Integrations" feature
-in the GUI, you find it under Configurations - Integrations, or add the
-following line to your `configuration.yaml`.
-
-```yaml
-# Example configuration.yaml entry
-geonetnz_quakes:
-```
-
-{% configuration %}
-mmi:
- description: Request quakes that may have caused shaking greater than or equal to the [MMI](https://www.geonet.org.nz/earthquake/mmi) value. Allowable values are -1..8 inclusive. Value -1 is used for quakes that are too small to calculate a stable MMI value for.
- required: false
- type: integer
- default: 2
-minimum_magnitude:
- description: The minimum magnitude of an earthquake to be included.
- required: false
- type: float
- default: 0.0
-radius:
- description: The radius around your location to monitor; defaults to 50 km or mi (depending on the unit system defined in your `configuration.yaml`).
- required: false
- type: float
- default: 50.0
-latitude:
- description: Latitude of the coordinates around which quakes are considered.
- required: false
- type: float
- default: Latitude defined in your configuration.
-longitude:
- description: Longitude of the coordinates around which quakes are considered.
- required: false
- type: float
- default: Longitude defined in your configuration.
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## State Attributes
diff --git a/source/_integrations/geonetnz_volcano.markdown b/source/_integrations/geonetnz_volcano.markdown
index 1d182783fd2..c0b688b0be7 100644
--- a/source/_integrations/geonetnz_volcano.markdown
+++ b/source/_integrations/geonetnz_volcano.markdown
@@ -44,34 +44,7 @@ We acknowledge the New Zealand GeoNet project and its sponsors EQC, GNS Science
-## Configuration
-
-To integrate the GeoNet New Zealand Volcanic Alert Level feed use the **Integrations** feature
-in the GUI, you find it under **Configurations** -> **Integrations**, or add the
-following line to your `configuration.yaml`.
-
-```yaml
-# Example configuration.yaml entry
-geonetnz_volcano:
-```
-
-{% configuration %}
-radius:
- description: The radius around your location to monitor; defaults to 50 km or mi (depending on the unit system defined in your configuration).
- required: false
- type: float
- default: 50.0
-latitude:
- description: Latitude of the coordinates around which volcanoes are considered.
- required: false
- type: float
- default: Latitude defined in your configuration.
-longitude:
- description: Longitude of the coordinates around which volcanoes are considered.
- required: false
- type: float
- default: Longitude defined in your configuration.
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## State Attributes
diff --git a/source/_integrations/gios.markdown b/source/_integrations/gios.markdown
index 557008466bb..b338f2059d2 100644
--- a/source/_integrations/gios.markdown
+++ b/source/_integrations/gios.markdown
@@ -20,18 +20,11 @@ The `gios` integration uses the [GIOŚ](http://powietrze.gios.gov.pl/pjp/current
To obtain `station_id` of the measuring station, go to [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) page, select the measuring station on the map and click the "More Info" link. The address of the opened page will look like this: `http://powietrze.gios.gov.pl/pjp/current/station_details/chart/291` and `291` will be `station_id` of measuring station.
-## Configuration
+{% include integrations/config_flow.md %}
-To add GIOŚ to your installation, go to **Configuration** >> **Integrations** in the UI and enable the GIOŚ integration.
-
-{% configuration %}
+{% configuration_basic %}
name:
description: Manually specify Name.
- required: false
- type: string
- default: GIOŚ
station_id:
description: Specify ID of the measuring station.
- required: true
- type: integer
-{% endconfiguration %}
+{% endconfiguration_basic %}
diff --git a/source/_integrations/glances.markdown b/source/_integrations/glances.markdown
index 3f1186bd348..78a1a3a788d 100644
--- a/source/_integrations/glances.markdown
+++ b/source/_integrations/glances.markdown
@@ -39,56 +39,7 @@ If this doesn't work, try changing the `3` to `2`, if you don't have the latest
For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd).
-## Configuration
-
-Set up the integration through **Configuration -> Integrations -> Glances**. To import the configuration from `configuration.yaml` remove any previously configured sensors with platform type `glances` and add the following lines:
-
-```yaml
-# Example configuration.yaml entry
-glances:
- - host: IP_ADDRESS
-```
-
-{% configuration %}
-host:
- description: IP address of the host where Glances is running.
- required: false
- type: string
- default: localhost
-port:
- description: The port where Glances is listening.
- required: false
- type: integer
- default: 61208
-name:
- description: The prefix for the sensors.
- required: false
- type: string
- default: Glances
-username:
- description: Your username for the HTTP connection to Glances.
- required: false
- type: string
-password:
- description: Your password for the HTTP connection to Glances.
- required: false
- type: string
-ssl:
- description: "If `true`, use SSL/TLS to connect to the Glances system."
- required: false
- type: boolean
- default: false
-verify_ssl:
- description: Verify the certification of the system.
- required: false
- type: boolean
- default: true
-version:
- description: "The version of the Glances API. Supported version: `2` and `3`."
- required: false
- type: integer
- default: 3
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Integration Entities
diff --git a/source/_integrations/goalzero.markdown b/source/_integrations/goalzero.markdown
index 08b67471ce3..d336dadc1a0 100644
--- a/source/_integrations/goalzero.markdown
+++ b/source/_integrations/goalzero.markdown
@@ -15,9 +15,7 @@ ha_platforms:
This `goalzero` integration pulls data from a Wifi enabled Goal Zero Yeti.
-## Configuration
-
-Go to the integrations page in your configuration and click on new integration -> Goal Zero Yeti.
+{% include integrations/config_flow.md %}
## Integration Entities
diff --git a/source/_integrations/gogogate2.markdown b/source/_integrations/gogogate2.markdown
index f121421b4f4..3f48a2cc060 100644
--- a/source/_integrations/gogogate2.markdown
+++ b/source/_integrations/gogogate2.markdown
@@ -17,7 +17,4 @@ ha_platforms:
The `gogogate2` cover platform lets you control Gogogate2 and iSmartGate enabled garage doors and gates through Home Assistant. Device names in Home Assistant are generated based on the names defined in the GogoGate2 or iSmartGate mobile app.
-## Configuration
-
-1. From the Home Assistant front-end, navigate to 'Configuration' then 'Integrations'. Under 'Set up a new integration' locate 'GogoGate2 or iSmartGate' and click 'Configure'.
-2. Enter the information appropriate for the server and click 'Submit'.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/gree.markdown b/source/_integrations/gree.markdown
index 3fe7dc68bb7..2d45ca4db8d 100644
--- a/source/_integrations/gree.markdown
+++ b/source/_integrations/gree.markdown
@@ -21,11 +21,7 @@ There is currently support for the following device types within Home Assistant:
- [Climate](#climate)
- [Switch](#switch)
-## Configuration
-
-Go to the integrations page in your configuration and click on **new integration** -> **Gree**.
-
-Gree Smart compatible devices are detected and added automatically.
+{% include integrations/config_flow.md %}
Devices must first be bound to WiFi using the Gree+ app, or app provided by the device manufacturer. It is not possible to connect devices to WiFi using this integration at the current time.
diff --git a/source/_integrations/griddy.markdown b/source/_integrations/griddy.markdown
index 5c34c401873..2823de39722 100644
--- a/source/_integrations/griddy.markdown
+++ b/source/_integrations/griddy.markdown
@@ -20,26 +20,11 @@ There is currently support for the following device types within Home Assistant:
- Sensor
-## Configuration
+## Prerequisites
You will need your Griddy Load Zone to use this module.
-To add `Griddy` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Griddy**.
-
-Alternatively, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-griddy:
- loadzone: YOUR_LZ
-```
-
-{% configuration %}
-loadzone:
- description: Your Load Zone is in your Griddy account under “Account > Meter > Load Zone.”
- required: true
- type: string
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
### Sensor
diff --git a/source/_integrations/guardian.markdown b/source/_integrations/guardian.markdown
index 0c6e781b71d..16927e31ac6 100644
--- a/source/_integrations/guardian.markdown
+++ b/source/_integrations/guardian.markdown
@@ -27,12 +27,7 @@ There is currently support for the following device types within Home Assistant:
- **Sensor**: reports on the device's detected temperature and uptime
- **Switch**: allows the user to open and close the valve
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations**. If you have the `zeroconf` integration enabled,
-Home Assistant will automatically discover any Guardian devices already connected to the
-network.
+{% include integrations/config_flow.md %}
## Services
diff --git a/source/_integrations/hangouts.markdown b/source/_integrations/hangouts.markdown
index dbdec4615df..f3e51502b57 100644
--- a/source/_integrations/hangouts.markdown
+++ b/source/_integrations/hangouts.markdown
@@ -18,14 +18,7 @@ There is currently support for the following device types within Home Assistant:
- [Notifications](#notifications)
-## Setup the integration via the frontend
-
-Menu: *Configuration* -> *Integrations*
-
-Configure the integration:
-* Enter your **Google Mail Address** and **Password**
-* In the authentication form there is an Optional Field: **Authorization Code** which should only be used if you get an invalid login error with email and password (see note below for details).
-* If you secured your account with 2-factor authentication you will be asked for a 2-factor authentication token.
+{% include integrations/config_flow.md %}
## Manual Authentication
diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown
index b9d27bc4b18..75e96510f42 100644
--- a/source/_integrations/harmony.markdown
+++ b/source/_integrations/harmony.markdown
@@ -28,9 +28,9 @@ Supported units:
- Harmony Elite
- Harmony Pro 2400
-The preferred way to setup the Harmony remote for your installation is via **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Logitech Harmony Hub**.
+{% include integrations/config_flow.md %}
-Once `Logitech Harmony Hub` has been configured, the default activity and duration in seconds between sending commands to a device can be adjusted in the settings via **Configuration** >> **Integrations** >> **Your Logitech Harmony Hub**
+Once the Logitech Harmony Hub has been configured, the default activity and duration in seconds between sending commands to a device can be adjusted in the settings via **Configuration** >> **Integrations** >> **Your Logitech Harmony Hub**
### Configuration file
diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown
index 6d4424462e8..af71328c57a 100644
--- a/source/_integrations/heos.markdown
+++ b/source/_integrations/heos.markdown
@@ -20,22 +20,7 @@ The HEOS integration adds support for [HEOS](https://www.denon.com/en-gb/shop/am
- Clear playlist
- Select source from device physical inputs and HEOS favorites
-## Configuration
-
-HEOS devices are discovered and setup automatically when the [discovery](/integrations/discovery) integration is enabled. Alternatively, the integration can be setup through the frontend control panel integrations page or manually by adding the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-heos:
- host: IP_ADDRESS
-```
-
-{% configuration %}
-host:
- description: "Address of the device. Example: 192.168.1.32."
- required: true
- type: string
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
A connection to a single device enables control for all devices on the network. If you have multiple HEOS devices, enter the host of one that is connected to the LAN via wire or has the strongest wireless signal.
diff --git a/source/_integrations/hisense_aehw4a1.markdown b/source/_integrations/hisense_aehw4a1.markdown
index de058fd49c2..cdbfe3eefb4 100644
--- a/source/_integrations/hisense_aehw4a1.markdown
+++ b/source/_integrations/hisense_aehw4a1.markdown
@@ -19,31 +19,4 @@ Later AC models use other Wi-Fi modules (like AEH-W4B1 and AEH-W4E1) that are no
It is highly recommended not to use one of the official smartphone applications and this integration at the same time, to avoid problems related to command collision.
-## Configuration
-
-To integrate one or more Hisense AEH-W4A1 controlled ACs with Home Assistant, use the Configuration/Integrations or add the following section to your `configuration.yaml` file:
-
-```yaml
-# Automatic discovery
-hisense_aehw4a1:
-```
-
-Alternately, devices that are not discoverable can be statically configured.
-The use of static configuration disables automatic discovery.
-
-{% configuration %}
-ip_address:
- description: One or more static IP addresses
- required: false
- type: list
-{% endconfiguration %}
-
-## Full configuration example
-
-```yaml
-# Static configured devices
-hisense_aehw4a1:
- ip_address:
- - 192.168.5.10
- - 192.168.5.20
-```
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/hlk_sw16.markdown b/source/_integrations/hlk_sw16.markdown
index 06510ea03a3..371a7c3988e 100644
--- a/source/_integrations/hlk_sw16.markdown
+++ b/source/_integrations/hlk_sw16.markdown
@@ -16,8 +16,4 @@ ha_platforms:
The [HLK-SW16](http://www.hlktech.net/product_detail.php?ProId=48) by [Hi-Link](http://www.hlktech.net/) is a simple networkable 16 port relay device.
-## Configuration
-
-To add a Hi-Link HLK-SW16 to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Hi-Link HLK-SW16**.
-
-Enter the host and port for the HLK-SW16 TCP socket control interface and hit submit, if the connection is successful this will automatically populate the 16 relay switches as switch entities.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown
index 6879608588a..2ef38e6fbcf 100644
--- a/source/_integrations/home_connect.markdown
+++ b/source/_integrations/home_connect.markdown
@@ -33,9 +33,7 @@ The integration will add one Home Assistant device for each connected home appli
Note that it depends on the appliance and on API permissions which of the features are supported. A notable limitation is that oven programs cannot be started currently.
-## Installation
-
-### Installation using a developer account
+## Prerequisites
1. Visit [https://developer.home-connect.com](https://developer.home-connect.com) and sign up for a developer account.
2. Enter the email of your login for the original Home Connect App from Bosch/Siemens under "Default Home Connect User Account for Testing" in the sign up process.
@@ -46,14 +44,7 @@ Note that it depends on the appliance and on API permissions which of the featur
- Redirect URI: "`/auth/external/callback`
Use your internal Home Assistant URL, if you didn't configure one manually, use your local IP address. Examples: `http://192.168.0.2:8123/auth/external/callback`, `http://homeassistant.local:8123/auth/external/callback`."
-4. Add the client ID and client secret to your `configuration.yaml` (see below).
-5. Once Home Assistant has restarted, go to Configuration > Integrations.
-6. Select the Home Connect integration.
-7. You will be prompted to open a web page and authenticate your app with Home Connect.
-8. Use your Home Connect account details associated with your developer app. It must be the login for the Home Connect account you entered in Step 2.
-9. You will know it works when you are prompted to allow Home Assistant to access your Home Connect data, including the list of devices accessible to the original Home Connect app.
-
-### Configuration
+Next, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@@ -73,3 +64,5 @@ client_secret:
required: true
type: string
{% endconfiguration %}
+
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown
index 4d9edc02699..2771b934670 100644
--- a/source/_integrations/homekit.markdown
+++ b/source/_integrations/homekit.markdown
@@ -20,9 +20,10 @@ The HomeKit Bridge integration allows you to make your Home Assistant entities a
-To add `HomeKit Bridge` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **HomeKit Bridge**.
+{% include integrations/config_flow.md %}
-If you need to use the `entity_config`, `ip_address`, or `advertise_ip` configuration options, `HomeKit Bridge` must be configured via your `configuration.yaml` file:
+
+If you need to use the `entity_config`, `ip_address`, or `advertise_ip` configuration options, HomeKit Bridge must be configured via your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry configuring HomeKit
diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown
index a3bf48d1bbd..3c874146ee5 100644
--- a/source/_integrations/homematicip_cloud.markdown
+++ b/source/_integrations/homematicip_cloud.markdown
@@ -41,19 +41,9 @@ There is currently support for the following device types within Home Assistant:
* Switch
* Weather
-## Setup the integration via the frontend
+{% include integrations/config_flow.md %}
-Menu: *Configuration* -> *Integrations*
-
-Fill the form:
-
-* Your **access point ID** (SGTIN)
-* Optional a **name** to identify your access point, this will be used to prefix your device names.
-* The **PIN**, mandatory if one is used in the native HomematicIP App.
-
-The authentification token will be generated and stored internally.
-
-## Setup the integration using the configuration files
+## Manual configuration
Generate the authentication token:
diff --git a/source/_integrations/huawei_lte.markdown b/source/_integrations/huawei_lte.markdown
index dbd36381573..c061fadc92f 100644
--- a/source/_integrations/huawei_lte.markdown
+++ b/source/_integrations/huawei_lte.markdown
@@ -52,7 +52,7 @@ integration will try to use all configured ones and fail gracefully if
it detects one requiring authentication in unauthenticated mode.
Only a subset of the entities provided by the target device by
-default:
+default:
- WAN IP address sensor
- LTE signal sensors RSRQ, RSRP, RSSI, and SINR
diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown
index ea32e989990..71561f4a149 100644
--- a/source/_integrations/hue.markdown
+++ b/source/_integrations/hue.markdown
@@ -33,11 +33,7 @@ There is currently support for the following device types within Home Assistant:
- Hue Smart Button
- Friends of Hue Switch
-To set up this integration, click Configuration in the sidebar and then click Integrations. You should see "Philips Hue" in the discovered section (if you do not, click the + icon in the lower right and find Philips Hue). Click configure and you will be presented with the initiation dialog. This will prompt you select the Hue hub to configure and next to press the button on your Hue bridge to register the hub with Home Assistant. After you click submit, you will have the opportunity to select the area that your bridge is located.
-
-When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the IP address of the bridge. If the IP address for the bridge changes, you will need to register it with Home Assistant again. To avoid this, you may set up a DHCP reservation on your router for your Hue bridge so that it always has the same IP address.
-
-Once registration is complete you should see the Hue lights listed as `light` entities, the Hue motion sensors listed as `binary_sensor` entities, and the Hue temperature and light level sensors (which are built in to the motion sensors) listed as `sensor` entities. If you don't, you may have to restart Home Assistant once more.
+{% include integrations/config_flow.md %}
## Using Hue Groups in Home Assistant
diff --git a/source/_integrations/huisbaasje.markdown b/source/_integrations/huisbaasje.markdown
index 70908bf8e1b..459ca2fff2a 100644
--- a/source/_integrations/huisbaasje.markdown
+++ b/source/_integrations/huisbaasje.markdown
@@ -17,14 +17,7 @@ ha_platforms:
The Huisbaasje integrations allows you to track your energy consumption collected
by the monitoring device installed on your energy meters.
-## Configuration
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Huisbaasje**.
-Log in using your Huisbaasje account. After finishing, the Huisbaasje integration
-will be available.
-
+{% include integrations/config_flow.md %}
## Sensors
This integration provides the following sensors:
diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown
index 99e19bab83a..95a848ed9bb 100644
--- a/source/_integrations/hunterdouglas_powerview.markdown
+++ b/source/_integrations/hunterdouglas_powerview.markdown
@@ -25,7 +25,7 @@ There is currently support for the following device types within Home Assistant:
- Scene
- Sensor
-To add `Hunter Douglas PowerView` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Hunter Douglas PowerView**.
+{% include integrations/config_flow.md %}
## Example Automations
diff --git a/source/_integrations/hvv_departures.markdown b/source/_integrations/hvv_departures.markdown
index 9b6c70aad5a..6a86714e9ec 100644
--- a/source/_integrations/hvv_departures.markdown
+++ b/source/_integrations/hvv_departures.markdown
@@ -16,18 +16,10 @@ ha_platforms:
The `hvv_departures` sensor will display the departures of busses, trains and ferries in Hamburg.
-## Configuration
+{% include integrations/config_flow.md %}
-Menu: *Configuration* > *Integrations*
-Press on **HVV Departures** and configure the integration:
-
-- You can keep the default host (only change it if you know what you are doing)
-- Enter your API credentials (see [How to get the API credentials](#how-to-get-the-api-credentials))
-- Enter your station. You can also enter your address or a point of interest.
-- Select the station/address/poi you want
-
-After that, you will get a sensor showing the time until the next departure.
+Need your API credentials? See [how to get the API credentials](#how-to-get-the-api-credentials).
## Options
diff --git a/source/_integrations/hyperion.markdown b/source/_integrations/hyperion.markdown
index c8028ae5ee6..8c4a9bceda6 100644
--- a/source/_integrations/hyperion.markdown
+++ b/source/_integrations/hyperion.markdown
@@ -16,7 +16,7 @@ ha_platforms:
- switch
---
-The `hyperion` platform allows you to integrate your
+The Hyperion integration allows you to integrate your
[Hyperion](https://docs.hyperion-project.org/) into Home Assistant. Hyperion is
an open source Ambilight implementation which runs on many platforms.
@@ -24,22 +24,7 @@ an open source Ambilight implementation which runs on many platforms.
supported, the original [discontinued Hyperion](https://github.com/hyperion-project/hyperion) is not supported by
this integration.
-## Configuration
-
-This integration can be configured using the integrations in the
-Home Assistant frontend.
-
-Menu: **Configuration** -> **Integrations**.
-
-In most cases, Hyperion servers will be automatically discovered by
-Home Assistant. Those automatically discovered devices are listed
-on the integrations page.
-
-If for some reason Hyperion isn't discovered, it can be added manually.
-
-Click on the `+` sign to add an integration and click on **Hyperion**.
-After completing the configuration flow, the Hyperion integration will be
-available.
+{% include integrations/config_flow.md %}
### Extra configuration of the integration
diff --git a/source/_integrations/iaqualink.markdown b/source/_integrations/iaqualink.markdown
index 82324732403..b9d85f502eb 100644
--- a/source/_integrations/iaqualink.markdown
+++ b/source/_integrations/iaqualink.markdown
@@ -31,29 +31,7 @@ There is currently support for the following device types within Home Assistant:
- Sensor
- Switch
-## Configuration
-
-Home Assistant offers Jandy iAqualink integration through **Configuration** -> **Integrations** -> **Jandy iAqualink**. Simply enter `username` and `password` when prompted.
-
-You can also configure the component via `configuration.yaml`:
-
-```yaml
-# Example configuration.yaml entry
-iaqualink:
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
-```
-
-{% configuration %}
-username:
- description: The username for accessing your iAqualink account
- type: string
- required: true
-password:
- description: The password for accessing your iAqualink account
- type: string
- required: true
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Known limitations
diff --git a/source/_integrations/icloud.markdown b/source/_integrations/icloud.markdown
index 69b241be9a3..7defeffa5c6 100644
--- a/source/_integrations/icloud.markdown
+++ b/source/_integrations/icloud.markdown
@@ -25,57 +25,7 @@ There is currently support for the following platforms within Home Assistant:
It does require that your devices are registered with the [Find My](https://www.apple.com/uk/icloud/find-my/) service.
-## Setup the integration
-
-There is two ways to integrate iCloud in Home Assistant
-
-### Via the frontend
-
-Menu: *Configuration* -> *Integrations*. Search for "iCloud", add your credentials, click submit.
-
-If you add the integration for the first time for an account, and two-factor authentication is enabled:
-1. After clicking submit, you will receive a verification code on your trusted iCloud devices.
-2. Press Allow on your device, and enter the 6 digit code in Home Assistant. Finally, click Submit.
-3. You are done!
-
-If you already added the integration before, you are done!
-
-### Via the configuration file
-
-Add the following section to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-icloud:
- - username: USERNAME
- password: PASSWORD
-```
-
-{% configuration %}
-username:
- description: Your iCloud account email.
- required: true
- type: string
-password:
- description: Your iCloud account password.
- required: true
- type: string
-with_family:
- description: If you want to fetch your family devices.
- required: false
- default: false
- type: boolean
-max_interval:
- description: Maximum interval in minutes between subsequent location updates. This tracker uses dynamic intervals for requesting location updates. When the iPhone is stationary, the interval will eventually be set to `max_interval` to save battery. When the iPhone starts moving again, the interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min.
- required: false
- default: 30
- type: integer
-gps_accuracy_threshold:
- description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows for more precise location monitoring and fewer false-positive zone changes.
- required: false
- default: 500
- type: integer
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
Low `max_interval` may cause battery drainage as it wakes up your device to get the current location.
diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown
index 89a44f95910..b1000521b16 100644
--- a/source/_integrations/ifttt.markdown
+++ b/source/_integrations/ifttt.markdown
@@ -13,13 +13,11 @@ ha_platforms:
[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT component, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel).
-## Sending events from IFTTT to Home Assistant
+## 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).
-### Setting up the integration
-
-To set it up, go to the integrations page in the configuration screen and find IFTTT. Click on configure. Follow the instructions on the screen to configure IFTTT.
+{% include integrations/config_flow.md %}
### Using the incoming data
diff --git a/source/_integrations/ipma.markdown b/source/_integrations/ipma.markdown
index 13837fbb6a0..8f604610615 100644
--- a/source/_integrations/ipma.markdown
+++ b/source/_integrations/ipma.markdown
@@ -16,35 +16,4 @@ ha_platforms:
The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](https://www.ipma.pt/) as a source for current and forecast meteorological data.
-## Configuration
-
-To add the IPMA weather platform to your installation, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-weather:
- - platform: ipma
-```
-
-{% configuration %}
-name:
- description: The name you would like to give to the weather station.
- required: false
- type: string
- default: The name of the used station
-latitude:
- description: Latitude of the location for which you want weather information.
- required: false
- type: string
- default: Home Assistant global latitude configuration
-longitude:
- description: Longitude of the location for which you want weather information.
- required: false
- type: string
- default: Home Assistant global longitude configuration
-mode:
- description: "The forecast type. Can be `hourly` or `daily`."
- required: false
- type: string
- default: "`daily`"
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/iqvia.markdown b/source/_integrations/iqvia.markdown
index 8efcd5abc41..88669ff5d76 100644
--- a/source/_integrations/iqvia.markdown
+++ b/source/_integrations/iqvia.markdown
@@ -22,10 +22,7 @@ Data measured includes:
* Current outlook
* more!
-## Configuring the Integration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations**.
+{% include integrations/config_flow.md %}
## Understanding the Indices
diff --git a/source/_integrations/islamic_prayer_times.markdown b/source/_integrations/islamic_prayer_times.markdown
index 643f34922f7..709c7e8aa94 100644
--- a/source/_integrations/islamic_prayer_times.markdown
+++ b/source/_integrations/islamic_prayer_times.markdown
@@ -22,23 +22,7 @@ This platform calculates prayer times using the following calculation methods:
- Muslim World League
- Umm Al-Qura University in Makkah
-## Configuration
-
-Set up the integration through **Configuration -> Integrations -> Islamic Prayer Times**. To import the configuration from `configuration.yaml` remove any previously configured sensors with platform type `islamic_prayer_times` and add the following lines:
-
-```yaml
-# Example configuration.yaml entry
-islamic_prayer_times:
-
-```
-
-{% configuration %}
-calculation_method:
- required: false
- default: "isna"
- type: string
- description: "The calculation method used for prayer times. Must be one of: `karachi`, `isna`, `mwl`, `makkah`."
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Integration Sensors
@@ -52,10 +36,3 @@ sensors:
- maghrib: Show the maghrib prayer time for today.
- isha: Show the isha prayer time for today.
- midnight: Show the midnight for today which is the end of isha prayer. This is a calculated field and is not the same as 12AM.
-
-```yaml
-# Example configuration.yaml using a non-default calculation method
-islamic_prayer_times:
- calculation_method: makkah
-
-```
diff --git a/source/_integrations/isy994.markdown b/source/_integrations/isy994.markdown
index 6fb4876a470..57466244ea5 100644
--- a/source/_integrations/isy994.markdown
+++ b/source/_integrations/isy994.markdown
@@ -44,11 +44,10 @@ There is currently support for the following device types within Home Assistant:
- Sensor
- Switch
-### Basic Configuration
-
Home Assistant is capable of communicating with any binary sensor, cover, fan, light, lock, sensor and switch that is configured on the controller. Using the programs on the controller, custom binary sensors, cover, fan, lock, and switches can also be created.
-To integrate your ISY994 controller with Home Assistant, Go to the **integrations page** in your configuration and click on new **integration** -> **Universal Devices ISY994**.
+{% include integrations/config_flow.md %}
+## Manual configuration
You may also configure the integration manually by adding the following section to your `configuration.yaml` file:
diff --git a/source/_integrations/izone.markdown b/source/_integrations/izone.markdown
index 910399a4eb9..887535b5904 100644
--- a/source/_integrations/izone.markdown
+++ b/source/_integrations/izone.markdown
@@ -20,16 +20,14 @@ The `iZone` integration allows access of control of a local [iZone](https://izon
Any current iZone unit with ducted reverse cycle airconditioning and the CB wired or wireless bridge device installed should currently work. There is currently no support for the iZone lights, reticulation, or other devices.
-## Configuration
+{% include integrations/config_flow.md %}
-The iZone component can be configured in two ways.
-- Via the integrations configuration of the Home Assistant user interface.
-- Or via the `configuration.yaml` file by adding the following:
+## Manual configuration
-If you load the integration from the integrations window, all local iZone instances are added. The integration will discover any new instances added to the local area later on as well.
-
-Alternately if there is more than one iZone system on the local network and one or more must be excluded use manual configuration:
+Alternatively, the iZone integration can be configured manually via the
+`configuration.yaml` file if there is more than one iZone system on the local
+network and one or more must be excluded use manual configuration:
```yaml
# Full manual example configuration.yaml entry
diff --git a/source/_integrations/juicenet.markdown b/source/_integrations/juicenet.markdown
index 1dc06c1dbaf..4d401fea0af 100644
--- a/source/_integrations/juicenet.markdown
+++ b/source/_integrations/juicenet.markdown
@@ -19,24 +19,7 @@ ha_platforms:
The `juicenet` platform pulls data from a [JuiceNet](https://evcharging.enelx.com/products/juicebox) charging station equipped with a Wi-Fi connection. It will access and make available all of the devices attached to your account. It also exposes a switch allowing you to charge your car now instead of waiting for the pre-set schedule.
-## Configuration
-
-To add `JuiceNet` go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **JuiceNet**.
-
-Alternatively, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-juicenet:
- access_token: ACCESS_TOKEN
-```
-
-{% configuration %}
-access_token:
- description: "Your JuiceNet API Token can be found in the [dashboard](https://home.juice.net/Manage)."
- required: true
- type: string
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Sensor
diff --git a/source/_integrations/kodi.markdown b/source/_integrations/kodi.markdown
index 383eb2c4d0d..0ad8053a406 100644
--- a/source/_integrations/kodi.markdown
+++ b/source/_integrations/kodi.markdown
@@ -25,11 +25,7 @@ There is currently support for the following device types within Home Assistant:
- [Media Player](#configuration)
- [Notifications](#notifications)
-## Configuration
-
-The Kodi media player is configured through the integrations screen. If your Kodi is discovered, you'll see it there and can click to set it up.
-If you do not see your device, you can click on the `+` button and choose Kodi.
-The flow will guide you through the setup. Most of the settings are advanced, and the defaults should work.
+{% include integrations/config_flow.md %}
If you previously had Kodi configured through `configuration.yaml`, it's advisable to remove it, and configure from the UI.
If you do not remove it, your configuration will be imported with the following limitations:
diff --git a/source/_integrations/kulersky.markdown b/source/_integrations/kulersky.markdown
index 6e7c4a8c354..60ea72e8a97 100644
--- a/source/_integrations/kulersky.markdown
+++ b/source/_integrations/kulersky.markdown
@@ -15,15 +15,7 @@ ha_platforms:
This integration connects Brightech Kuler Sky floor lamps to Home Assistant.
-## Configuration
-
-This integration can be configured using the integrations page in Home Assistant.
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and search for **Kuler Sky**.
-
-The integration will scan for nearby Bluetooth devices, and ask you to select your lamp.
+{% include integrations/config_flow.md %}
## Additional information for Home Assistant Core on Python environments
diff --git a/source/_integrations/life360.markdown b/source/_integrations/life360.markdown
index 6be2c18f9ca..d9bb10bd44a 100644
--- a/source/_integrations/life360.markdown
+++ b/source/_integrations/life360.markdown
@@ -15,11 +15,13 @@ ha_platforms:
The `life360` integration allows you to detect presence using the [unofficial API](#disclaimer) of [Life360](https://www.life360.com/).
-## Life360 Account
+## Prerequisites
You must first [create a Life360 account](https://www.life360.com/websignup).
-Then in the Home Assistant user interface (UI), click on Configuration in the left pane, then on Integrations and then on the yellow circle in the lower-right corner to "Set up a new integration." Scroll through the list and click on Life360. Enter your Life360 username and password and click SUBMIT. You can add as many Life360 accounts as you like.
+{% include integrations/config_flow.md %}
+
+## Advanced configuration
If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. Any of the advanced options you want to set from the section below will need to be set manually in your `configuration.yaml` file. They are not able to be set from the UI. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer.
diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown
index cb0dbe383ea..10430b0825d 100644
--- a/source/_integrations/lifx.markdown
+++ b/source/_integrations/lifx.markdown
@@ -16,7 +16,7 @@ The `lifx` integration allows you to integrate your [LIFX](https://www.lifx.com)
_Please note, the `lifx` integration does not support Windows. The `lifx_legacy` light platform (supporting basic functionality) can be used instead._
-You can configure the LIFX integration by going to the integrations page inside the configuration panel.
+{% include integrations/config_flow.md %}
## Set state
diff --git a/source/_integrations/local_ip.markdown b/source/_integrations/local_ip.markdown
index 5bb90c22e61..472e54bdd41 100644
--- a/source/_integrations/local_ip.markdown
+++ b/source/_integrations/local_ip.markdown
@@ -15,11 +15,4 @@ ha_platforms:
The `local_ip` sensor will expose the local (LAN) IP address of your Home Assistant instance. This can be useful when your instance has a static public hostname (for example, if you use the Nabu Casa service), but have a dynamically allocated local LAN address (for example, configured via DHCP).
-The sensor can be added via the user interface or using the `configuration.yaml` file. To enable this sensor, via the `configuration.yaml` file, add the following minimal configuration:
-
-```yaml
-# Example configuration.yaml entry
-local_ip:
-```
-
-To configure via the user interface, select the `Local IP Address` integration.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/luftdaten.markdown b/source/_integrations/luftdaten.markdown
index 56c492c82ff..efa79cb2484 100644
--- a/source/_integrations/luftdaten.markdown
+++ b/source/_integrations/luftdaten.markdown
@@ -22,14 +22,7 @@ The `luftdaten` integration will query the open data API of [luftdaten.info](htt
- To get the ID of a particle sensor you need to select it on the [Feinstaub map](https://deutschland.maps.luftdaten.info/) and find it in the sidebar (Column "Sensor ID").
- To get the ID of a temperature/humidity sensor you need to find it on the map hosted on [Madavi](https://www.madavi.de/sensor/feinstaub-map-dht/).
-## Configuration via the frontend
-
-Menu: **Configuration** -> **Integrations**
-
-Configure the integration:
-
-- Enter the **Sensor ID**
-- Choose if you want to show the sensor's location on the map.
+{% include integrations/config_flow.md %}
## Manual Configuration
diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown
index e3883c830ce..60b6994dfc0 100644
--- a/source/_integrations/lutron_caseta.markdown
+++ b/source/_integrations/lutron_caseta.markdown
@@ -45,7 +45,9 @@ Additionally RA2 Select Main Repeater (`RR-SEL-REP2-BL`) or Lutron Caséta Smart
- Pico Remotes as [device triggers](/integrations/device_automation/)
- Shade Remotes as [device triggers](/integrations/device_automation/)
-If you have physical access to the Lutron Bridge, to add `Lutron Caséta` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Lutron Caséta**.
+{% include integrations/config_flow.md %}
+
+## Manual configuration
Alternatively, if you already have `caseta.key`, `caseta.crt`, `caseta-bridge.crt`, and cannot physically access the bridge to press the button, pairing can be done manually using the following steps:
diff --git a/source/_integrations/melcloud.markdown b/source/_integrations/melcloud.markdown
index 80ca4843fb8..be1d7ca176c 100644
--- a/source/_integrations/melcloud.markdown
+++ b/source/_integrations/melcloud.markdown
@@ -24,30 +24,7 @@ The `melcloud` integration integrates Mitsubishi Electric's [MELCloud](https://w
- Energy recovery ventilators - **Not supported**
- Other - **Not supported**
-## Configuration
-
-The integration should be configured through the user interface ("Configurations -> Integrations") using the MELCloud login details. While not optimal, **the provided password is not stored**.
-
-An expired token needs to be updated manually by adding the MELCloud integration again with the same email address.
-
-Configuration is also possible through `configuration.yaml`. The required authentication token can be found in `X-MitsContextKey` header when logged into the MELCloud. The language needs to be set to English and the "Remember me" option needs to be selected.
-
-```yaml
-melcloud:
- username: xxxx@xxxxxxx
- token: xxxxxxxxxxxxxxxxxxx
-```
-
-{% configuration %}
-username:
- description: Email address used to login to MELCloud
- required: true
- type: string
-token:
- description: X-MitsContextKey access token
- required: true
- type: string
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Air-to-Air device
diff --git a/source/_integrations/met.markdown b/source/_integrations/met.markdown
index 38fe60d8c7c..cf2493846e8 100644
--- a/source/_integrations/met.markdown
+++ b/source/_integrations/met.markdown
@@ -16,4 +16,4 @@ ha_platforms:
The `met` platform uses the [Met.no](https://met.no/) web service as a source for meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK.
-To add Met.no to your installation, go to Configuration >> Integrations in the UI and enable the Met.no integration.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/meteo_france.markdown b/source/_integrations/meteo_france.markdown
index 403001fb882..086caf9645e 100644
--- a/source/_integrations/meteo_france.markdown
+++ b/source/_integrations/meteo_france.markdown
@@ -26,35 +26,8 @@ The integration support the following platforms within Home Assistant:
It displays the current weather along with a 5 days forecast and create sensors, including weather alerts and 1 hour rain forecast when available.
-## Setup the integration
+{% include integrations/config_flow.md %}
-There are two ways to integrate Météo-France in Home Assistant.
-
-### Via the frontend (recommended)
-
-Menu: **Configuration** -> **Integrations** click the button with `+` sign and from the list of integrations select **Météo-France**
-
-Enter your city or French postal code in the form. If more than one city correspond to your search in the Météo-France's database you will have the possibility to select one in a dropdown list. Click submit, you are done!
-
-### Via the configuration file
-
-With this way of configuration you can't select a specific cities if more than one location is found in the Météo-France database corresponding to your inputs. The integration will take the first one returned by the API.
-
-To add Météo-France to your installation, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry for 2 cities
-meteo_france:
- - city: "76000"
- - city: "Auch"
-```
-
-{% configuration %}
- city:
- description: French postal code or name of the city.
- required: true
- type: string
-{% endconfiguration %}
## Weather platform
diff --git a/source/_integrations/metoffice.markdown b/source/_integrations/metoffice.markdown
index 6620abf7db8..fffa1cee036 100644
--- a/source/_integrations/metoffice.markdown
+++ b/source/_integrations/metoffice.markdown
@@ -16,9 +16,10 @@ ha_platforms:
The `metoffice` weather platform uses the Met Office's [DataPoint API](https://www.metoffice.gov.uk/datapoint) for weather data.
-## Configuration
+{% include integrations/config_flow.md %}
-To add the Met Office weather platform to your installation, you'll need to register for a free API key at the link above and then go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Met Office**. Multiple entries can be configured, but a unique set of latitude and longitude must be supplied for each.
+
+## Entities
A number of weather entities are created for each entry created in the configuration by location: one weather entity with a summary of the 3-hourly forecasts and twelve sensor entities for individual reporting on each of the individual measurements. The time supplied for each forecast is the start time for the forecast.
diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown
index af78a1ac934..345f9960f31 100644
--- a/source/_integrations/mikrotik.markdown
+++ b/source/_integrations/mikrotik.markdown
@@ -20,7 +20,7 @@ There is currently support for the following device types within Home Assistant:
- Presence Detection
-## Configuring `mikrotik` hub
+## Prerequisites
You have to enable accessing the RouterOS API on your router to use this platform.
@@ -37,62 +37,7 @@ Go to **IP** -> **Services** -> **API** and enable it.
Make sure that port 8728 or the port you choose is accessible from your network.
-Home Assistant offers MikroTik integration through **Configuration** -> **Integrations** -> **MikroTik**.
-It also allows importing from the `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-mikrotik:
- - name: Mikrotik
- host: IP_ADDRESS
- username: ROUTEROS_USERNAME
- password: ROUTEROS_PASSWORD
-```
-
-{% configuration %}
-name:
- description: The name of your MikroTik device.
- required: true
- default: Mikrotik
- type: string
-host:
- description: The IP address of your MikroTik device.
- required: true
- type: string
-username:
- description: The username of a user on the MikroTik device.
- required: true
- type: string
-password:
- description: The password of the given user account on the MikroTik device.
- required: true
- type: string
-port:
- description: RouterOS API port.
- required: false
- default: 8728 (or 8729 if SSL is enabled)
- type: integer
-verify_ssl:
- description: Use SSL to connect to the API.
- required: false
- default: false
- type: boolean
-arp_ping:
- description: Use ARP ping with DHCP method for device scanning.
- required: false
- default: false
- type: boolean
-force_dhcp:
- description: Force use of DHCP server list for devices to be tracked.
- required: false
- default: false
- type: boolean
-detection_time:
- description: How long since the last seen time before the device is marked away, specified in seconds.
- required: false
- default: 300
- type: integer
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
## Use a certificate
@@ -122,16 +67,3 @@ To use this device tracker you need restricted privileges only. To enhance the s
/user add group=homeassistant name=homeassistant
/user set password="YOUR_PASSWORD" homeassistant
```
-
-## Using the additional configuration to the `mikrotik` entry in your `configuration.yaml` file
-
-```yaml
-mikrotik:
- - host: 192.168.88.1
- username: homeassistant
- password: YOUR_PASSWORD
- verify_ssl: true
- arp_ping: true
- force_dhcp: true
- detection_time: 30
-```
diff --git a/source/_integrations/mill.markdown b/source/_integrations/mill.markdown
index b4f1627771e..018ffa48c48 100644
--- a/source/_integrations/mill.markdown
+++ b/source/_integrations/mill.markdown
@@ -15,16 +15,14 @@ ha_platforms:
Integrates Mill heater into Home Assistant.
-To add Mill to your installation, go to Configuration >> Integrations in the UI and enable the Mill integration.
+{% include integrations/config_flow.md %}
+## Integration services
-## Component services
-
-This platform supports a service to set the temperature for the room connected to heater in the Mill app:
+This integration supports a service to set the temperature for the room connected to heater in the Mill app:
`mill.set_room_temperature`
-
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `room_name` | no | String with room name.
diff --git a/source/_integrations/minecraft_server.markdown b/source/_integrations/minecraft_server.markdown
index f5c9cb7ef56..b3f6cbadcfe 100644
--- a/source/_integrations/minecraft_server.markdown
+++ b/source/_integrations/minecraft_server.markdown
@@ -22,10 +22,7 @@ Minecraft servers allow players to play the sandbox video game [Minecraft](https
The server must be version 1.7 or higher, since older versions don't expose any information.
-## Configuration via the frontend
-
-In the settings go to `Integrations`, click on the `+` sign to add an integration and click on **Minecraft Server**.
-After completing the configuration flow, the Minecraft Server integration will be available.
+{% include integrations/config_flow.md %}
## Binary sensors
diff --git a/source/_integrations/monoprice.markdown b/source/_integrations/monoprice.markdown
index a2f86bfdca2..3230575af3e 100644
--- a/source/_integrations/monoprice.markdown
+++ b/source/_integrations/monoprice.markdown
@@ -14,12 +14,10 @@ ha_domain: monoprice
The `monoprice` platform allows you to control [Monoprice 6-Zone Amplifier](https://www.monoprice.com/product?p_id=10761) using a serial connection.
-## Configuration
+{% include integrations/config_flow.md %}
-Menu: **Configuration** -> **Integrations**.
-Click on the `+` sign to add an integration and click on **Monoprice**.
-Select the serial port to which Monoprice amplifier is connected, and name the six sources (leave sources you're not using empty).
+## Configuration notes
If you are using an IP232 module instead of a direct serial connection, then use `socket://
:` in the port setting.
diff --git a/source/_integrations/motion_blinds.markdown b/source/_integrations/motion_blinds.markdown
index bede52142a9..63ed95a885b 100644
--- a/source/_integrations/motion_blinds.markdown
+++ b/source/_integrations/motion_blinds.markdown
@@ -16,9 +16,7 @@ ha_platforms:
The integration allows you to control [Motion Blinds](https://motion-blinds.com) from [Coulisse B.V.](https://coulisse.com/products/motion).
-To add a Motion Bridge to your installation, click Configuration in the sidebar, then click Integrations. Click the + icon in the lower right. Then search for "Motion Blinds" and enter the setup.
-
-You will be asked for the IP address of the Motion Bridge, e.g., 192.168.1.100. Note that a static IP address is required in order for this integration to keep working properly.
+{% include integrations/config_flow.md %}
## Retrieving the API Key
diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown
index baaadec20b7..5178442ec7a 100644
--- a/source/_integrations/mqtt.markdown
+++ b/source/_integrations/mqtt.markdown
@@ -27,7 +27,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](/docs/mqtt/broker).
-The preferred way to setup MQTT for your installation is via **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **MQTT**.
+{% include integrations/config_flow.md %}
+
+## Manual configuration
Alternatively, if you want to manually configure MQTT, you will need to add the following to your `configuration.yaml` file.
diff --git a/source/_integrations/myq.markdown b/source/_integrations/myq.markdown
index 0346b8960b0..8c14920c23a 100644
--- a/source/_integrations/myq.markdown
+++ b/source/_integrations/myq.markdown
@@ -18,14 +18,12 @@ ha_platforms:
The `myq` cover platform lets you control MyQ-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app.
-## Configuration
+{% include integrations/config_flow.md %}
-To add `MyQ` cover to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **MyQ**.
+## Binary Sensor
-### Binary Sensor
+Your MyQ gateway will appear as a binary sensor that shows if the device is connected.
-Your `MyQ` gateway will appear as a binary sensor that shows if the device is connected.
-
-### Cover
+## Cover
Garage doors and gates linked to your `MyQ` account will appear as covers.
diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown
index 3773b09530a..f46817cc515 100644
--- a/source/_integrations/neato.markdown
+++ b/source/_integrations/neato.markdown
@@ -20,7 +20,7 @@ ha_platforms:
- vacuum
---
-The `neato` integration allows you to control your [Neato Botvac Connected Robots][botvac-connected].
+The Neato integration allows you to control your [Neato Botvac Connected Robots][botvac-connected].
There is support for the following platform types within Home Assistant:
@@ -29,7 +29,7 @@ There is support for the following platform types within Home Assistant:
- **Switch** - allows you to enable or disable the schedule.
- [**Vacuum**](#vacuum)
-## Configuration
+## Prerequisites
1. Visit [the Neato Developer Network](https://developers.neatorobotics.com/applications) and create a new app.
@@ -56,8 +56,6 @@ neato:
3. Restart Home Assistant
4. Make sure you visit Home Assistant via a the same domain you used as `redirect_url` before
-5. Add Neato Botvac via *Configuration* -> *Integrations*
-6. Follow the instructions. After that, all the entities will automatically show up in Home Assistant. Make sure you start only one configuration flow at a time. Even though you can click “Open Website” several times, press it only once and wait until this flow is complete.
{% configuration %}
client_id:
@@ -70,6 +68,8 @@ client_secret:
type: string
{% endconfiguration %}
+{% include integrations/config_flow.md %}
+
After the update to firmware 4.0 (which adds cleaning maps) there is also support for displaying the maps of the Botvac D3 Connected and Botvac D5 Connected robots. More information on how to update can be found [here](https://support.neatorobotics.com/hc/en-us/articles/115004320694-Software-Update-4-0-for-Neato-Botvac-Connected-D3-D5-).
diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown
index 317cde3602c..90e11d9b7cc 100644
--- a/source/_integrations/netatmo.markdown
+++ b/source/_integrations/netatmo.markdown
@@ -23,7 +23,7 @@ ha_platforms:
- sensor
---
-The `netatmo` integration platform is the main integration to integrate all Netatmo related platforms.
+The Netatmo integration platform is the main integration to integrate all Netatmo related platforms.
There is currently support for the following device types within Home Assistant:
@@ -33,12 +33,7 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Webhook Events](#webhook-events)
-## Configuration
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Netatmo**.
-After completing the configuration flow, the Netatmo integration will be available.
+{% include integrations/config_flow.md %}
### Extra configuration of the integration
diff --git a/source/_integrations/nexia.markdown b/source/_integrations/nexia.markdown
index 31da885bfb0..7361d49b9a7 100644
--- a/source/_integrations/nexia.markdown
+++ b/source/_integrations/nexia.markdown
@@ -28,11 +28,7 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Scene](#scene)
-## Configuration
-
-You will need your mynexia.com username and password to use this module.
-
-To add `Nexia` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Nexia**.
+{% include integrations/config_flow.md %}
### Binary Sensor
diff --git a/source/_integrations/nightscout.markdown b/source/_integrations/nightscout.markdown
index 38b219f3be5..1c558ec90da 100644
--- a/source/_integrations/nightscout.markdown
+++ b/source/_integrations/nightscout.markdown
@@ -16,14 +16,7 @@ ha_platforms:
The Nightscout integration allows you to view your CGM data from [Nightscout](http://www.nightscout.info/) in Home Assistant.
-## Configuration
-
-To add `Nightscout` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Nightscout**.
-
-Then input your server address in the `URL` field. For example:
-
-- `https://localhost:5423`
-- `https://your-app-name.herokuapp.com`
+{% include integrations/config_flow.md %}
If your Nightscout instance requires authentication for API access, you are also required to input the API Key in the configuration form.
diff --git a/source/_integrations/notion.markdown b/source/_integrations/notion.markdown
index db9c1643a49..ac37c7610c1 100644
--- a/source/_integrations/notion.markdown
+++ b/source/_integrations/notion.markdown
@@ -19,7 +19,4 @@ ha_platforms:
The `Notion` component retrieves data from [Notion](https://getnotion.com) wireless
home monitoring sensor kits.
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations**.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/nuheat.markdown b/source/_integrations/nuheat.markdown
index 15a63116dbd..1d96031379d 100644
--- a/source/_integrations/nuheat.markdown
+++ b/source/_integrations/nuheat.markdown
@@ -20,9 +20,11 @@ There is currently support for the following device types within Home Assistant:
- Climate
+## Prerequisites
+
First, you will need to obtain your thermostat's numeric serial number or ID by logging into [MyNuHeat.com](https://mynuheat.com/) and selecting your thermostat(s).
-Once you have the Thermostat ID(s), to add `NuHeat` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **NuHeat**.
+{% include integrations/config_flow.md %}
## Concepts
diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown
index 9418d685e6a..9f4d3a5e1a7 100644
--- a/source/_integrations/nut.markdown
+++ b/source/_integrations/nut.markdown
@@ -16,9 +16,7 @@ ha_platforms:
The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](https://networkupstools.org/) (Network UPS Tools) server.
-## Configuration
-
-To add `nut` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Network UPS Tools (NUT)**.
+{% include integrations/config_flow.md %}
## Example Resources
diff --git a/source/_integrations/nws.markdown b/source/_integrations/nws.markdown
index 1845b762a9c..e6113e41db7 100644
--- a/source/_integrations/nws.markdown
+++ b/source/_integrations/nws.markdown
@@ -15,9 +15,7 @@ ha_platforms:
The `nws` platform uses the [National Weather Service](https://www.weather.gov) web API as a source for meteorological data for your location.
-## Configuration
-
-To add `nws` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **National Weather Service (NWS)**. Multiple entries can be configured, but a unique set of latitude and longitude must be supplied for each.
+{% include integrations/config_flow.md %}
According to the [API documentation](https://www.weather.gov/documentation/services-web-api/), a string is required for the API key, and an email address is suggested to be included within the string.
diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown
index 5de505994d0..1b97acd42ea 100644
--- a/source/_integrations/nzbget.markdown
+++ b/source/_integrations/nzbget.markdown
@@ -17,9 +17,7 @@ ha_platforms:
The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](https://nzbget.net/) from within Home Assistant and setup automation based on the information.
-## Configuration
-
-Go to the integrations page in your configuration and click on new integration -> NZBGet.
+{% include integrations/config_flow.md %}
## Sensor
diff --git a/source/_integrations/omnilogic.markdown b/source/_integrations/omnilogic.markdown
index e3a8aca36b1..fc8e4aec6d0 100644
--- a/source/_integrations/omnilogic.markdown
+++ b/source/_integrations/omnilogic.markdown
@@ -21,9 +21,7 @@ There is currently support for the following device types within Home Assistant:
- Sensor
-## Configuration
-
-Home Assistant offers Hayward OmniLogic integration through **Configuration** -> **Integrations** -> **Hayward OmniLogic**. Enter your `username` and `password` when prompted. Use your registered email address as the username.
+{% include integrations/config_flow.md %}
## Known limitations
diff --git a/source/_integrations/ondilo_ico.markdown b/source/_integrations/ondilo_ico.markdown
index ad51388fea5..4b5a08ca90c 100644
--- a/source/_integrations/ondilo_ico.markdown
+++ b/source/_integrations/ondilo_ico.markdown
@@ -26,9 +26,7 @@ There is currently support for the following information within Home Assistant:
Sensors will be created for all those data.
-## Configuration
-
-Ondilo ICO integration in Home Assistant is done through **Configuration** -> **Integrations** -> **Ondilo ICO**. You will be redirected to Ondilo to authenticate to their APIs. Enter your Ondilo account credentials when prompted (same as the ones used in their app). Once done, you will be redirected back to Home Assistant and your ICOs will be imported.
+{% include integrations/config_flow.md %}
## Known limitations
diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown
index 2ebaa4ab16e..679c01f573e 100644
--- a/source/_integrations/onewire.markdown
+++ b/source/_integrations/onewire.markdown
@@ -128,9 +128,7 @@ The device IDs begin with `28-`.
`owserver` on Linux hosts is part of the [owfs 1-Wire file system](https://owfs.org/). When a 1-wire interface adapter is used, you can access sensors on a remote or local Linux host that is running `owserver`. `owserver` by default runs on port 4304. Use the `host` option to specify the host or IP of the remote server, and the optional `port` option to change the port from the default.
-## Configuration
-
-Go to the integrations page in your configuration and click on new integration -> 1-Wire.
+{% include integrations/config_flow.md %}
### Configuration Example
diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown
index b09f3e756e9..22ce907a248 100644
--- a/source/_integrations/onvif.markdown
+++ b/source/_integrations/onvif.markdown
@@ -17,9 +17,7 @@ ha_platforms:
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) Profile S conformant device in Home Assistant. This requires the [`ffmpeg` component](/integrations/ffmpeg/) to be already configured.
-## Configuration
-
-Home Assistant offers ONVIF integration through **Configuration** -> **Integrations** -> **ONVIF**. Follow the instructions to get it set up.
+{% include integrations/config_flow.md %}
It is recommended that you create a user on your device specifically for Home Assistant. For all current functionality, it is enough to create a standard user.
diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown
index f3fc2248118..f7f8abcb7b4 100644
--- a/source/_integrations/opentherm_gw.markdown
+++ b/source/_integrations/opentherm_gw.markdown
@@ -34,23 +34,18 @@ The OpenTherm protocol is based on polling. The thermostat sends requests to the
# Configuration
-The OpenTherm Gateway can be added to Home Assistant through the `Integrations` panel in the `Configuration` page of the web interface.
+{% include integrations/config_flow.md %}
+
The following configuration options are available:
-{% configuration %}
+
+{% configuration_basic %}
name:
description: "The friendly name used for the OpenTherm Gateway and its entities."
- required: true
- type: string
path:
description: "Path to the OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
- required: true
- type: string
id:
description: "The `gateway_id` for this OpenTherm Gateway's entity IDs and services. The entered value will be slugified."
- required: false
- type: string
- default: "The slugified `name` of this OpenTherm Gateway."
-{% endconfiguration %}
+{% endconfiguration_basic %}
The precision and floor_temperature settings that were supported in configuration.yaml entries have been lost upon import of the configuration.yaml entry into the Integrations panel. You can now configure them as per the following Options paragraph.
diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown
index 97108315d91..d7406967a16 100644
--- a/source/_integrations/openuv.markdown
+++ b/source/_integrations/openuv.markdown
@@ -37,10 +37,7 @@ Each use of the `update_data` service will consume 2 API calls from the daily qu
the `update_protection_data` services).
-## Configuration
-
-To configure the `openuv` integration, navigate to **Configuration** -> **Integrations**
-in the Home Assistant UI.
+{% include integrations/config_flow.md %}
## Sensors
diff --git a/source/_integrations/openweathermap.markdown b/source/_integrations/openweathermap.markdown
index bfedeac72f4..edd7e5aa66f 100644
--- a/source/_integrations/openweathermap.markdown
+++ b/source/_integrations/openweathermap.markdown
@@ -26,9 +26,7 @@ There is currently support for the following device types within Home Assistant:
You need an API key, which is free, but requires a [registration](https://home.openweathermap.org/users/sign_up).
-## Configuration
-
-To add OpenWeatherMap integration go to **Configuration** >> **Integrations** and find the integration in the list.
+{% include integrations/config_flow.md %}
| Parameter | Value |
| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/source/_integrations/ovo_energy.markdown b/source/_integrations/ovo_energy.markdown
index a009727c3d9..192ef90ea18 100644
--- a/source/_integrations/ovo_energy.markdown
+++ b/source/_integrations/ovo_energy.markdown
@@ -17,13 +17,7 @@ ha_platforms:
The `ovo_energy` integration allows you to monitor your energy consumption data
in Home Assistant.
-## Configuration
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **OVO Energy**.
-After completing the configuration flow, the OVO Energy integration will be
-available.
+{% include integrations/config_flow.md %}
## Sensors
diff --git a/source/_integrations/ozw.markdown b/source/_integrations/ozw.markdown
index 12911cd19b6..14506ebf05c 100644
--- a/source/_integrations/ozw.markdown
+++ b/source/_integrations/ozw.markdown
@@ -39,16 +39,7 @@ This integration allows you to utilize OpenZWave's ozwdaemon to control a Z-Wave
- Supported Z-Wave dongle compatible with OpenZWave 1.6. See this [list](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules) of controllers. The Z-Wave controller dongle should be connected to the same host as where the ozwdaemon is running.
-## Configuration
-
-This integration can be configured using the integrations in the
-Home Assistant frontend.
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **OpenZWave (beta)**.
-After completing the configuration flow, the OpenZWave integration will be
-available.
+{% include integrations/config_flow.md %}
### Secure network key
diff --git a/source/_integrations/panasonic_viera.markdown b/source/_integrations/panasonic_viera.markdown
index e0d00e0d9b6..a106ebafa28 100644
--- a/source/_integrations/panasonic_viera.markdown
+++ b/source/_integrations/panasonic_viera.markdown
@@ -11,11 +11,7 @@ ha_config_flow: true
The `panasonic_viera` platform allows you to control a Panasonic Viera TV.
-## Configuration
-
-To configure your Panasonic Viera TV, head to the **Configuration > Integrations** page. Click on the plus (+) button to add a new integration.
-
-Once the integration is loaded, with your TV turned on and connected to your local network, enter the IP address of your TV and a name of your choice.
+{% include integrations/config_flow.md %}
If your TV needs to be paired, you will be prompted to type the PIN code that will be displayed on it.
diff --git a/source/_integrations/pi_hole.markdown b/source/_integrations/pi_hole.markdown
index 5f4d1b24ddc..5eaf47fd2f2 100644
--- a/source/_integrations/pi_hole.markdown
+++ b/source/_integrations/pi_hole.markdown
@@ -21,85 +21,7 @@ ha_platforms:
The `pi_hole` integration allows you to retrieve statistics and interact with a [Pi-hole](https://pi-hole.net/) system.
-## Configuration
-
-To enable this integration, go to the Integrations page inside the configuration panel. You can also use YAML configuration. Add the following lines to your `configuration.yaml` file
-
-```yaml
-# Example configuration.yaml entry
-pi_hole:
- - host: IP_ADDRESS
-```
-
-{% configuration %}
-host:
- description: >
- The hostname (and port), e.g., '192.168.0.3:4865' of the host where Pi-hole is running. Home Assistant add-on users should be sure to specify port `4865`.
- required: true
- type: string
-name:
- description: >
- The name for this Pi-hole. This name will be a part of the sensors created, e.g., `name: My Awesome Pi-hole` would result in sensor names beginning with `sensor.my_awesome_pi_hole_`.
- required: false
- type: string
- default: Pi-hole
-location:
- description: The installation location of the Pi-hole API.
- required: false
- type: string
- default: admin
-ssl:
- description: "If `true`, use SSL/TLS to connect to the Pi-hole system."
- required: false
- type: boolean
- default: false
-verify_ssl:
- description: >
- Verify the SSL/TLS certificate of the system. If your Pi-hole instance uses a self-signed certificate, you should specify `false`.
- required: false
- type: boolean
- default: true
-api_key:
- description: API Key for interacting with the Pi-hole. This is not required if you want to just query the Pi-hole for usage statistics.
- required: false
- type: string
- default: None
-{% endconfiguration %}
-
-### Full examples
-
-Single Pi-hole running via Home Assistant add-on:
-
-```yaml
-pi_hole:
- - host: "localhost:4865"
-```
-
-Multiple Pi-holes:
-
-```yaml
-pi_hole:
- - host: "192.168.0.2"
- - host: "192.168.0.3"
- name: "Secondary Pi-hole"
-```
-
-Pi-hole with a self-signed certificate:
-
-```yaml
-pi_hole:
- - host: "pi.hole"
- ssl: true
- verify_ssl: false
-```
-
-Pi-hole with an `api_key` that allows it to be enabled or disabled:
-
-```yaml
-pi_hole:
- - host: "pi.hole"
- api_key: !secret pi_hole_api_key
-```
+{% include integrations/config_flow.md %}
## Services
diff --git a/source/_integrations/plex.markdown b/source/_integrations/plex.markdown
index 75be3457ac6..6f63947c7c5 100644
--- a/source/_integrations/plex.markdown
+++ b/source/_integrations/plex.markdown
@@ -26,9 +26,7 @@ There is currently support for the following device types within Home Assistant:
If a Plex server has been claimed by a Plex account via the [claim interface](https://plex.tv/claim), Home Assistant will require authentication to connect.
-### Configuration
-
-The Plex integration is set up via **Configuration** -> **Integrations**. During the configuration, you will be redirected to the [Plex](https://plex.tv) website to sign in with your Plex account. Once access is granted, Home Assistant will connect to the Plex server linked to the provided account. If multiple Plex servers are available on the account, you will be prompted to complete the configuration by selecting the desired server on the **Integrations** page. Upon completeion, Home Assistant will be displayed as an authorized device on the [Plex Web](https://app.plex.tv/web/app) interface under **Settings** -> **Authorized Devices**.
+{% include integrations/config_flow.md %}
### Integration Options
diff --git a/source/_integrations/plum_lightpad.markdown b/source/_integrations/plum_lightpad.markdown
index 2a82220ff1e..eefacc31442 100644
--- a/source/_integrations/plum_lightpad.markdown
+++ b/source/_integrations/plum_lightpad.markdown
@@ -22,31 +22,4 @@ Configurable/Dimmable Wi-Fi Lightswitch
- Wi-Fi & Bluetooth connectivity
- Phone Apps for iOS & Android
-## Configuration
-
-To use Plum Lightpad devices in your installation, add your Plum account from the integrations page.
-
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Plum Lightpad** (use typeahead if necessary).
-After completing the configuration flow, the Plum Lightpad integration will be available.
-
-Alternatively, add the following lines to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-plum_lightpad:
- username: YOUR_CLOUD_USERNAME
- password: YOUR_CLOUD_PASSWORD
-```
-
-{% configuration %}
-username:
- required: true
- description: Your Plum Cloud username.
- type: string
-password:
- required: true
- description: Your Plum Cloud password.
- type: string
-{% endconfiguration %}
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/poolsense.markdown b/source/_integrations/poolsense.markdown
index b742b31e1d2..f415096b9cb 100644
--- a/source/_integrations/poolsense.markdown
+++ b/source/_integrations/poolsense.markdown
@@ -25,14 +25,14 @@ There is currently support for the following information within Home Assistant:
- pH Status Indicator
- Chlorine Status Indicator
-## Configuration
+## Prerequisites
You will need to use the associated standalone app for this device to register a username and password.
- [Google](https://play.google.com/store/apps/details?id=co.proautomation.app.poolSense&hl=en_ZA)
- [Apple](https://apps.apple.com/us/app/poolsense/id1288535609)
-Home Assistant offers PoolSense integration through **Configuration** -> **Integrations**. Click the `+` sign and from the list of integrations select **PoolSense**. Simply enter `username` and `password` when prompted.
+{% include integrations/config_flow.md %}
## Tips
diff --git a/source/_integrations/powerwall.markdown b/source/_integrations/powerwall.markdown
index 6616c9e18ac..9a03034e9a2 100644
--- a/source/_integrations/powerwall.markdown
+++ b/source/_integrations/powerwall.markdown
@@ -24,11 +24,7 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
-## Configuration
-
-You will need the IP Address of your Powerwall to use this module.
-
-To add `Tesla Powerwall` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Tesla Powerwall**.
+{% include integrations/config_flow.md %}
### Binary Sensor
diff --git a/source/_integrations/profiler.markdown b/source/_integrations/profiler.markdown
index 908bcfd8f9e..4f24526ffa2 100644
--- a/source/_integrations/profiler.markdown
+++ b/source/_integrations/profiler.markdown
@@ -13,9 +13,7 @@ ha_config_flow: true
The Profiler integration provides a profile which is a set of statistics that identifies how much time each part of Home Assistant is taking. It can help track down a performance issue or provide insight about a misbehaving integration.
-## Configuration
-
-To add `Profiler` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Profiler**.
+{% include integrations/config_flow.md %}
### Service `profiler.start`
diff --git a/source/_integrations/progettihwsw.markdown b/source/_integrations/progettihwsw.markdown
index 218ecebd17a..38128f1bc85 100644
--- a/source/_integrations/progettihwsw.markdown
+++ b/source/_integrations/progettihwsw.markdown
@@ -18,11 +18,7 @@ ha_platforms:
The `progettihwsw` integration brings the automation experience with ProgettiHWSW boards to Home Assistant.
-## Configuration
-
-The configuration for this integration can be done from Home Assistant interface by entering the host and port number of the board in the integration configuration wizard.
-
-The wizard can be accessed from **Configuration** -> **Integrations** -> (Plus sign at the bottom right).
+{% include integrations/config_flow.md %}
## Binary Sensor
diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown
index 3db4ae6179f..851df8ffbba 100644
--- a/source/_integrations/rachio.markdown
+++ b/source/_integrations/rachio.markdown
@@ -40,9 +40,7 @@ In order for Rachio switches and sensors to update, your Home Assistant instance
-## Configuration
-
-To add `Rachio` go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Rachio**.
+{% include integrations/config_flow.md %}
**Water-saving suggestion:**
After setting up the integration, change the options to set the duration in minutes to run when activating a zone switch to a maximum failsafe value when using scripts to control zones. If something goes wrong with your script, Home Assistant, or you hit the Rachio API rate limit of 1700 calls per day, the controller will still turn off the zone after this amount of time.
diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown
index f38838865bc..04f8a75ce5b 100644
--- a/source/_integrations/rainmachine.markdown
+++ b/source/_integrations/rainmachine.markdown
@@ -18,7 +18,7 @@ ha_platforms:
- switch
---
-The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](https://www.rainmachine.com/).
+The RainMachine integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](https://www.rainmachine.com/).
There is currently support for the following device types within Home Assistant:
@@ -26,10 +26,7 @@ There is currently support for the following device types within Home Assistant:
- Sensor
- [Switch](#switch)
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to
-**Configuration** -> **Integrations**.
+{% include integrations/config_flow.md %}
## Services
diff --git a/source/_integrations/recollect_waste.markdown b/source/_integrations/recollect_waste.markdown
index 67c876c2267..596660ec24b 100644
--- a/source/_integrations/recollect_waste.markdown
+++ b/source/_integrations/recollect_waste.markdown
@@ -27,6 +27,4 @@ The default frequency for pulling data from ReCollect Waste is once a day (86400
The ReCollect Waste sensor uses the ReCollect API
URL to obtain data and not an official API from ReCollect. Use at your own risk.
-## Configuration
-
-This integration can be configured via the Home Assistant UI by navigating to **Configuration** -> **Integrations**.
+{% include integrations/config_flow.md %}
diff --git a/source/_integrations/rfxtrx.markdown b/source/_integrations/rfxtrx.markdown
index e55daed34bc..f23df8486f7 100644
--- a/source/_integrations/rfxtrx.markdown
+++ b/source/_integrations/rfxtrx.markdown
@@ -34,9 +34,9 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensors)
- [Binary Sensor](#binary-sensors)
-## Configuration
+{% include integrations/config_flow.md %}
-To add RFXtrx integration go to **Configuration** >> **Integrations** and find the integration in the list. Choose between **Serial** or **Network**. For network configure host and port. For serial, a list of detected devices is presented. Choose the RFXCOM device or select **Enter Manually** to fill in the USB path manually.
+## Debug logging
To receive debug logging from the RFXCOM device, add the following lines to `configuration.yaml`:
diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown
index 4679a211edc..69d27086cee 100644
--- a/source/_integrations/ring.markdown
+++ b/source/_integrations/ring.markdown
@@ -36,11 +36,7 @@ There is currently support for the following device types within Home Assistant:
This component does NOT allow for live viewing of your Ring camera within Home Assistant.
-## Configuration
-
-Go to the integrations page in your configuration and click on new integration -> Ring.
-
-YAML configuration is no longer available because it cannot handle two-factor authentication.
+{% include integrations/config_flow.md %}
## Binary Sensor
diff --git a/source/_integrations/risco.markdown b/source/_integrations/risco.markdown
index c47f9455bbb..472fb3df708 100644
--- a/source/_integrations/risco.markdown
+++ b/source/_integrations/risco.markdown
@@ -23,18 +23,10 @@ This integration connects with Risco Alarms over [Risco Cloud](https://riscoclou
It is recommended to use a regular (non-owner) account with the Risco app/website, and use a different regular account with the integration. Risco has restrictions on concurrent uses by different users, especially if they have different permission levels.
-## Configuration
-This integration can be configured using the integrations panel in the
-Home Assistant frontend.
+{% include integrations/config_flow.md %}
-Menu: **Configuration** -> **Integrations**.
-
-Click on the `+` sign to add an integration and click on **Risco**.
-You will be prompted for your username, password, and pin code (you can create a specific user for this purpose).
-An Alarm Control Panel entity will be created for each partition in your site, and binary sensors for each of your zones.
-
-Additionally, 4 sensors will be created to store events, depending on the category (Status, Alarm, Trouble and Other). Each sensor
+4 sensors will be created to store events, depending on the category (Status, Alarm, Trouble and Other). Each sensor
has the event timestamp as the state, and other event information in attributes.
If you have multiple sites, only the first site will be used.
diff --git a/source/_integrations/roku.markdown b/source/_integrations/roku.markdown
index a368927c0cf..c82634aeeb6 100644
--- a/source/_integrations/roku.markdown
+++ b/source/_integrations/roku.markdown
@@ -20,33 +20,13 @@ ha_platforms:
The Roku integration allows you to control a [Roku](https://www.roku.com/) device.
-### Configuration
-
-Go to the integrations page in your configuration and click on new integration -> Roku.
-If your Roku device is on, it has likely been discovered already and you just have to confirm the detected device.
+{% include integrations/config_flow.md %}
There is currently support for the following device types within Home Assistant:
- Media Player
- Remote
-### YAML Configuration
-
-Manual configuration of your Roku device is also possible, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-roku:
- - host: IP_ADDRESS
-```
-
-{% configuration %}
-host:
- description: Set the IP address of the Roku device.
- required: true
- type: string
-{% endconfiguration %}
-
## Remote
The `roku` remote platform allows you to send remote control buttons to a Roku device. It is automatically set up when a Roku is configured.
diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown
index 53dd9edb84c..d68a01fe1e6 100644
--- a/source/_integrations/roomba.markdown
+++ b/source/_integrations/roomba.markdown
@@ -29,9 +29,7 @@ The `roomba` integration allows you to control your [iRobot Roomba](https://www.
This platform has been tested and is confirmed to be working with the iRobot Roomba s9+, Roomba 980, Roomba 960, Roomba 890, and Braava jet m6 models, but should also work fine with any Wi-Fi enabled Roomba or Braava like the 690.