diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index ca1e0ec7893..7c7094553fa 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -11,7 +11,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@v4.0.0 + - uses: dessant/lock-threads@v4.0.1 if: ${{ github.repository_owner == 'home-assistant' }} with: github-token: ${{ github.token }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3922c4e2cb0..1d47511c497 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v3.5.3 - name: Setting up Node.js uses: actions/setup-node@v3.6.0 with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v3.5.3 - name: Setting up Node.js uses: actions/setup-node@v3.6.0 with: diff --git a/CODEOWNERS b/CODEOWNERS index 0d807754ce7..bfbff96a982 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -321,7 +321,7 @@ source/_integrations/icloud.markdown @Quentame @nzapponi source/_integrations/ign_sismologia.markdown @exxamalte source/_integrations/image_processing.markdown @home-assistant/core source/_integrations/image_upload.markdown @home-assistant/core -source/_integrations/imap.markdown @engrbm87 @jbouwh +source/_integrations/imap.markdown @jbouwh source/_integrations/incomfort.markdown @zxdavb source/_integrations/influxdb.markdown @mdegat01 source/_integrations/inkbird.markdown @bdraco diff --git a/Gemfile.lock b/Gemfile.lock index 04e641d776f..a5328171897 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,7 +27,7 @@ GEM ffi (1.15.5) ffi (1.15.5-x64-mingw32) forwardable-extended (2.6.0) - google-protobuf (3.23.2) + google-protobuf (3.23.3) http_parser.rb (0.8.0) i18n (1.14.1) concurrent-ruby (~> 1.0) @@ -78,7 +78,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (5.0.1) - racc (1.7.0) + racc (1.7.1) rack (2.2.7) rack-protection (3.0.6) rack @@ -91,10 +91,10 @@ GEM ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) - sass-embedded (1.63.2) + sass-embedded (1.63.6) google-protobuf (~> 3.23) - rake (>= 10.0.0) - sass-embedded (1.63.2-x64-mingw32) + rake (>= 13.0.0) + sass-embedded (1.63.6-x64-mingw32) google-protobuf (~> 3.23) sass-globbing (1.1.5) sass (>= 3.1) diff --git a/README.md b/README.md index e37f7d8f332..da6ba1c152a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Discord](https://img.shields.io/discord/330944238910963714.svg)](https://discord.gg/CxqDrfU) +[![Discord](https://img.shields.io/discord/330944238910963714.svg)](https://www.home-assistant.io/join-chat/) [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) [![Deploys by netlify](https://www.netlify.com/img/global/badges/netlify-color-bg.svg)](https://www.netlify.com) diff --git a/_config.yml b/_config.yml index 6e82dc8f9c6..dfd080a6d2b 100644 --- a/_config.yml +++ b/_config.yml @@ -110,8 +110,8 @@ social: # Home Assistant release details current_major_version: 2023 current_minor_version: 6 -current_patch_version: 0 -date_released: 2023-06-07 +current_patch_version: 3 +date_released: 2023-06-23 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/package-lock.json b/package-lock.json index 3d74f0afad3..146c52833af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "textlint": "^13.3.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", - "textlint-rule-terminology": "^3.0.4" + "textlint-rule-terminology": "^3.0.5" } }, "node_modules/@azu/format-text": { @@ -3928,9 +3928,9 @@ } }, "node_modules/textlint-rule-terminology": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.4.tgz", - "integrity": "sha512-obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.5.tgz", + "integrity": "sha512-IZw8byc4GjyccNjGwSMfy5OSxvjwTGk3IK3qMw2rJ0fsgCYQVlx5JThEQrs4CbWNQN6k2hAinIlxTzxgR00Hmw==", "dev": true, "dependencies": { "lodash": "^4.17.15", diff --git a/package.json b/package.json index bdadae146ac..5cea5020328 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "textlint": "^13.3.2", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", - "textlint-rule-terminology": "^3.0.4" + "textlint-rule-terminology": "^3.0.5" }, "resolutions": { "minimist": ">=1.2.5" diff --git a/sass/custom/_details.scss b/sass/custom/_details.scss index 04b5b9957be..ae6b4ca754c 100644 --- a/sass/custom/_details.scss +++ b/sass/custom/_details.scss @@ -1,6 +1,7 @@ div.details-block { width: 100%; display: block; + margin: 0 0 1.5em 0; .details-block-item { background-color: white; diff --git a/source/_docs/authentication/multi-factor-auth.markdown b/source/_docs/authentication/multi-factor-auth.markdown index 240224f0a83..468e7564038 100644 --- a/source/_docs/authentication/multi-factor-auth.markdown +++ b/source/_docs/authentication/multi-factor-auth.markdown @@ -60,7 +60,7 @@ TOTP is _time based_ so it relies on your Home Assistant clock being accurate. I ### Notify multi-factor authentication module -The Notify MFA module uses the [notify component](/integrations/notify/) to send you an [HMAC-based One-Time Password](https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm). It is typically sent to your phone, but can be sent to any destination supported by a `notify` service. You use this password to log in. +The Notify MFA module uses the [notify integration](/integrations/notify/) to send you an [HMAC-based One-Time Password](https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm). It is typically sent to your phone, but can be sent to any destination supported by a `notify` service. You use this password to log in. #### Setting up MFA notify diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index 2b058199c05..14903b0d2e0 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -197,7 +197,7 @@ For now, meta variables are only respected the first time a particular user is a This is a legacy feature for backwards compatibility and will be dropped in a future release. You should move to one of the other auth providers. -Activating this auth provider will allow you to authenticate with the API password set in the HTTP component. +Activating this auth provider will allow you to authenticate with the API password set in the HTTP integration. ```yaml homeassistant: diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index 6a7ed7b14a4..1374db5b28c 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -9,7 +9,7 @@ From the UI, choose **{% my config %}** which is located in the sidebar, then cl ![Create automation dialogue box](/images/docs/automation-editor/create-automation.png) -Click on the **Add Trigger** button and select **Nurmeric state**. +Click on the **Add Trigger** button and select **Numeric state**. ![Add trigger](/images/docs/automation-editor/add-trigger-to-automation.png) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 880ee70cc73..d1c7d235075 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -33,6 +33,11 @@ An automation can be triggered by an event, a certain entity state, at a given t All triggers can be assigned an optional `id`. If the ID is omitted, it will instead be set to the index of the trigger. The `id` can be referenced from [trigger conditions and actions](/docs/scripts/conditions/#trigger-condition). The `id` does not have to be unique for each trigger, and it can be used to group similar triggers for use later in the automation (i.e., several triggers of different types that should all turn some entity on). +### Video Tutorial +This video tutorial explains how trigger IDs work. + + + ```yaml automation: trigger: @@ -522,7 +527,7 @@ If for your use case this is undesired, you could consider using the automation Fires when the sun is setting or rising, i.e., when the sun elevation reaches 0°. -An optional time offset can be given to have it fire a set time before or after the sun event (e.g., 45 minutes before sunset). A negative value makes it fire before sunrise or sunset, a positive value afterwards. The offset needs to be specified in a hh:mm:ss format. +An optional time offset can be given to have it fire a set time before or after the sun event (e.g., 45 minutes before sunset). A negative value makes it fire before sunrise or sunset, a positive value afterwards. The offset needs to be specified in number of seconds, or in a hh:mm:ss format.
@@ -890,7 +895,7 @@ If you would like to use a device trigger for an automation that is not managed ## Calendar trigger Calendar trigger fires when a [Calendar](/integrations/calendar/) event starts or ends, allowing -much more flexible automations that using the Calendar entity state which only supports a single +for much more flexible automations than using the Calendar entity state which only supports a single event start at a time. An optional time offset can be given to have it fire a set time before or after the calendar event (e.g., 5 minutes before event start). diff --git a/source/_docs/automation/using_blueprints.markdown b/source/_docs/automation/using_blueprints.markdown index 1d9c86b97c2..f5b6a186355 100644 --- a/source/_docs/automation/using_blueprints.markdown +++ b/source/_docs/automation/using_blueprints.markdown @@ -1,5 +1,5 @@ --- -title: "Using Automation Blueprints" +title: "Using automation blueprints" description: "How to create automations based off blueprints." --- @@ -9,31 +9,35 @@ Quick links: - [Blueprints in the Home Assistant forums][blueprint-forums] -## Blueprint Automations +## Blueprint automations -Automations based on a blueprint only need to be configured to be used. What needs to be configured differs on each blueprint. +Automations based on a blueprint need to be configured. What needs to be configured differs on each blueprint. -To create your first automation based on a blueprint, go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. Find the blueprint that you want to use and select **Create Automation**. +1. To create your first automation based on a blueprint, go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. +1. Find the blueprint that you want to use and select **Create Automation**. + - This opens the automation editor with the blueprint selected. +1. Give it a name and configure the blueprint. +1. Select the blue **Save Automation** button in the bottom right corner. -This will open the automation editor with the blueprint selected. Give it a name and configure the blueprint and click on the blue button "Save Automation" in the bottom right. - -Done! If you want to revisit the configuration values, you can find it by going to **Settings** and then **{% my blueprints %}**. +Done! If you want to revisit the configuration values, go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. ## Importing blueprints -Home Assistant can import blueprints from the Home Assistant forums, GitHub and GitHub gists. +Home Assistant can import blueprints from the Home Assistant forums, GitHub, and GitHub gists. -To do this, first [find a blueprint you want to import][blueprint-forums]. If you just want to practice importing, you can use this URL: +1. To import a blueprint, first [find a blueprint you want to import][blueprint-forums]. + - If you just want to practice importing, you can use this URL: -```text -https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml -``` + ```text + https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml + ``` -Go to **{% my config %}** and then **{% my blueprints %}**. Click on the blue "{% my blueprint_import blueprint="https://github.com/home-assistant/core/blob/master/homeassistant/components/automation/blueprints/motion_light.yaml" %} button in the bottom right. - -A new dialog will pop-up asking you for the URL. Enter the URL and click on "preview blueprint". - -This will load the blueprint and show a preview in the import dialog. You can change the name and finish the import. +1. Go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. +1. Select the blue **{% my blueprint_import blueprint="https://github.com/home-assistant/core/blob/master/homeassistant/components/automation/blueprints/motion_light.yaml" %}** button in the bottom right. + - A new dialog will pop-up asking you for the URL. +1. Enter the URL and select **Preview**. + - This will load the blueprint and show a preview in the import dialog. + - You can change the name and finish the import. The blueprint can now be used for creating automations. @@ -46,11 +50,11 @@ While there's no built-in functionality to update a blueprint you've already imp its YAML content to keep it up to date: 1. Navigate to the blueprints directory (`blueprints/automation/`). - The location of this directory depends on the installation method and it's + The location of this directory depends on the installation method. It's similar to how you find [`configuration.yaml`](/docs/configuration/#editing-configurationyaml). 1. Next, you must find the blueprint to update. The path name of a blueprint consists of: - - The username of the user that created it, which depends from where you imported the blueprint, - the forum or GitHub. + - The username of the user that created it. The name depends on the source of the blueprint: + the forum, or GitHub. - The name of the YAML file. For the forum it's the title of the topic in the URL, for GitHub it's the name of the YAML file. 1. Open the YAML file with your editor and update its contents. @@ -71,7 +75,7 @@ The Home Assistant Community forums have a specific tag for blueprints. This tag Using blueprints is nice and easy, but what if you could create that one missing blueprint that our community definitely needs? -Learn more about blueprint by [reading our tutorial on creating a blueprint](/docs/blueprint/tutorial/). +Learn more about blueprints by [reading our tutorial on creating a blueprint](/docs/blueprint/tutorial/). ## Troubleshooting missing automations diff --git a/source/_docs/automation/yaml.markdown b/source/_docs/automation/yaml.markdown index 8d62662467a..c56865cbb83 100644 --- a/source/_docs/automation/yaml.markdown +++ b/source/_docs/automation/yaml.markdown @@ -189,7 +189,7 @@ automation my_lights: data: message: "Paulus left the house" - # Send a notification via Pushover with the event of a Xiaomi cube. Custom event from the Xiaomi component. + # Send a notification via Pushover with the event of a Xiaomi cube. Custom event from the Xiaomi integration. - alias: "Xiaomi Cube Action" initial_state: false trigger: diff --git a/source/_docs/backend/database.markdown b/source/_docs/backend/database.markdown index 5de5e083790..70a564d3561 100644 --- a/source/_docs/backend/database.markdown +++ b/source/_docs/backend/database.markdown @@ -3,7 +3,7 @@ title: "Database" description: "Details about the database used by Home Assistant." --- -Home Assistant uses database to store events and parameters for history and tracking. The default database used is [SQLite](https://www.sqlite.org/) and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/). +Home Assistant uses database to store events and parameters for history and tracking. The default database used is [SQLite](https://www.sqlite.org/) and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` integration](/integrations/recorder/). To work with SQLite database manually from the command-line, you will need an [installation](https://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](https://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands. First load your database with `sqlite3`: diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index 3617d84d3be..eeeb7d55a82 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -127,6 +127,7 @@ device: that at least provide one device that matches the given conditions. Can be either a object or a list of object. type: list + required: false keys: integration: description: > diff --git a/source/_docs/blueprint/tutorial.markdown b/source/_docs/blueprint/tutorial.markdown index 7b3acccd1ac..6726192b829 100644 --- a/source/_docs/blueprint/tutorial.markdown +++ b/source/_docs/blueprint/tutorial.markdown @@ -223,6 +223,11 @@ Don't forget to reload automations after you make changes to your blueprint to h ![Screenshot of the blueprint UI](/images/blueprints/tutorial-ui.png) +### Video Tutorial +This video tutorial explains how to create a blueprint that toggles a light on motion when the lux value is below a certain threshold. + + + ## Share the love The final step is to share this blueprint with others. For this tutorial we're going to share it on GitHub Gists. diff --git a/source/_docs/configuration/events.markdown b/source/_docs/configuration/events.markdown index f9a78e2dbf8..3d4eb05f3df 100644 --- a/source/_docs/configuration/events.markdown +++ b/source/_docs/configuration/events.markdown @@ -98,7 +98,7 @@ This event is fired when a new service has been registered within Home Assistant | Field | Description | | --------- | ----------------------------------------------------------------------- | -| `domain` | The domain of the component that offers this service. Example: `light`. | +| `domain` | The domain of the integration that offers this service. Example: `light`. | | `service` | The name of the service. Example: `turn_on` | ### `service_removed` @@ -107,7 +107,7 @@ This event is fired when a service has been removed from Home Assistant. | Field | Description | | --------- | ----------------------------------------------------------------------- | -| `domain` | The domain of the component that offers this service. Example: `light`. | +| `domain` | The domain of the integration that offers this service. Example: `light`. | | `service` | The name of the service. Example: `turn_on` | ### `state_changed` diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 08f37938bbc..fd63ddde23d 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -3,7 +3,7 @@ title: "Packages" description: "Describes all there is to know about configuration packages in Home Assistant." --- -Packages in Home Assistant provide a way to bundle different component's configuration together. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). +Packages in Home Assistant provide a way to bundle different integration's configuration together. With packages we have a way to include different integrations, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a package name (no spaces, all lower case) followed by a dictionary with the package configuration. For example, package `pack_1` would be created as: @@ -57,7 +57,7 @@ light: There are some rules for packages that will be merged: 1. Platform based integrations (`light`, `switch`, etc) can always be merged. -2. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file. +2. Integrations where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file. For example if we have the following in the main configuration. You are not allowed to re-use "my_input" again for `input_boolean` in a package: @@ -69,22 +69,23 @@ There are some rules for packages that will be merged: 3. Any integration that is not a platform [1], or dictionaries with Entity ID keys [2] can only be merged if its keys, except those for lists, are solely defined once.
-Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the integration name. +Integrations inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the integration name.
## Create a packages folder -One way to organize packages is to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your `configuration.yaml` will load all packages: +One way to organize packages is to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory, you can store any number of packages in a YAML file. This entry in your `configuration.yaml` will load all YAML-files in this _packages_ folder and its subfolders: ```yaml homeassistant: packages: !include_dir_named packages ``` -This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. -See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. The benefit of this approach is to pull all configurations required to integrate a system, into one file, rather than across several. +The benefit of this approach is to pull all configurations required to integrate a system into one file—rather than keeping them spread across several files. +You can use other `!include` methods for packages; for example `!include_dir_merge_named`. However, unlike `!include_dir_merge_named`, the `!include_dir_named` method uses the same indentation as the 'configuration.yaml'. This means that you can copy and paste elements from the config file. With `!include_dir_named`, the file name is used as the package name. File names must be unique. + +With the `!include_dir_merge_named` method, the package name has to be included in the file. The configuration below then needs to be indented accordingly. This means you cannot directly copy and paste from the configuration file. -The following example allows to have subfolders in the `packages` folder, which could make managing multiple packages easier by grouping: ```yaml homeassistant: @@ -102,6 +103,7 @@ subsystem1_functionality1: automation: ``` + ## Customizing entities with packages It is possible to [customize entities](/docs/configuration/customizing-devices/) within packages. Just create your customization entries under: diff --git a/source/_docs/configuration/platform_options.markdown b/source/_docs/configuration/platform_options.markdown index f632baa4128..0f0c443d67d 100644 --- a/source/_docs/configuration/platform_options.markdown +++ b/source/_docs/configuration/platform_options.markdown @@ -7,11 +7,11 @@ description: "Shows how to customize polling interval for any integration via co These options are being phased out and are only available for single platform integrations.
-Some integrations or platforms (those that are based on the [entity](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/helpers/entity.py) class) allows various extra options to be set. +Some integrations or platforms (those that are based on the [entity](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/helpers/entity.py) class) allow various extra options to be set. ## Entity namespace -By setting an entity namespace, all entities will be prefixed with that namespace. That way `light.bathroom` can become `light.holiday_house_bathroom`. +By setting an entity namespace, all entities will be prefixed with that namespace. That way, `light.bathroom` can become `light.holiday_house_bathroom`. ```yaml # Example configuration.yaml entry @@ -20,9 +20,9 @@ light: entity_namespace: holiday_house ``` -## Scan Interval +## Scan interval -Platforms that require polling will be polled in an interval specified by the main component. For example a light will check every 30 seconds for a changed state. It is possible to overwrite this scan interval for any platform that is being polled by specifying a `scan_interval` configuration key. In the example below we set up the `your_lights` platform but tell Home Assistant to poll the devices every 10 seconds instead of the default 30 seconds. +Platforms that require polling will be polled in an interval specified by the main integration. For example, a light will check every 30 seconds for a changed state. It is possible to overwrite this scanning interval for any platform that is being polled by specifying a `scan_interval` configuration key. In the example below, we set up the `your_lights` platform but tell Home Assistant to poll the devices every 10 seconds instead of the default 30 seconds. ```yaml # Example configuration.yaml entry to poll your_lights every 10 seconds. diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index c3bbe7874c1..f1722b57b8c 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -10,7 +10,7 @@ This is an advanced feature of Home Assistant. You'll need a basic understanding Templating is a powerful feature that allows you to control information going into and out of the system. It is used for: -- Formatting outgoing messages in, for example, the [notify](/integrations/notify/) platforms and [Alexa](/integrations/alexa/) component. +- Formatting outgoing messages in, for example, the [notify](/integrations/notify/) platforms and [Alexa](/integrations/alexa/) integration. - Process incoming data from sources that provide raw data, like [MQTT](/docs/configuration/templating/#using-templates-with-the-mqtt-integration), [`rest` sensor](/integrations/rest/) or the [`command_line` sensor](/integrations/sensor.command_line/). - [Automation Templating](/docs/automation/templating/). diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown index 47b423abb3e..d391d374bf5 100644 --- a/source/_docs/configuration/troubleshooting.markdown +++ b/source/_docs/configuration/troubleshooting.markdown @@ -29,7 +29,7 @@ One of the most common problems with Home Assistant is an invalid `configuration - You can verify your configuration's YAML structure using [this online YAML parser](https://yaml-online-parser.appspot.com/) or [YAML Validator](https://codebeautify.org/yaml-validator/). - To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltproject.io/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well). -`configuration.yaml` does not allow multiple sections to have the same name. If you want to load multiple platforms for one component, you can append a number or string to the name or nest them: +`configuration.yaml` does not allow multiple sections to have the same name. If you want to load multiple platforms for one integration, you can append a number or string to the name or nest them: ```yaml sensor: @@ -39,7 +39,7 @@ sensor: ... ``` -Another common problem is that a required configuration setting is missing. If this is the case, the integration will report this to `home-assistant.log`. You can have a look at [the various integration pages](/integrations/) for instructions on how to setup the components. +Another common problem is that a required configuration setting is missing. If this is the case, the integration will report this to `home-assistant.log`. You can have a look at [the various integration pages](/integrations/) for instructions on how to setup the integrations. See the [logger](/integrations/logger/) integration for instructions on how to define the level of logging you require for specific modules. diff --git a/source/_includes/common-tasks/configuration_check.md b/source/_includes/common-tasks/configuration_check.md index 4f39fdce11e..cc68d407518 100644 --- a/source/_includes/common-tasks/configuration_check.md +++ b/source/_includes/common-tasks/configuration_check.md @@ -22,13 +22,13 @@ Listing all loaded files: docker exec homeassistant python -m homeassistant --script check_config --files ``` -Viewing a component’s configuration ([`light`](/integrations/light) in this example): +Viewing an integration’s configuration ([`light`](/integrations/light) in this example): ```bash docker exec homeassistant python -m homeassistant --script check_config --info light ``` -Or all components’ configuration +Or all integrations’ configuration ```bash docker exec homeassistant python -m homeassistant --script check_config --info all @@ -68,13 +68,13 @@ docker exec homeassistant python -m homeassistant --script check_config --help hass --script check_config --files ``` - Viewing a component’s configuration ([`light`](/integrations/light) in this example): + Viewing a integration’s configuration ([`light`](/integrations/light) in this example): ```bash hass --script check_config --info light ``` - Or all components’ configuration + Or all integrations’ configuration ```bash hass --script check_config --info all diff --git a/source/_includes/common-tasks/network_storage.md b/source/_includes/common-tasks/network_storage.md index a73705edbc8..0fcbec34c9e 100644 --- a/source/_includes/common-tasks/network_storage.md +++ b/source/_includes/common-tasks/network_storage.md @@ -9,6 +9,14 @@ To list all your currently connected network storages, go to **{% my storage tit You need to update to Home Assistant Operating System 10.2 before you can use this feature. +{% else %} + +
+ + You need to make sure you run a supported Home Assistant Supervised installation with the latest version of the [os-agent](https://github.com/home-assistant/os-agent). Make sure that your supervisor uses [slave bind propagation](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) for the data volume. + +
+ {% endif %}

@@ -40,14 +48,14 @@ To list all your currently connected network storages, go to **{% my storage tit Name: description: This is the name that will be used for the mounted directory on your system. Usage: - description: Here, you select how the target should be used. + description: Here, you select how the target should be used. [See usage types below](#usage-types) Server: description: The IP/hostname of the server running NFS/CIFS. -Protocol: +"Protocol3": description: The service the server is using for the network storage. "[NFS]1 Remote share path": description: The path used to connect to the remote storage server. -"[CIFS]2 Username": +"[CIFS]2 Username4": description: The username to use when connecting to the storage server. "[CIFS]2 Password": description: The password to use when connecting to the storage server. @@ -55,8 +63,21 @@ Protocol: description: The share to connect to on the storage server. {% endconfiguration_basic %} -1 _Options prefixed with `[NFS]` is only available for NFS targets._
-2 _Options prefixed with `[CIFS]` is only available for CIFS targets._ +1 _Options prefixed with `[NFS]` are only available for NFS targets._
+2 _Options prefixed with `[CIFS]` are only available for CIFS targets._
+3 _For the `CIFS` option, only version 2.1+ is supported._
+4 _Guest access is not supported. You need to supply a username and password to access the share._
+ +##### Usage types + +{% configuration_basic "hassio.network_share.usage" %} +Backup: + description: This will become a target. You can use it in service calls or when manually creating a backup. The first storage you add of this type becomes your new default target. If you want to change the default target, [check out the documentation below](#change-default-backup-location). +Media: + description: A new directory with the name you gave your network storage will be created under `/media`. This directory can be accessed by Home Assistant and add-ons. +Share: + description: A new directory with the name you gave your network storage will be created under `/share`. This directory can be accessed by Home Assistant and add-ons. +{% endconfiguration_basic %} ### Change default backup location diff --git a/source/_integrations/alarm_control_panel.mqtt.markdown b/source/_integrations/alarm_control_panel.mqtt.markdown index d76b3cccae8..41e2eed10f6 100644 --- a/source/_integrations/alarm_control_panel.mqtt.markdown +++ b/source/_integrations/alarm_control_panel.mqtt.markdown @@ -105,7 +105,7 @@ command_topic: required: true type: string device: - description: "Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown index 09f4f5af901..8f0b97ecb77 100644 --- a/source/_integrations/alarmdecoder.markdown +++ b/source/_integrations/alarmdecoder.markdown @@ -26,7 +26,7 @@ There is currently support for the following device types within Home Assistant: - Sensor: Emulates a keypad display - Binary Sensor: Reports on zone status -This is a fully event-based component. Any event sent by the AlarmDecoder device will be immediately reflected within Home Assistant. +This is a fully event-based integration. Any event sent by the AlarmDecoder device will be immediately reflected within Home Assistant. {% include integrations/config_flow.md %} diff --git a/source/_integrations/alert.markdown b/source/_integrations/alert.markdown index 9077891255c..203d7c4b7a2 100644 --- a/source/_integrations/alert.markdown +++ b/source/_integrations/alert.markdown @@ -125,7 +125,7 @@ you specify a `target` parameter when sending the notification), you can use the `group` notification to wrap them for an alert. Simply create a `group` notification type with a single notification member (such as `twilio_sms`) specifying the required parameters other than `message` -provided by the `alert` component: +provided by the `alert` integration: ```yaml - platform: group diff --git a/source/_integrations/alexa.flash_briefings.markdown b/source/_integrations/alexa.flash_briefings.markdown index faf76f281ce..eefe896b9c8 100644 --- a/source/_integrations/alexa.flash_briefings.markdown +++ b/source/_integrations/alexa.flash_briefings.markdown @@ -87,4 +87,4 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf [templates]: /docs/configuration/templating/ [zero-three-one]: /blog/2016/10/22/flash-briefing-updater-hacktoberfest/ [alexa-settings-site]: https://alexa.amazon.com/ -[emulated-hue-component]: /integrations/emulated_hue/ +[emulated-hue-integration]: /integrations/emulated_hue/ diff --git a/source/_integrations/alexa.markdown b/source/_integrations/alexa.markdown index 78453aa18af..f2f1b501078 100644 --- a/source/_integrations/alexa.markdown +++ b/source/_integrations/alexa.markdown @@ -30,7 +30,7 @@ There are a few ways that you can use Amazon Alexa and Home Assistant together. - Support for viewing and controlling devices with the Alexa mobile app. - [Create a Custom Alexa Skill to build custom commands](/integrations/alexa.intent/) - [Create a new Flash Briefing source](/integrations/alexa.flash_briefings/) -- Alternative: use the [Emulated Hue integration][emulated-hue-component] to trick Alexa into thinking Home Assistant is a Philips Hue hub. +- Alternative: use the [Emulated Hue integration](/integrations/emulated-hue) to trick Alexa into thinking Home Assistant is a Philips Hue hub. ### Requirements @@ -42,4 +42,4 @@ Manual setup of the integration with Amazon Alexa has several requirements: - Smart Home API also needs your Home Assistant instance to be accessible from the Internet. [amazon-dev-console]: https://developer.amazon.com -[emulated-hue-component]: /integrations/emulated_hue/ +[emulated-hue-integration]: /integrations/emulated_hue/ diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 6494b979379..394983d3fc7 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -18,7 +18,7 @@ Amazon Alexa provides a Smart Home API for richer home automation control withou It takes considerable effort to configure. Your Home Assistant instance must be accessible from the Internet, and you need to create an Amazon Developer account and an Amazon Web Services (AWS) account. An easier solution is to use [Home Assistant Cloud](/integrations/cloud/). -The [Emulated Hue integration][emulated-hue-component] provides a simpler alternative to use utterances such as _"Alexa, turn on the kitchen light"_. However, it has some limitations since everything looks like a light bulb. +The [Emulated Hue integration](/integrations/emulated-hue) provides a simpler alternative to use utterances such as _"Alexa, turn on the kitchen light"_. However, it has some limitations since everything looks like a light bulb.

@@ -39,7 +39,7 @@ Steps to Integrate an Amazon Alexa Smart Home Skill with Home Assistant: - [Test the Lambda Function](#test-the-lambda-function) - [Configure the Smart Home Service Endpoint](#configure-the-smart-home-service-endpoint) - [Account Linking](#account-linking) -- [Alexa Smart Home Component Configuration](#alexa-smart-home-component-configuration) +- [Alexa Smart Home Integration Configuration](#alexa-smart-home-integration-configuration) - [Supported Platforms](#supported-platforms) - [Alarm Control Panel](#alarm-control-panel) - [Arming](#arming) @@ -169,7 +169,7 @@ Next you need create a Lambda function. ### Test the Lambda Function -Now, you have created the Lambda function, but before you can test it, you have to set up the necessary aspects of your Home Assistant configuration. Put the following minimal configuration into your `configuration.yaml` file. It will expose all of your supported devices and automations to Alexa. It is strongly recommended to check the [configuration section](#alexa-smart-home-component-configuration) and setup control of which devices and entities are exposed. +Now, you have created the Lambda function, but before you can test it, you have to set up the necessary aspects of your Home Assistant configuration. Put the following minimal configuration into your `configuration.yaml` file. It will expose all of your supported devices and automations to Alexa. It is strongly recommended to check the [configuration section](#alexa-smart-home-integration-configuration) and setup control of which devices and entities are exposed. ```yaml alexa: @@ -259,7 +259,7 @@ Alexa needs to link your Amazon account to your Home Assistant account. Therefor - If not, ask Alexa to `Discover Devices` - Now, you can ask Alexa from your Echo or the Alexa App, _"Alexa, turn on bedroom light"_ 🎉 -## Alexa Smart Home Component Configuration +## Alexa Smart Home Integration Configuration Example configuration: @@ -425,7 +425,7 @@ alexa: {% include common-tasks/filters.md %} -See the [troubleshooting](#troubleshooting) if for issues setting up the integration. +See the [troubleshooting](#troubleshooting) if you're experiencing issues setting up the integration. ### Alexa Display Categories @@ -456,7 +456,7 @@ The following integrations are currently supported: - [Test the Lambda Function](#test-the-lambda-function) - [Configure the Smart Home Service Endpoint](#configure-the-smart-home-service-endpoint) - [Account Linking](#account-linking) -- [Alexa Smart Home Component Configuration](#alexa-smart-home-component-configuration) +- [Alexa Smart Home Integration Configuration](#alexa-smart-home-integration-configuration) - [Supported Platforms](#supported-platforms) - [Alarm Control Panel](#alarm-control-panel) - [Arming](#arming) @@ -1105,7 +1105,7 @@ logger: ``` [alexa-dev-console]: https://developer.amazon.com/alexa/console/ask -[emulated-hue-component]: /integrations/emulated_hue/ +[emulated-hue-integration]: /integrations/emulated_hue/ [generate-long-lived-access-token]: https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token [alexa-display-categories]: https://developer.amazon.com/docs/alexa/device-apis/alexa-discovery.html#display-categories [alexa-supported-locales]: https://developer.amazon.com/docs/alexa/device-apis/list-of-interfaces.html diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown index ee271787ce5..bb9d9292603 100644 --- a/source/_integrations/ambiclimate.markdown +++ b/source/_integrations/ambiclimate.markdown @@ -45,7 +45,7 @@ Note that you have to select manual mode from the Ambiclimate app to be able to {% include integrations/config_flow.md %} -## Component services +## Integration services Enable comfort mode on your AC: diff --git a/source/_integrations/anel_pwrctrl.markdown b/source/_integrations/anel_pwrctrl.markdown index 8f808e1fca8..9e1e99a67c2 100644 --- a/source/_integrations/anel_pwrctrl.markdown +++ b/source/_integrations/anel_pwrctrl.markdown @@ -11,23 +11,25 @@ ha_platforms: ha_integration_type: integration --- -The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://en.anel.eu/index.htm?src=/produkte/produkte.htm) devices. +The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://en.anel.eu/index.htm?src=/produkte/produkte.htm) devices on firmware 6.x and older. [ANEL PwrCtrl](https://en.anel.eu/index.htm?src=/produkte/produkte.htm) devices on firmware 7.x are not supported. Supported devices (tested): - PwrCtrl HUT +- PwrCtrl Advanced +- PwrCtrl Advanced Power To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry switch: - platform: anel_pwrctrl - host: IP_ADDRESS - port_recv: PORT - port_send: PORT - username: USERNAME - password: PASSWORD + - platform: anel_pwrctrl + host: IP_ADDRESS + port_recv: PORT + port_send: PORT + username: USERNAME + password: PASSWORD ``` {% configuration %} @@ -36,11 +38,11 @@ host: required: false type: string port_recv: - description: The port to receive data from the device. + description: The port on which the device receives data. required: true type: integer port_send: - description: The port to send data to the device. + description: The port from which the device sends data. required: true type: integer username: diff --git a/source/_integrations/apple_tv.markdown b/source/_integrations/apple_tv.markdown index 7a427bfe097..b7a7bf51642 100644 --- a/source/_integrations/apple_tv.markdown +++ b/source/_integrations/apple_tv.markdown @@ -83,25 +83,32 @@ target: ## Remote The Apple TV remote platform will automatically create a Remote entity for each Apple TV -configured on to your Home Assistant instance. +configured on your Home Assistant instance. These entities allow you to turn the device on/off and to send control commands. The following commands are currently available: - `wakeup` +- `suspend` - `home` - `home_hold` - `top_menu` - `menu` - `select` +- `play` +- `pause` - `up` - `down` - `left` - `right` - `volume_up` - `volume_down` +- `previous` +- `next` +- `skip_backward` +- `skip_forward` -**NOTE:** Not all commands are supported by all Apple TV versions +**NOTE:** Not all commands are supported by all Apple TV versions. ### Service `send_command` diff --git a/source/_integrations/aqualogic.markdown b/source/_integrations/aqualogic.markdown index f81b1fae0f2..0876dd58f01 100644 --- a/source/_integrations/aqualogic.markdown +++ b/source/_integrations/aqualogic.markdown @@ -45,7 +45,7 @@ port: ## Sensor -Once you have enabled the AquaLogic component, add the following to your `configuration.yaml` file: +Once you have enabled the AquaLogic integration, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -84,7 +84,7 @@ monitored_conditions: ## Switch -Once you have enabled the AquaLogic component, add the following to your `configuration.yaml` file: +Once you have enabled the AquaLogic integration, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/arcam_fmj.markdown b/source/_integrations/arcam_fmj.markdown index 295b99ac304..d9bb30c4b86 100644 --- a/source/_integrations/arcam_fmj.markdown +++ b/source/_integrations/arcam_fmj.markdown @@ -50,7 +50,7 @@ This integration may also work with [JBL](https://www.jblsynthesis.com/products/ ## Power state -Arcam receivers turn off their network port when in standby, the component will try to reconnect to the receiver every 5 seconds. This means powering on the first zone is not possible over the built-in network connection. +Arcam receivers turn off their network port when in standby, the integration will try to reconnect to the receiver every 5 seconds. This means powering on the first zone is not possible over the built-in network connection. Note: Some newer models offer the ability to configure the device to keep the network port active when in standby mode. This can be found under **HDMI Settings** > **HDMI Bypass & IP**. Enabling **HDMI & IP On** will allow full power control from Home Assistant. diff --git a/source/_integrations/asterisk_mbox.markdown b/source/_integrations/asterisk_mbox.markdown index 188911aaeda..4febe0f5635 100644 --- a/source/_integrations/asterisk_mbox.markdown +++ b/source/_integrations/asterisk_mbox.markdown @@ -11,7 +11,7 @@ ha_integration_type: integration The `asterisk_mbox` Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The integration includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine. -To enable the component, a configuration is required in both Home Assistant as well as on the Asterisk server. +To enable the integration, a configuration is required in both Home Assistant as well as on the Asterisk server. First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox/) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server) diff --git a/source/_integrations/atome.markdown b/source/_integrations/atome.markdown index 22183620e8c..7afcccd7de3 100644 --- a/source/_integrations/atome.markdown +++ b/source/_integrations/atome.markdown @@ -17,7 +17,7 @@ ha_integration_type: integration The `atome` sensor platform is retrieving the consumption of your home from the [Direct Energy Atome electric meter](https://total.direct-energie.com/particuliers/electricite/compteur-linky/atome). This special little device is connected to a Linky Electric Meter, and sends live data to a cloud platform. -As there is no official documentation for the API, the component retrieves data from the API used in the Atome mobile app, [hosted here](https://esoftlink.esoftthings.com/). +As there is no official documentation for the API, the integration retrieves data from the API used in the Atome mobile app, [hosted here](https://esoftlink.esoftthings.com/). ## Configuration diff --git a/source/_integrations/august.markdown b/source/_integrations/august.markdown index 7959ce2243e..b2737f2d025 100644 --- a/source/_integrations/august.markdown +++ b/source/_integrations/august.markdown @@ -73,13 +73,13 @@ Other devices not listed above have not been tested and may not function as expe ## Binary Sensor -If you have an August Doorbell, once you have enabled the August component, you should see following sensors: +If you have an August Doorbell, once you have enabled the August integration, you should see following sensors: - Doorbell ding sensor - Doorbell motion sensor - Doorbell online sensor -If you have an August Smart Lock with DoorSense, once you have enabled the August component, you should see the following sensors: +If you have an August Smart Lock with DoorSense, once you have enabled the August integration, you should see the following sensors: - Door sensor @@ -93,16 +93,16 @@ The `august` camera platform allows you to view the latest camera image (trigger ## Sensor -If you have an August Doorbell with a battery, once you have enabled the August component, you should see the following sensors: +If you have an August Doorbell with a battery, once you have enabled the August integration, you should see the following sensors: - Doorbell Battery -If you have an August Smart Lock, once you have enabled the August component, you should see the following sensors: +If you have an August Smart Lock, once you have enabled the August integration, you should see the following sensors: - Lock Battery - Lock Operation -If you have an August Keypad, once you have enabled the August component, you should see the following sensors: +If you have an August Keypad, once you have enabled the August integration, you should see the following sensors: - Keypad Battery diff --git a/source/_integrations/avion.markdown b/source/_integrations/avion.markdown index 51fdab3cd80..b604754f050 100644 --- a/source/_integrations/avion.markdown +++ b/source/_integrations/avion.markdown @@ -35,7 +35,7 @@ light: - platform: avion ``` -There are two ways to configure this component: username & password, or list of devices. You must choose one. +There are two ways to configure this integration: username & password, or list of devices. You must choose one. {% configuration %} username: diff --git a/source/_integrations/aws.markdown b/source/_integrations/aws.markdown index 2d2f7254208..bf4fa4d7a85 100644 --- a/source/_integrations/aws.markdown +++ b/source/_integrations/aws.markdown @@ -17,7 +17,7 @@ The `aws` integration provides a single place to interact with [Amazon Web Servi You have to have an AWS account to use Amazon Web Services, create one [here](https://aws.amazon.com/free/) with a 12 months free tier benefit. Please note, even in the first 12-months, you may still be billed if you use more resources than offered in the free tier. We advise you to monitor your costs in the [AWS Billing Console](https://console.aws.amazon.com/billing/) closely. You can read the [Control your AWS costs](https://aws.amazon.com/getting-started/hands-on/control-your-costs-free-tier-budgets/) guide for more information. -The `lambda`, `sns`, `sqs`, and `events` services, used in the `aws` component, all provide an **Always Free** tier for all users even after the 12-month period. The general usage in Home Automation will most likely not reach the free tier limit. Please read [Lambda Pricing](https://aws.amazon.com/lambda/pricing/), [SNS Pricing](https://aws.amazon.com/sns/pricing/), [SQS Pricing](https://aws.amazon.com/sqs/pricing/), and [EventBridge Pricing](https://aws.amazon.com/eventbridge/pricing/) for more details. +The `lambda`, `sns`, `sqs`, and `events` services, used in the `aws` integration, all provide an **Always Free** tier for all users even after the 12-month period. The general usage in Home Automation will most likely not reach the free tier limit. Please read [Lambda Pricing](https://aws.amazon.com/lambda/pricing/), [SNS Pricing](https://aws.amazon.com/sns/pricing/), [SQS Pricing](https://aws.amazon.com/sqs/pricing/), and [EventBridge Pricing](https://aws.amazon.com/eventbridge/pricing/) for more details. The `aws` integration is using [botocore](https://botocore.amazonaws.com/v1/documentation/api/latest/index.html) to communicate with Amazon Web Services, which is also used by the [AWS Command Client Interface](https://aws.amazon.com/cli/) tool. Therefore, `aws` shares the same credential and profiles with `awscli` tool. Please read [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) to learn how to get access keys and how to manage them on your local system securely. diff --git a/source/_integrations/backup.markdown b/source/_integrations/backup.markdown index 4500fa674de..3ebc8216f8a 100644 --- a/source/_integrations/backup.markdown +++ b/source/_integrations/backup.markdown @@ -20,7 +20,10 @@ If you use Home Assistant Operating System or Home Assistant Supervised, [back u
-This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: + +### Manual configuration + +The backup integration is by default enabled. If you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry @@ -28,7 +31,7 @@ backup: ``` You need to restart Home Assistant after you add this configuration. -When it has started up again you will find a new "Backup" entry in the main menu (**Settings** -> **System** -> **Backup**). +When it has started up again you will find a new "Backup" entry in the main menu (**{% my backup title="Settings > System > Backups" %}**). The backup files are stored in a new "backups" subdirectory in the root of your configuration directory. diff --git a/source/_integrations/binary_sensor.mqtt.markdown b/source/_integrations/binary_sensor.mqtt.markdown index 347cb372845..774cd57b645 100644 --- a/source/_integrations/binary_sensor.mqtt.markdown +++ b/source/_integrations/binary_sensor.mqtt.markdown @@ -69,7 +69,7 @@ availability_topic: required: false type: string device: - description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/device_registry_index/). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/device_registry_index/). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/bloomsky.markdown b/source/_integrations/bloomsky.markdown index 891997e1ba5..aaa07072597 100644 --- a/source/_integrations/bloomsky.markdown +++ b/source/_integrations/bloomsky.markdown @@ -131,4 +131,4 @@ monitored_conditions: description: Voltage {% endconfiguration %} -More conditions are available using the [BloomSky binary sensor](#binary-sensor) component. +More conditions are available using the [BloomSky binary sensor](#binary-sensor) integration. diff --git a/source/_integrations/bluetooth.markdown b/source/_integrations/bluetooth.markdown index 439484fe1f6..1e06fb9a78f 100644 --- a/source/_integrations/bluetooth.markdown +++ b/source/_integrations/bluetooth.markdown @@ -163,6 +163,10 @@ Performance testing used the following hardware: ### Known working adapters +
+Known working adapters list adapters that do not meet high-performance requirements but will generally work. These adapters vary widely in performance and may take as long as thirty seconds or more to establish a connection. These adapters may also miss advertisements such as button presses or temperature updates. +
+ #### Realtek RTL8761BU adapters
@@ -255,6 +259,21 @@ Bluetooth advertisement bundling reduces traffic between Home Assistant and the ## Troubleshooting +### Improving connection times + +The connection time and performance vary greatly based on the Bluetooth adapter and interference. The below adapters are listed from best-performing to worst-performing: + +- [Ethernet-connected Bluetooth proxies](#remote-adapters-bluetooth-proxies) running ESPHome 2023.6.0 or later with [passive scanning](https://esphome.io/components/esp32_ble_tracker.html#configuration-variables) +- [USB High performance adapter](#known-working-high-performance-adapters) with [passive scanning](#passive-scanning) +- [Wi-Fi-connected Bluetooth proxies](#remote-adapters-bluetooth-proxies) running ESPHome 2023.6.0 or later with [passive scanning](https://esphome.io/components/esp32_ble_tracker.html#configuration-variables) +- [Ethernet-connected Bluetooth proxies](#remote-adapters-bluetooth-proxies) running ESPHome 2023.6.0 or later with [active scanning](https://esphome.io/components/esp32_ble_tracker.html#configuration-variables) +- [USB High performance adapter](#known-working-high-performance-adapters) with active scanning +- [Wi-Fi-connected Bluetooth proxies](#remote-adapters-bluetooth-proxies) running ESPHome 2023.6.0 or later with [active scanning](https://esphome.io/components/esp32_ble_tracker.html#configuration-variables) +- [Onboard high performance adapter](#cypress-based-adapters) with [passive scanning](#passive-scanning) +- [Onboard high performance adapter](#cypress-based-adapters) with active scanning +- [Known working adapters](#known-working-adapters) with [passive scanning](#passive-scanning) +- [Known working adapters](#known-working-adapters) with active scanning + ### Integrations that require exclusive use of the Bluetooth Adapter While newer integrations can share the Bluetooth Adapter, some legacy integrations require exclusive use of the adapter. Enabling this integration may prevent an integration that has not been updated to use newer methods from functioning. diff --git a/source/_integrations/browser.markdown b/source/_integrations/browser.markdown index e7e9160baef..25bd63985ff 100644 --- a/source/_integrations/browser.markdown +++ b/source/_integrations/browser.markdown @@ -14,7 +14,7 @@ The `browser` integration provides a service to open URLs in the default browser ## Configuration -To load this component, add the following lines to your `configuration.yaml`: +To load this integration, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown index 0e3129eeaf9..86d29913d30 100644 --- a/source/_integrations/buienradar.markdown +++ b/source/_integrations/buienradar.markdown @@ -21,7 +21,7 @@ ha_integration_type: integration The Buienradar integration uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. -The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the Buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). +The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the Buienradar weather/sensor integration). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). Besides the weather platform, there is currently support for the following additional device types: @@ -34,7 +34,7 @@ Besides the weather platform, there is currently support for the following addit The `buienradar` camera platform uses [buienradar.nl](https://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant. The Netherlands is the default country and can be changed to Belgium (see [Options](#options)). -Internally this component uses the radar map image as [documented](https://www.buienradar.nl/overbuienradar/gratis-weerdata) on buienradar.nl. +Internally, this integration uses the radar map image as [documented](https://www.buienradar.nl/overbuienradar/gratis-weerdata) on buienradar.nl. The downloaded image is cached to prevent Home Assistant from making a new request to buienradar.nl multiple times a minute when Home Assistant checks for new stills from the camera. The camera entity is added disabled by default and should first be enabled before it starts reading the camera images. diff --git a/source/_integrations/button.mqtt.markdown b/source/_integrations/button.mqtt.markdown index ef9d737cc68..0d5775fad8b 100644 --- a/source/_integrations/button.mqtt.markdown +++ b/source/_integrations/button.mqtt.markdown @@ -67,7 +67,7 @@ command_topic: required: false type: string device: - description: "Information about the device this button is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this button is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/camera.mqtt.markdown b/source/_integrations/camera.mqtt.markdown index fcbb274b3c6..20f2f5b01da 100644 --- a/source/_integrations/camera.mqtt.markdown +++ b/source/_integrations/camera.mqtt.markdown @@ -69,7 +69,7 @@ availability_topic: required: false type: string device: - description: "Information about the device this camera is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this camera is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown index dc345e2fc44..c8573bc7378 100644 --- a/source/_integrations/climate.mqtt.markdown +++ b/source/_integrations/climate.mqtt.markdown @@ -100,7 +100,7 @@ current_temperature_topic: required: false type: string device: - description: 'Information about the device this HVAC device is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' + description: 'Information about the device this HVAC device is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' required: false type: map keys: diff --git a/source/_integrations/color_extractor.markdown b/source/_integrations/color_extractor.markdown index 55ce7361450..cdebda20b26 100644 --- a/source/_integrations/color_extractor.markdown +++ b/source/_integrations/color_extractor.markdown @@ -36,7 +36,7 @@ Passing the key `color_extract_url` to the service call will download the linked
- Please ensure any [external URLs](/docs/configuration/basic/#allowlist_external_urls) or [external files](/docs/configuration/basic/#allowlist_external_dirs) are authorized for use, you will receive error messages if this component is not allowed access to these external resources. + Please ensure any [external URLs](/docs/configuration/basic/#allowlist_external_urls) or [external files](/docs/configuration/basic/#allowlist_external_dirs) are authorized for use. You will receive error messages if this integration is not allowed access to these external resources.
diff --git a/source/_integrations/command_line.markdown b/source/_integrations/command_line.markdown index 7e10f9aaf66..7209e16dd85 100644 --- a/source/_integrations/command_line.markdown +++ b/source/_integrations/command_line.markdown @@ -57,7 +57,7 @@ command_line: description: Let you overwrite the name of the device. required: false type: string - default: "*name* from the device" + default: "Binary Command Sensor" payload_on: description: The payload that represents enabled state. required: false @@ -168,6 +168,7 @@ command_line: description: Name of the command sensor. required: false type: string + default: "Command Sensor" unique_id: description: An ID that uniquely identifies this sensor. Set this to a unique value to allow customization through the UI. required: false @@ -195,6 +196,14 @@ command_line: required: false type: integer default: 60 + device_class: + description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`. + required: false + type: device_class + state_class: + description: "The [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor. This will display the value based on the **Number Format** defined in the user profile." + required: false + type: string switch: description: Switch platform. required: false @@ -250,6 +259,8 @@ To use your Command binary sensor in your installation, add the following to you command_line: - binary_sensor: command: "cat /proc/sys/net/ipv4/ip_forward" + - binary_sensor: + command: "echo 1" ``` {% endraw%} @@ -298,6 +309,8 @@ To enable it, add the following lines to your `configuration.yaml`: command_line: - sensor: command: SENSOR_COMMAND + - sensor: + command: SENSOR_COMMAND_2 ``` {% endraw%} @@ -327,7 +340,7 @@ A note on `name` for `cover` and `switch`: The use of `friendly_name` and `object_id` has been deprecated and the slugified `name` will also be used as identifier. -Use `unique_id` to enable changing the name from the UI if required to use `name` as identifier object as required. +Use `unique_id` to enable changing the name from the UI and if required, use the slugified `name` as identifier.
@@ -603,7 +616,7 @@ command_line: command_state: curl http://ip_address/api/sensors/27/ value_template: > {{value_json.config.on}} - icon_template: > + icon: > {% if value_json.config.on == true %} mdi:toggle-switch {% else %} mdi:toggle-switch-off {% endif %} diff --git a/source/_integrations/config.markdown b/source/_integrations/config.markdown index 614fec55893..20806a279d0 100644 --- a/source/_integrations/config.markdown +++ b/source/_integrations/config.markdown @@ -44,7 +44,7 @@ This section enables you to control Home Assistant from within Home Assistant. C ### Persons -This section enables you to associate users with their device tracker entities using the person component. +This section enables you to associate users with their device tracker entities using the person integration. ### Entities diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown index 56d4614d4b9..423e4a3d53d 100644 --- a/source/_integrations/configurator.markdown +++ b/source/_integrations/configurator.markdown @@ -1,6 +1,6 @@ --- title: Configurator -description: Instructions on how to integrate the configurator in your components. +description: Instructions on how to integrate the configurator into your integrations. ha_category: - Other ha_release: 0.7 @@ -21,6 +21,6 @@ The configurator integration allows integrations to request information from the - Input fields can be defined with a description, and optional type - It will trigger a callback when the button is pressed -The Hue integration in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/demo) for a simple example. +The Hue integration in [the demo](https://demo.home-assistant.io/) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/demo) for a simple example. See [the source](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/configurator) for more details on how to use the configurator integration. diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown index 7cc60fa4eac..d8f661d2709 100644 --- a/source/_integrations/conversation.markdown +++ b/source/_integrations/conversation.markdown @@ -62,7 +62,7 @@ To teach Home Assistant how to handle the custom `CustomOutsideHumidity` {% term intent_script: CustomOutsideHumidity: speech: - text: "It is currently {{ states("sensor.outside_humidity") }} percent humidity outside." + text: "It is currently {{ states('sensor.outside_humidity') }} percent humidity outside." ``` {% endraw %} diff --git a/source/_integrations/cover.mqtt.markdown b/source/_integrations/cover.mqtt.markdown index 1b3779192d9..b7d86c70271 100644 --- a/source/_integrations/cover.mqtt.markdown +++ b/source/_integrations/cover.mqtt.markdown @@ -80,7 +80,7 @@ command_topic: required: false type: string device: - description: "Information about the device this cover is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this cover is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/cover.rflink.markdown b/source/_integrations/cover.rflink.markdown index 5c2c0e7a4ae..d1de0fbad3b 100644 --- a/source/_integrations/cover.rflink.markdown +++ b/source/_integrations/cover.rflink.markdown @@ -166,7 +166,7 @@ cover: name: non_kaku_not_inverted_by_default ``` -The configuration above shows that the `type` property may be omitted. When the ID starts with `newkaku`, the component will make sure that the on and off commands are inverted. When the ID does not start with `newkaku`, the on and off commands are not inverted. +The configuration above shows that the `type` property may be omitted. When the ID starts with `newkaku`, the integration will make sure that the on and off commands are inverted. When the ID does not start with `newkaku`, the on and off commands are not inverted. ## Setting up a non-RTS cover diff --git a/source/_integrations/cover.template.markdown b/source/_integrations/cover.template.markdown index 5291ecccaad..51a03e33f8a 100644 --- a/source/_integrations/cover.template.markdown +++ b/source/_integrations/cover.template.markdown @@ -149,7 +149,7 @@ If both a [`value_template`](#value_template) and a [`position_template`](#posit | value_template output | result | | ------------- |-------------| | open | state defined by `position_template` | -| close | state defined by `position_template` | +| closed | state defined by `position_template` | | true | state defined by `position_template` | | false | state defined by `position_template` | | opening | state set to `opening` | diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown index 75cf7929861..f164f2362bf 100644 --- a/source/_integrations/discord.markdown +++ b/source/_integrations/discord.markdown @@ -14,7 +14,7 @@ ha_platforms: ha_integration_type: service --- -The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows integrations to send messages to the user using Discord. +The [Discord service](https://discordapp.com/) is a platform for the notify integration. This allows integrations to send messages to the user using Discord. ## Prerequisites diff --git a/source/_integrations/dominos.markdown b/source/_integrations/dominos.markdown index e2b40f5f12a..eb4adb7ab54 100644 --- a/source/_integrations/dominos.markdown +++ b/source/_integrations/dominos.markdown @@ -15,7 +15,7 @@ At present, this integration only supports ordering within Canada and the US. ## Configuration -To enable the component, you need to set up your customer information and define some orders. +To enable the integration, you need to set up your customer information and define some orders. Orders are a group of product codes. You can get these product codes by inspecting an order request from the Dominos web app, or you can [add this custom panel by following this readme](https://github.com/craigjmidwinter/hass-dominos-panel) to see the available product codes in a separate panel in your install. diff --git a/source/_integrations/ebusd.markdown b/source/_integrations/ebusd.markdown index 403a344df02..38c274dfa85 100644 --- a/source/_integrations/ebusd.markdown +++ b/source/_integrations/ebusd.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -Integration between [ebusd](https://github.com/john30/ebusd/) daemon for communication with eBUS heating systems, and Home Assistant using sensor component. +Integration between the [ebusd](https://github.com/john30/ebusd/) daemon (used for communication with the eBUS heating systems), and Home Assistant. The ebusd integrations uses the sensor integration. ## Configuration diff --git a/source/_integrations/ecovacs.markdown b/source/_integrations/ecovacs.markdown index b3a9cad21c5..d8066c8aec6 100644 --- a/source/_integrations/ecovacs.markdown +++ b/source/_integrations/ecovacs.markdown @@ -62,7 +62,7 @@ The library that talks to the Ecovacs servers is in a very early state and still Please see the [py-sucks library documentation](https://github.com/mib1185/py-sucks) for some more information about what has been tested, and check out the GitHub issues to see if the issue you're having is known or being worked on. -If you have an issue with the Ecovacs component, please file a [GitHub Issue](https://github.com/home-assistant/home-assistant/issues) and include your Home Assistant logs in the report. To get full debug output from both the Ecovacs integration and the underlying `sucks` library, place this in your `configuration.yaml` file: +If you have an issue with the Ecovacs integration, please file a [GitHub Issue](https://github.com/home-assistant/home-assistant/issues) and include your Home Assistant logs in the report. To get full debug output from both the Ecovacs integration and the underlying `sucks` library, place this in your `configuration.yaml` file: ```yaml logger: @@ -79,7 +79,7 @@ logger: The `ecovacs` vacuum platform allows you to monitor and control your Ecovacs Deebot vacuums. -### Component Lifespans +### Integration lifespan The remaining lifespan of components on your Deebot vacuum will be reported as attributes on the vacuum entity. The value will be a whole number representing the percentage of life remaining. diff --git a/source/_integrations/eight_sleep.markdown b/source/_integrations/eight_sleep.markdown index e712f508895..815aab3eb30 100644 --- a/source/_integrations/eight_sleep.markdown +++ b/source/_integrations/eight_sleep.markdown @@ -104,4 +104,4 @@ script: ## Notice -Please note this component relies on an undocumented API utilized by the Eight Sleep mobile app to communicate with the Eight Sleep servers. It is not supported by Eight Sleep and may malfunction if changes are made to either the mobile app operation or the API format. +This integration relies on an undocumented API utilized by the Eight Sleep mobile app to communicate with the Eight Sleep servers. It is not supported by Eight Sleep and may malfunction if changes are made to either the mobile app operation or the API format. diff --git a/source/_integrations/emoncms_history.markdown b/source/_integrations/emoncms_history.markdown index 8e287e5b728..42ccb2fe9ad 100644 --- a/source/_integrations/emoncms_history.markdown +++ b/source/_integrations/emoncms_history.markdown @@ -34,7 +34,7 @@ url: required: true type: string inputnode: - description: Input node that will be used inside Emoncms. Please make sure you use a dedicated, not used before, node for this component! + description: Input node that will be used inside Emoncms. Please make sure you use a dedicated, not used before, node for this integration! required: true type: integer whitelist: diff --git a/source/_integrations/envisalink.markdown b/source/_integrations/envisalink.markdown index 8e922199441..0cba7ef0b4a 100644 --- a/source/_integrations/envisalink.markdown +++ b/source/_integrations/envisalink.markdown @@ -28,7 +28,7 @@ There is currently support for the following device types within Home Assistant: - Sensor: Emulates an alphanumeric keypad attached to the alarm panel - Alarm Control Panel: Reports on partition status, and can be used to arm/disarm the system -This is a fully event-based component. Any event sent by the Envisalink device will be immediately reflected within Home Assistant. +This is a fully event-based integration. Any event sent by the Envisalink device will be immediately reflected within Home Assistant. As of 0.29, the alarm_trigger service is supported. It is possible to fire off an envisalink-based alarm directly from Home Assistant. For example, a newer Z-Wave/Zigbee sensor can now be integrated into a legacy alarm system using a Home Assistant automation. @@ -112,7 +112,7 @@ panic_type: default: Police type: string zones: - description: "Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. Zone numbers correspond to the zone numbers configured on your alarm system and must be in the range of 1 to 64. For each zone, at least a name must be given. For more information about the visual representation of a zone, take a look at the [Binary Sensor](/integrations/binary_sensor/#device-class) documentation. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*" + description: "Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. Zone numbers correspond to the zone numbers configured on your alarm system and must be in the range of 1 to 64. For each zone, at least a name must be given. For more information about the visual representation of a zone, take a look at the [Binary Sensor](/integrations/binary_sensor/#device-class) documentation. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*" required: false type: integer keys: diff --git a/source/_integrations/escea.markdown b/source/_integrations/escea.markdown index 84b235b5311..c2e1892cb5d 100644 --- a/source/_integrations/escea.markdown +++ b/source/_integrations/escea.markdown @@ -34,7 +34,7 @@ Fireplace on / off, fan settings, and desired temperature settings are supported ## Debugging -If you're trying to track down issues with the component, set up logging for it: +If you're trying to track down issues with this integration, set up logging for it: ```yaml # Example configuration.yaml with logging for Escea diff --git a/source/_integrations/ezviz.markdown b/source/_integrations/ezviz.markdown index 911a5bb32a9..c6f47aa4d88 100644 --- a/source/_integrations/ezviz.markdown +++ b/source/_integrations/ezviz.markdown @@ -25,10 +25,18 @@ ha_integration_type: integration The `ezviz` sensor platform uses the ezvizlife.com API to interact with the devices. It also exposes an RTSP stream, by using the local camera IPs (so the device hosting Home Assistant has to be able to access the local IP of the cameras). -As there is no official documentation for the API, the component retrieves data from the API used in the EZVIZ mobile app, [hosted here](https://apiieu.ezvizlife.com). +As there is no official documentation for the API, the integration retrieves data from the API used in the EZVIZ mobile app, [hosted here](https://apiieu.ezvizlife.com). The password for each camera is usually written near the QR code. This could be underneath the device or in the user manual. It is usually referred to as the camera "verification code". +The local RTSP server on your camera needs to be enabled. To do that: + +- Open the EZVIZ mobile app. +- Select the profile icon. +- Navigate to **Settings** > **LAN Live View** > **Start Scanning**. +- Select your camera. +- Select the gear-like icon in the top-right corner > **Local Server Settings** > **enable RTSP**. + {% include integrations/config_flow.md %} Your cameras will now show under integration options as "discovered devices". Please complete the setup for each camera to see the video stream within Home Assistant. diff --git a/source/_integrations/fail2ban.markdown b/source/_integrations/fail2ban.markdown index 2be153e75d4..cb962afe728 100644 --- a/source/_integrations/fail2ban.markdown +++ b/source/_integrations/fail2ban.markdown @@ -157,7 +157,7 @@ server { } ``` -Once that's added to the NGINX configuration, we need to modify the Home Assistant `configuration.yaml` such that the `X-Forwarded-For` header can be parsed. This is done by adding the following to the `http` component: +Once that's added to the NGINX configuration, we need to modify the Home Assistant `configuration.yaml` such that the `X-Forwarded-For` header can be parsed. This is done by adding the following to the `http` integration: ```yaml http: diff --git a/source/_integrations/fan.markdown b/source/_integrations/fan.markdown index 90de9c35d79..f7b95510d90 100644 --- a/source/_integrations/fan.markdown +++ b/source/_integrations/fan.markdown @@ -52,7 +52,7 @@ automation: ### Service `fan.set_preset_mode` -Sets a preset mode for the fan device. Available preset modes are defined by the integration that supplies the fan entity to Home Assistant. For example, the ESPHome [Speed Fan](https://esphome.io/components/fan/speed.html) component provides by default three available presets: `Low`, `Medium` and `High`. +Sets a preset mode for the fan device. Available preset modes are defined by the integration that supplies the fan entity to Home Assistant. For example, the ESPHome [Speed Fan](https://esphome.io/components/fan/speed.html) component provides three available presets by default: `Low`, `Medium`, and `High`. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_integrations/fan.mqtt.markdown b/source/_integrations/fan.mqtt.markdown index 96ac5f31431..a3cf1a7d750 100644 --- a/source/_integrations/fan.mqtt.markdown +++ b/source/_integrations/fan.mqtt.markdown @@ -75,7 +75,7 @@ command_topic: required: true type: string device: - description: "Information about the device this fan is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this fan is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/feedreader.markdown b/source/_integrations/feedreader.markdown index 9052eaa6c05..982e23b3a41 100644 --- a/source/_integrations/feedreader.markdown +++ b/source/_integrations/feedreader.markdown @@ -101,6 +101,6 @@ EVENT_FEEDREADER = "feedreader" hass.bus.listen(EVENT_FEEDREADER, event_listener) ``` -To get started developing custom components, please refer to the [developers](/developers) documentation +To get started developing custom integrations, please refer to the [developers](/developers) documentation For a drop in packaged complete example of Feedreader, you can use the [PodCast notifier](https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/packages/hasspodcast.yaml). diff --git a/source/_integrations/filesize.markdown b/source/_integrations/filesize.markdown index ae1b3b86bd7..0b51840c106 100644 --- a/source/_integrations/filesize.markdown +++ b/source/_integrations/filesize.markdown @@ -1,6 +1,6 @@ --- title: File Size -description: Component for monitoring the size of a file. +description: Integration for monitoring the size of a file. ha_category: - Sensor - Utility diff --git a/source/_integrations/filter.markdown b/source/_integrations/filter.markdown index 5c084c1e21e..17be61f7942 100644 --- a/source/_integrations/filter.markdown +++ b/source/_integrations/filter.markdown @@ -17,7 +17,7 @@ ha_integration_type: integration The `filter` platform enables sensors that process the states of other entities. -`filter` applies a signal processing algorithm to a sensor, previous and current states, and generates a `new state` given the chosen algorithm. The next image depicts an original sensor and the filter sensor of that same sensor using the [History Graph](/dashboards/history-graph/) component. +`filter` applies a signal processing algorithm to a sensor, previous and current states, and generates a `new state` given the chosen algorithm. The next image depicts an original sensor and the filter sensor of that same sensor using the [History Graph](/dashboards/history-graph/) integration.

diff --git a/source/_integrations/firmata.markdown b/source/_integrations/firmata.markdown index 8a963fa8cec..dfb6eb4bdbc 100644 --- a/source/_integrations/firmata.markdown +++ b/source/_integrations/firmata.markdown @@ -20,7 +20,7 @@ ha_platforms: ha_integration_type: integration --- -[Firmata](https://github.com/firmata/protocol) can be used to add analog and digital inputs and outputs to Home Assistant. This allows for buttons, switches, motion detectors, relay control, sensors, potentiometers, dimmers, etc. The component can currently connect to a Firmata board via serial or serial over USB. +[Firmata](https://github.com/firmata/protocol) can be used to add analog and digital inputs and outputs to Home Assistant. This allows for buttons, switches, motion detectors, relay control, sensors, potentiometers, dimmers, etc. The integration can currently connect to a Firmata board via serial or serial over USB. The Firmata protocol is a standard protocol for microcontrollers. Most of these boards support digital and analog inputs and outputs. [Arduino](https://www.arduino.cc/) and Arduino-compatible microcontroller development boards are the most popular boards to use with Firmata. diff --git a/source/_integrations/fleetgo.markdown b/source/_integrations/fleetgo.markdown index ddc3596c142..3929cdc2012 100644 --- a/source/_integrations/fleetgo.markdown +++ b/source/_integrations/fleetgo.markdown @@ -15,7 +15,7 @@ The `fleetgo` device tracker platform allows you to integrate your vehicles equi ## Setup -To use this component, you need an **API key** and **API secret**, which can be requested by contacting [info@fleetgo.com](mailto:info@fleetgo.com?subject=API%20Key). +To use this integration, you need an **API key** and **API secret**, which can be requested by contacting [info@fleetgo.com](mailto:info@fleetgo.com?subject=API%20Key). ## Configuration diff --git a/source/_integrations/folder_watcher.markdown b/source/_integrations/folder_watcher.markdown index 97788e9ffa3..e658d5b5808 100644 --- a/source/_integrations/folder_watcher.markdown +++ b/source/_integrations/folder_watcher.markdown @@ -1,6 +1,6 @@ --- title: Folder Watcher -description: Component for monitoring changes within the filesystem. +description: Integration for monitoring changes within the filesystem. ha_category: - System Monitor ha_iot_class: Local Polling diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index 867d96ad78d..54b9d7e3cf9 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -65,7 +65,7 @@ frontend: accent-color: darkred ``` -The example above defines two themes named `happy` and `sad`. For each theme, you can set values for CSS variables. If you want to provide hex color values, wrap those in apostrophes, since otherwise, YAML would consider them a comment (`primary-color: "#123456"`). +The example above defines two themes named `happy` and `sad`. For each theme, you can set values for CSS variables. If you want to provide hex color values, wrap those in quotation marks, since otherwise, YAML would consider them a comment (`primary-color: "#123456"`). ### Supported theme variables diff --git a/source/_integrations/generic.markdown b/source/_integrations/generic.markdown index d4a4dfe70bf..2bdfc163de5 100644 --- a/source/_integrations/generic.markdown +++ b/source/_integrations/generic.markdown @@ -86,12 +86,12 @@ To access a camera which is only available via HTTP, you must turn off SSL verif ### Live stream -To access a camera that has both a snapshot and live stream URL, utilizing the [stream](/integrations/stream/) component. +To access a camera that has both a snapshot and live stream URL, utilizing the [stream](/integrations/stream/) integration. - Still Image URL: `http://194.218.96.92/jpg/image.jpg` - Stream Source: `rtsp://user:pass@194.218.96.92:554` -If a camera only has a live stream URL and no snapshot URL, the [stream](/integrations/stream/) component can also generate still images from the live stream URL. +If a camera only has a live stream URL and no snapshot URL, the [stream](/integrations/stream/) integration can also generate still images from the live stream URL. - Stream Source: `rtsp://user:pass@194.218.96.92:554` diff --git a/source/_integrations/geofency.markdown b/source/_integrations/geofency.markdown index fd5555528b0..4b61198552d 100644 --- a/source/_integrations/geofency.markdown +++ b/source/_integrations/geofency.markdown @@ -43,4 +43,4 @@ geofency: When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to `not home`. For mobile beacons, the location name will be `not_home` whenever the beacon is entered or exited outside of a [zone](/integrations/zone/), otherwise, it will be set to the name of the zone. -To make Geofency work better with the [proximity](/integrations/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. +To make Geofency work better with the [proximity](/integrations/proximity/) integration, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index 524bd77e605..3fdba659654 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -15,17 +15,17 @@ ha_platforms: - diagnostics --- -The `google_assistant` integration allows you to control your Home Assistant devices via Google Assistant on your mobile, tablet or Google Home device. +The `google_assistant` integration allows you to control your Home Assistant devices via Google Assistant on your mobile, tablet, or Google Home device. If you want to send commands to Google Assistant to control devices supported by Google Assistant but not by Home Assistant, or broadcast messages to Google Assistant speakers and displays without interrupting music/video playback, take a look at the [Google Assistant SDK](/integrations/google_assistant_sdk) integration. ## Automatic setup via Home Assistant Cloud -With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Google Assistant. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial. +With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Google Assistant. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates, or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial. -For Home Assistant Cloud Users, documentation can be found [here](https://www.nabucasa.com/config/google_assistant/). +For Home Assistant Cloud users, documentation can be found [here](https://www.nabucasa.com/config/google_assistant/). -## Manual setup +## Manual setup (if you don't have Home Assistant Cloud) The Google Assistant integration (without Home Assistant Cloud) requires a bit more setup than most due to the way Google requires Assistant Apps to be set up. @@ -38,60 +38,60 @@ To use Google Assistant, your Home Assistant configuration has to be [externally ### Google Cloud Platform configuration 1. Create a new project in the [Actions on Google console](https://console.actions.google.com/). - 1. Click `New Project` and give your project a name. - 2. Click on the `Smart Home` card, then click the `Start Building` button. - 3. Click `Name your Smart Home action` under `Quick Setup` to give your Action a name - Home Assistant will appear in the Google Home app as `[test] ` - 4. Click on the `Overview` tab at the top of the page to go back. - 5. Click `Build your Action`, then click `Add Action(s)`. - 6. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the `Fulfillment URL` box, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable. - 7. Click `Save`. - 8. Click the three little dots (more) icon in the upper right corner, select `Project settings` - 9. Make note of the `Project ID` that are listed on the `GENERAL` tab of the `Settings` page. -2. `Account linking` is required for your app to interact with Home Assistant. - 1. Start by going back to the `Overview` tab. - 2. Click on `Setup account linking` under the `Quick Setup` section of the `Overview` page. - 3. If asked, leave options as they default `No, I only want to allow account creation on my website` and select `Next`. - 4. Then if asked, for the `Linking type` select `OAuth` and `Authorization Code`. Click `Next` + 1. Select **New Project** and give your project a name. + 2. Select the **Smart Home** card, then select the **Start Building** button. + 3. Under **Quick Setup**, select **Name your Smart Home action**. Give your Action a name - Home Assistant will appear in the Google Home app as `[test] ` + 4. Select the **Overview** tab at the top of the page to go back. + 5. Select **Build your Action**, then select **Add Action(s)**. + 6. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the **Fulfillment URL** textbox, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable. + 7. Select **Save**. + 8. Select the three little dots (more) icon in the upper right corner, select **Project settings**. + 9. Make note of the **Project ID** that are listed on the **GENERAL** tab of the **Settings** page. +2. **Account linking** is required for your app to interact with Home Assistant. + 1. Start by going back to the **Overview** tab. + 2. Select on **Setup account linking** under the **Quick Setup** section of the **Overview** page. + 3. If asked, leave options as they default **No, I only want to allow account creation on my website** and select **Next**. + 4. Then if asked, for the **Linking type** select **OAuth** and **Authorization Code**. Select **Next**. 5. Enter the following: 1. Client ID: `https://oauth-redirect.googleusercontent.com/r/[YOUR_PROJECT_ID]`. (Replace `[YOUR_PROJECT_ID]` with your project ID from above) 2. Client Secret: Anything you like, Home Assistant doesn't need this field. 3. Authorization URL: `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`. (Replace `[YOUR HOME ASSISTANT URL:PORT]` with your values.) 4. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. (Replace `[YOUR HOME ASSISTANT URL:PORT]` with your values.) - Click `Next`, then `Next` again. - 6. In the `Configure your client` `Scopes` textbox, type `email` and click `Add scope`, then type `name` and click `Add scope` again. - 7. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - 8. Click `Next`, then click `Save` + Select **Next**, then **Next** again. + 6. In the **Configure your client** **Scopes** textbox, type `email` and select **Add scope**, then type `name` and select **Add scope** again. + 7. Do **NOT** check **Google to transmit clientID and secret via HTTP basic auth header**. + 8. Select **Next**, then select **Save**. Screenshot: Account linking -3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. If you don't see this option, go to the `Test` tab instead, click on the `Settings` button in the top right below the header, and ensure `On device testing` is enabled (if it isn't, enable it). +3. Select the **Develop** tab at the top of the page, then, in the upper right hand corner, select the **Test** button to generate the draft version Test App. If you don't see this option, go to the **Test** tab instead, select the **Settings** button in the top right below the header, and ensure **On device testing** is enabled (if it isn't, enable it). 4. Go to [Google Cloud Platform](https://console.cloud.google.com/). - 1. Go to `Select a project`. + 1. Go to **Select a project**. 2. In the window that popped up, select your newly created project from step 1. - 3. Go to the menu and select `APIs and Services`and next `Credentials`. - 4. In the Credentials view, select `Create credentials` and next `Service account`. - 1. `Service account name`: Give your account a self-selected name. - 2. Click `Create`. - 3. `Select a role`: `Service Accounts` and `Service Account Token Creator`. - 4. Click `Continue`. - 5. Click on `Done`. - 5. Under `Service Accounts` there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com. + 3. Go to the menu and select **APIs and Services** and next **Credentials**. + 4. In the **Credentials** view, select **Create credentials** and next **Service account**. + 1. **Service account name**: Give your account a self-selected name. + 2. Select **Create and Continue**. + 3. **Select a role**: **Service Accounts** and **Service Account Token Creator**. + 4. Select **Continue**. + 5. Select **Done**. + 5. Under **Service Accounts** there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com. 6. Click on the pencil button of that service account. - 7. Go to `Keys` and `ADD KEY`. + 7. Go to **Keys** and **ADD KEY**. 8. Create a private key, make sure it is in JSON format. 9. This will start a download of a JSON file. 1. Rename the file to `SERVICE_ACCOUNT.JSON`. 2. Add this file to your config-folder. This will be the same folder as your `configuration.yaml`. - 12. Go back to [Google Cloud Platform](https://console.cloud.google.com/) and click `Close`. - 13. Then click `SAVE`. - 14. Go to the `Search products and resources` and search for `Homegraph API` and select it. + 12. Go back to [Google Cloud Platform](https://console.cloud.google.com/) and select **Close**. + 13. Then select **SAVE**. + 14. Go to the **Search products and resources** and search for **Homegraph API** and select it. 15. Enable the HomeGraph API. 5. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#yaml-configuration) below. 6. Add services in the Google Home App (note that app versions may be slightly different). 1. Open the Google Home app. - 2. Click the `+` button on the top left corner, click `Set up device`, in the "Set up a device" screen click "Works with Google". You should have `[test] ` listed under 'Add new'. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms and nicknames for your devices if you wish. + 2. Select the `+` button on the top left corner, select **Set up device**. In the **Set up a device** screen, select **Works with Google**. You should have `[test] ` listed under **Add new**. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms and nicknames for your devices if you wish.

@@ -104,15 +104,15 @@ If you've added Home Assistant to your phone's home screen, you have to first re If you want to allow other household users to control the devices: 1. Open the project you created in the [Actions on Google console](https://console.actions.google.com/). -2. Click `Test` on the top of the page, then click `Simulator` located to the page left, then click the three little dots (more) icon in the upper right corner of the console. -3. Click Manage user access. This redirects you to the Google Cloud Platform IAM permissions page. -4. Click ADD at the top of the page. +2. Select **Test** on the top of the page, then select **Simulator** located to the page left, then click the three little dots (more) icon in the upper right corner of the console. +3. Select **Manage user access**. This redirects you to the Google Cloud Platform IAM permissions page. +4. Select **GRANT ACCESS** at the top of the page. 1. Enter the email address of the user you want to add. - 2. Click Select a role and choose Project < Viewer. - 3. Click SAVE + 2. Select **Select a role** and choose **Project** > **Viewer**. + 3. Select **SAVE**. 4. Copy and share the Actions project link (`https://console.actions.google.com/project/YOUR_PROJECT_ID/simulator`) with the new user. -5. Have the new user open the link with their own Google account, agree to the Terms of Service popup, then select "Start Testing", select VERSION - Draft in the dropdown, and click "Done". -6. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account. +5. Have the new user open the link with their own Google account, agree to the Terms of Service popup. Then select **Start Testing**, select **VERSION - Draft** in the dropdown, and select **Done**. +6. Have the new user go to their **Google Assistant** app to add `[test] your app name` to their account. ### Enable Device Sync @@ -121,19 +121,19 @@ If you want to support active reporting of state to Google's server (configurati 1. Service Account 1. In the Google Cloud Platform Console, go to the [Create Service account key](https://console.cloud.google.com/iam-admin/serviceaccounts/create) page. 2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches. - 3. From the Service account list, select `CREATE SERVICE ACCOUNT`. - 4. In the Service account name field, enter a name. - 5. In the Service account ID field, enter an ID. - 6. From the Role list, select `Service Accounts` > `Service Account Token Creator`. - 7. Click `CONTINUE` and then `DONE`. You are returned to the service account list, and your new account is shown. - 8. Click the three dots menu under `Actions` next to your new account, and click `Manage keys`. You are taken to a `Keys` page. - 9. Click `ADD KEY` then `Create new key`. Leave the `key type` as `JSON` and click `CREATE`. A JSON file that contains your key downloads to your computer. + 3. From the Service account list, select **CREATE SERVICE ACCOUNT**. + 4. In the **Service account name** field, enter a name. + 5. In the **Service account ID** field, enter an ID. + 6. From the **Role** list, select **Service Accounts** > **Service Account Token Creator**. + 7. Select **CONTINUE** and then **DONE**. You are returned to the service account list, and your new account is shown. + 8. Select the three dots menu under **Actions** next to your new account, and select **Manage keys**. You are taken to a **Keys** page. + 9. Select **ADD KEY** then **Create new key**. Leave the **key type** as **JSON** and select **CREATE**. A JSON file that contains your key downloads to your computer. 10. Use the information in this file or the file directly to add to the `service_account` key in the configuration. - 11. Click `Close`. + 11. Select **Close**. 2. HomeGraph API 1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview). 2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches. - 3. Click Enable HomeGraph API. + 3. Select **Enable HomeGraph API**. 3. Try "OK Google, sync my devices" - the Google Home app should import your exposed Home Assistant devices and prompt you to assign them to rooms. ### Enable Local Fulfillment @@ -143,6 +143,7 @@ Google Assistant devices can send their commands locally to Home Assistant allow Your Home Assistant instance needs to be connected to the same network as the Google Assistant device that you’re talking to so that it can be discovered via mDNS discovery (UDP broadcasts). Your Google Assistant devices will still communicate via the internet to: + - Get credentials to establish a local connection. - Send commands that involve a [secure device](#secure-devices). - Send commands if local fulfillment fails. @@ -158,16 +159,16 @@ For secure remote access, use a reverse proxy such as the {% my supervisor_addon
1. Open the project you created in the [Actions on Google console](https://console.actions.google.com/). -2. Click `Develop` on the top of the page, then click `Actions` located in the hamburger menu on the top left. -3. Upload `app.js` from [here](https://github.com/NabuCasa/home-assistant-google-assistant-local-sdk/releases/latest) for both Node and Chrome by clicking the `Upload JavaScript files` button. +2. Select **Develop** on the top of the page, then select **Actions** located in the hamburger menu on the top left. +3. Upload `app.js` from [here](https://github.com/NabuCasa/home-assistant-google-assistant-local-sdk/releases/latest) for both Node and Chrome by selecting the **Upload JavaScript files** button. 4. Add device scan configuration: - 1. Click `+ New scan config` if no configuration exists - 2. Select `MDNS` - 3. Set `MDNS service name` to `_home-assistant._tcp.local` - 4. Click `Add field`, then under `Select a field` choose `Name` - 5. Enter a new `Value` field set to `.*\._home-assistant\._tcp\.local` -5. Check the box `Support local query` under `Add capabilities`. -6. `Save` your changes. + 1. Select **+ New scan config** if no configuration exists + 2. Select **MDNS**. + 3. Set **MDNS service name** to `_home-assistant._tcp.local` + 4. Select **Add field**, then under **Select a field**, choose **Name**. + 5. Enter a new **Value** field set to `.*\._home-assistant\._tcp\.local` +5. Check the box **Support local query** under **Add capabilities**. +6. Save your changes. 7. Either wait for 30 minutes, or restart all your Google Assistant devices. 8. Restart Home Assistant Core. 9. With a Google Assistant device, try saying "OK Google, sync my devices." This can be helpful to avoid issues, especially if you are enabling local fulfillment sometime after adding cloud Google Assistant support. @@ -297,11 +298,11 @@ Some of these devices may not display correctly in the Google Home app, such as ### Secure Devices -Certain devices are considered secure, including anything in the `lock` domain, `alarm_control_panel` domain and `covers` with device types `door`, `garage` or `gate`. +Certain devices are considered secure. This includes devices in the `lock` domain, the `alarm_control_panel` domain, as well as `covers` with device types `door`, `garage`, or `gate`. -By default these cannot be opened by Google Assistant unless a `secure_devices_pin` is set up. To allow opening, set the `secure_devices_pin` to something and you will be prompted to speak the pin when opening the device. Closing or locking these devices does not require a pin. +By default, secure devices cannot be opened by Google Assistant unless a `secure_devices_pin` code is set up. To allow opening, set the `secure_devices_pin` to something. You will then be prompted to speak the pin when opening the device. Closing or locking these devices does not require a pin. -For the Alarm Control Panel if a code is set it must be the same as the `secure_devices_pin`. If `code_arm_required` is set to `false` the system will arm without prompting for the pin. +If a code is set for the Alarm Control Panel, it must be the same as the `secure_devices_pin`. If `code_arm_required` is set to `false`, the system will arm without prompting for the pin. ### Room/Area support diff --git a/source/_integrations/google_translate.markdown b/source/_integrations/google_translate.markdown index 05876d93297..dc8d30b8eae 100644 --- a/source/_integrations/google_translate.markdown +++ b/source/_integrations/google_translate.markdown @@ -16,29 +16,29 @@ The `google_translate` text-to-speech platform uses the unofficial [Google Trans {% include integrations/config_flow.md %} -Check the [complete list of supported languages](https://translate.google.com/intl/en_ALL/about/languages/) (languages where "Talk" feature is enabled in Google Translate) for allowed values. +Check the [complete list of supported languages](https://cloud.google.com/translate/docs/languages) (languages where "Talk" feature is enabled in Google Translate) for allowed values. Use the 2-digit language code which you can find at the end of the URL when you click on the language name. -Check the [complete list of supported tld](https://www.google.com/supported_domains) for allowed TLD values. This is used to force the dialect used when multiple fall into the same 2-digit language code(i.e., *US, UK, AU*) +Check the [complete list of supported tld](https://www.google.com/supported_domains) for allowed TLD values. This is used to force the dialect used when multiple fall into the same 2-digit language code(i.e., _US, UK, AU_) You can also use supported BCP 47 tags like the below or the 2-2 digit format for your supported dialect(`en-gb` or `en-us`). Below is a list of the currently implemented mappings: -| Dialect | Language | TLD | -|---------|----------|-----| -|en-us|en|com| -|en-gb|en|co.uk| -|en-uk|en|co.uk| -|en-au|en|com.au| -|en-ca|en|ca| -|en-in|en|co.in| -|en-ie|en|ie| -|en-za|en|co.za| -|fr-ca|fr|ca| -|fr-fr|fr|fr| -|pt-br|pt|com.br| -|pt-pt|pt|pt| -|es-es|es|es| -|es-us|es|com| +| Dialect | Language | TLD | +| ------- | -------- | ------ | +| en-us | en | com | +| en-gb | en | co.uk | +| en-uk | en | co.uk | +| en-au | en | com.au | +| en-ca | en | ca | +| en-in | en | co.in | +| en-ie | en | ie | +| en-za | en | co.za | +| fr-ca | fr | ca | +| fr-fr | fr | fr | +| pt-br | pt | com.br | +| pt-pt | pt | pt | +| es-es | es | es | +| es-us | es | com | ## Service say diff --git a/source/_integrations/google_wifi.markdown b/source/_integrations/google_wifi.markdown index 18d13773294..84514d908ff 100644 --- a/source/_integrations/google_wifi.markdown +++ b/source/_integrations/google_wifi.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The `google_wifi` sensor platform is displaying the exposed status of a [Google Wifi](https://madeby.google.com/wifi/) (or OnHub) router. +The `google_wifi` sensor platform is displaying the exposed status of a Google Wifi (or OnHub) router. The sensor is able to report network status, up-time, current IP address and firmware versions. diff --git a/source/_integrations/graphite.markdown b/source/_integrations/graphite.markdown index de9aaebe95a..bfe32219780 100644 --- a/source/_integrations/graphite.markdown +++ b/source/_integrations/graphite.markdown @@ -11,7 +11,7 @@ ha_integration_type: integration The `graphite` integration records all events and state changes and feeds the data to a [graphite](http://graphiteapp.org/) instance. -To enable this component, add the following lines to your `configuration.yaml`: +To enable this integration, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/history_stats.markdown b/source/_integrations/history_stats.markdown index 82d1d249d73..b535e1d5aec 100644 --- a/source/_integrations/history_stats.markdown +++ b/source/_integrations/history_stats.markdown @@ -129,7 +129,7 @@ duration:
- If the duration exceeds the number of days of history stored by the `recorder` component (`purge_keep_days`), the history statistics sensor will not have all the information it needs to look at the entire duration. For example, if `purge_keep_days` is set to 7, a history statistics sensor with a duration of 30 days will only report a value based on the last 7 days of history. + If the duration exceeds the number of days of history stored by the `recorder` integration (`purge_keep_days`), the history statistics sensor will not have all the information it needs to look at the entire duration. For example, if `purge_keep_days` is set to 7, a history statistics sensor with a duration of 30 days will only report a value based on the last 7 days of history.
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index 42cee647fc6..48bca8beded 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -284,7 +284,7 @@ To enable the HomeKit integration in Home Assistant, add the following to your c homekit: ``` -After Home Assistant has started, the entities (depending on the filter) are exposed to HomeKit if they are [supported](#supported-components). To add them: +After Home Assistant has started, the entities (depending on the filter) are exposed to HomeKit if they are [supported](#supported-integrations). To add them: 1. Open the Home Assistant frontend. A new card will display the pairing QR code and the `pin code` as seen in the example below. Note: If pin code is not displayed, check "Notifications" (the bell icon) in the lower-left of the Home Assistant UI. 2. Open the Apple `Home` app. @@ -346,7 +346,7 @@ To add a single entity in accessory mode: ## Configure Filter -By default, all entities except categorized entities (config, diagnostic, and system entities) are included. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added. +By default, all entities except categorized entities (config, diagnostic, and system entities) are included. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported integrations](#supported-integrations) can be added. ```yaml # Example filter to include specified domains and exclude specified entities @@ -387,11 +387,11 @@ If you have a firewall configured on your Home Assistant system, make sure you o - UDP: 5353 - TCP: 21063 (or the configured/used `port` in the integration settings). -## Supported Components +## Supported integrations The following integrations are currently supported: -| Component | Type Name | Description | +| Integration | Type Name | Description | | --------- | --------- | ----------- | | alarm_control_panel | SecuritySystem | All security systems. | | automation / input_boolean / remote / scene / script / vacuum | Switch | All represented as switches. | @@ -573,7 +573,7 @@ Pairing works fine when the filter is set to only include `demo.demo`, but fails #### Pairing hangs - no error -1. Make sure that you don't try to add more than 150 accessories, see [device limit](#device-limit). In rare cases, one of your entities doesn't work with the HomeKit component. Use the [filter](#configure-filter) to find out which one. Feel free to open a new issue in the `home-assistant` repository, so we can resolve it. +1. Make sure that you don't try to add more than 150 accessories, see [device limit](#device-limit). In rare cases, one of your entities doesn't work with the HomeKit integration. Use the [filter](#configure-filter) to find out which one. Feel free to open a new issue in the `home-assistant` repository, so we can resolve it. 2. Check logs, and search for `Starting accessory Home Assistant Bridge on address`. Make sure Home Assistant Bridge connected to a correct interface. If it did not, explicitly set `homekit.ip_address` configuration variable. ### Issues during normal use @@ -584,7 +584,7 @@ Multiple users have reported that iOS 12 and earlier devices will spontaneously #### My entity doesn't show up -Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`. +Check if the domain of your entity is [supported](#supported-integrations). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`. #### HomeKit doesn't work on second Home Assistant instance diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown index 7e3f0239dec..0031f04f0fe 100644 --- a/source/_integrations/homekit_controller.markdown +++ b/source/_integrations/homekit_controller.markdown @@ -19,8 +19,8 @@ ha_iot_class: Local Push ha_bluetooth: true ha_config_flow: true ha_codeowners: - - '@Jc2k' - - '@bdraco' + - "@Jc2k" + - "@bdraco" ha_domain: homekit_controller ha_zeroconf: true ha_platforms: @@ -45,7 +45,7 @@ ha_integration_type: integration The [HomeKit](https://developer.apple.com/apple-home/) Device integration allows you to connect accessories with the "Works with HomeKit" logo to Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit. -The integration will automatically detect HomeKit compatible devices that are ready to pair if the [`zeroconf`](/integrations/zeroconf/) integration is enabled. This is enabled by default on new installations via the [`default_config`](/integrations/default_config/) component. +The integration will automatically detect HomeKit compatible devices that are ready to pair if the [`zeroconf`](/integrations/zeroconf/) integration is enabled. This is enabled by default on new installations via the [`default_config`](/integrations/default_config/) integration. To see which devices have been discovered see the "Integrations" page in your Home Assistant dashboard. When you click on "Configure" you can enter your HomeKit PIN and the device should be added to your Home Assistant instance. If your device is currently paired with an Apple device via HomeKit, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri and Apple Home with the [`HomeKit`](/integrations/homekit/) integration. @@ -68,7 +68,7 @@ There is currently support for the following device types within Home Assistant:
- If your device is not on this list then you may still be able to pair it, and it will be visible in the Device Registry. But Home Assistant may not create entities for it. +If your device is not on this list then you may still be able to pair it, and it will be visible in the Device Registry. But Home Assistant may not create entities for it.
@@ -79,17 +79,95 @@ HomeKit IP accessories for these device types may work with some caveats: The integration will poll your devices, but it will also automatically enable push updates for accessories that support it. -## Bluetooth device support +## Adding a HomeKit device through Bluetooth The integration will automatically discover Bluetooth devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. Bluetooth devices may take significantly longer to pair than IP devices. Battery-powered devices may require pressing a button on the device to wake it before pairing can be successful. -## Thread device support +### Prerequisites -In order to use HomeKit over Thread you need a working border router (like a HomePod mini). Your Home Assistant instance will need to be on the same VLAN as the border router. +- If your Home Assistant instance does not natively support Bluetooth, use an ESPHome Bluetooth proxy. + - A proxy can also be helpful if your Home Assistant device is too far away from the device you are trying to pair. +- If your HomeKit device has been used with Thread before, or is still paired with iOS, reset the device. + - HomeKit devices can only be paired to a single controller at once. + - If it has been in a Thread network before, the device might remember the Thread credentials of a different network. A reset makes sure the device is not connected to any Thread network. -The integration will automatically discover supported Thread devices using the [Zeroconf](/integrations/zeroconf) integration. Battery powered devices may go to sleep and require a button pressing to wake them up before pairing works. +## To add a HomeKit device through Bluetooth -In order to provision a Thread device onto a mesh network using a HomePod as a border router, first pair it with an iOS device. Then unpair it from the Home app. Don't reset it. This will leave the Thread network details on the device. Home Assistant can now pair with it over Thread. +1. Power up your HomeKit device. + - If you have Bluetooth enabled, the device should be discovered under **{% my integrations title="Settings > Devices & Services" %}**. +1. Under **{% my integrations title="Settings > Devices & Services" %}**, on the HomeKit integration, select **Configure**. + ![HomeKit integration](/images/integrations/homekit_controller/homekit_controller_add_01.png) +1. To pair the device, enter the HomeKit pairing code. The code is on the device itself or the packaging. + - To pair a battery-powered device, you may need to press a button on the device to wake it. + - Bluetooth devices may take significantly longer to pair than IP devices. + - Add the device to a room and **Finish**. + +## Adding a HomeKit device to a Thread network via Home Assistant + +There are two methods to add a HomeKit device to a Thread network: + +- via Home Assistant's preferred Thread network +- via [Apple Thread border router](#adding-a-homekit-device-to-home-assistant-via-apple-thread-border-router) + +This section describes how to add it via Home Assistant's preferred Thread network. + +### Prerequisites + +- A HomeKit device which supports Thread. This is indicated by the Thread label on the packaging. +- Make sure the HomeKit device has been [joined using Bluetooth](#adding-a-homekit-device-through-bluetooth). +- **Thread network**: In order to use HomeKit over Thread, you need a working border router. + - Make sure your Home Assistant device is on the same network (LAN) as the border router. + - Make sure the Thread network you'd like to use is known by Home Assistant and marked as **Preferred network** in the Thread configuration. + - If you have a Home Assistant Yellow or SkyConnect, you can enable multiprotocol to set up an Open Thread border router and with that a Thread network. + - Documentation on [enabling multiprotocol on Yellow](https://yellow.home-assistant.io/guides/enable-multiprotocol/) + - Documentation on [enabling multiprotocol on SkyConnect](https://skyconnect.home-assistant.io/procedures/enable-multiprotocol/) + +### To add a HomeKit device to a Thread network via Home Assistant + +1. To open the device configuration page, on the **HomeKit** integration, select the **device**. +1. Under **Diagnostic**, you can see the **Thread Status** as **Disabled**. + ![Device configuration page](/images/integrations/homekit_controller/homekit_controller_add_02.png) +1. To enable Thread, under **Configuration**, select **Press**. This will provision the preferred Thread credentials. + - The status has now changed: + - Depending on the device type, the mesh size and health, the Thread status can be **Child**, **Router**, or **Leader**. + ![Thread status](/images/integrations/homekit_controller/homekit_controller_add_02.png) + - That's it. Your HomeKit device now communicates via Thread. + +## Adding a HomeKit device to Home Assistant via Apple Thread border router + +There are two methods to add a HomeKit device to a Thread network: + +- via [Home Assistant's preferred Thread network](#adding-a-homekit-device-to-a-thread-network-via-home-assistant) +- via Apple Thread border router + +This section describes how to add a HomeKit device using an Apple Thread border router device such as a HomePod mini. + +### Prerequisites + +- An Apple device that can act as a Thread border router, such as a HomePod mini. +- A HomeKit device which supports Thread. This is indicated by the Thread label on the packaging. +- Make sure your Home Assistant instance is on the same network (LAN) as the border router. +- Make sure the HomeKit device has been paired in the Apple Home app (using the iOS Home app). + +### To add a HomeKit device to Home Assistant via Apple Thread border router + +1. Remove the HomeKit device from the Apple Home app. Don't reset the device. + - This leaves the Thread network details on the HomeKit device. + - The device will be automatically discovered by the HomeKit controller integration in Home Assistant. + - It will appear as a discovered device over Thread. +1. Under **{% my integrations title="Settings > Devices & Services" %}**, on the HomeKit integration, select **Configure**. + + ![HomeKit integration](/images/integrations/homekit_controller/homekit_controller_add_01.png) + +1. To pair the device, enter the HomeKit pairing code. The code is on the device itself or the packaging. + - To pair a battery-powered device, you may need to press a button on the device to wake it. + - Bluetooth devices may take significantly longer to pair than IP devices. + - Add the device to a room and **Finish**. +1. To open the device configuration page, on the **HomeKit** integration, select the **device**. +1. Under **Diagnostic**, check the status: + - Depending on the device type, the mesh size and health, the Thread status can be **Child**, **Router**, or **Leader**. + ![Thread status](/images/integrations/homekit_controller/homekit_controller_add_02.png) + - That's it. Your HomeKit device now communicates via Thread. ## 'Stateless' switches and sensors diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown index 08e6cf9d11b..f1dd050a153 100644 --- a/source/_integrations/homematic.markdown +++ b/source/_integrations/homematic.markdown @@ -58,7 +58,7 @@ You can manually rename the created entities by using Home Assistant's [Customiz ## Configuration -To set up the component, add the following information to your `configuration.yaml` file: +To set up the integration, add the following information to your `configuration.yaml` file: ```yaml homematic: @@ -201,7 +201,7 @@ homematic: We use three approaches to fetch the names of devices. Each assumes you have properly named your devices in your existing Homematic setup. As a general advice: Use ASCII for your devices names. Home Assistant won't include non-ASCII characters in entity-names. -1. `json`: The CCU allows to fetch details of the paired devices via JSON-RPC. For this to work you need to add valid credentials to your component-configuration. Guest-access is sufficient to query for device names. +1. `json`: The CCU allows to fetch details of the paired devices via JSON-RPC. For this to work, you need to add valid credentials to your integration configuration. Guest-access is sufficient to query for device names. 2. `xml`: If you use a CCU, there is an add-on called the "XML-API". With it installed, you are able to fetch all kinds of information from you CCU using XML-RPC. We can leverage this and fetch the names of devices set within the CCU. We don't support authentication with this method. The `json` method should be preferred over `xml`. Support for the XML-API is only available for downwards compatibility and may be disabled in a future release. 3. `metadata`: Homegear provides device-names through the metadata devices internally have. When using an HM-CFG-LAN interface, you typically use a configuration software ("HomeMatic-Komponenten konfigurieren" is the name of the shortcut on your desktop by default) to pair and configure your devices. If you have paired devices, you'll see them listed in a table. The leftmost column (Name) is prefilled with default names. You can click such a name and enter whatever you like. @@ -215,7 +215,7 @@ This does *not* affect the entities in Home Assistant. They all use their own co ### Reading attributes of entities -Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](/integrations/template) component. Here's an example of a template sensor that exposes the valve position of a thermostat. +Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](/integrations/template) integration. Here's an example of a template sensor that exposes the valve position of a thermostat. {% raw %} @@ -498,7 +498,7 @@ automation: {% endraw %} - The important part is the `sensor.time` entity (from time_date component). This will update the binary sensor on every change of the sensor and every minute. If the Homematic sensor does not send any updates anymore, the `sensor.time` will set the binary sensor to `off` 10 minutes after the last sensor update. This will trigger the automation. + The important part is the `sensor.time` entity (from time_date integration). This will update the binary sensor on every change of the sensor and every minute. If the Homematic sensor does not send any updates anymore, the `sensor.time` will set the binary sensor to `off` 10 minutes after the last sensor update. This will trigger the automation. - If you have a CCU you can also create a system variable on the CCU, which stores its last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot) this is another option to call *homematic.reconnect*. Even though this option might look preferable to many since it does not rely on a sensor, **it is less fail-safe** than checking for updates of a sensor. Since the variable on the CCU is only changed on boot, any problem that causes the connection between Home Assistant and the CCU to break but will not result in a reboot will not be detected (eg. in case of networking issues). This is how this can be done: diff --git a/source/_integrations/humidifier.mqtt.markdown b/source/_integrations/humidifier.mqtt.markdown index 62075a23aa6..3c682ef5a5f 100644 --- a/source/_integrations/humidifier.mqtt.markdown +++ b/source/_integrations/humidifier.mqtt.markdown @@ -84,7 +84,7 @@ command_topic: required: true type: string device: - description: "Information about the device this humidifier is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this humidifier is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/hydrawise.markdown b/source/_integrations/hydrawise.markdown index 0a50068d60f..02eefaaff7a 100644 --- a/source/_integrations/hydrawise.markdown +++ b/source/_integrations/hydrawise.markdown @@ -53,7 +53,7 @@ To get your API access token log into your [Hydrawise account](https://app.hydra ## Binary Sensor -Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file: +Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -87,7 +87,7 @@ The limit is 3 calls to start/stop/suspend a zone per 30 seconds and an addition ## Sensor -Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file: +Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -110,7 +110,7 @@ monitored_conditions: ## Switch -Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file: +Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown index 7e9e44f9f08..41cceed9735 100644 --- a/source/_integrations/ifttt.markdown +++ b/source/_integrations/ifttt.markdown @@ -12,7 +12,7 @@ ha_platforms: ha_integration_type: integration --- -[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT component, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). +[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT integration, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). ## Prerequisites diff --git a/source/_integrations/ihc.markdown b/source/_integrations/ihc.markdown index 537b30ad234..87ecd0b16f2 100644 --- a/source/_integrations/ihc.markdown +++ b/source/_integrations/ihc.markdown @@ -59,7 +59,7 @@ auto_setup: type: boolean default: true info: - description: Shows the IHC "name", "note" and "position" attributes of each component. This will make it easier to identify the IHC products within Home Assistant. + description: Shows the IHC "name", "note" and "position" attributes of each integration. This will make it easier to identify the IHC products within Home Assistant. required: false type: boolean default: true @@ -85,7 +85,7 @@ See the manual of each device type for configuration options. ## Binary Sensor -Before you can use the IHC Binary Sensor platform, you must setup the IHC Component. +Before you can use the IHC Binary Sensor platform, you must setup the IHC integration. When auto setup is enabled the following products will be found in the IHC project and setup as binary sensors: @@ -154,7 +154,7 @@ The resource id should be an id of a boolean IHC resource. For more information ## Sensor -Before you can use the IHC Sensor platform, you must setup the IHC Component. +Before you can use the IHC Sensor platform, you must setup the IHC integration. When auto setup is enabled the following products will be found in the IHC project and setup as sensors: @@ -212,7 +212,7 @@ The resource id should be a IHC float resource. For more information about IHC r ## Light -Before you can use the IHC Light platform, you must setup the IHC Component. +Before you can use the IHC Light platform, you must setup the IHC integration. When auto setup is enabled the following products will be found in the IHC project and setup as light devices: @@ -265,7 +265,7 @@ light: required: false type: integer name: - description: The name of the component + description: The name of the integration required: false type: string note: @@ -282,7 +282,7 @@ In the example above 12345 is ihc resource id and "tablelight" is the name. The ## Switch -Before you can use the IHC Switch platform, you must setup the IHC Component. +Before you can use the IHC Switch platform, you must setup the IHC integration. When auto setup is enabled the following products will be found in the ihc project and setup as switch devices: @@ -323,7 +323,7 @@ switch: required: false type: integer name: - description: The name of the component + description: The name of the integration required: false type: string note: diff --git a/source/_integrations/influxdb.markdown b/source/_integrations/influxdb.markdown index f9201749b40..9c20f787987 100644 --- a/source/_integrations/influxdb.markdown +++ b/source/_integrations/influxdb.markdown @@ -173,7 +173,7 @@ ignore_attributes: component_config: type: string required: false - description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + description: This attribute contains integration-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. keys: override_measurement: type: string @@ -199,7 +199,7 @@ component_config_domain: component_config_glob: type: string required: false - description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + description: This attribute contains integration-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. keys: override_measurement: type: string @@ -294,11 +294,11 @@ influxdb: ## Sensor -The `influxdb` sensor allows you to use values from an [InfluxDB](https://influxdb.com/) database to populate a sensor state. This can be used to present statistics as Home Assistant sensors, if used with the `influxdb` history component. It can also be used with an external data source. +The `influxdb` sensor allows you to use values from an [InfluxDB](https://influxdb.com/) database to populate a sensor state. This can be used to present statistics as Home Assistant sensors, if used with the `influxdb` history integration. It can also be used with an external data source.
- You must configure the `influxdb` history component in order to create `influxdb` sensors. If you just want to create sensors for an external InfluxDB database and you don't want Home Assistant to write any data to it you can exclude all entities like this: + You must configure the `influxdb` history integration in order to create `influxdb` sensors. If you just want to create sensors for an external InfluxDB database and you don't want Home Assistant to write any data to it you can exclude all entities like this: ```yaml influxdb: @@ -567,7 +567,7 @@ sensor: {% endraw %} -Note that when working with Flux queries, the resultset is broken into tables, you can see how this works in the Data Explorer of the UI. If you are operating on data created by the InfluxDB history component, this means by default, you will have a table for each entity and each attribute of each entity (other then `unit_of_measurement` and any others you promoted to tags). +Note that when working with Flux queries, the resultset is broken into tables, you can see how this works in the Data Explorer of the UI. If you are operating on data created by the InfluxDB history integration, this means by default, you will have a table for each entity and each attribute of each entity (other then `unit_of_measurement` and any others you promoted to tags). This is a lot more tables compared to 1.xx queries, where you essentially had one table per `unit_of_measurement` across all entities. You can still create aggregate metrics across multiple sensors though. As you can see in the example above, a good way to do this is with the [keep](https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/keep/) or [drop](https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/drop/) filters. When you remove key columns Influx merges tables, allowing you to make many tables that share a schema for `_value` into one. diff --git a/source/_integrations/intent_script.markdown b/source/_integrations/intent_script.markdown index f1abef3a097..157cb28bbe5 100644 --- a/source/_integrations/intent_script.markdown +++ b/source/_integrations/intent_script.markdown @@ -18,7 +18,7 @@ The `intent_script` integration allows users to configure actions and responses intent_script: GetTemperature: # Intent type speech: - text: We have {{ states.sensor.temperature }} degrees + text: We have {{ states('sensor.temperature') }} degrees action: service: notify.notify data: diff --git a/source/_integrations/intesishome.markdown b/source/_integrations/intesishome.markdown index 6c064d614f5..14cec3519bb 100644 --- a/source/_integrations/intesishome.markdown +++ b/source/_integrations/intesishome.markdown @@ -44,8 +44,8 @@ device: type: string {% endconfiguration %} -This component opens a TCP connection with the IntesisHome API to receive temperature and status updates, and to issue commands. -By default, the component will be named using the friendly device name from the IntesisHome website or application. +This integration opens a TCP connection with the IntesisHome API to receive temperature and status updates, and to issue commands. +By default, the integration will be named using the friendly device name from the IntesisHome website or application. If internet connectivity is lost, the device will be marked as unavailable after 5 minutes. ### Supported services diff --git a/source/_integrations/isy994.markdown b/source/_integrations/isy994.markdown index abccaa4d568..8a7b5a1c9cb 100644 --- a/source/_integrations/isy994.markdown +++ b/source/_integrations/isy994.markdown @@ -122,7 +122,7 @@ All `isy994_control` events will have an `entity_id` and `control` parameter in ### Insteon Scenes & Keypad/Remote Buttons -All Insteon scenes configured in the ISY Admin Console will show up as a `switch` in Home Assistant, as they do not support dimming or setting specific brightness settings as Home Assistant's `light` component. +All Insteon scenes configured in the ISY Admin Console will show up as a `switch` in Home Assistant, as they do not support dimming or setting specific brightness settings as Home Assistant's `light` integration. Insteon Secondary Keypad buttons and Remote buttons are added to Home Assistant to allow support for using Control Events in Automations. These devices are added as `sensors` since they cannot be directly controlled (turned on/off); their state is the last ON level command they sent, in a range from `0` (Off) to `255` (On 100%). Note: these devices may report incorrect states before being used after a reboot of the ISY. Secondary Keypad buttons may be turned on or off using ISY Scenes (refer to ISY Documentation for more details). diff --git a/source/_integrations/izone.markdown b/source/_integrations/izone.markdown index 40ee910e3d3..02209993c04 100644 --- a/source/_integrations/izone.markdown +++ b/source/_integrations/izone.markdown @@ -107,7 +107,7 @@ type: history-graph ## Debugging -If you're trying to track down issues with the component, set up logging for it: +If you're trying to track down issues with the integration, set up logging for it: ```yaml # Example configuration.yaml with logging for iZone diff --git a/source/_integrations/joaoapps_join.markdown b/source/_integrations/joaoapps_join.markdown index b0d498782af..035aa874b8e 100644 --- a/source/_integrations/joaoapps_join.markdown +++ b/source/_integrations/joaoapps_join.markdown @@ -13,10 +13,10 @@ ha_integration_type: integration --- The `joaoapps_join` integration exposes services from -[Join](https://joaoapps.com/join). In Home Assistant, the Join features are -divided up in two locations, the Join component, and the Join notify platform. -The notify platform allows us to send messages to Join devices, the component -allows us to access the other special features that Join offers. When in doubt, you can reference the [API documentation](https://joaoapps.com/join/api/) this is based on. +[Join](https://joaoapps.com/join). In Home Assistant, the Joaoapps Join features are +divided up in two locations, the Join integration, and the Joaoapps Join notify platform. +The notify platform allows us to send messages to Joaoapps Join devices, the integration +allows us to access the other special features that Joaoapps Join offers. When in doubt, you can reference the [API documentation](https://joaoapps.com/join/api/) this is based on. In the `configuration.yaml` file you need to provide the API key and device id or name of the target device. You can find your device id and API key @@ -57,7 +57,7 @@ device_names: required: false type: string name: - description: The name parameter is optional but needed if you want to use multiple notification platforms. The platform will be exposed as service `notify.`. The name will default to `notify` if not supplied. See the [Notifications integration](/integrations/notify) for more details. + description: The name parameter is optional but needed if you want to use multiple notification platforms. The platform will be exposed as service `notify.`. The name will default to `notify` if not supplied. See the [Notifications integration](/integrations/notify) for more details. required: false type: string {% endconfiguration %} diff --git a/source/_integrations/kaiterra.markdown b/source/_integrations/kaiterra.markdown index 371423480a2..7e866d0cd7e 100644 --- a/source/_integrations/kaiterra.markdown +++ b/source/_integrations/kaiterra.markdown @@ -14,7 +14,7 @@ ha_platforms: ha_integration_type: integration --- -The `kaiterra` integration allows you to view the readings from your Laser Egg or Sensedge device using the [Kaiterra REST API](https://www.kaiterra.com/dev/). +The `kaiterra` integration allows you to view the readings from your Laser Egg or Sensedge device using the [Kaiterra REST API](https://dev.kaiterra.com/). To use the integration, you need to get the API key by signing up at [Kaiterra dashboard](https://dashboard.kaiterra.cn/), registering the device and create the key under `Settings -> Profile -> Developer`. diff --git a/source/_integrations/keba.markdown b/source/_integrations/keba.markdown index 8b7d066eb28..beef3a9e2ca 100644 --- a/source/_integrations/keba.markdown +++ b/source/_integrations/keba.markdown @@ -21,7 +21,7 @@ ha_integration_type: integration The `keba` integrates your Keba charging station/BMW Wallbox into your Home Assistant instance using the UDP Smart Home Interface ([manual](https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf)). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app. In order to use the integration, enable the UDP Smart Home Interface by adjusting the DIP switches within the charging station according to the [installation manual](https://www.keba.com/file/downloads/e-mobility/KeContact_KCP20_30_ih_en.pdf). -This component provides the following platforms: +This integration provides the following platforms: - Binary Sensors: Online state, plug state, Charging state and failsafe mode state. - Lock: Authorization (like with the RFID card). @@ -31,7 +31,7 @@ This component provides the following platforms: ## Configuration -To enable this component in your installation, add at least the following to your `configuration.yaml` file: +To enable this integration in your installation, add at least the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -83,11 +83,11 @@ keba: ## Services -The `keba` component offers several services. Using these services will change the state of your charging station. So use these services with care! +The `keba` integration offers several services. Using these services will change the state of your charging station. So use these services with care! ### Authorizing and Deauthorizing `keba.authorize` and `keba.deauthorize` -The charging station can be authorized and deauthorized via service calls (`keba.authorize` and `keba.deauthorize`) or via the lock component that is created automatically for the charging station. In both cases the RFID tag from the configuration is used. +The charging station can be authorized and deauthorized via service calls (`keba.authorize` and `keba.deauthorize`) or via the lock integration that is created automatically for the charging station. In both cases the RFID tag from the configuration is used. ### Start and Stop `keba.start` and `keba.stop` diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index 7039cb87752..ceb55c72fe6 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -1,6 +1,7 @@ --- title: KNX description: Instructions on how to integrate KNX components with Home Assistant. +featured: true ha_category: - Binary Sensor - Button diff --git a/source/_integrations/konnected.markdown b/source/_integrations/konnected.markdown index f476d369bc9..eea8ec363ef 100644 --- a/source/_integrations/konnected.markdown +++ b/source/_integrations/konnected.markdown @@ -342,7 +342,7 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use The `konnected` binary sensor allows you to monitor wired door sensors, window sensors, motion sensors, smoke detectors, CO detectors, glass-break sensors, water leak sensors or any other simple wired open/close circuit attached to a NodeMCU ESP8266 Wi-Fi module running the [open source Konnected software](https://github.com/konnected-io/konnected-security). -This integration supports all of the built-in device classes of the generic [Binary Sensor](/integrations/binary_sensor/) component. +This integration supports all of the built-in device classes of the generic [Binary Sensor](/integrations/binary_sensor/) integration. ## Switch diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index 408e577d9c6..f831dfde6e5 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -138,7 +138,7 @@ command_topic: required: true type: string device: - description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' + description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' required: false type: map keys: @@ -581,7 +581,7 @@ command_topic: required: true type: string device: - description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' + description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' required: false type: map keys: @@ -950,7 +950,7 @@ command_topic: required: true type: string device: - description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' + description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' required: false type: map keys: diff --git a/source/_integrations/light.template.markdown b/source/_integrations/light.template.markdown index 2d7e2482499..05b65ff2055 100644 --- a/source/_integrations/light.template.markdown +++ b/source/_integrations/light.template.markdown @@ -105,11 +105,6 @@ light: required: false type: template default: optimistic - white_value_template: - description: Defines a template to get the white value of the light. - required: false - type: template - default: optimistic color_template: description: Defines a template to get the color of the light. Must render a tuple (hue, saturation) required: false @@ -150,31 +145,27 @@ light: type: template default: true turn_on: - description: Defines an action to run when the light is turned on. + description: Defines an action to run when the light is turned on. May receive variables `brightness` and/or `transition`. required: true type: action turn_off: - description: Defines an action to run when the light is turned off. + description: Defines an action to run when the light is turned off. May receive variable `transition`. required: true type: action set_level: - description: Defines an action to run when the light is given a brightness command. The script will only be called if the `turn_on` call only has brightness, and optionally transition. + description: Defines an action to run when the light is given a brightness command. The script will only be called if the `turn_on` call only has brightness, and optionally transition. Receives variables `brightness` and optionally `transition`. required: false type: action set_temperature: - description: Defines an action to run when the light is given a color temperature command. - required: false - type: action - set_white_value: - description: Defines an action to run when the light is given a white value command. + description: Defines an action to run when the light is given a color temperature command. Receives variable `color_temp`. May also receive variables `brightness` and/or `transition`. required: false type: action set_color: - description: Defines an action to run when the light is given a color command. + description: Defines an action to run when the light is given a color command. Receives variables `h`, `s`, and `hs` (which is equivalent to `(h, s)`). May also receive variables `brightness` and/or `transition`. required: false type: action set_effect: - description: Defines an action to run when the light is given an effect command. + description: Defines an action to run when the light is given an effect command. Receives variable `effect`. May also receive variables `brightness` and/or `transition`. required: inclusive type: action {% endconfiguration %} @@ -205,9 +196,9 @@ In this section you will find some real-life examples of how to use this light. ### Theater Volume Control This example shows a light that is actually a home theater's volume. This -component gives you the flexibility to provide whatever you'd like to send as +integration gives you the flexibility to provide whatever you'd like to send as the payload to the consumer including any scale conversions you may need to -make; the [Media Player component](/integrations/media_player/) needs a floating +make; the [Media Player integration](/integrations/media_player/) needs a floating point percentage value from `0.0` to `1.0`. {% raw %} diff --git a/source/_integrations/lock.mqtt.markdown b/source/_integrations/lock.mqtt.markdown index 34126f945c8..9d72786e64b 100644 --- a/source/_integrations/lock.mqtt.markdown +++ b/source/_integrations/lock.mqtt.markdown @@ -82,7 +82,7 @@ command_topic: required: true type: string device: - description: 'Information about the device this lock is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' + description: 'Information about the device this lock is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.' required: false type: map keys: diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index 3d0d711e922..d1b54d2c2d6 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -154,7 +154,7 @@ exclude them in `recorder` instead. ### Custom Entries It is possible to add custom entries to the logbook by using the script -component to fire an event. +integration to fire an event. ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/logger.markdown b/source/_integrations/logger.markdown index edd69d1c10f..6186d807cda 100644 --- a/source/_integrations/logger.markdown +++ b/source/_integrations/logger.markdown @@ -25,7 +25,7 @@ logger: The log severity level is `warning` if the logger integration is not enabled in `configuration.yaml`. To log all messages and ignore events lower than critical for specified -components: +integrations: ```yaml # Example configuration.yaml entry @@ -37,7 +37,7 @@ logger: ``` To ignore all messages lower than critical and log event for specified -components: +integrations: ```yaml # Example configuration.yaml entry @@ -59,7 +59,7 @@ logger: # log level for SmartThings lights homeassistant.components.smartthings.light: info - # log level for a custom component + # log level for a custom integration custom_components.my_integration: debug # log level for the `aiohttp` Python package @@ -85,7 +85,7 @@ where **namespace** is the ** currently logging. type: map keys: '<component_namespace>': - description: Logger namespace of the component. See [log_level](#log-levels). + description: Logger namespace of the integration. See [log_level](#log-levels). type: string filters: description: Regular Expression logging filters. @@ -93,7 +93,7 @@ where **namespace** is the ** currently logging. type: map keys: '<component_namespace>': - description: Logger namespace of the component and a list of Regular Expressions. See [Log Filters](#log-filters). + description: Logger namespace of the integration and a list of Regular Expressions. See [Log Filters](#log-filters). type: list {% endconfiguration %} diff --git a/source/_integrations/logi_circle.markdown b/source/_integrations/logi_circle.markdown index 340b7766810..fadce1c5bd0 100644 --- a/source/_integrations/logi_circle.markdown +++ b/source/_integrations/logi_circle.markdown @@ -98,7 +98,7 @@ logi_circle: - streaming ``` -By default, all sensors available from your Logi Circle devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the Logi Circle component. Devices without an internal battery will not expose a `battery_level` sensor. +By default, all sensors available from your Logi Circle devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the Logi Circle integration. Devices without an internal battery will not expose a `battery_level` sensor. {% configuration %} sensor: diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index ab278dd3fba..5e23df3a031 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -45,7 +45,7 @@ Supports Bridges: - QSX Processor (HQP7) - RadioRA 3 All-in-One Processor (RR-PROC3) -For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/). +For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron integration](/integrations/lutron/). The currently supported devices are: @@ -118,7 +118,7 @@ To get Lutron Caseta roller, honeycomb shades, lights, scene and switch working After setup, shades will appear in Home Assistant using an `entity_id` based on the name used in the Lutron mobile app. For example, a shade called 'Living Room Window' will appear in Home Assistant as `cover.living_room_window`. -For more information on working with shades in Home Assistant, see the [Covers component](/integrations/cover/). +For more information on working with shades in Home Assistant, see the [Covers integration](/integrations/cover/). Available services: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover` and `cover.set_cover_position`. Cover `position` ranges from `0` for fully closed to `100` for fully open. @@ -128,7 +128,7 @@ After setup, dimmable lights including wall and plug-in dimmers will appear in H For non-dimmable lights or switched loads, see the switch section on this page. -For more information on working with lights in Home Assistant, see the [Lights component](/integrations/light/). +For more information on working with lights in Home Assistant, see the [Lights integration](/integrations/light/). ## Scene @@ -136,7 +136,7 @@ The Lutron Caseta scene platform allows you to control your Smart Bridge Scenes After setup, scenes will appear in Home Assistant using an `entity_id` based on the name used in the Lutron mobile app. For example, a scene called 'Entertain' will appear in Home Assistant as `scene.entertain`. -For more information on working with scenes in Home Assistant, see the [Scenes component](/integrations/scene/). +For more information on working with scenes in Home Assistant, see the [Scenes integration](/integrations/scene/). Scenes are not directly supported on RA3 and QSX models, however the button platform (see below) can be used to activate scenes for these systems. @@ -146,13 +146,13 @@ After setup, switches will appear in Home Assistant using an `entity_id` based o For dimmable lights including wall and plug-in dimmers, see the light section on this page. -For more information on working with switches in Home Assistant, see the [Switches component](/integrations/switch/). +For more information on working with switches in Home Assistant, see the [Switches integration](/integrations/switch/). ## Fan After setup, fans will appear in Home Assistant using an `entity_id` based on the name used in the Lutron mobile app. For example, a light switch called 'Master Bedroom Ceiling Fan' will appear in Home Assistant as `fan.master_bedroom_ceiling_fan`. -For more information on working with fans in Home Assistant, see the [Fans component](/components/fan/). +For more information on working with fans in Home Assistant, see the [Fans integration](/integrations/fan/). ## Sensor @@ -166,7 +166,7 @@ Lutron Caseta occupancy sensors support 4 different timeouts and 3 different sen Because Lutron Caseta devices automatically report state to Home Assistant (rather than relying on polling), occupancy status updates occur almost instantaneously. -For more information on working with binary sensors in Home Assistant, see the [Binary Sensors Component](/components/binary_sensor/) +For more information on working with binary sensors in Home Assistant, see the [Binary Sensors integration](/integrations/binary_sensor/) ## Button diff --git a/source/_integrations/lyric.markdown b/source/_integrations/lyric.markdown index 390bb30e636..52069813ff8 100644 --- a/source/_integrations/lyric.markdown +++ b/source/_integrations/lyric.markdown @@ -22,7 +22,7 @@ The Honeywell Lyric integration integrates the Lyric thermostat platform into Ho ## Setup -To set up this component, you first **must** set up a developer account with Honeywell: +To set up this integration, you first **must** set up a developer account with Honeywell: 1. Go to the [developer site](https://developer.honeywellhome.com) and register with an account. 1. Next, create a [new app](https://developer.honeywellhome.com/user/me/apps/add) via the `My Apps` section. diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index 793c3230a99..9dbed911bd0 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -253,11 +253,11 @@ Tasmota supports Matter over IP on all ESP32 based devices (in experimental phas This button will only be visible within the Home Assistant Companion App (so not in the browser) and your device meets all requirements for Matter support. - For iOS, minimum version is iOS 16 (minimal 16.3 is preferred) and the most recent version of the HA companion app. -- For Android, minimum version is 8.1 and the most recent version of both the Google Home app and the (full) HA Companion app, downloaded from the app store. +- For Android, minimum version is 8.1 and the most recent version of the (full) HA Companion app, downloaded from the Play Store. ### When I'm trying to commission using the Android app, I get an error stating "Matter is currently unavailable" -See above, make sure your device meets all requirements to support Matter. Update Android to the latest version and the Google Home and Home Assistant Companion app. To quickly verify if your device meets all requirements to support Matter, on your Android device, go to **Settings** > **Google** > **Devices & Sharing**. There should be an entry there for **Matter devices**. +See above, make sure your device meets all requirements to support Matter. Update Android to the latest version and the Home Assistant Companion app. To quickly verify if your device meets all requirements to support Matter, on your Android device, go to **Settings** > **Google** > **Devices & Sharing**. There should be an entry there for **Matter devices**. Some users have reported that uninstalling and reinstalling the Google Home app fixed this issue for them. Also see this [extended troubleshooting guide](https://developers.home.google.com/matter/verify-services) from Google. diff --git a/source/_integrations/microsoft_face.markdown b/source/_integrations/microsoft_face.markdown index 9a8ac714e33..95d9412e8e0 100644 --- a/source/_integrations/microsoft_face.markdown +++ b/source/_integrations/microsoft_face.markdown @@ -26,7 +26,7 @@ Please note that all keys on cognitive services must be recreated every 90 days. ## Configuration -To enable the Microsoft Face component, +To enable the Microsoft Face integration, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_integrations/mochad.markdown b/source/_integrations/mochad.markdown index b2e89d5219b..a7f7985d4dd 100644 --- a/source/_integrations/mochad.markdown +++ b/source/_integrations/mochad.markdown @@ -58,7 +58,7 @@ mochad: The `mochad` light platform lets you control an X10 enabled dimmer/light device. -To enable this sensor, you first have to set up the [mochad component](#configuration) and then add the following to your `configuration.yaml` file: +To enable this sensor, you first have to set up the [mochad integration](#configuration) and then add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -95,7 +95,7 @@ brightness_levels: The `mochad` switch platform lets you control an X10 enabled switch device. -To enable this sensor, you first have to set up the [mochad component](#configuration) and then add the following to your `configuration.yaml` file: +To enable this sensor, you first have to set up the [mochad integration](#configuration) and then add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/motioneye.markdown b/source/_integrations/motioneye.markdown index fa6f25f865a..6e44a7bb7e0 100644 --- a/source/_integrations/motioneye.markdown +++ b/source/_integrations/motioneye.markdown @@ -404,7 +404,7 @@ An automation to cast stored movie clips to a TV as they arrive. ### Debug Logging -To enable debug logging for both the component and the underlying client library, +To enable debug logging for both the integration and the underlying client library, enable the following in your `configuration.yaml` and then restart: ```yaml diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 6924ec6ce70..0836fb8c700 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -192,7 +192,7 @@ mosquitto_sub -h 127.0.0.1 -v -t "homeassistant/#" The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/integrations/http/#binary-sensor) and the [HTTP sensor](/integrations/http/#sensor). To prevent multiple identical entries if a device reconnects, a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier, and the remaining device configuration without the device type. -{% details "Entity components supported by MQTT discovery" %} +{% details "Entity integrations supported by MQTT discovery" %} - [Alarm control panel](/integrations/alarm_control_panel.mqtt/) - [Binary sensor](/integrations/binary_sensor.mqtt/) @@ -235,7 +235,7 @@ The discovery topic needs to follow a specific format: ``` - ``: The Discovery Prefix defaults to `homeassistant`. This prefix can be [changed](#discovery-options). -- ``: One of the supported MQTT components, eg. `binary_sensor`. +- ``: One of the supported MQTT integrations, eg. `binary_sensor`. - `` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen). - ``: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen). @@ -245,7 +245,7 @@ Best practice for entities with a `unique_id` is to set `` to `unique #### Discovery payload -The payload must be a serialized JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added, with the exception that unknown configuration keys are allowed but ignored. This means that missing variables will be filled with the component's default values. All configuration variables which are *required* must be present in the payload. The reason for allowing unknown documentation keys is allow some backwards compatibility, software generating MQTT discovery messages can then be used with older Home Assistant versions which will simply ignore new features. +The payload must be a serialized JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added, with the exception that unknown configuration keys are allowed but ignored. This means that missing variables will be filled with the integration's default values. All configuration variables which are *required* must be present in the payload. The reason for allowing unknown documentation keys is allow some backwards compatibility, software generating MQTT discovery messages can then be used with older Home Assistant versions which will simply ignore new features. Subsequent messages on a topic where a valid payload has been received will be handled as a configuration update, and a configuration update with an empty payload will cause a previously discovered device to be deleted. @@ -660,7 +660,7 @@ Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-sch #### Use object_id to influence the entity id -The entity id is automatically generated from the entity's name. All MQTT components optionally support providing an `object_id` which will be used instead if provided. +The entity id is automatically generated from the entity's name. All MQTT integrations optionally support providing an `object_id` which will be used instead if provided. - Configuration topic: `homeassistant/sensor/device1/config` - Example configuration payload: @@ -677,9 +677,9 @@ In the example above, the entity_id will be `sensor.my_super_device` instead of ## Manual configured MQTT items -For most components it is also possible to manual set up MQTT items in `configuration.yaml`. Read more [about configuration in YAML](/docs/configuration/yaml). +For most integrations, it is also possible to manually set up MQTT items in `configuration.yaml`. Read more [about configuration in YAML](/docs/configuration/yaml). -{% details "MQTT components that support setup via YAML" %} +{% details "MQTT integrations that support setup via YAML" %} - [Alarm control panel](/integrations/alarm_control_panel.mqtt/) - [Binary sensor](/integrations/binary_sensor.mqtt/) @@ -714,7 +714,7 @@ The MQTT integration supports templating. Read more [about using templates with ## MQTT Notifications -The MQTT notification support is different than for the other [notification](/integrations/notify/) components. It is a service. This means you need to provide more details when calling the service. +The MQTT notification support is different than for the other [notification](/integrations/notify/) integrations. It is a service. This means you need to provide more details when calling the service. **Call Service** section from **Developer Tools** -> **Services** allows you to send MQTT messages. Choose *mqtt.publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index 0d7d25fdd14..e9f4c0e2936 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -228,7 +228,7 @@ Example: ## Development / Testing with your own client ID -To enable the Netatmo component with your own development credentials, you have +To enable the Netatmo integration with your own development credentials, you have to declare a new application in the [Netatmo Developer Page](https://dev.netatmo.com/). Sign in using your username and password from your regular Netatmo account. diff --git a/source/_integrations/notify_events.markdown b/source/_integrations/notify_events.markdown index cf44b9db351..b51bf8bce00 100644 --- a/source/_integrations/notify_events.markdown +++ b/source/_integrations/notify_events.markdown @@ -16,7 +16,7 @@ ha_integration_type: integration ## Description -The [Notify.Events service](https://notify.events/) is a platform for the **notify** component. +The [Notify.Events service](https://notify.events/) is a platform for the **notify** integration. This platform allows you to quickly configure the distribution of messages between different recipients, no matter how they are used to receiving notifications: diff --git a/source/_integrations/notion.markdown b/source/_integrations/notion.markdown index bc3f7e6e4d9..7b6181a7a7b 100644 --- a/source/_integrations/notion.markdown +++ b/source/_integrations/notion.markdown @@ -18,7 +18,7 @@ ha_platforms: ha_integration_type: hub --- -The `Notion` component retrieves data from [Notion](https://getnotion.com) wireless +The Notion integration retrieves data from [Notion](https://getnotion.com) wireless home monitoring sensor kits. {% include integrations/config_flow.md %} diff --git a/source/_integrations/number.mqtt.markdown b/source/_integrations/number.mqtt.markdown index 81f2a883c96..68a1681b7ee 100644 --- a/source/_integrations/number.mqtt.markdown +++ b/source/_integrations/number.mqtt.markdown @@ -61,7 +61,7 @@ command_topic: required: true type: string device: - description: "Information about the device this Number is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this Number is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown index 9144c44bee9..f892ad62a8e 100644 --- a/source/_integrations/nzbget.markdown +++ b/source/_integrations/nzbget.markdown @@ -16,13 +16,13 @@ ha_platforms: ha_integration_type: integration --- -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. +The NZBGet integration allows you to monitor and control your downloads with [NZBGet](https://nzbget.net/) from within Home Assistant. It also allows you to setup automation based on the information. {% include integrations/config_flow.md %} ## Sensor -This component will create these sensors: +This integration will create these sensors: - `nzbget_article_cache`: Article cache size in MB. - `nzbget_average_speed`: Average download rate since server start in MB/s. diff --git a/source/_integrations/ombi.markdown b/source/_integrations/ombi.markdown index 7cb3c788e08..d0e3014bb18 100644 --- a/source/_integrations/ombi.markdown +++ b/source/_integrations/ombi.markdown @@ -13,11 +13,11 @@ ha_platforms: ha_integration_type: integration --- -The `Ombi` integration monitors data from your [Ombi](https://ombi.io) instance. +The Ombi integration monitors data from your [Ombi](https://ombi.io) instance. ## Setup -This component needs to authenticate to your Ombi instance with either a user `password` or an `api_key`. +This integration needs to authenticate to your Ombi instance with either a user `password` or an `api_key`. To find your `api_key` open the Ombi web interface. Navigate to **Settings** and then to **Ombi**, you should then be able to see your `api_key`. diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown index 899a2998dea..a21cb464c6d 100644 --- a/source/_integrations/onewire.markdown +++ b/source/_integrations/onewire.markdown @@ -19,15 +19,7 @@ ha_platforms: ha_integration_type: hub --- -
- -Using this integration via the SysBus is deprecated and will be removed in Home Assistant Core 2022.6. - -For more information see: [Architectural Decision Record 0019](https://github.com/home-assistant/architecture/blob/master/adr/0019-GPIO.md). - -
- -The `onewire` platform supports sensors which that using the One wire (1-wire) bus for communication. +The Onewire integration supports sensors that use the 1-wire bus for communication. Every 1-wire device has a (globally) unique ID that identifies the device on the bus. The first two digits identify a device family and the last 14 digits are a globally unique number given to it during manufacturing. diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown index a584fcd51ee..971b257ee5f 100644 --- a/source/_integrations/onvif.markdown +++ b/source/_integrations/onvif.markdown @@ -20,7 +20,7 @@ ha_integration_type: integration ha_dhcp: true --- -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` integration](/integrations/ffmpeg/) to be already configured. +The ONVIF camera integration allows you to use an [ONVIF](https://www.onvif.org/) Profile S conformant device in Home Assistant. This requires the [`ffmpeg` integration](/integrations/ffmpeg/) to be already configured. {% include integrations/config_flow.md %} diff --git a/source/_integrations/openalpr_cloud.markdown b/source/_integrations/openalpr_cloud.markdown index ee2598b6d36..c7b6989a2a3 100644 --- a/source/_integrations/openalpr_cloud.markdown +++ b/source/_integrations/openalpr_cloud.markdown @@ -9,12 +9,12 @@ ha_domain: openalpr_cloud ha_integration_type: integration --- -[OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you -to process license plates from a camera. You can use them to open a garage door -or trigger any other [automation](/integrations/automation/). +The [OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you +to process license plates from a camera. This allows you to open a garage door +or trigger any other [automation](/integrations/automation/) based on a license plate. For using the result inside an automation rule, -take a look at the [component](/integrations/image_processing/) page. +take a look at the [integration](/integrations/image_processing/) page. ### Configuration diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown index 496a80496d5..dcec979bf1b 100644 --- a/source/_integrations/opentherm_gw.markdown +++ b/source/_integrations/opentherm_gw.markdown @@ -33,8 +33,6 @@ This integration will add a single `climate` entity to Home Assistant for each c The OpenTherm protocol is based on polling. The thermostat sends requests to the boiler at specific intervals. As a result, it may take some time for changes to propagate between Home Assistant and the thermostat.
-# Configuration - {% include integrations/config_flow.md %} The following configuration options are available: diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown index 19c104b0b8f..56c1537ef5b 100644 --- a/source/_integrations/openuv.markdown +++ b/source/_integrations/openuv.markdown @@ -18,17 +18,17 @@ ha_platforms: ha_integration_type: service --- -The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/). +The OpenUV integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/).
-The guidelines within this documentation constitute estimates and are intended to help -informed decision making. They should not replace analysis, advice or diagnosis from a +The guidelines within this documentation constitute estimates which are intended to help +informed decision making. They should not replace analysis, advice, or diagnosis from a trained medical professional.
## Generating an API Key -To generate an API key, simply log in at [the OpenUV website](https://www.openuv.io/). +To generate an API key, log in at [the OpenUV website](https://www.openuv.io/). {% include integrations/config_flow.md %} @@ -57,7 +57,7 @@ update data via the `homeassistant.update_entity` service. Beginning February 1, 2019, the "Limited" plan (which is what new users are given by default) is limited to 50 API requests per day. Because different API plans and -locations will have different requirements, the `openuv` component does not automatically +locations will have different requirements, the OpenUV integration does not automatically query the API for new data after it initially loads. To request new data, the `homeassistant.update_entity` service should be used. diff --git a/source/_integrations/owntracks.markdown b/source/_integrations/owntracks.markdown index 2e5bb2335bf..83546ac5a07 100644 --- a/source/_integrations/owntracks.markdown +++ b/source/_integrations/owntracks.markdown @@ -1,6 +1,6 @@ --- title: OwnTracks -description: Instructions on how to use Owntracks to track devices in Home Assistant. +description: Instructions on how to use OwnTracks to track devices in Home Assistant. ha_category: - Presence Detection ha_iot_class: Local Push @@ -12,42 +12,47 @@ ha_platforms: ha_integration_type: integration --- -[OwnTracks](https://owntracks.org/) is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen. +[OwnTracks](https://owntracks.org/) is a free and open source application for iOS and Android that allows you to track your location and send it directly to Home Assistant. OwnTracks can be set up via **{% my integrations title="Settings > Devices & Services" %}**. -By default the integration will listen for incoming messages from OwnTracks via HTTP. It will also listen for MQTT messages if Home Assistant is configured to use MQTT. When a location is submitted via HTTP, Home Assistant will return all [Persons](/integrations/person/)' last known locations and they will be displayed within the OwnTracks app. +By default, the integration listens for incoming messages from OwnTracks via HTTP. If Home Assistant is configured to use MQTT instead, it listens for MQTT messages. When a location is submitted via HTTP, Home Assistant returns all [Persons](/integrations/person/)' last known locations. Their location will be displayed within the OwnTracks app. ## Configuration -To configure OwnTracks, you must set it up via the integrations panel in the configuration screen. This will give you the webhook URL to use during mobile device configuration (below). +1. To set up OwnTracks in Home Assistant, go to **{% my integrations title="Settings > Devices & Services" %}**. +1. Add the **OwnTracks** integration. + * This will give you the **Webhook** URL as well as the **Encryption key** to use during mobile device configuration (below). ### Configuring the app - Android -Install [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) application for Android. If you need a version of OwnTracks without Google Play Services, the "OSS" flavour is available [here](https://github.com/owntracks/android/releases). +1. Install the [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) application for Android. + * If you need a version of OwnTracks without Google Play Services, the "OSS" flavour is available [here](https://github.com/owntracks/android/releases). -In the app, open the sidebar and click on preferences, then on the connection. Change the following settings: +1. In the app, open the sidebar and select **Preferences**, then **Connection**. +1. Change the following settings: -- Mode: Private HTTP -- Host: `` -- Identification: - - Username: `` - - Password: Can be left blank. - - Device ID: `` - - Tracker ID: `` Two character tracker ID. (can be left blank) + - **Mode**: HTTP + - **Host**: `` + - **Identification**: + - **Username**: ``: You can make one up for OwnTracks. + - **Password**: Can be left blank. + - **Device ID**: ``: Something that helps you remember which of your devices is used for OwnTracks. + - **Tracker ID**: `` Two character tracker ID. (can be left blank) -Your tracker device will be known in Home Assistant as `_`. If you entered a Tracker ID the tid attribute will be set to that ID. +4. Your tracker device will be known in Home Assistant as `_`. If you entered a Tracker ID, the `tid` attribute will be set to that ID. ### Configuring the app - iOS -[Install the OwnTracks application for iOS.](https://itunes.apple.com/us/app/owntracks/id692424691?mt=8) +1. [Install the OwnTracks application for iOS.](https://itunes.apple.com/us/app/owntracks/id692424691?mt=8) -In the OwnTracks app, tap the (i) in the top left and click on settings. Change the following settings: +1. In the OwnTracks app, tap the (i) in the top left and select **Settings**. +1. Change the following settings: -- Mode: HTTP -- URL: `` -- Turn on authentication -- User ID: `` + - **Mode**: HTTP + - **URL**: `` + - Turn on authentication + - **User ID**: ``. You can make one up for OwnTracks. ## Advanced configuration @@ -60,25 +65,25 @@ owntracks: {% configuration %} max_gps_accuracy: - description: Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account. + description: Sometimes OwnTracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meters. For example, if you put 200, only GPS reports with an accuracy of 200 meters will be takes in account. required: false type: integer waypoints: - description: "Owntracks users can define [waypoints](https://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions." + description: "OwnTracks users can define [waypoints](https://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the OwnTracks users who are listed in the `waypoint_whitelist` can export waypoints from the device. Home Assistant will import these waypoints as zone definitions." required: false default: true type: boolean waypoint_whitelist: - description: "A list of user names (as defined for [Owntracks](/integrations/owntracks)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone)" + description: "A list of user names (as defined for [OwnTracks](/integrations/owntracks)) who can export their waypoints from OwnTracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/username/iPhone)." required: false - default: All users who are connected to Home Assistant via Owntracks. + default: All users who are connected to Home Assistant via OwnTracks. type: list secret: - description: "[Payload encryption key](https://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present." + description: "[Payload encryption key](https://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default, the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present." required: false type: string mqtt_topic: - description: The topic to subscribe for Owntracks updates on your MQTT instance. + description: The topic to subscribe for OwnTracks updates on your MQTT instance. required: false default: owntracks/# type: string @@ -88,7 +93,7 @@ events_only: type: boolean default: false region_mapping: - description: "Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`." + description: "Dictionary to remap names of regions as configured in the OwnTracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps OwnTracks region `key` to Home Assistant zone `value`." required: false type: list {% endconfiguration %} @@ -110,31 +115,31 @@ owntracks: office: work ``` -## Using Owntracks regions +## Using OwnTracks regions -Owntracks can track regions, and send region entry and exit information to Home Assistant. You set up a region in the Owntracks app which you should name the same as your Home Assistant Zone. Please see the [owntracks documentation](https://owntracks.org/booklet/guide/waypoints/). +OwnTracks can track regions, and send region entry and exit information to Home Assistant. To do this, set up a region in the OwnTracks app. Make sure to use the same name for the region in your Home Assistant Zone. When adding the coordinates for your region, note that the unit used for **Radius** in OwnTracks is *meter*. For more information, refer to the [OwnTracks documentation](https://owntracks.org/booklet/guide/waypoints/). -Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone. +Home Assistant uses the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone. -When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS coordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius. +When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS coordinates), you may want to set your Zone radius in HA to be slightly smaller that the OwnTracks region radius. -## Using Owntracks regions - forcing Owntracks to update using iBeacons +## Using OwnTracks regions - forcing OwnTracks to update using iBeaconsOwntracks
-Owntracks v2.0.0 removes support for iBeacons on Android. +OwnTracks v2.0.0 removes support for iBeacons on Android.
-When run in the usual *significant changes mode* (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. +When run in the usual *significant changes mode* (which is kind to your phone battery), OwnTracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. -iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by iOS and some Android devices. Owntracks explain more [here](https://owntracks.org/booklet/guide/beacons/). +iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by iOS and some Android devices. OwnTracks explain more [here](https://owntracks.org/booklet/guide/beacons/). -When you enter an iBeacon region, Owntracks will send a `region enter` message to HA as described above. So if you want to have an event triggered when you arrive home, you can put an iBeacon outside your front door. If you set up an OwnTracks iBeacon region called `home` then getting close to the beacon will trigger an update to HA that will set your zone to be `home`. +When you enter an iBeacon region, OwnTracks will send a `region enter` message to HA as described above. So if you want to have an event triggered when you arrive home, you can put an iBeacon outside your front door. If you set up an OwnTracks iBeacon region called `home` then getting close to the beacon will trigger an update to HA that will set your zone to be `home`. When you exit an iBeacon region HA will switch back to using GPS to determine your location. Depending on the size of your zone, and the accuracy of your GPS location this may change your HA zone. -Sometimes Owntracks will lose connection with an iBeacon for a few seconds. If you name your beacon starting with `-` Owntracks will wait longer before deciding it has exited the beacon zone. HA will ignore the `-` when it matches the Owntracks region with Zones. So if you call your Owntracks region `-home` then HA will recognize it as `home`, but you will have a more stable iBeacon connection. +Sometimes OwnTracks will lose connection with an iBeacon for a few seconds. If you name your beacon starting with `-` OwnTracks will wait longer before deciding it has exited the beacon zone. HA will ignore the `-` when it matches the OwnTracks region with Zones. So if you call your OwnTracks region `-home` then HA will recognize it as `home`, but you will have a more stable iBeacon connection. -## Using Owntracks iBeacons to track devices +## Using OwnTracks iBeacons to track devices iBeacons don't need to be stationary. You could put one on your key ring, or in your car. @@ -148,9 +153,9 @@ This allows you to write zone automations for devices that can't track themselve You can use iBeacons of both types together, so if you have a Zone `drive` with an iBeacon region called `-drive` and you arrive home with a mobile iBeacon called `-car`, then `device_tracker.beacon_car` will be set to a state of `drive`. -## Importing Owntracks waypoints as zones +## Importing OwnTracks waypoints as zones -By default, any Owntracks user connected to Home Assistant can export their waypoint definitions (from the *Export - Export to Endpoint* menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `- - :`. This functionality can be controlled in 2 ways: +By default, any OwnTracks user connected to Home Assistant can export their waypoint definitions (from the *Export - Export to Endpoint* menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `- - :`. This functionality can be controlled in 2 ways: 1. The configuration variable `waypoints` can be set to `false` which will disable importing waypoints for all users. 2. The configuration variable `waypoint_whitelist` can contain a list of users who are allowed to import waypoints. diff --git a/source/_integrations/panel_iframe.markdown b/source/_integrations/panel_iframe.markdown index 17c523ba8a8..e286e6324c3 100644 --- a/source/_integrations/panel_iframe.markdown +++ b/source/_integrations/panel_iframe.markdown @@ -37,7 +37,7 @@ panel_iframe: {% configuration %} panel_iframe: - description: Enables the panel_iframe component. Only allowed once. + description: Enables the panel_iframe integration. Only allowed once. required: true type: map keys: diff --git a/source/_integrations/persistent_notification.markdown b/source/_integrations/persistent_notification.markdown index cc7f9fd1c4c..9f4bf3f312e 100644 --- a/source/_integrations/persistent_notification.markdown +++ b/source/_integrations/persistent_notification.markdown @@ -53,7 +53,7 @@ The service `persistent_notification.create` takes in `message`, `title`, and `n | `title` | yes | Title of the notification. Accepts [templates](/docs/configuration/templating/). | `notification_id` | yes | If `notification_id` is given, it will overwrite the notification if there already was a notification with that ID. -Here is how an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) with static content could look like. +Here is how an [action](/docs/automation/action) of your [automation setup](/getting-started/automation/) with static content could look like. ```yaml action: @@ -122,13 +122,13 @@ The message attribute supports the [Markdown formatting syntax](https://daringfi ### Create a persistent notification -Choose the **Services** tab from the **Developer Tools** sidebar item, then select the `persistent_notification.create` service from the "Service" dropdown. Enter something like the sample below into the **Service Data** field and press the **CALL SERVICE** button. +Choose the **{% my developer_services title="Services" %}** tab from the **Developer Tools** sidebar item, then select the {% my developer_services service="persistent_notification.create" title="`persistent_notification.create`" %} service from the "Service" dropdown. Enter something like the sample below into the **Service Data** field and press the **CALL SERVICE** button. ```json { "notification_id": "1234", "title": "Sample notification", - "message": "This is a sample text" + "message": "This is a sample text." } ``` This will create the notification entry shown above. diff --git a/source/_integrations/plant.markdown b/source/_integrations/plant.markdown index b8903af5336..047eeaa44d2 100644 --- a/source/_integrations/plant.markdown +++ b/source/_integrations/plant.markdown @@ -9,7 +9,7 @@ ha_domain: plant ha_integration_type: integration --- -This`plant`component lets you merge moisture, conductivity, light intensity, temperature and battery level for a plant into a single UI element. It also supports setting minimum and maximum values for each measurement and will change its state to "problem" if it is not within those limits. +This `plant` integration lets you merge moisture, conductivity, light intensity, temperature and battery level for a plant into a single UI element. It also supports setting minimum and maximum values for each measurement and will change its state to "problem" if it is not within those limits. ## Configuration @@ -93,7 +93,7 @@ entity_id: required: false type: float min_brightness: - description: Minimum brightness before triggering a problem. In contrast to the other values, this check is *not* looking at the current situation, but rather at the last days. A problem is only reported if the maximum brightness over the last days was lower than min_brightness. You can use this to check if the plant gets enough light during the course of the day. + description: Minimum brightness before triggering a problem. In contrast to the other values, this check is *not* looking at the current situation, but rather at the last days. A problem is only reported if the maximum brightness over the last days was lower than `min_brightness`. You can use this to check if the plant gets enough light during the course of the day. required: false type: integer max_brightness: @@ -110,7 +110,7 @@ entity_id: ## Examples ### Using plain MQTT sensor to get the data This is a practical example that uses a multiple of `MQTT sensors` to supply the readings used by the `plant` sensor. -Another good source of this data would be the [Mi Flora](/integrations/miflora) component. +Another good source of this data would be the [Mi Flora](/integrations/miflora) integration. If the sensor data is within the min/max values the status will be `ok`, if not the status will be `problem`. You can use this to trigger a notification, if there is a problem with your plant. Of course you can only monitor attributes of your plant, where the sensor is configured and is providing the data. diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index 87fa8870d7d..07c67d8fe99 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -28,7 +28,7 @@ ha_platforms: ha_integration_type: hub --- -This enables [Plugwise](https://www.plugwise.com) components with a central Smile gateway to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address. +This enables [Plugwise](https://www.plugwise.com) integrations with a central Smile gateway to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address. The platform supports [Anna](https://www.plugwise.com/en_US/products/anna), [Adam (zonecontrol)](https://www.plugwise.com/en_US/zonecontrol), [P1](https://www.plugwise.com/en_US/products/smile-p1) Smile products and the [Stretch](https://www.plugwise.com/nl_NL/het-systeem) products. See below list for more details. Platforms available - depending on your Smile and setup include: diff --git a/source/_integrations/prometheus.markdown b/source/_integrations/prometheus.markdown index 3e9a279a66e..d3468fef069 100644 --- a/source/_integrations/prometheus.markdown +++ b/source/_integrations/prometheus.markdown @@ -68,7 +68,7 @@ override_metric: component_config: type: string required: false - description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + description: This attribute contains integration-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. keys: override_metric: type: string @@ -77,7 +77,7 @@ component_config: component_config_domain: type: string required: false - description: This attribute contains domain-specific component override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + description: This attribute contains domain-specific integration override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. keys: override_metric: type: string @@ -86,7 +86,7 @@ component_config_domain: component_config_glob: type: string required: false - description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + description: This attribute contains integration-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. keys: override_metric: type: string diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown index 6abc3d30658..a662ac5b4ab 100644 --- a/source/_integrations/proxmoxve.markdown +++ b/source/_integrations/proxmoxve.markdown @@ -16,7 +16,7 @@ ha_integration_type: integration [Proxmox VE](https://www.proxmox.com/en/) is an open-source server virtualization environment. This integration allows you to poll various data from your instance. -After configuring this component, the binary sensors automatically appear. +After configuring this integration, the binary sensors automatically appear. ## Configuration @@ -24,7 +24,7 @@ After configuring this component, the binary sensors automatically appear. You should have at least one VM or container entry configured, else this integration won't do anything. -To use the `proxmoxve` component, add the following configuration to your `configuration.yaml` file: +To use the `proxmoxve` integration, add the following configuration to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/prusalink.markdown b/source/_integrations/prusalink.markdown index 4d51b2ddc71..7dcecbb4f95 100644 --- a/source/_integrations/prusalink.markdown +++ b/source/_integrations/prusalink.markdown @@ -17,10 +17,11 @@ ha_platforms: ha_dhcp: true --- -The PrusaLink integration allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration is currently limited to the Prusa Mini. - -{% include integrations/config_flow.md %} - -To obtain the API key, on your printer navigate to Settings -> Network -> PrusaLink. It will then be shown at the bottom of the screen. - +The PrusaLink integration allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration works with Prusa MINI and Prusa MK4. This integration requires PrusaLink v2. If you have the Prusa MINI, you need to run firmware 4.4.0 or later. + +To obtain the API key: + - On your printer, navigate to **Settings** > **Network** > **PrusaLink**. + - The API key is shown at the bottom of the screen. + +{% include integrations/config_flow.md %} \ No newline at end of file diff --git a/source/_integrations/pulseaudio_loopback.markdown b/source/_integrations/pulseaudio_loopback.markdown index a3b5a276015..1741913c470 100644 --- a/source/_integrations/pulseaudio_loopback.markdown +++ b/source/_integrations/pulseaudio_loopback.markdown @@ -13,7 +13,7 @@ ha_integration_type: integration The goal behind this switch is to allow a very flexible whole home audio system based upon [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/). -For example, for a system with a 7.1 surround sound card, and 3 instances of [MPD](https://www.musicpd.org/) running, it is possible to quickly route the output of any MPD instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is `on`, the loopback module is loaded. When the switch is `off`, the module is not loaded. +For example, for a system with a 7.1 surround sound card, and 3 instances of [MPD](https://www.musicpd.org/) running, it is possible to quickly route the output of any MPD instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this integration. When the switch is `on`, the loopback module is loaded. When the switch is `off`, the module is not loaded. The benefit of this approach is that this audio routing can occur without modifying the design-time configuration of MPD or PulseAudio. @@ -55,6 +55,6 @@ port:
-This integration relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this component, `module-native-protocol-tcp auth-ip-acl=` must be loaded on the PulseAudio server. +This integration relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this integration, `module-native-protocol-tcp auth-ip-acl=` must be loaded on the PulseAudio server.
diff --git a/source/_integrations/purpleair.markdown b/source/_integrations/purpleair.markdown index 3efe64059b8..3ca6f27dda2 100644 --- a/source/_integrations/purpleair.markdown +++ b/source/_integrations/purpleair.markdown @@ -94,7 +94,8 @@ guidelines. {% raw %} ```yaml -sensor: +template: + - sensor: - name: "Local Outdoor Air Quality" state: > {% set pm2_5_avg = states("sensor.average_outdoor_pm2_5_24h") | int %} diff --git a/source/_integrations/pushover.markdown b/source/_integrations/pushover.markdown index 906bf186f5d..a9a357eb55c 100644 --- a/source/_integrations/pushover.markdown +++ b/source/_integrations/pushover.markdown @@ -14,11 +14,11 @@ ha_codeowners: - '@engrbm87' --- -The [Pushover service](https://pushover.net/) is a platform for the notify component. This allows integrations to send messages to the user using Pushover. +The [Pushover service](https://pushover.net/) is a platform for the notify integration. This allows integrations to send messages to the user using Pushover. ## Configuration -In order to get an API key you need to [register an application](https://pushover.net/apps/clone/home_assistant) on the Pushover website. Your Pushover user key can be found on the [Pushover dashboard](https://pushover.net/dashboard). +In order to get an API key, you need to [register an application](https://pushover.net/apps/clone/home_assistant) on the Pushover website. Your Pushover user key can be found on the [Pushover dashboard](https://pushover.net/dashboard). {% include integrations/config_flow.md %} @@ -36,7 +36,7 @@ Example Automation: attachment: "local/image.png" ``` -Component specific values in the nested `data` section are optional. +Integration-specific values in the nested `data` section are optional. Image attachments can be added using the `attachment` parameter, which can either be a local file reference (ex: `/tmp/image.png`). diff --git a/source/_integrations/pushsafer.markdown b/source/_integrations/pushsafer.markdown index 96c8cc7de49..8e638c5ce84 100644 --- a/source/_integrations/pushsafer.markdown +++ b/source/_integrations/pushsafer.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify component. This allows you to send messages to the user using Pushsafer. +The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify integration. This allows you to send messages to the user using Pushsafer. In order to get a private or alias key you need to go to the [Pushsafer website](https://www.pushsafer.com) and register. diff --git a/source/_integrations/qvr_pro.markdown b/source/_integrations/qvr_pro.markdown index 6d2a48f0178..093c2e72398 100644 --- a/source/_integrations/qvr_pro.markdown +++ b/source/_integrations/qvr_pro.markdown @@ -14,8 +14,8 @@ ha_integration_type: integration --- [QVR Pro](https://www.qnap.com/en/software/qvr-pro) allows you to create -an independent and expandable surveillance environment on your QNAP NAS. The -`qvr_pro` component allows you to view your QVR Pro channels in Home Assistant. +an independent and expandable surveillance environment on your QNAP NAS. The +`qvr_pro` integration allows you to view your QVR Pro channels in Home Assistant. Currently, only cameras are supported by this integration. diff --git a/source/_integrations/raincloud.markdown b/source/_integrations/raincloud.markdown index 3e811b06b02..0659514399e 100644 --- a/source/_integrations/raincloud.markdown +++ b/source/_integrations/raincloud.markdown @@ -73,7 +73,7 @@ monitored_conditions: ## Sensor -Once you have enabled the [Raincloud component](#configuration), add the following to your `configuration.yaml` file: +Once you have enabled the [Raincloud integration](#configuration), add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -100,7 +100,7 @@ monitored_conditions: ## Switch -Once you have enabled the [Raincloud component](#configuration), add the following to your `configuration.yaml` file: +Once you have enabled the [Raincloud integration](#configuration), add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -122,5 +122,5 @@ monitored_conditions: auto_watering: description: Toggle the watering scheduled per zone. manual_watering: - description: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component. + description: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub integration. {% endconfiguration %} diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index 856f48a475b..35460af859d 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -170,6 +170,7 @@ The following models have been tested and confirmed to work: - C2 Pro - E1 Zoom - E1 Outdoor +- E1 Outdoor Pro - RLC-410 - RLC-410W - RLC-411 @@ -203,18 +204,37 @@ However, these cameras can work with this integration through an NVR in which th - E1 Pro - E1 +- Reolink Lumus ## Initial Setup -You'll need to configure your new camera/doorbell for your network. If you're using a wired LAN, this is simple enough. Simply plug it in and let it use DHCP to set itself up. Once it's recognized by your network, you can access its configuration with a web browser. +A brand new Reolink camera first needs to be connected to the network and initialized. During initialization, the credentials for the camera need to be set. +There are serveral ways to achieve this. -If you prefer to use Wi-Fi, especially if you want to restrict it to a local IoT network, [here's a quick way to get it connected](https://www.reddit.com/r/reolink/comments/hjn5be/how_to_connect_wifi_without_an_app/). Simply create a QR code with the following XML string: +### Reolink app/client + +The recommended way is to use the [Reolink mobile app, Windows, or Mac client](https://reolink.com/software-and-manual/). Follow the on-screen instructions. In Home Assistant, use the credentials you just configured in the Reolink app/client. + +### Web browser + +When your camera has a LAN port (most Wi-Fi cameras also have a LAN port), first connect the camera to your network using a LAN cable. +Find the IP address of the camera (for example by checking in your router) and go to the IP address in a web browser. +Follow the on-screen instructions to first setup the credentials (use the same credentials in Home Assistant). +If it is a Wi-Fi camera, go to **settings** (gear icon) > **Network** and fill in your Wi-Fi SSID and password. After that you can disconnect the LAN cable and the camera will automatically switch to the Wi-Fi connection. +Now set up the Reolink Home Assistant integration using the credentials you just specified. + +### QR code + +You can also connect a Wi-Fi camera using a self-made QR code. Once connected, follow the instructions under **Web browser**. +Create a QR code using ISO-8859-1 character encoding (not UTF-8) with the following XML string: ssid

password

last4
-Use the `ssid` and `password` of your IoT network. The `last4` is the last 4 digits of the QR code used for the Reolink setup. It's printed under the QR code. You can also scan the QR code and grab the last 4 digits. +Use the `ssid` and `password` of your Wi-Fi network. +The `last4` are the last 4 digits of the QR code which is printed (on the underside) of the camera itself. +Normally, the digits are printed directly under the QR code. Alternatively, you could scan the QR code and grab the last 4 digits. -Then power up the camera while pointing it at the QR code. It takes about a minute to initialize, read the QR code, and attach. +Then power up the camera while pointing it at the QR code. It takes about a minute to initialize, read the QR code, and connect to your Wi-Fi. ## Troubleshooting @@ -222,3 +242,4 @@ Then power up the camera while pointing it at the QR code. It takes about a minu - Ensure at least one of the HTTP/HTTPS ports is enabled in the [windows](https://reolink.com/software-and-manual/)/web client under `Settings`->`Network`->`Advanced`->`Port Settings`, see [additional instructions](https://support.reolink.com/hc/en-us/articles/900004435763-How-to-Set-up-Reolink-Ports-Settings-via-Reolink-Client-New-Client-) on the Reolink site. - On some camera models, the RTMP port needs to be enabled in order for the HTTP(S) port to function properly. Make sure this port is also enabled if you get a `Cannot connect to host` error while one of the HTTP/HTTPS ports is already enabled. - Setting a static IP address for Reolink cameras/NVRs in your router is advisable to prevent (temporal) connectivity issues when the IP address changes. +- Do not set a static IP in the Reolink device itself, but leave the **Connection Type** on **DHCP** under **Settings** > **Network** > **Network Information** > **Set Up**. If you set it to **static** on the Reolink device itself, this is known to cause incorrect DHCP requests on the network. The incorrect DHCP request causes Home Assistant to use the wrong IP address for the camera, resulting in connection issues. The issue originates from the Reolink firmware, which keeps sending DCHP requests even when you set a static IP address in the Reolink device. diff --git a/source/_integrations/rest_command.markdown b/source/_integrations/rest_command.markdown index c7adb916e0f..52c4a1747dc 100644 --- a/source/_integrations/rest_command.markdown +++ b/source/_integrations/rest_command.markdown @@ -14,7 +14,7 @@ This integration can expose regular REST commands as services. Services can be c [script]: /integrations/script/ [automation]: /getting-started/automation/ -To use this component, add the following lines to your `configuration.yaml` file: +To use this integration, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/rfxtrx.markdown b/source/_integrations/rfxtrx.markdown index 95a96048e10..a0f82ccb5ac 100644 --- a/source/_integrations/rfxtrx.markdown +++ b/source/_integrations/rfxtrx.markdown @@ -59,7 +59,7 @@ logger: Not all protocols as advertised are enabled on the initial setup of your transceiver. Enabling all protocols is not recommended either. The RFXcom transceiver loses significant sensitivity when more protocols are enabled. **Warning**: enabling the "BlindsT0" protocol blocks receiving any other protocol. -If your 433.92 product is not showing in the logs, you may need to enable additional protocols. You can do this by configuring the device itself using [RFXmgmr](http://www.rfxcom.com/epages/78165469.sf/en_GB/?ViewObjectPath=%2FShops%2F78165469%2FCategories%2FDownloads) to enable the required protocol, or you can configure the device in Home Assistant by configuring the [Protocols](#protocols). +If your 433.92 MHz product is not showing in the logs, you may need to enable additional protocols. You can do this by configuring the device itself using [RFXmgmr](http://www.rfxcom.com/epages/78165469.sf/en_GB/?ViewObjectPath=%2FShops%2F78165469%2FCategories%2FDownloads) to enable the required protocol, or you can configure the device in Home Assistant by configuring the [Protocols](#protocols). ## ser2net @@ -138,7 +138,7 @@ To add the device, enter the value unaltered in the Event Code field, and click #### Convert switch event to dimming event -To convert a standard switch to a light, use the [Light Switch](/integrations/light.switch/) component. +To convert a standard switch to a light, use the [Light Switch](/integrations/light.switch/) integration. To convert a switch to a dimmable light, make sure the event contains a dimming command. You can usually convert a command by changing one byte. diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown index 980567a5080..3558c13a40b 100644 --- a/source/_integrations/ring.markdown +++ b/source/_integrations/ring.markdown @@ -23,7 +23,7 @@ ha_platforms: ha_integration_type: integration --- -The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant. Due to recent authentication changes of Ring, you will need to run at least Home Assistant 0.104. +The Ring integration allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant. Due to recent authentication changes of Ring, you will need to run at least Home Assistant 0.104. There is currently support for the following device types within Home Assistant: @@ -33,7 +33,7 @@ There is currently support for the following device types within Home Assistant: - [Switch](#switch)

-This component does NOT allow for live viewing of your Ring camera within Home Assistant. +This integration does NOT allow for live viewing of your Ring camera within Home Assistant.

{% include integrations/config_flow.md %} diff --git a/source/_integrations/roborock.markdown b/source/_integrations/roborock.markdown index f20bcbd2693..f79972c0732 100644 --- a/source/_integrations/roborock.markdown +++ b/source/_integrations/roborock.markdown @@ -57,7 +57,7 @@ We plan to make the process simpler in the future, but for now, it is a multi-st 4) Go to **Developer Tools** > **Services** > **Vacuum: Send Command**. Select your vacuum as the entity and 'get_room_mapping' as the command. 5) Go back to your logs and look at the response to `get_room_mapping`. This is a list of the 6-digit IDs you saw earlier to 2-digit IDs. In your original list of room names and 6-digit IDs, replace the 6-digit ID with its pairing 2-digit ID. 6) Now, you have the 2-digit ID that your vacuum uses to describe a room. -7) Go back to **Developer Tools** > **Services** > **Vacuum: Send Command** then type `app_segment_clean` as your command and 'segments' with a list of the 2-digit IDs you want to clean. Then, add `repeats` with a number (ranging from 1 to 3) to determine how many times you want to clean these areas. +7) Go back to **Developer Tools** > **Services** > **Vacuum: Send Command** then type `app_segment_clean` as your command and 'segments' with a list of the 2-digit IDs you want to clean. Then, add `repeat` with a number (ranging from 1 to 3) to determine how many times you want to clean these areas. Example: ```yaml @@ -68,7 +68,7 @@ data: - segments: - 22 - 23 - - repeats: 1 + - repeat: 1 target: entity_id: vacuum.s7_roborock diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown index f0309f6101a..1cc6ba6c2cc 100644 --- a/source/_integrations/sabnzbd.markdown +++ b/source/_integrations/sabnzbd.markdown @@ -15,7 +15,7 @@ ha_platforms: ha_integration_type: integration --- -The `sabnzbd` integration will allow you to monitor and control your downloads with [SABnzbd](https://sabnzbd.org) from within Home Assistant and setup automations based on the information. +The SABnzbd integration will allow you to monitor and control your downloads with [SABnzbd](https://sabnzbd.org) from within Home Assistant and setup automations based on the information. ## Prerequisites @@ -29,7 +29,7 @@ You need to grab your API key from your SABnzbd instance in order to configure t ## Sensor -This component will create these sensors: +This integration will create these sensors: - `status`: The current status of SABnzbd. (Idle, Paused, etc.) - `speed`: The current download speed. diff --git a/source/_integrations/satel_integra.markdown b/source/_integrations/satel_integra.markdown index a3eb14af581..4935ea269f0 100644 --- a/source/_integrations/satel_integra.markdown +++ b/source/_integrations/satel_integra.markdown @@ -34,7 +34,7 @@ The library currently doesn't support encrypted connection to your alarm, so you A list of all partition, zone and output IDs can be acquired by running DloadX program and connecting to your alarm. -For the Binary Sensor check the [type/class](/integrations/binary_sensor/) list for a possible visualization of your zones. Note: If no zones or outputs are specified, Home Assistant will not load any binary_sensor components." +For the Binary Sensor, check the [type/class](/integrations/binary_sensor/) list for a possible visualization of your zones. Note: If no zones or outputs are specified, Home Assistant will not load any binary_sensor integrations." ## Configuration diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index e9569d0d073..1fc50d91491 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -181,7 +181,7 @@ scrape: ### Available implementations -Get the counter for all our implementations from the [Component overview](/integrations/) page. +Get the counter for all our implementations from the integrations page under {% my integrations title="**Settings** > **Devices & Services**" %}. {% raw %} diff --git a/source/_integrations/select.mqtt.markdown b/source/_integrations/select.mqtt.markdown index 15e403902e6..9cc2fc46b3d 100644 --- a/source/_integrations/select.mqtt.markdown +++ b/source/_integrations/select.mqtt.markdown @@ -73,7 +73,7 @@ command_topic: required: true type: string device: - description: "Information about the device this Select is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this Select is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index af4d721bd1f..637cde66f96 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -11,7 +11,7 @@ ha_codeowners: ha_integration_type: entity --- -Sensors are a basic platform component in Home Assistant. They monitor the states and conditions of a variety of entities. An entity can be many things. This can include a physical device like a motion sensor that reports the battery level, a web service that retrieves the weather temperature, a built-in function that calculates the sun's elevation relative to your GPS position, or even a custom sensor you may have created to report the free space on your laptop. These are all _things_ reporting different types of information. +Sensors are a basic integration in Home Assistant. They monitor the states and conditions of a variety of entities. An entity can be many things. This can include a physical device like a motion sensor that reports the battery level, a web service that retrieves the weather temperature, a built-in function that calculates the sun's elevation relative to your GPS position, or even a custom sensor you may have created to report the free space on your laptop. These are all _things_ reporting different types of information. Some of these sensors are built-in to Home Assistant, some are created automatically when you add an integration (see this [list](/integrations/#sensor)), and some can be created manually. The [Statistics](/integrations/statistics) and [Template](/integrations/template) sensors are two examples of the last case. diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown index 1b4a21e5935..efe8f65c543 100644 --- a/source/_integrations/sensor.mqtt.markdown +++ b/source/_integrations/sensor.mqtt.markdown @@ -61,7 +61,7 @@ availability_topic: required: false type: string device: - description: "Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/device_registry_index/). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/device_registry_index/). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/sentry.markdown b/source/_integrations/sentry.markdown index febe05e1878..c066e1e0d0e 100644 --- a/source/_integrations/sentry.markdown +++ b/source/_integrations/sentry.markdown @@ -15,11 +15,11 @@ ha_integration_type: service
- The free Sentry account allows 5000 events per month. Depending on the amount of events sent to Sentry you will either have to upgrade your Sentry account or have a period without data flowing from Home Assistant to Sentry. + The free Sentry account allows 5000 events per month. Depending on the amount of events sent to Sentry, you will either have to upgrade your Sentry account or have a period without data flowing from Home Assistant to Sentry.
-The `sentry` integration integrates with [Sentry](https://sentry.io/) to capture both logged errors as well as unhandled exceptions in Home Assistant. +The Sentry integration in Home Assistant integrates with [Sentry](https://sentry.io/) to capture both logged errors as well as unhandled exceptions in Home Assistant. ## Preparation @@ -27,11 +27,11 @@ Before configuring the Sentry integration, you'll need to get Sentry account and Follow these steps to get the DSN: -- Go to **Projects**. -- Click **Create project**. -- Fill out **Give your project a name** and **choose Assign a Team** fields and click Create project button. -- Click **Get your DSN** link in top of the page. -- Your DSN is now visible and looks like +1. Go to **Projects**. +1. Select **Create project**. +1. Fill out the **Give your project a name** and **choose Assign a Team** fields and select the **Create project** button. +1. Select the **Get your DSN** link in top of the page. + * Your DSN is now visible and looks like {% include integrations/config_flow.md %} @@ -42,10 +42,10 @@ The Sentry integration provides settings to: - Set an environment name for your instance. - Limit the event log level to trigger on, and the log level of the breadcrumbs. - Ability to send out error events that are handled. -- Ability to send out events caused by custom integrations (custom components). +- Ability to send out events caused by custom integrations. - Ability to send out events originating from third-party Python packages. - Enable performance tracing and tune the tracing sample rate used. -To change the settings go in **Settings** -> **Devices & Services**, find the already installed **Sentry** box and click on **Options**. +To change the settings, go to {% my integrations title="**Settings** > **Devices & Services**" %}. On the already installed **Sentry** integration, select the cogwheel and select **Options**. -After changing Sentry settings, you'll need to restart Home Assistant in order to make them effective. +After changing the Sentry settings, you'll need to restart Home Assistant in order to make them effective. diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index f91ce850167..ee125b3be7b 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -207,7 +207,13 @@ Shelly device relays are added to Home Assistant by default as `switch` entities ## Consumption type (generation 2) -Shelly device relays are added to Home Assistant by default as `switch` entities. A relay can be added as a `light` entity if **CONSUMPTION TYPE** value is set to `Lights`. +Shelly device relays are added to Home Assistant by default as `switch` entities. A relay can be added as a `light` entity if **EXTERNAL CONSUMPTION TYPE** value is set to `light`. + +
+ +Firmware 1.0.0 or later is required. + +
## Light transition diff --git a/source/_integrations/shiftr.markdown b/source/_integrations/shiftr.markdown index 2f93ceccc8c..d80698f67c6 100644 --- a/source/_integrations/shiftr.markdown +++ b/source/_integrations/shiftr.markdown @@ -13,7 +13,7 @@ The `shiftr` integration makes it possible to transfer details collected with Ho ## Configuration -Create a new [namespace](https://shiftr.io/new) and generate a new token. You will need to use `Key (Username)` and `Secret (Password)` to setup the component. +Create a new [namespace](https://shiftr.io/new) and generate a new token. You will need to use `Key (Username)` and `Secret (Password)` to setup the integration. To use the `shiftr` integration in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/sigfox.markdown b/source/_integrations/sigfox.markdown index e0c9cd498cc..4557896abaa 100644 --- a/source/_integrations/sigfox.markdown +++ b/source/_integrations/sigfox.markdown @@ -11,7 +11,7 @@ ha_platforms: ha_integration_type: integration --- -[SigFox](https://www.sigfox.com/en) integration adding a sensor for each Sigfox device registered with your account. The default name of sensors is `sigfox_{DEVICE_ID}` where `DEVICE_ID` is the devices Sigfox ID. The state of an added Sigfox sensor is the payload of the last message published by that device. Additionally, there are attributes for the latitude and longitude coordinates of the device, as well as the signal-to-noise ratio ([snr](https://en.wikipedia.org/wiki/Signal-to-noise_ratio)). +[SigFox](https://www.sigfox.com/) integration adding a sensor for each Sigfox device registered with your account. The default name of sensors is `sigfox_{DEVICE_ID}` where `DEVICE_ID` is the devices Sigfox ID. The state of an added Sigfox sensor is the payload of the last message published by that device. Additionally, there are attributes for the latitude and longitude coordinates of the device, as well as the signal-to-noise ratio ([snr](https://en.wikipedia.org/wiki/Signal-to-noise_ratio)). ## Setup diff --git a/source/_integrations/sighthound.markdown b/source/_integrations/sighthound.markdown index e41b84a3890..5b4a776870c 100644 --- a/source/_integrations/sighthound.markdown +++ b/source/_integrations/sighthound.markdown @@ -17,7 +17,7 @@ This integration adds an image processing entity where the state of the entity i If `save_file_folder` is configured, on each new detection of a person, an annotated image with the name `sighthound_{camera_name}_latest.jpg` is saved in the configured folder if it doesn't already exist, and overwritten if it does exist. The saved image shows the bounding box around detected people and can be displayed on the Home Assistant front end using a [Local File](/integrations/local_file/) camera, and used in notifications. If `save_timestamped_file` is configured as `true`, then the annotated image is saved with a file name that includes the time of detection. -**Note** that by default the component will not automatically scan images, but requires you to call the `image_processing.scan` service, e.g., using an automation triggered by motion. +**Note** that by default the integration will not automatically scan images, but requires you to call the `image_processing.scan` service, e.g., using an automation triggered by motion. ## Configuration diff --git a/source/_integrations/simulated.markdown b/source/_integrations/simulated.markdown index cb97e78906d..3f64b38dcf7 100644 --- a/source/_integrations/simulated.markdown +++ b/source/_integrations/simulated.markdown @@ -1,6 +1,6 @@ --- title: Simulated -description: Component for simulating a numerical sensor. +description: Integration for simulating a numerical sensor. ha_category: - Sensor - Utility diff --git a/source/_integrations/siren.mqtt.markdown b/source/_integrations/siren.mqtt.markdown index fcb7f9515a5..96d4e53900f 100644 --- a/source/_integrations/siren.mqtt.markdown +++ b/source/_integrations/siren.mqtt.markdown @@ -84,7 +84,7 @@ command_topic: required: false type: string device: - description: "Information about the device this siren is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this siren is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/sisyphus.markdown b/source/_integrations/sisyphus.markdown index e718243c658..21ef39cb4cd 100644 --- a/source/_integrations/sisyphus.markdown +++ b/source/_integrations/sisyphus.markdown @@ -25,7 +25,7 @@ There is currently support for the following device types within Home Assistant: The Light and Media players will be automatically added for each of your Sisyphus tables, if the Sisyphus integration is configured. -There are two ways to configure this component. For the automatic discovery of your table(s), simply add the following to your `configuration.yaml`: +There are two ways to configure this integration. For the automatic discovery of your table(s), add the following to your `configuration.yaml`: ```yaml # This will auto-detect all Sisyphus tables on your local network. diff --git a/source/_integrations/snapcast.markdown b/source/_integrations/snapcast.markdown index 05afca13697..ccb63f7006c 100644 --- a/source/_integrations/snapcast.markdown +++ b/source/_integrations/snapcast.markdown @@ -20,7 +20,7 @@ The Snapcast integration allows you to control [Snapcast](https://github.com/bad ## Services -The snapcast components provides a few services registered under the media_player component. +The snapcast integration provides a few services registered under the media_player integration. ### Service `snapcast.snapshot` diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown index 822d105f98c..dd16994f07f 100644 --- a/source/_integrations/snips.markdown +++ b/source/_integrations/snips.markdown @@ -141,7 +141,7 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin ### Triggering actions -In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/integrations/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors: +In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/integrations/intent_script) integration. For instance, the following block handles a `ActivateLightColor` intent to change light colors: Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips integration in Home Assistant will try and strip off the username. Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips integration is trying to match the non-username version of the intent (i.e., just `playmusic`). diff --git a/source/_integrations/solaredge.markdown b/source/_integrations/solaredge.markdown index 6ed953b1202..84c7d9791d0 100644 --- a/source/_integrations/solaredge.markdown +++ b/source/_integrations/solaredge.markdown @@ -18,7 +18,7 @@ ha_integration_type: device The SolarEdge integration allows you to get details from your SolarEdge solar power setup and integrate these in your Home Assistant installation. -To integrate it, you need your installation ID and an API key. You can get these by logging in to your [SolarEdge web portal](https://www.solaredge.com). Note: if your portal is not in English, the labels will be different. +To integrate it, you need your installation ID and an API key. You can get these by logging in to your [SolarEdge web portal](https://monitoring.solaredge.com/). Note: if your portal is not in English, the labels will be different. - Click on Admin and scroll down to API Access - Click on "Generate key" diff --git a/source/_integrations/solaredge_local.markdown b/source/_integrations/solaredge_local.markdown index cea483ca19f..4dd0ffef1ac 100644 --- a/source/_integrations/solaredge_local.markdown +++ b/source/_integrations/solaredge_local.markdown @@ -15,7 +15,7 @@ ha_platforms: ha_integration_type: integration --- -The `solaredge_local` platform uses the local API available on some SolarEdge Inverters to allow you to get details from your SolarEdge solar power setup and integrate these into your Home Assistant installation. +The `solaredge_local` integration uses the local API available on some SolarEdge Inverters to allow you to get details from your SolarEdge solar power setup and integrate these into your Home Assistant installation. Only specific models support the local API. The local API is available on inverters that do not have an LCD character screen. You can also check the datasheets if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection". These inverters also have a part number that ends with a 4. For example: SEXXK-XXXXXBXX4 or SEXXXXH-XXXXXBXX4 @@ -23,7 +23,7 @@ You can check if the local API works by finding the IP address of your inverter
-Recent firmware updates have disabled the local API on many inverters. Please enter the IP address of your inverter in a browser before attempting to use this component. If the local API is enabled, you'll see a web page with the SolarEdge logo and a "Commissioning" menu. See [this issue](https://github.com/jbuehl/solaredge/issues/124) and [this issue](https://github.com/drobtravels/solaredge-local/issues/24) for additional details. +Recent firmware updates have disabled the local API on many inverters. Please enter the IP address of your inverter in a browser before attempting to use this integration. If the local API is enabled, you'll see a web page with the SolarEdge logo and a "Commissioning" menu. See [this issue](https://github.com/jbuehl/solaredge/issues/124) and [this issue](https://github.com/drobtravels/solaredge-local/issues/24) for additional details. If your inverter does not support the local API, you can use the [cloud based version](/integrations/solaredge/) diff --git a/source/_integrations/spaceapi.markdown b/source/_integrations/spaceapi.markdown index 8305882ed54..b9abfbd4804 100644 --- a/source/_integrations/spaceapi.markdown +++ b/source/_integrations/spaceapi.markdown @@ -264,7 +264,7 @@ The list of sensors can be any sensor, not just temperature or humidity. ## Examples -In this section you find some real-life examples of how to use this component. +In this section you find some real-life examples of how to use this integration. ### Eastermundigen diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown index a8c18a0d19f..43abb8a4a4f 100644 --- a/source/_integrations/speedtestdotnet.markdown +++ b/source/_integrations/speedtestdotnet.markdown @@ -39,7 +39,7 @@ Please be aware of the potential [inconsistencies](https://github.com/sivel/spee ## Examples -In this section you will find some real-life examples of how to use this component. +In this section you will find some real-life examples of how to use this integration. ### Using as a trigger in an automation {% raw %} diff --git a/source/_integrations/stiebel_eltron.markdown b/source/_integrations/stiebel_eltron.markdown index 31fdfa890da..566f8f9c85c 100644 --- a/source/_integrations/stiebel_eltron.markdown +++ b/source/_integrations/stiebel_eltron.markdown @@ -48,7 +48,7 @@ The following preset modes are supported. The STIEBEL ELTRON modes are mapped an ## Configuration -To enable this component, add the following lines to your `configuration.yaml` file: +To enable this integration, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/stream.markdown b/source/_integrations/stream.markdown index 179ad0d18cf..7130b2cb7bc 100644 --- a/source/_integrations/stream.markdown +++ b/source/_integrations/stream.markdown @@ -16,7 +16,7 @@ ha_platforms: ha_integration_type: system --- -The stream integration provides a way to proxy live streams through Home Assistant. Most users should not need to configure anything or interface with the component directly since it is an internal component used by the [camera integration](/integrations/camera). +The stream integration provides a way to proxy live streams through Home Assistant. Most users should not need to configure anything or interface with the integration directly since it is an internal integration used by the [camera integration](/integrations/camera). ## Configuration diff --git a/source/_integrations/surepetcare.markdown b/source/_integrations/surepetcare.markdown index d89110fd529..7b25d8f5f85 100644 --- a/source/_integrations/surepetcare.markdown +++ b/source/_integrations/surepetcare.markdown @@ -19,7 +19,7 @@ ha_platforms: ha_integration_type: integration --- -The `surepetcare` component allows you to get information on your Sure Petcare Connect Pet or Cat Flap. +The Sure Petcare integration allows you to get information on your Sure Petcare Connect Pet or Cat Flap. {% include integrations/config_flow.md %} diff --git a/source/_integrations/switch.mqtt.markdown b/source/_integrations/switch.mqtt.markdown index d1cf316b185..d4d75b48cad 100644 --- a/source/_integrations/switch.mqtt.markdown +++ b/source/_integrations/switch.mqtt.markdown @@ -71,7 +71,7 @@ command_topic: required: false type: string device: - description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/system_log.markdown b/source/_integrations/system_log.markdown index 558c64c85ac..c14ddca5756 100644 --- a/source/_integrations/system_log.markdown +++ b/source/_integrations/system_log.markdown @@ -59,7 +59,7 @@ Errors and warnings are posted as the event `system_log_event`, so it is possibl | `source` | File that triggered the error, e.g., `core.py` or `media_player/yamaha.py`. | | `exception` | Full stack trace if available, an empty string otherwise. | | `message` | Descriptive message of the error, e.g., "Error handling request". | -| `name` | Name of the component, e.g., `homeassistant.components.device_tracker` | +| `name` | Name of the integration, e.g., `homeassistant.components.device_tracker` | | `timestamp` | Unix timestamp with as a double, e.g., 1517241010.237416. | Live examples of these events can be found in the Home Assistant log file (`home-assistant.log`) or by just looking in the system log. An example could, for instance, look like this: diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown index 8ca2f81407f..43f55c7d0fd 100644 --- a/source/_integrations/tado.markdown +++ b/source/_integrations/tado.markdown @@ -42,7 +42,7 @@ There is currently support for the following device types within Home Assistant: The Tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/), which is used by their website and now by this component. -It currently supports presenting the current temperature, the setting temperature and the current operation mode. The operation mode can be set to manual, auto and off. If no user is at home anymore, all Tado zones show the away-state (Only with Tado assist mode). Manually switching between home-mode and away-mode is also supported. Any Tado climate card can be switched between these presence modes, this changes the setting for the entire home. +It currently supports presenting the current temperature, the setting temperature and the current operation mode. The operation mode can be set to manual, auto and off. If no user is at home anymore, all Tado zones show the away-state (Only with Tado assist mode). Manually switching between home-mode and away-mode is also supported. Manually switching to auto-mode is only supported with Tado assist mode. Any Tado climate card can be switched between these presence modes, this changes the setting for the entire home. ## Presence Detection diff --git a/source/_integrations/tank_utility.markdown b/source/_integrations/tank_utility.markdown index f3e79d2cd68..f9f6afca980 100644 --- a/source/_integrations/tank_utility.markdown +++ b/source/_integrations/tank_utility.markdown @@ -54,7 +54,7 @@ The device item value is the last segment of the URL path, e.g., the URL ## Configuration -To enable the component, add the following lines to your `configuration.yaml` file: +To enable the integration, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown index 5663552211b..19361b8fb79 100644 --- a/source/_integrations/telegram.markdown +++ b/source/_integrations/telegram.markdown @@ -11,15 +11,65 @@ ha_platforms: ha_integration_type: integration --- -The `telegram` platform uses [Telegram](https://www.telegram.org) to deliver notifications from Home Assistant to your Telegram application(s). +The `telegram` integration uses [Telegram](https://www.telegram.org) to deliver notifications from Home Assistant to your Telegram application(s). -## Setup +## Setup example -The requirements are: +To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-create-a-bot), follow these steps: -- You need a [Telegram bot](https://core.telegram.org/bots). Please follow those [instructions](https://core.telegram.org/bots#6-botfather) to create one and get the token for your bot. Keep in mind that bots are not allowed to contact users. You need to make the first contact with your user. Meaning that you need to send a message to the bot from your user. -- You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_bot) and define there your API key and the allowed chat ids to interact with. -- The `chat_id` of an allowed user or group to which the bot is added. + * Bots are not allowed to contact users. You need to make the first contact from the user for which you want to set up the bot. + +1. Tell Telegram to create a bot for you: + * In Telegram, open a chat with @BotFather and enter `/newbot`. + * Follow the instructions on screen and give your bot a name. + * BotFather will give you a link to your new bot and an HTTP API token. + * Store the token somewhere safe. +1. To get a chat ID, send any message to the [GetIDs bot](https://t.me/getidsbot). + * Then, enter `/start`. + * The bot will return your chat ID and the user name. +1. Create a [Telegram bot in Home Assistant](/integrations/telegram_bot): + * Paste this into your configuration file: + * Replace the `api_key` and the `allowed_chat_ids` with your data. + + ```yaml + # Telegram Bot + telegram_bot: + - platform: polling + api_key: "1117774004:EABQulCACdgkQOTN3hS_5HZwSwxDlekCixr" + allowed_chat_ids: + - 44441111 + ``` + +1. Create a notifier: + * Paste this into your configuration file: + * Replace the `name` and the `chat_id` with your data. + + ```yaml + # Notifier + notify: + - platform: telegram + name: "sarah" + chat_id: 44441111 + ``` + +1. From the conversation with BotFather, select the link to open a chat with your new bot. +1. In the chat with the new bot, enter `/start`. +1. Test the service: + * Go to [**Developer tools** > **Services** > **YAML mode**](https://my.home-assistant.io/redirect/developer_call_service/?service=homeassistant.turn_on). + * Paste this into the YAML file: + * Replace the `service` and the `message` with your data. + + ```yaml + service: notify.sarah + data: + message: "Yay! A message from Home Assistant." + ``` + * Select **Call service**. You should now get a message. + +1. You can do more with this. Check out the configuration descriptions and examples below. + + +## Methods to retrieve a `chat_id` **Method 1:** You can get your `chat_id` by sending any message to the [GetIDs bot](https://t.me/getidsbot). diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 413a89db447..b544e558962 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -429,7 +429,7 @@ template: ### State based sensor modifying another sensor's output -If you don't like the wording of a sensor output, then the Template Sensor can help too. Let's rename the output of the [Sun component](/integrations/sun/) as a simple example: +If you don't like the wording of a sensor output, then the Template Sensor can help too. Let's rename the output of the [Sun integration](/integrations/sun/) as a simple example: {% raw %} @@ -804,7 +804,7 @@ sensor: required: true type: template availability_template: - description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`. + description: Defines a template to get the `available` state of the integration. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the integration will always be `available`. required: false type: template default: true diff --git a/source/_integrations/text.mqtt.markdown b/source/_integrations/text.mqtt.markdown index e22d7125d84..028c49f8791 100644 --- a/source/_integrations/text.mqtt.markdown +++ b/source/_integrations/text.mqtt.markdown @@ -67,7 +67,7 @@ command_topic: required: true type: string device: - description: "Information about the device this of text capability is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this of text capability is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/thethingsnetwork.markdown b/source/_integrations/thethingsnetwork.markdown index 8935f20a248..cafd148021f 100644 --- a/source/_integrations/thethingsnetwork.markdown +++ b/source/_integrations/thethingsnetwork.markdown @@ -52,7 +52,7 @@ Access keys ## Configuration -To enable this component, add the following lines to your `configuration.yaml`: +To enable this integration, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry @@ -76,7 +76,7 @@ access_key: The `thethingsnetwork` sensor platform allows you to get data from a [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/). -This platform requires that the [The Things Network component](#configuration) is set up and the [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/) as well. +This platform requires that the [The Things Network integration](#configuration) is set up and the [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/) as well. ### Prerequisites diff --git a/source/_integrations/thingspeak.markdown b/source/_integrations/thingspeak.markdown index c133c894cec..df5b0b5d95c 100644 --- a/source/_integrations/thingspeak.markdown +++ b/source/_integrations/thingspeak.markdown @@ -10,7 +10,7 @@ ha_integration_type: integration --- The `thingspeak` integrations makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/). -For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](/integrations/influxdb/). +For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB integration](/integrations/influxdb/). ## Configuration diff --git a/source/_integrations/thread.markdown b/source/_integrations/thread.markdown index 6bc0f888cdf..45bd10d434a 100644 --- a/source/_integrations/thread.markdown +++ b/source/_integrations/thread.markdown @@ -21,7 +21,7 @@ Thread-based consumer devices use one of the two Home Automation standards: Matt | Logo | Home Assistant integration | | :-------------------------------------------------------------------------: | :--------------------------------:| | | [Matter](/integrations/Matter/) | -| | [HomeKit](/integrations/homekit/) | +| | [HomeKit](/integrations/homekit_controller/) | ## Thread — A communication protocol diff --git a/source/_integrations/tomorrowio.markdown b/source/_integrations/tomorrowio.markdown index ccca0e11491..360574f4f88 100644 --- a/source/_integrations/tomorrowio.markdown +++ b/source/_integrations/tomorrowio.markdown @@ -23,9 +23,11 @@ The Tomorrow.io integration allows you to obtain weather, air quality, pollen, a ## Obtain an API key -You can obtain a free API key by signing up with [Tomorrow.io](https://www.tomorrow.io/weather-api/). +You can obtain a free API key by signing up with [Tomorrow.io](https://www.tomorrow.io/weather-api/). The integration assumes that your API key is associated with a free Tomorrow.io account. Free accounts include a limited number of daily API requests and the number of daily API requests included varies by account. Login to Tomorrow.io to view the number of daily API requests included with your account. -The integration will automatically set the refresh interval based on the number of Tomorrow.io integrations that are using the same API key for a given Home Assistant instance. The integration currently assumes you are using a free account so the max requests per day is 100 (the refresh interval is calculated such that you should only use up around 90% of the quota). +The refresh interval defaults to a time period that is compatible with an account limited to 100 daily API requests and this integration should use around 90% of the available daily requests. + +When using a free account, the information provided by Tomorrow.io is limited to the [Core layer](https://docs.tomorrow.io/reference/data-layers-core). It does not include the Air Quality layer or other layers. A paid Tomorrow.io account is required to retrieve those layers. ## Supported Forecast Types diff --git a/source/_integrations/toon.markdown b/source/_integrations/toon.markdown index 4cdb9ceeb84..0d1b8118c21 100644 --- a/source/_integrations/toon.markdown +++ b/source/_integrations/toon.markdown @@ -46,7 +46,7 @@ There is currently support for the following device types within Home Assistant: ## Setting up a developer account -In order to be able to use this component, you'll need to sign up for a free Toon API developer account. +In order to be able to use this integration, you'll need to sign up for a free Toon API developer account. 1. Visit the [Toon API developers website](https://developer.toon.eu/), and [sign in](https://developer.toon.eu/user/login). [Create an account](https://developer.toon.eu/user/register) if you don’t have one already. 2. Open the "[My Apps](https://developer.toon.eu/user/me/apps)" page and click on "Add a new App" button on the top right. diff --git a/source/_integrations/totalconnect.markdown b/source/_integrations/totalconnect.markdown index 2c438a3c097..75a76442822 100644 --- a/source/_integrations/totalconnect.markdown +++ b/source/_integrations/totalconnect.markdown @@ -68,7 +68,7 @@ automation: {% details "Notes for Home Assistant Core Installations" %} -If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command: +If you have issues running this integration, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command: ```bash sudo apt install libxml2-dev libxmlsec1-dev diff --git a/source/_integrations/tplink_lte.markdown b/source/_integrations/tplink_lte.markdown index a1488286125..cf063e03057 100644 --- a/source/_integrations/tplink_lte.markdown +++ b/source/_integrations/tplink_lte.markdown @@ -18,7 +18,7 @@ The integration provides a notification service that will send an SMS. ## Configuration -To enable the component, add the following lines to your `configuration.yaml` file: +To enable the integration, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown index 9b8101a342d..c2dc09c22e8 100644 --- a/source/_integrations/tradfri.markdown +++ b/source/_integrations/tradfri.markdown @@ -23,7 +23,7 @@ ha_platforms: ha_integration_type: integration --- -The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file. +The IKEA TRÅDFRI integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file. {% include integrations/config_flow.md %} @@ -57,7 +57,7 @@ Then restart Home Assistant. When prompted, enter the security key and click *co This does not apply to Home Assistant running in Docker Containers, including the default Home Assistant install.
-Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (more than one hour) on slow devices. +Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this integration. Also, installing some dependencies might take considerable time (more than one hour) on slow devices. ## Known limitations diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown index 0cb0cca1fe8..06c37a739f9 100644 --- a/source/_integrations/tuya.markdown +++ b/source/_integrations/tuya.markdown @@ -66,8 +66,8 @@ This is a separate account from the one you made for the app. You cannot log in 4. In the `Create Cloud Project` dialog box, configure `Project Name`, `Description`, `Industry`, and `Data Center`. For the `Development Method` field, select `Smart Home` from the dropdown list. For the `Data Center` field, select the zone you are located in. Refer to the country/data center mapping list [here](https://github.com/tuya/tuya-home-assistant/blob/main/docs/regions_dataCenters.md) to choose the right data center for the country you are in. ![](/images/integrations/tuya/image_001.png) 5. Click `Create` to continue with the project configuration. -6. In Configuration Wizard, make sure you add `Device Status Notification` API. The list of API should look like this: - ![](/images/integrations/tuya/image_002.png) +6. In Configuration Wizard, make sure you add `Industry Basic Service`, `Smart Home Basic Service` and `Device Status Notification` APIs. The list of API should look like this: + ![](/images/integrations/tuya/image_002new.png) 7. Click `Authorize`. ### Link devices by app account @@ -134,9 +134,7 @@ If no devices show up in Home Assistant: - Incorrect username or password: Enter the correct account and password of the Tuya Smart or Smart Life app in the **Account** and **Password** fields (social login, which the Tuya Smart app allows, may not work, and thus should be avoided for use with the Home Assistant integration). Note that the app account depends on which app (Tuya Smart or Smart Life) you used to link devices on the [Tuya IoT Platform](https://iot.tuya.com/cloud/). - - Incorrect country. You must select the region of your account of the Tuya Smart app or Smart Life app. - - - Some users still experience the **Permission denied** error after adding the correct app account credentials in a correctly configured project. A workaround involves adding a custom user under **Cloud** > **Development** > **Users**. + - Incorrect country. You must select the region of your account of the Tuya Smart app or Smart Life app. "1100: param is empty": description: Empty parameter of username or app. Please fill the parameters refer to the **Configuration** part above. @@ -154,6 +152,10 @@ If no devices show up in Home Assistant: Some APIs are not authorized, please [Subscribe](https://developer.tuya.com/docs/iot/applying-for-api-group-permissions?id=Ka6vf012u6q76#title-2-Subscribe%20to%20APIs) then [Authorize](https://developer.tuya.com/docs/iot/applying-for-api-group-permissions?id=Ka6vf012u6q76#title-3-Grant%20a%20project%20access%20to%20API%20calls). The following APIs must be subscribed for this tutorial: - Device Status Notification + + - Industry Basic Service + + - Smart Home Basic Service - Authorization diff --git a/source/_integrations/twilio.markdown b/source/_integrations/twilio.markdown index 1182330881f..1047912769d 100644 --- a/source/_integrations/twilio.markdown +++ b/source/_integrations/twilio.markdown @@ -39,7 +39,7 @@ auth_token: ### Usage -After configuring the base Twilio component, add and configure either or both of the [Twilio SMS](/integrations/twilio_sms) and [Twilio Phone](/integrations/twilio_call) integrations to utilize the notification functionality. +After configuring the base Twilio integration, add and configure either or both of the [Twilio SMS](/integrations/twilio_sms) and [Twilio Phone](/integrations/twilio_call) integrations to utilize the notification functionality. To be able to receive events from Twilio, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/docs/configuration/basic) in Home Assistant. diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown index f2cec962300..01240032804 100644 --- a/source/_integrations/ubus.markdown +++ b/source/_integrations/ubus.markdown @@ -13,7 +13,7 @@ ha_integration_type: integration This is a presence detection scanner for [OpenWrt](https://openwrt.org/) using [ubus](https://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router. -Before this scanner can be used you have to install the ubus RPC packages on OpenWrt (versions older than 18.06.x do not require the `uhttpd-mod-ubus` package): +Before this scanner can be used, you have to install the ubus RPC packages on OpenWrt (versions older than 18.06.x do not require the `uhttpd-mod-ubus` package): ```bash opkg update @@ -90,7 +90,7 @@ If you find that this never creates `known_devices.yaml`, or if you need more in ### Increase Log Level 1. On your Home Assistant device, stop Home Assistant -2. Adjust `configuration.yaml` to log more detail for the `device_tracker` component +2. Adjust `configuration.yaml` to log more detail for the `device_tracker` integration. ```yaml logger: diff --git a/source/_integrations/update.mqtt.markdown b/source/_integrations/update.mqtt.markdown index 62ce2a0fc90..f79f6c67425 100644 --- a/source/_integrations/update.mqtt.markdown +++ b/source/_integrations/update.mqtt.markdown @@ -64,7 +64,7 @@ command_topic: required: false type: string device: - description: "Information about the device this Update is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this Update is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/vacuum.markdown b/source/_integrations/vacuum.markdown index a493e3625fd..de3155326c8 100644 --- a/source/_integrations/vacuum.markdown +++ b/source/_integrations/vacuum.markdown @@ -24,7 +24,7 @@ vacuum: host: 192.168.1.2 ``` -### Component services +### Integration services Available services: `turn_on`, `turn_off`, `start_pause`, `start`, `pause`, `stop`, `return_to_base`, `locate`, `clean_spot`, `set_fan_speed` and `send_command`. diff --git a/source/_integrations/vacuum.mqtt.markdown b/source/_integrations/vacuum.mqtt.markdown index a141b9b6f62..d6d75b6248b 100644 --- a/source/_integrations/vacuum.mqtt.markdown +++ b/source/_integrations/vacuum.mqtt.markdown @@ -367,7 +367,7 @@ command_topic: required: false type: string device: - description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." + description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device." required: false type: map keys: diff --git a/source/_integrations/vacuum.template.markdown b/source/_integrations/vacuum.template.markdown index 4b032cf5b63..1f186efc3c9 100644 --- a/source/_integrations/vacuum.template.markdown +++ b/source/_integrations/vacuum.template.markdown @@ -111,7 +111,7 @@ State-based template entities have the special template variable `this` availabl ### Control vacuum with Harmony Hub -This example shows how you can use a Template Vacuum to control an IR vacuum cleaner using the [Harmony Hub Remote component](/integrations/harmony). +This example shows how you can use a Template Vacuum to control an IR vacuum cleaner using the [Harmony Hub Remote integration](/integrations/harmony). ```yaml vacuum: diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index 54ad909e4fa..0934f9b2aac 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -61,7 +61,7 @@ A note about the current temperature attribute: Viessmann devices with room temp ### Supported services `climate.vicare_heating` -The following services of the [Climate component](/integrations/climate/) are provided by the ViCare integration: `set_temperature`, `set_hvac_mode`, `set_preset_mode` +The following services of the [Climate integration](/integrations/climate/) are provided by the ViCare integration: `set_temperature`, `set_hvac_mode`, `set_preset_mode` #### Service `set_temperature` @@ -78,7 +78,7 @@ Note that `set_temperature` will always affect the current normal temperature or Set HVAC mode for the climate device. The following modes are supported: -The `climate.vicare_heating` component has the following mapping of HVAC modes to Viessmann operation modes: +The `climate.vicare_heating` integration has the following mapping of HVAC modes to Viessmann operation modes: | HVAC mode | Viessmann mode | Description | | ---------------------- | -------- | ----------- | @@ -112,11 +112,11 @@ Eco mode reduces the target temperature by 3°C, whereas Comfort mode sets the t ## Water Heater -It is not possible to turn on/off water heating via the Water Heater component since this would conflict with the operation modes of the heating component. Therefore the operation mode of that component is just available as an attribute and cannot be modified. +It is not possible to turn on/off water heating via the Water Heater integration since this would conflict with the operation modes of the heating integration. Therefore the operation mode of that integration is just available as an attribute and cannot be modified. ### Supported services `water_heater.vicare_water` -The following services of the [Water Heater component](/integrations/water_heater/) are provided by the ViCare integration: `set_temperature` +The following services of the [Water Heater integration](/integrations/water_heater/) are provided by the ViCare integration: `set_temperature` #### Service `set_temperature` diff --git a/source/_integrations/wake_on_lan.markdown b/source/_integrations/wake_on_lan.markdown index 37ed3ae9458..b1b87bc3c39 100644 --- a/source/_integrations/wake_on_lan.markdown +++ b/source/_integrations/wake_on_lan.markdown @@ -29,7 +29,7 @@ To use this integration in your installation, add the following to your `configu wake_on_lan: ``` -### Component services +### Integration services Available services: `send_magic_packet`. diff --git a/source/_integrations/water_heater.markdown b/source/_integrations/water_heater.markdown index 14f5a23a6e5..3426fda2d24 100644 --- a/source/_integrations/water_heater.markdown +++ b/source/_integrations/water_heater.markdown @@ -12,7 +12,7 @@ ha_integration_type: entity The `water_heater` integration is built for the controlling and monitoring of hot water heaters. -To enable this component, pick one of the platforms, and add it to your `configuration.yaml`: +To enable this integration, pick one of the platforms, and add it to your `configuration.yaml`: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/watson_iot.markdown b/source/_integrations/watson_iot.markdown index 0a8ecdb27da..bbac6c9a4c2 100644 --- a/source/_integrations/watson_iot.markdown +++ b/source/_integrations/watson_iot.markdown @@ -14,7 +14,7 @@ with an [IBM Watson IoT Platform instance](https://www.ibm.com/us-en/marketplace ## Configuration -To use this component, you first need to register a gateway device type and then +To use this integration, you first need to register a gateway device type and then a gateway device in your IoT platform instance. For instructions on how to do this check the [official documentation](https://cloud.ibm.com/docs/services/IoT?topic=iot-platform-getting-started#IoT_connectGateway) which provides the details on doing this. After you register the gateway device @@ -25,7 +25,7 @@ for your Home Assistant instance you'll need four pieces of information: - Gateway device ID - Authentication Token -With this basic information you can configure the component: +With this basic information you can configure the integration: ```yaml # Example configuration.yaml entry: diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown index 81811f91b86..58bc30acc1c 100644 --- a/source/_integrations/wemo.markdown +++ b/source/_integrations/wemo.markdown @@ -47,7 +47,7 @@ There is currently support for the following device types within Home Assistant: type: list {% endconfiguration %} -Supported devices will be automatically discovered if the optional `discovery` configuration item is omitted or set to true or if the `discovery` integration is enabled. If the `discovery` configuration item is set to false, then automatic discovery of WeMo devices is disabled both for the `wemo` integration and for the `discovery` component. Loading the `wemo` integration with the `discovery` configuration item omitted or set to true will scan the local network for WeMo devices, even if you are not using the `discovery` component. +Supported devices will be automatically discovered if the optional `discovery` configuration item is omitted or set to true or if the `discovery` integration is enabled. If the `discovery` configuration item is set to false, then automatic discovery of WeMo devices is disabled both for the `wemo` integration and for the `discovery` integration. Loading the `wemo` integration with the `discovery` configuration item omitted or set to true will scan the local network for WeMo devices, even if you are not using the `discovery` integration. ```yaml # Example configuration.yaml entry with automatic discovery enabled (by omitting the discovery configuration item) diff --git a/source/_integrations/xiaomi_miio.markdown b/source/_integrations/xiaomi_miio.markdown index 1cc2bb76e11..77498f62d23 100644 --- a/source/_integrations/xiaomi_miio.markdown +++ b/source/_integrations/xiaomi_miio.markdown @@ -13,9 +13,9 @@ ha_category: ha_iot_class: Local Polling ha_release: 0.51 ha_codeowners: - - '@rytilahti' - - '@syssi' - - '@starkillerOG' + - "@rytilahti" + - "@syssi" + - "@starkillerOG" ha_domain: xiaomi_miio ha_config_flow: true ha_zeroconf: true @@ -59,7 +59,7 @@ Devices need to be set up using the Mi Home app and not vendor-specific apps (e.
- For more complex network setups (e.g. VLANs), reference the [following documentation](https://python-miio.readthedocs.io/en/latest/troubleshooting.html#discover-devices-across-subnets) for additional information. +For more complex network setups (e.g. VLANs), reference the [following documentation](https://python-miio.readthedocs.io/en/latest/troubleshooting.html#discover-devices-across-subnets) for additional information.
@@ -75,6 +75,7 @@ the server to use for each country. ## Troubleshooting The most common problems are: + - Xiaomi Miio devices do not communicate across subnets/VLANs due to the source address of the UDP packet not belonging to the subnet of the device itself, [more information and solutions](https://python-miio.readthedocs.io/en/latest/troubleshooting.html#discover-devices-across-subnets). - Roborock vacuums need to be connected to the Xiaomi Home app, not the Roborock app, [more information](https://python-miio.readthedocs.io/en/latest/troubleshooting.html#roborock-vacuum-not-detected). - Blocking the network access to the device is known to cause intermittent connection issues due to the device's internal software hanging and a watchdog restarting the internal software, [more information](https://python-miio.readthedocs.io/en/latest/troubleshooting.html#intermittent-connection-issues-timeouts-xiaomi-vacuum). @@ -85,15 +86,15 @@ The `xiaomi_miio` gateway integration allows you to control the gateway and its ### Supported Xiaomi gateway models: -| Gateway name | Zigbee id | model | supported | -| ------------------ | ------------------- | ------------------------ |------------------------------------------ | -| Chinese version | lumi.gateway.v3 | DGNWG02LM | yes | -| European version | lumi.gateway.mieu01 | ZHWG11LM-763 / DGNWQ05LM | yes (cloud credentials needed) | -| Aqara hub | lumi.gateway.aqhm01 | ZHWG11LM | yes | -| Mijia Zigbee 3.0 | lumi.gateway.mgl03 | ZNDMWG03LM | yes | -| Aqara AC Companion | lumi.acpartner.v1 | KTBL01LM | untested | -| Mi AC Companion | lumi.acpartner.v2 | KTBL02LM | untested | -| Aqara AC Companion | lumi.acpartner.v3 | KTBL11LM | yes | +| Gateway name | Zigbee id | model | supported | +| ------------------ | ------------------- | ------------------------ | ------------------------------ | +| Chinese version | lumi.gateway.v3 | DGNWG02LM | yes | +| European version | lumi.gateway.mieu01 | ZHWG11LM-763 / DGNWQ05LM | yes (cloud credentials needed) | +| Aqara hub | lumi.gateway.aqhm01 | ZHWG11LM | yes | +| Mijia Zigbee 3.0 | lumi.gateway.mgl03 | ZNDMWG03LM | yes | +| Aqara AC Companion | lumi.acpartner.v1 | KTBL01LM | untested | +| Mi AC Companion | lumi.acpartner.v2 | KTBL02LM | untested | +| Aqara AC Companion | lumi.acpartner.v3 | KTBL11LM | yes | Some gateways (lumi.gateway.mieu01) do not support getting the connected subdevices locally. For those gateways, cloud credentials can be specified during the config flow and the "Use cloud to get connected subdevices" can be enabled in the options flow (after setting up the integration, click Configuration in the sidebar, then click Integrations and then click Options on the already set up Xiaomi Miio Gateway integration). The connected subdevices will then be retrieved from the Xiaomi Miio cloud (internet), control and status updates of those subdevices will then further take place over local network connection. A re-authentication flow may be triggered when no cloud credentials are provided yet and are needed for that particular gateway model. @@ -112,65 +113,65 @@ Not yet implemented features (but possible): These subdevices are fully implemented in HomeAssistant: -| Subdevice name | Zigbee id | model | features | -| -------------------------------- | ----------------------- | --------------- | ------------------------------------------------ | -| Weather sensor | lumi.sensor_ht | WSDCGQ01LM | readout `temperature` and `humidity` | -| Weather sensor | lumi.weather.v1 | WSDCGQ11LM | readout `temperature`, `humidity` and `pressure` | -| Wall switch single | lumi.ctrl_ln1 | QBKG11LM | load_power, status, turn_on, turn_off, toggle | -| Wall switch single | lumi.ctrl_ln1.aq1 | QBKG11LM | load_power, status, turn_on, turn_off, toggle | -| Wall switch no neutral | lumi.ctrl_neutral1.v1 | QBKG04LM | status, turn_on, turn_off, toggle | -| Wall switch double | lumi.ctrl_ln2 | QBKG12LM | load_power, status, turn_on, turn_off, toggle | -| Wall switch double | lumi.ctrl_ln2.aq1 | QBKG12LM | load_power, status, turn_on, turn_off, toggle | -| Wall switch double no neutral | lumi.ctrl_neutral2 | QBKG03LM | status, turn_on, turn_off, toggle | -| D1 wall switch triple | lumi.switch.n3acn3 | QBKG26LM | load_power, status, turn_on, turn_off, toggle | -| D1 wall switch triple no neutral | lumi.switch.l3acn3 | QBKG25LM | load_power, status, turn_on, turn_off, toggle | -| Wall outlet | lumi.ctrl_86plug.v1 | QBCZ11LM | status, turn_on, turn_off, toggle | -| Wall outlet | lumi.ctrl_86plug.aq1 | QBCZ11LM | load_power, status, turn_on, turn_off, toggle | -| Plug | lumi.plug | ZNCZ02LM | load_power, status, turn_on, turn_off, toggle | -| Relay | lumi.relay.c2acn01 | LLKZMK11LM | load_power, status, turn_on, turn_off, toggle | -| Smart bulb E27 | lumi.light.aqcn02 | ZNLDP12LM | on/off, brightness, color temperature | -| IKEA smart bulb E27 white | ikea.light.led1545g12 | LED1545G12 | on/off, brightness, color temperature | -| IKEA smart bulb E27 white | ikea.light.led1546g12 | LED1546G12 | on/off, brightness, color temperature | -| IKEA smart bulb E12 white | ikea.light.led1536g5 | LED1536G5 | on/off, brightness, color temperature | -| IKEA smart bulb GU10 white | ikea.light.led1537r6 | LED1537R6 | on/off, brightness, color temperature | -| IKEA smart bulb E27 white | ikea.light.led1623g12 | LED1623G12 | on/off, brightness, color temperature | -| IKEA smart bulb GU10 white | ikea.light.led1650r5 | LED1650R5 | on/off, brightness, color temperature | -| IKEA smart bulb E12 white | ikea.light.led1649c5 | LED1649C5 | on/off, brightness, color temperature | +| Subdevice name | Zigbee id | model | features | +| -------------------------------- | --------------------- | ---------- | ------------------------------------------------ | +| Weather sensor | lumi.sensor_ht | WSDCGQ01LM | readout `temperature` and `humidity` | +| Weather sensor | lumi.weather.v1 | WSDCGQ11LM | readout `temperature`, `humidity` and `pressure` | +| Wall switch single | lumi.ctrl_ln1 | QBKG11LM | load_power, status, turn_on, turn_off, toggle | +| Wall switch single | lumi.ctrl_ln1.aq1 | QBKG11LM | load_power, status, turn_on, turn_off, toggle | +| Wall switch no neutral | lumi.ctrl_neutral1.v1 | QBKG04LM | status, turn_on, turn_off, toggle | +| Wall switch double | lumi.ctrl_ln2 | QBKG12LM | load_power, status, turn_on, turn_off, toggle | +| Wall switch double | lumi.ctrl_ln2.aq1 | QBKG12LM | load_power, status, turn_on, turn_off, toggle | +| Wall switch double no neutral | lumi.ctrl_neutral2 | QBKG03LM | status, turn_on, turn_off, toggle | +| D1 wall switch triple | lumi.switch.n3acn3 | QBKG26LM | load_power, status, turn_on, turn_off, toggle | +| D1 wall switch triple no neutral | lumi.switch.l3acn3 | QBKG25LM | load_power, status, turn_on, turn_off, toggle | +| Wall outlet | lumi.ctrl_86plug.v1 | QBCZ11LM | status, turn_on, turn_off, toggle | +| Wall outlet | lumi.ctrl_86plug.aq1 | QBCZ11LM | load_power, status, turn_on, turn_off, toggle | +| Plug | lumi.plug | ZNCZ02LM | load_power, status, turn_on, turn_off, toggle | +| Relay | lumi.relay.c2acn01 | LLKZMK11LM | load_power, status, turn_on, turn_off, toggle | +| Smart bulb E27 | lumi.light.aqcn02 | ZNLDP12LM | on/off, brightness, color temperature | +| IKEA smart bulb E27 white | ikea.light.led1545g12 | LED1545G12 | on/off, brightness, color temperature | +| IKEA smart bulb E27 white | ikea.light.led1546g12 | LED1546G12 | on/off, brightness, color temperature | +| IKEA smart bulb E12 white | ikea.light.led1536g5 | LED1536G5 | on/off, brightness, color temperature | +| IKEA smart bulb GU10 white | ikea.light.led1537r6 | LED1537R6 | on/off, brightness, color temperature | +| IKEA smart bulb E27 white | ikea.light.led1623g12 | LED1623G12 | on/off, brightness, color temperature | +| IKEA smart bulb GU10 white | ikea.light.led1650r5 | LED1650R5 | on/off, brightness, color temperature | +| IKEA smart bulb E12 white | ikea.light.led1649c5 | LED1649C5 | on/off, brightness, color temperature | ### Recognized subdevices (not yet implemented) These subdevices are recognized by the python-miio code but are still being worked on (not yet implemented). -| Subdevice name | Zigbee id | model | -| -------------------------------- | ----------------------- | --------------- | -| Button | lumi.sensor_switch | WXKG01LM | -| Button | lumi.sensor_switch.aq2 | WXKG11LM 2015 | -| Button | lumi.sensor_switch.aq3 | WXKG12LM | -| Button | lumi.remote.b1acn01 | WXKG11LM 2018 | -| Cube | lumi.sensor_cube.v1 | MFKZQ01LM | -| Cube | lumi.sensor_cube.aqgl01 | MFKZQ01LM | -| Motion sensor | lumi.sensor_motion | RTCGQ01LM | -| Motion sensor | lumi.sensor_motion.aq2 | RTCGQ11LM | -| Door sensor | lumi.sensor_magnet | MCCGQ01LM | -| Door sensor | lumi.sensor_magnet.aq2 | MCCGQ11LM | -| Vibration sensor | lumi.vibration.aq1 | DJT11LM | -| Honeywell smoke detector | lumi.sensor_smoke | JTYJ-GD-01LM/BW | -| Honeywell natural gas detector | lumi.sensor_natgas | JTQJ-BF-01LM/BW | -| Water leak sensor | lumi.sensor_wleak.aq1 | SJCGQ11LM | -| Remote switch single | lumi.sensor_86sw1.v1 | WXKG03LM 2016 | -| Remote switch single | lumi.remote.b186acn01 | WXKG03LM 2018 | -| D1 remote switch single | lumi.remote.b186acn02 | WXKG06LM | -| Remote switch double | lumi.sensor_86sw2.v1 | WXKG02LM 2016 | -| Remote switch double | lumi.remote.b286acn01 | WXKG02LM 2018 | -| D1 remote switch double | lumi.remote.b286acn02 | WXKG07LM | -| Curtain | lumi.curtain | ZNCLDJ11LM | -| Curtain | lumi.curtain.aq2 | ZNGZDJ11LM | -| Curtain B1 | lumi.curtain.hagl04 | ZNCLDJ12LM | -| Door lock S1 | lumi.lock.aq1 | ZNMS11LM | -| Door lock S2 | lumi.lock.acn02 | ZNMS12LM | -| Door lock S2 pro | lumi.lock.acn03 | ZNMS13LM | -| Vima cylinder lock | lumi.lock.v1 | A6121 | -| Thermostat S2 | lumi.airrtc.tcpecn02 | KTWKQ03ES | +| Subdevice name | Zigbee id | model | +| ------------------------------ | ----------------------- | --------------- | +| Button | lumi.sensor_switch | WXKG01LM | +| Button | lumi.sensor_switch.aq2 | WXKG11LM 2015 | +| Button | lumi.sensor_switch.aq3 | WXKG12LM | +| Button | lumi.remote.b1acn01 | WXKG11LM 2018 | +| Cube | lumi.sensor_cube.v1 | MFKZQ01LM | +| Cube | lumi.sensor_cube.aqgl01 | MFKZQ01LM | +| Motion sensor | lumi.sensor_motion | RTCGQ01LM | +| Motion sensor | lumi.sensor_motion.aq2 | RTCGQ11LM | +| Door sensor | lumi.sensor_magnet | MCCGQ01LM | +| Door sensor | lumi.sensor_magnet.aq2 | MCCGQ11LM | +| Vibration sensor | lumi.vibration.aq1 | DJT11LM | +| Honeywell smoke detector | lumi.sensor_smoke | JTYJ-GD-01LM/BW | +| Honeywell natural gas detector | lumi.sensor_natgas | JTQJ-BF-01LM/BW | +| Water leak sensor | lumi.sensor_wleak.aq1 | SJCGQ11LM | +| Remote switch single | lumi.sensor_86sw1.v1 | WXKG03LM 2016 | +| Remote switch single | lumi.remote.b186acn01 | WXKG03LM 2018 | +| D1 remote switch single | lumi.remote.b186acn02 | WXKG06LM | +| Remote switch double | lumi.sensor_86sw2.v1 | WXKG02LM 2016 | +| Remote switch double | lumi.remote.b286acn01 | WXKG02LM 2018 | +| D1 remote switch double | lumi.remote.b286acn02 | WXKG07LM | +| Curtain | lumi.curtain | ZNCLDJ11LM | +| Curtain | lumi.curtain.aq2 | ZNGZDJ11LM | +| Curtain B1 | lumi.curtain.hagl04 | ZNCLDJ12LM | +| Door lock S1 | lumi.lock.aq1 | ZNMS11LM | +| Door lock S2 | lumi.lock.acn02 | ZNMS12LM | +| Door lock S2 pro | lumi.lock.acn03 | ZNMS13LM | +| Vima cylinder lock | lumi.lock.v1 | A6121 | +| Thermostat S2 | lumi.airrtc.tcpecn02 | KTWKQ03ES | ## Xiaomi device tracker (Xiaomi Mi WiFi Repeater 2) @@ -189,13 +190,13 @@ device_tracker: {% configuration %} host: - description: The IP address of your miio device. - required: true - type: string +description: The IP address of your miio device. +required: true +type: string token: - description: The API token of your miio device. - required: true - type: string +description: The API token of your miio device. +required: true +type: string {% endconfiguration %} ## Xiaomi Air Purifier, Air Humidifier and Standing Fan @@ -204,50 +205,50 @@ The Air Purifiers, Air Humidifiers and Standing Fans use multiple platforms to a Supported devices: -| Name | Model | Model no. | -| ---------------------- | ---------------------- | --------- | -| Air Purifier | zhimi.airpurifier.v1 | | -| Air Purifier 2 | zhimi.airpurifier.v2 | FJY4006CN | -| Air Purifier V3 | zhimi.airpurifier.v3 | | -| Air Purifier V5 | zhimi.airpurifier.v5 | | -| Air Purifier Pro | zhimi.airpurifier.v6 | | -| Air Purifier Pro V7 | zhimi.airpurifier.v7 | | -| Air Purifier 2 (mini) | zhimi.airpurifier.m1 | | -| Air Purifier (mini) | zhimi.airpurifier.m2 | | -| Air Purifier MA1 | zhimi.airpurifier.ma1 | | -| Air Purifier MA2 | zhimi.airpurifier.ma2 | | -| Air Purifier 2S | zhimi.airpurifier.mc1 | | -| Air Purifier Super | zhimi.airpurifier.sa1 | | -| Air Purifier Super 2 | zhimi.airpurifier.sa2 | | -| Air Purifier 3 (2019) | zhimi.airpurifier.ma4 | AC-M6-SC | -| Air Purifier 3H (2019) | zhimi.airpurifier.mb3 | | -| Air Purifier 3C | zhimi.airpurifier.mb4 | | -| Air Purifier ZA1 | zhimi.airpurifier.za1 | | -| Air Purifier 4 | zhimi.airp.mb5 | AC-M16-SC | -| Air Purifier 4 PRO | zhimi.airp.vb4 | AC-M15-SC | -| Air Fresh A1 | dmaker.airfresh.a1 | MJXFJ-150-A1 | -| Air Fresh VA2 | zhimi.airfresh.va2 | | -| Air Fresh VA4 | zhimi.airfresh.va4 | | -| Air Fresh T2017 | dmaker.airfresh.t2017 | MJXFJ-300-G1 | -| Air Humidifier | zhimi.humidifier.v1 | | -| Air Humidifier CA1 | zhimi.humidifier.ca1 | | -| Air Humidifier CA4 | zhimi.humidifier.ca4 | | -| Air Humidifier CB1 | zhimi.humidifier.cb1 | | -| Air Humidifier JSQ | deerma.humidifier.jsq | | -| Air Humidifier JSQ1 | deerma.humidifier.jsq1 | | -| Air Humidifier MJJSQ | deerma.humidifier.mjjsq| | -| Standing Fan 1X | dmaker.fan.p5 | | -| Inverter Pedestal Fan | zhimi.fan.za1 | | -| Standing Fan 2 | zhimi.fan.za3 | | -| Standing Fan 2S | zhimi.fan.za4 | | -| Standing Fan | zhimi.fan.sa1 | | -| DC Pedestal Fan | zhimi.fan.v2 | | -| DC Pedestal Fan | zhimi.fan.v3 | | -| Standing Fan 1C | dmaker.fan.1c | | -| Tower Fan | dmaker.fan.p9 | | -| Standing Fan 2 | dmaker.fan.p10 | | -| Standing Fan Pro | dmaker.fan.p11 | | -| Standing Fan 3 | zhimi.fan.za5 | | +| Name | Model | Model no. | +| ---------------------- | ----------------------- | ------------ | +| Air Purifier | zhimi.airpurifier.v1 | | +| Air Purifier 2 | zhimi.airpurifier.v2 | FJY4006CN | +| Air Purifier V3 | zhimi.airpurifier.v3 | | +| Air Purifier V5 | zhimi.airpurifier.v5 | | +| Air Purifier Pro | zhimi.airpurifier.v6 | | +| Air Purifier Pro V7 | zhimi.airpurifier.v7 | | +| Air Purifier 2 (mini) | zhimi.airpurifier.m1 | | +| Air Purifier (mini) | zhimi.airpurifier.m2 | | +| Air Purifier MA1 | zhimi.airpurifier.ma1 | | +| Air Purifier MA2 | zhimi.airpurifier.ma2 | | +| Air Purifier 2S | zhimi.airpurifier.mc1 | | +| Air Purifier Super | zhimi.airpurifier.sa1 | | +| Air Purifier Super 2 | zhimi.airpurifier.sa2 | | +| Air Purifier 3 (2019) | zhimi.airpurifier.ma4 | AC-M6-SC | +| Air Purifier 3H (2019) | zhimi.airpurifier.mb3 | | +| Air Purifier 3C | zhimi.airpurifier.mb4 | | +| Air Purifier ZA1 | zhimi.airpurifier.za1 | | +| Air Purifier 4 | zhimi.airp.mb5 | AC-M16-SC | +| Air Purifier 4 PRO | zhimi.airp.vb4 | AC-M15-SC | +| Air Fresh A1 | dmaker.airfresh.a1 | MJXFJ-150-A1 | +| Air Fresh VA2 | zhimi.airfresh.va2 | | +| Air Fresh VA4 | zhimi.airfresh.va4 | | +| Air Fresh T2017 | dmaker.airfresh.t2017 | MJXFJ-300-G1 | +| Air Humidifier | zhimi.humidifier.v1 | | +| Air Humidifier CA1 | zhimi.humidifier.ca1 | | +| Air Humidifier CA4 | zhimi.humidifier.ca4 | | +| Air Humidifier CB1 | zhimi.humidifier.cb1 | | +| Air Humidifier JSQ | deerma.humidifier.jsq | | +| Air Humidifier JSQ1 | deerma.humidifier.jsq1 | | +| Air Humidifier MJJSQ | deerma.humidifier.mjjsq | | +| Standing Fan 1X | dmaker.fan.p5 | | +| Inverter Pedestal Fan | zhimi.fan.za1 | | +| Standing Fan 2 | zhimi.fan.za3 | | +| Standing Fan 2S | zhimi.fan.za4 | | +| Standing Fan | zhimi.fan.sa1 | | +| DC Pedestal Fan | zhimi.fan.v2 | | +| DC Pedestal Fan | zhimi.fan.v3 | | +| Standing Fan 1C | dmaker.fan.1c | | +| Tower Fan | dmaker.fan.p9 | | +| Standing Fan 2 | dmaker.fan.p10 | | +| Standing Fan Pro | dmaker.fan.p11 | | +| Standing Fan 3 | zhimi.fan.za5 | | ### Features @@ -267,31 +268,31 @@ Supported devices: - `sleep_mode` - Number entities -Number | Description ------------------------ | ----------------------- -Favorite Level | Set the favorite level +| Number | Description | +| -------------- | ---------------------- | +| Favorite Level | Set the favorite level | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Purify Volume | The volume of purified air in qubic meter | False -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Purify Volume | The volume of purified air in qubic meter | False | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Learn Mode | Turn on/off the learn mode -LED | Turn on/off the LED +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Learn Mode | Turn on/off the learn mode | +| LED | Turn on/off the LED | ### Air Purifier Pro (zhimi.airpurifier.v6) @@ -307,33 +308,33 @@ LED | Turn on/off the LED - `button_pressed` - Number entities -Number | Description ------------------------ | ----------------------- -Favorite Level | Set the favorite level -Volume | Set the volume +| Number | Description | +| -------------- | ---------------------- | +| Favorite Level | Set the favorite level | +| Volume | Set the volume | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Illuminance | The current illuminance measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Purify Volume | The volume of purified air in qubic meter | False -Second Motor Speed | The current second motor speed measured in rpm | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Illuminance | The current illuminance measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Purify Volume | The volume of purified air in qubic meter | False | +| Second Motor Speed | The current second motor speed measured in rpm | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Child Lock | Turn on/off the child lock -Learn Mode | Turn on/off the learn mode -LED | Turn on/off the LED +| Switch | Description | +| ---------- | -------------------------- | +| Child Lock | Turn on/off the child lock | +| Learn Mode | Turn on/off the learn mode | +| LED | Turn on/off the LED | ### Air Purifier Pro V7 (zhimi.airpurifier.v7) @@ -345,33 +346,32 @@ LED | Turn on/off the LED - `button_pressed` - Number entities -Number | Description ------------------------ | ----------------------- -Favorite Level | Set the favorite level -Volume | Set the volume +| Number | Description | +| -------------- | ---------------------- | +| Favorite Level | Set the favorite level | +| Volume | Set the volume | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Illuminance | The current illuminance measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Second Motor Speed | The current second motor speed measured in rpm | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Illuminance | The current illuminance measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Second Motor Speed | The current second motor speed measured in rpm | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Child Lock | Turn on/off the child lock -Learn Mode | Turn on/off the learn mode -LED | Turn on/off the LED - +| Switch | Description | +| ---------- | -------------------------- | +| Child Lock | Turn on/off the child lock | +| Learn Mode | Turn on/off the learn mode | +| LED | Turn on/off the LED | ### Air Purifier MA2 (zhimi.airpurifier.ma2) @@ -390,32 +390,31 @@ LED | Turn on/off the LED - `friendly_name` - `supported_features` -Number | Description ------------------------ | ----------------------- -Favorite Level | Set the favorite level +| Number | Description | +| -------------- | ---------------------- | +| Favorite Level | Set the favorite level | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Temperature | The current temperature measured | True -Illuminance | The current illuminance meassured on top of the device 0-200lux| True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | --------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Temperature | The current temperature measured | True | +| Illuminance | The current illuminance meassured on top of the device 0-200lux | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Learn Mode | Turn on/off the learn mode -LED | Turn on/off the LED - +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Learn Mode | Turn on/off the learn mode | +| LED | Turn on/off the LED | ### Air Purifier 2S (zhimi.airpurifier.mc1) @@ -427,30 +426,30 @@ LED | Turn on/off the LED - `button_pressed` - Number entities -Number | Description ------------------------ | ----------------------- -Favorite Level | Set the favorite level +| Number | Description | +| -------------- | ---------------------- | +| Favorite Level | Set the favorite level | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Learn Mode | Turn on/off the learn mode -LED | Turn on/off the LED +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Learn Mode | Turn on/off the learn mode | +| LED | Turn on/off the LED | ### Air Purifier 3/3H (2019) (zhimi.airpurifier.ma4/zhimi.airpurifier.mb3) @@ -462,36 +461,36 @@ This model uses newer MiOT communication protocol. - `use_time` - Number entities -Number | Description ------------------------ | ----------------------- -Fan Level | Set the fan level -Favorite Level | Set the favorite level +| Number | Description | +| -------------- | ---------------------- | +| Fan Level | Set the fan level | +| Favorite Level | Set the favorite level | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Purify Volume | The volume of purified air in qubic meter | False -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Purify Volume | The volume of purified air in qubic meter | False | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | ### Air Purifier 3C (zhimi.airpurifier.mb4) @@ -499,26 +498,26 @@ Child Lock | Turn on/off the child lock - Operation modes (Auto, Silent, Favorite) - Number entities -Number | Description ------------------------ | ----------------------- -Favorite Motor Speed | Set the favorite motor speed -LED Brightness | Set the LED brightness +| Number | Description | +| -------------------- | ---------------------------- | +| Favorite Motor Speed | Set the favorite motor speed | +| LED Brightness | Set the LED brightness | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | ### Air Purifier ZA1 (zhimi.airpurifier.za1) @@ -526,34 +525,34 @@ Child Lock | Turn on/off the child lock - Operation modes (Auto, Silent, Favorite) - Number entities -Number | Description ------------------------ | ----------------------- -Favorite Level | Set the favorite level +| Number | Description | +| -------------- | ---------------------- | +| Favorite Level | Set the favorite level | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -Humidity | The current humidity measured | True -Temperature | The current temperature measured | True -TVOC | The current concentration of Total Organic Volatile Components | True +| Sensor | Description | Enabled by default | +| --------------------- | -------------------------------------------------------------- | ------------------ | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Humidity | The current humidity measured | True | +| Temperature | The current temperature measured | True | +| TVOC | The current concentration of Total Organic Volatile Components | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the Display (bright, dim, off) +| Select | Description | +| -------------- | --------------------------------------------------------- | +| LED Brightness | Controls the brightness of the Display (bright, dim, off) | ### Air Purifier V3 (zhimi.airpurifier.v3) @@ -567,24 +566,24 @@ LED Brightness | Controls the brightness of the Display (bright, dim, o - `button_pressed` - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -PM2.5 | The current particulate matter 2.5 measured | True -Illuminance | The current illuminance measured | True -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Motor Speed | The current motor speed measured in rpm | True -Second Motor Speed | The current second motor speed measured in rpm | True -Purify Volume | The volume of purified air in qubic meter | False -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Illuminance | The current illuminance measured | True | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Motor Speed | The current motor speed measured in rpm | True | +| Second Motor Speed | The current second motor speed measured in rpm | True | +| Purify Volume | The volume of purified air in qubic meter | False | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -LED | Turn on/off the LED +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| LED | Turn on/off the LED | ### Air Purifier 4/4 PRO (zhimi.airp.mb5/zhimi.airp.vb4) @@ -595,39 +594,38 @@ These models use newer MiOT communication protocol. - Attributes (fan platform) - Number entities -Number | Description ------------------------ | ----------------------- -Fan Level | Set the fan level -Favorite Level | Set the favorite level +| Number | Description | +| -------------- | ---------------------- | +| Fan Level | Set the fan level | +| Favorite Level | Set the favorite level | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the Display (bright, dim, off) +| Select | Description | +| -------------- | --------------------------------------------------------- | +| LED Brightness | Controls the brightness of the Display (bright, dim, off) | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Filter Life Remaining | The remaining life of the filter in % | True -Filter Time Left | The remaining life of the filter in days | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -Motor Speed | The current motor speed measured in rpm | True -PM2.5 | The current particulate matter 2.5 measured | True -PM10 | The current particulate matter 10 measured(4 PRO only) | True -Purify Volume | The volume of purified air in qubic meter | False -Temperature | The current temperature measured | True +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------ | ------------------ | +| Filter Life Remaining | The remaining life of the filter in % | True | +| Filter Time Left | The remaining life of the filter in days | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| Motor Speed | The current motor speed measured in rpm | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| PM10 | The current particulate matter 10 measured(4 PRO only) | True | +| Purify Volume | The volume of purified air in qubic meter | False | +| Temperature | The current temperature measured | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Ionizer | Turn on/off the negative ion generator - +| Switch | Description | +| ---------- | -------------------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Ionizer | Turn on/off the negative ion generator | ### Air Fresh A1 (dmaker.airfresh.a1) @@ -635,36 +633,36 @@ Ionizer | Turn on/off the negative ion generator - Operation modes (Auto, Sleep, Favorite) - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------- -Auxiliary Heat Status | Indicates if the heater is actually on +| Binary sensor | Description | +| --------------------- | -------------------------------------- | +| Auxiliary Heat Status | Indicates if the heater is actually on | - Button entities -Button | Description ------------------------ | ------------------------------------------ -Reset Dust Filter | Resets filter lifetime and usage of the dust filter +| Button | Description | +| ----------------- | --------------------------------------------------- | +| Reset Dust Filter | Resets filter lifetime and usage of the dust filter | - Sensor entities -Sensor | Description -------------------------------- | -------------------------------------------------------------- -Carbon Dioxide | The current carbon dioxide in ppm -Dust filter life remaining | The remaining life of the filter -Dust filter life remaining days | The remaining life of the filter in day -PM2.5 | The current particulate matter 2.5 -Temperature | The current outside temperature -Control Speed | The current motor speed in rpm -Favorite Speed | The favorite motor speed in rpm +| Sensor | Description | +| ------------------------------- | --------------------------------------- | +| Carbon Dioxide | The current carbon dioxide in ppm | +| Dust filter life remaining | The remaining life of the filter | +| Dust filter life remaining days | The remaining life of the filter in day | +| PM2.5 | The current particulate matter 2.5 | +| Temperature | The current outside temperature | +| Control Speed | The current motor speed in rpm | +| Favorite Speed | The favorite motor speed in rpm | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` -Display | Turn on/off `display` -Auxiliary Heat | Turn on/off `heater` +| Switch | Description | +| -------------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | +| Display | Turn on/off `display` | +| Auxiliary Heat | Turn on/off `heater` | ### Air Fresh VA2 @@ -675,30 +673,29 @@ Auxiliary Heat | Turn on/off `heater` - `extra_features` - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Carbon Dioxide | The current carbon dioxide measured in ppm | True -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -PM2.5 | The current particulate matter 2.5 measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Carbon Dioxide | The current carbon dioxide measured in ppm | True | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` -LED | Turn on/off `led` - +| Switch | Description | +| ---------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | +| LED | Turn on/off `led` | ### Air Fresh VA4 @@ -709,31 +706,30 @@ LED | Turn on/off `led` - `extra_features` - Sensor entities -Sensor | Description | Enabled by default ------------------------ | ----------------------- | ----------------------- -Carbon Dioxide | The current carbon dioxide measured in ppm | True -Filter Life Remaining | The remaining life of the filter | True -Filter Use | Filter usage time in hours | True -Humidity | The current humidity measured | True -PM2.5 | The current particulate matter 2.5 measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| --------------------- | ------------------------------------------------------------- | ------------------ | +| Carbon Dioxide | The current carbon dioxide measured in ppm | True | +| Filter Life Remaining | The remaining life of the filter | True | +| Filter Use | Filter usage time in hours | True | +| Humidity | The current humidity measured | True | +| PM2.5 | The current particulate matter 2.5 measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` -LED | Turn on/off `led` -Auxiliary Heat | Turn on/off `heater` - +| Switch | Description | +| -------------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | +| LED | Turn on/off `led` | +| Auxiliary Heat | Turn on/off `heater` | ### Air Fresh T2017 (dmaker.airfresh.t2017) @@ -741,47 +737,46 @@ Auxiliary Heat | Turn on/off `heater` - Operation modes (Auto, Sleep, Favorite) - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------- -Auxiliary Heat Status | Indicates if the heater is actually on +| Binary sensor | Description | +| --------------------- | -------------------------------------- | +| Auxiliary Heat Status | Indicates if the heater is actually on | - Button entities -Button | Description ------------------------ | ------------------------------------------ -Reset Dust Filter | Resets filter lifetime and usage of the dust filter -Reset Upper Filter | Resets filter lifetime and usage of the upper filter +| Button | Description | +| ------------------ | ---------------------------------------------------- | +| Reset Dust Filter | Resets filter lifetime and usage of the dust filter | +| Reset Upper Filter | Resets filter lifetime and usage of the upper filter | - Select entities -Select | Description ------------------------ | ----------------------- -Auxiliary Heat Level | Controls the level of the heater (Low, Medium, High) -Display Orientation | Controls the orientation of the display (Forward, Left, Right) +| Select | Description | +| -------------------- | -------------------------------------------------------------- | +| Auxiliary Heat Level | Controls the level of the heater (Low, Medium, High) | +| Display Orientation | Controls the orientation of the display (Forward, Left, Right) | - Sensor entities -Sensor | Description --------------------------------- | -------------------------------------------------------------- -Carbon Dioxide | The current carbon dioxide in ppm -Dust filter life remaining | The remaining life of the dust filter -Dust filter life remaining days | The remaining life of the dust filter in days -Upper filter life remaining | The remaining life of the upper filter -Upper filter life remaining days | The remaining life of the upper filter in days -PM2.5 | The current particulate matter 2.5 -Temperature | The current outside temperature -Control Speed | The current motor speed in rpm -Favorite Speed | The favorite motor speed in rpm +| Sensor | Description | +| -------------------------------- | ---------------------------------------------- | +| Carbon Dioxide | The current carbon dioxide in ppm | +| Dust filter life remaining | The remaining life of the dust filter | +| Dust filter life remaining days | The remaining life of the dust filter in days | +| Upper filter life remaining | The remaining life of the upper filter | +| Upper filter life remaining days | The remaining life of the upper filter in days | +| PM2.5 | The current particulate matter 2.5 | +| Temperature | The current outside temperature | +| Control Speed | The current motor speed in rpm | +| Favorite Speed | The favorite motor speed in rpm | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` -Display | Turn on/off `display` -Auxiliary Heat | Turn on/off `heater` - +| Switch | Description | +| -------------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | +| Display | Turn on/off `display` | +| Auxiliary Heat | Turn on/off `heater` | ### Air Humidifier (zhimi.humidifier.v1) @@ -790,41 +785,41 @@ Auxiliary Heat | Turn on/off `heater` - Target humidity (30, 40, 50, 60, 70, 80) - Attributes (humidifier platform) -Attribute | Description ------------------------ | ----------------------- -`available_modes` | A list with the operation modes available -`humidity` | The current target humidity -`max_humidity` | The maximum settable target humidity -`min_humidity` | The minimum settable target humidity -`mode` | The current operation mode selected +| Attribute | Description | +| ----------------- | ----------------------------------------- | +| `available_modes` | A list with the operation modes available | +| `humidity` | The current target humidity | +| `max_humidity` | The maximum settable target humidity | +| `min_humidity` | The minimum settable target humidity | +| `mode` | The current operation mode selected | - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------------- -Water Tank | Indicates whether the water tank is connected or not +| Binary sensor | Description | +| ------------- | ---------------------------------------------------- | +| Water Tank | Indicates whether the water tank is connected or not | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | -------------------------------------------------------------- | ------------------ -Humidity | The current humidity measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False -Water Level | The current water level percentage measured | True +| Sensor | Description | Enabled by default | +| ----------- | ------------------------------------------------------------- | ------------------ | +| Humidity | The current humidity measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | +| Water Level | The current water level percentage measured | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | ### Air Humidifier CA (zhimi.humidifier.ca1) @@ -833,42 +828,42 @@ Child Lock | Turn on/off the child lock - Target humidity (30, 40, 50, 60, 70, 80) - Attributes (humidifier platform) -Attribute | Description ------------------------ | ----------------------- -`available_modes` | A list with the operation modes available -`humidity` | The current target humidity -`max_humidity` | The maximum settable target humidity -`min_humidity` | The minimum settable target humidity -`mode` | The current operation mode selected +| Attribute | Description | +| ----------------- | ----------------------------------------- | +| `available_modes` | A list with the operation modes available | +| `humidity` | The current target humidity | +| `max_humidity` | The maximum settable target humidity | +| `min_humidity` | The minimum settable target humidity | +| `mode` | The current operation mode selected | - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------------- -Water Tank | Indicates whether the water tank is connected or not +| Binary sensor | Description | +| ------------- | ---------------------------------------------------- | +| Water Tank | Indicates whether the water tank is connected or not | - Select entities -Select | Description ------------------------ | --- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | -------------------------------------------------------------- | ------------------ -Humidity | The current humidity measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False -Water Level | The current water level percentage measured | True +| Sensor | Description | Enabled by default | +| ----------- | ------------------------------------------------------------- | ------------------ | +| Humidity | The current humidity measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | +| Water Level | The current water level percentage measured | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Dry Mode | Turn on/off the dry mode +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Dry Mode | Turn on/off the dry mode | ### Air Humidifier CA (zhimi.humidifier.ca4) @@ -877,50 +872,50 @@ Dry Mode | Turn on/off the dry mode - Target humidity (30 - 80) - Attributes (humidifier platform) -Attribute | Description ------------------------ | ----------------------- -`available_modes` | A list with the operation modes available -`humidity` | The current target humidity -`max_humidity` | The maximum settable target humidity -`min_humidity` | The minimum settable target humidity -`mode` | The current operation mode selected +| Attribute | Description | +| ----------------- | ----------------------------------------- | +| `available_modes` | A list with the operation modes available | +| `humidity` | The current target humidity | +| `max_humidity` | The maximum settable target humidity | +| `min_humidity` | The minimum settable target humidity | +| `mode` | The current operation mode selected | - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------------- -Water Tank | Indicates whether the water tank is connected or not +| Binary sensor | Description | +| ------------- | ---------------------------------------------------- | +| Water Tank | Indicates whether the water tank is connected or not | - Number entities -Number | Description ------------------------ | ----------------------- -Motor Speed | Set the motor speed +| Number | Description | +| ----------- | ------------------- | +| Motor Speed | Set the motor speed | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | -------------------------------------------------------------- | ------------------ -Actual Speed | The current motor speed measured in rpm | True -Humidity | The current humidity measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False -Water Level | The current water level percentage measured | True +| Sensor | Description | Enabled by default | +| ------------ | ------------------------------------------------------------- | ------------------ | +| Actual Speed | The current motor speed measured in rpm | True | +| Humidity | The current humidity measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | +| Water Level | The current water level percentage measured | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Clean Mode | Turn on/off the clean mode -Dry Mode | Turn on/off the dry mode +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Clean Mode | Turn on/off the clean mode | +| Dry Mode | Turn on/off the dry mode |
Clean mode and Motor speed can only be set when the device is turned on. @@ -933,42 +928,42 @@ Clean mode and Motor speed can only be set when the device is turned on. - Target humidity (30, 40, 50, 60, 70, 80) - Attributes (humidifier platform) -Attribute | Description ------------------------ | ----------------------- -`available_modes` | A list with the operation modes available -`humidity` | The current target humidity -`max_humidity` | The maximum settable target humidity -`min_humidity` | The minimum settable target humidity -`mode` | The current operation mode selected +| Attribute | Description | +| ----------------- | ----------------------------------------- | +| `available_modes` | A list with the operation modes available | +| `humidity` | The current target humidity | +| `max_humidity` | The maximum settable target humidity | +| `min_humidity` | The minimum settable target humidity | +| `mode` | The current operation mode selected | - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------------- -Water Tank | Indicates whether the water tank is connected or not +| Binary sensor | Description | +| ------------- | ---------------------------------------------------- | +| Water Tank | Indicates whether the water tank is connected or not | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | -------------------------------------------------------------- | ------------------ -Humidity | The current humidity measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False -Water Level | The current water level percentage measured | True +| Sensor | Description | Enabled by default | +| ----------- | ------------------------------------------------------------- | ------------------ | +| Humidity | The current humidity measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | +| Water Level | The current water level percentage measured | True | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -Child Lock | Turn on/off the child lock -Dry Mode | Turn on/off the dry mode +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the buzzer | +| Child Lock | Turn on/off the child lock | +| Dry Mode | Turn on/off the dry mode | ### Air Humidifier JSQ/JSQ1/MJJSQ (deerma.humidifier.jsq/deerma.humidifier.jsq1/deerma.humidifier.mjjsq) @@ -977,35 +972,35 @@ Dry Mode | Turn on/off the dry mode - Target humidity (30, 40, 50, 60, 70, 80) - Attributes (humidifier platform) -Attribute | Description ------------------------ | ----------------------- -`available_modes` | A list with the operation modes available -`humidity` | The current target humidity -`max_humidity` | The maximum settable target humidity -`min_humidity` | The minimum settable target humidity -`mode` | The current operation mode selected +| Attribute | Description | +| ----------------- | ----------------------------------------- | +| `available_modes` | A list with the operation modes available | +| `humidity` | The current target humidity | +| `max_humidity` | The maximum settable target humidity | +| `min_humidity` | The minimum settable target humidity | +| `mode` | The current operation mode selected | - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------------- -Water Tank | Indicates whether the water tank is connected or not -Water Tank Empty | Indicates whether the water tank is empty or not +| Binary sensor | Description | +| ---------------- | ---------------------------------------------------- | +| Water Tank | Indicates whether the water tank is connected or not | +| Water Tank Empty | Indicates whether the water tank is empty or not | - Sensor entities -Sensor | Description | Enabled by default ------------------------ | -------------------------------------------------------------- | ------------------ -Humidity | The current humidity measured | True -Temperature | The current temperature measured | True -Use Time | The accumulative number of seconds the device has been in use | False +| Sensor | Description | Enabled by default | +| ----------- | ------------------------------------------------------------- | ------------------ | +| Humidity | The current humidity measured | True | +| Temperature | The current temperature measured | True | +| Use Time | The accumulative number of seconds the device has been in use | False | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the buzzer -LED | Turn on/off the LED +| Switch | Description | +| ------ | ---------------------- | +| Buzzer | Turn on/off the buzzer | +| LED | Turn on/off the LED | ### Standing Fan 1X (dmaker.fan.p5) @@ -1014,18 +1009,18 @@ LED | Turn on/off the LED - Oscillation (on, off) - Number entities -Number | Description ------------------------ | ----------------------- -Delay Off Countdown | Set the delay off countdown in minutes -Oscillation Angle | Set the oscillation angle in degrees +| Number | Description | +| ------------------- | -------------------------------------- | +| Delay Off Countdown | Set the delay off countdown in minutes | +| Oscillation Angle | Set the oscillation angle in degrees | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` -LED | Turn on/off `led` +| Switch | Description | +| ---------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | +| LED | Turn on/off `led` | ### Standing Fan (zhimi.fan.za1, zhimi.fan.za3, zhimi.fan.za4, zhimi.fan.sa1) @@ -1034,23 +1029,23 @@ LED | Turn on/off `led` - Oscillation (on, off) - Number entities -Number | Description ------------------------ | ----------------------- -Delay Off Countdown | Set the delay off countdown in minutes -Oscillation Angle | Set the oscillation angle in degrees +| Number | Description | +| ------------------- | -------------------------------------- | +| Delay Off Countdown | Set the delay off countdown in minutes | +| Oscillation Angle | Set the oscillation angle in degrees | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` +| Switch | Description | +| ---------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | ### DC Pedestal Fan (zhimi.fan.v2, zhimi.fan.v3) @@ -1059,31 +1054,31 @@ Child Lock | Turn on/off `child lock` - Oscillation (on, off) - Number entities -Number | Description ------------------------ | ----------------------- -Delay Off Countdown | Set the delay off countdown in minutes -Oscillation Angle | Set the oscillation angle in degrees +| Number | Description | +| ------------------- | -------------------------------------- | +| Delay Off Countdown | Set the delay off countdown in minutes | +| Oscillation Angle | Set the oscillation angle in degrees | - Select entities -Select | Description ------------------------ | ----------------------- -LED Brightness | Controls the brightness of the LEDs (bright, dim, off) +| Select | Description | +| -------------- | ------------------------------------------------------ | +| LED Brightness | Controls the brightness of the LEDs (bright, dim, off) | - Sensor entities -Sensor | Description ------------------------ | ----------------------- -Battery | The current battery level in percentage -Humidity | The current humidity measured -Temperature | The current temperature measured +| Sensor | Description | +| ----------- | --------------------------------------- | +| Battery | The current battery level in percentage | +| Humidity | The current humidity measured | +| Temperature | The current temperature measured | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off `buzzer` -Child Lock | Turn on/off `child lock` +| Switch | Description | +| ---------- | ------------------------ | +| Buzzer | Turn on/off `buzzer` | +| Child Lock | Turn on/off `child lock` | ### Standing Fan 1C (dmaker.fan.1c) @@ -1092,17 +1087,17 @@ Child Lock | Turn on/off `child lock` - Oscillation (on, off) - Number entities -Number | Description ------------------------ | ----------------------- -Delay Off Countdown | Set the delay off countdown in minutes +| Number | Description | +| ------------------- | -------------------------------------- | +| Delay Off Countdown | Set the delay off countdown in minutes | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the Buzzer -Child Lock | Turn on/off the Child Lock -LED | Turn on/off the LED +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the Buzzer | +| Child Lock | Turn on/off the Child Lock | +| LED | Turn on/off the LED | ### Tower Fan/Standing Fan 2/Standing Fan Pro (dmaker.fan.p9/dmaker.fan.p10/dmaker.fan.p11) @@ -1111,18 +1106,18 @@ LED | Turn on/off the LED - Oscillation (on, off) - Number entities -Number | Description ------------------------ | ----------------------- -Delay Off Countdown | Set the delay off countdown in minutes -Oscillation Angle | Set the oscillation angle in degrees +| Number | Description | +| ------------------- | -------------------------------------- | +| Delay Off Countdown | Set the delay off countdown in minutes | +| Oscillation Angle | Set the oscillation angle in degrees | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the Buzzer -Child Lock | Turn on/off the Child Lock -LED | Turn on/off the LED +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the Buzzer | +| Child Lock | Turn on/off the Child Lock | +| LED | Turn on/off the LED | ### Standing Fan 3 (zhimi.fan.za5) @@ -1131,32 +1126,32 @@ LED | Turn on/off the LED - Oscillation (on, off) - Binary sensor entities -Binary sensor | Description ------------------------ | ----------------------- -Power Supply | Indicates whether the power supply is connected or not +| Binary sensor | Description | +| ------------- | ------------------------------------------------------ | +| Power Supply | Indicates whether the power supply is connected or not | - Number entities -Number | Description ------------------------ | ----------------------- -Delay Off Countdown | Set the delay off countdown in minutes -LED Brightness | Set the LED brightness -Oscillation Angle | Set the oscillation angle in degrees +| Number | Description | +| ------------------- | -------------------------------------- | +| Delay Off Countdown | Set the delay off countdown in minutes | +| LED Brightness | Set the LED brightness | +| Oscillation Angle | Set the oscillation angle in degrees | - Sensor entities -Sensor | Description ------------------------ | ----------------------- -Humidity | The current humidity measured -Temperature | The current temperature measured +| Sensor | Description | +| ----------- | -------------------------------- | +| Humidity | The current humidity measured | +| Temperature | The current temperature measured | - Switch entities -Switch | Description ------------------------ | ----------------------- -Buzzer | Turn on/off the Buzzer -Child Lock | Turn on/off the Child Lock -Ionizer | Turn on/off the Ionizer +| Switch | Description | +| ---------- | -------------------------- | +| Buzzer | Turn on/off the Buzzer | +| Child Lock | Turn on/off the Child Lock | +| Ionizer | Turn on/off the Ionizer | ### Platform Services @@ -1164,54 +1159,54 @@ Ionizer | Turn on/off the Ionizer Set the target humidity. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO humidifier entity. | -| `humidity` | no | Target humidity | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO humidifier entity. | +| `humidity` | no | Target humidity | ### Service `humidifier.set_mode` Set the humidifier operation mode. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO humidifier entity. | -| `mode` | no | The Xiaomi miIO operation mode | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO humidifier entity. | +| `mode` | no | The Xiaomi miIO operation mode | ### Service `fan.set_percentage` Set the fan speed percentage. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | -| `percentage` | no | Fan speed. Percentage speed setting | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | +| `percentage` | no | Fan speed. Percentage speed setting | ### Service `fan.set_preset_mode` Set the fan operation mode. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | -| `preset_mode` | no | The Xiaomi miIO operation mode | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | +| `preset_mode` | no | The Xiaomi miIO operation mode | ### Service `xiaomi_miio.fan_reset_filter` (Air Purifier 2 only) Reset the filter lifetime and usage. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `xiaomi_miio.fan_set_extra_features` (Air Purifier only) Set the extra features. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | -| `features` | no | Integer, known values are 0 and 1. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | +| `features` | no | Integer, known values are 0 and 1. | ## Xiaomi Air Quality Monitor @@ -1252,36 +1247,36 @@ remote: {% configuration %} host: - description: The IP of your remote. - required: true - type: string +description: The IP of your remote. +required: true +type: string token: - description: The API token of your remote. - required: true - type: string +description: The API token of your remote. +required: true +type: string name: - description: The name of your remote. - required: false - type: string +description: The name of your remote. +required: false +type: string slot: - description: The slot used to save learned command. - required: false - type: integer - default: 1 +description: The slot used to save learned command. +required: false +type: integer +default: 1 timeout: - description: Timeout for learning a new command. - required: false - type: integer - default: 30 +description: Timeout for learning a new command. +required: false +type: integer +default: 30 commands: - description: A list of commands - required: false - type: map - keys: - command: - description: A list of commands as [raw (learned command)](/integrations/xiaomi_miio/#raw) or [pronto hex code](/integrations/xiaomi_miio/#pronto-hex-code). - required: true - type: list +description: A list of commands +required: false +type: map +keys: +command: +description: A list of commands as [raw (learned command)](/integrations/xiaomi_miio/#raw) or [pronto hex code](/integrations/xiaomi_miio/#pronto-hex-code). +required: true +type: list {% endconfiguration %} ### Full Configuration @@ -1319,7 +1314,7 @@ hold_action: show_icon: true show_name: true entity: remote.xiaomi_miio_ir -icon: 'mdi:radiator' +icon: "mdi:radiator" name: Activate Towel Heater ``` @@ -1334,7 +1329,7 @@ script: entity_id: "remote.bathroom_remote" data: command: - - 'activate_towel_heater' + - "activate_towel_heater" please_cover_your_ears: sequence: - service: remote.send_command @@ -1342,7 +1337,7 @@ script: entity_id: "remote.bathroom_remote" data: command: - - 'read_bad_poem' + - "read_bad_poem" ``` ### Command Types @@ -1430,68 +1425,32 @@ Currently supported services are: - `clean_spot` - `set_fan_speed` Fan speeds: `Silent`, `Standard`, `Medium`, `Turbo` and `Gentle` (exclusively for mopping). -- `remote_control_*` (of your robot) - `xiaomi_clean_zone` - `xiaomi_clean_segment` +- `xiaomi_goto` +- `remote_control_*` (of your robot) ### Platform Services In addition to all of the services provided by the `vacuum` integration (`start`, `pause`, `stop`, `return_to_base`, `locate`, `set_fan_speed` and `send_command`), the `xiaomi_miio` platform introduces specific services to access the remote control mode of the robot. These are: +- `xiaomi_miio.vacuum_clean_zone` +- `xiaomi_miio.vacuum_clean_segment` +- `xiaomi_miio.vacuum_goto` - `xiaomi_miio.vacuum_remote_control_start` - `xiaomi_miio.vacuum_remote_control_stop` - `xiaomi_miio.vacuum_remote_control_move` - `xiaomi_miio.vacuum_remote_control_move_step` -- `xiaomi_miio.vacuum_clean_zone` -- `xiaomi_miio.vacuum_clean_segment` - -### Service `xiaomi_miio.vacuum_remote_control_start` - -Start the remote control mode of the robot. You can then move it with `remote_control_move`; when done, call `remote_control_stop`. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | - -### Service `xiaomi_miio.vacuum_remote_control_stop` - -Exit the remote control mode of the robot. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | - -### Service `xiaomi_miio.vacuum_remote_control_move` - -Remote control the robot. Please ensure you first set it in remote control mode with `remote_control_start`. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-----------------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | -| `velocity` | no | Speed: between -0.29 and 0.29 | -| `rotation` | no | Rotation: between -179 degrees and 179 degrees | -| `duration` | no | The number of milliseconds that the robot should move for | - -### Service `xiaomi_miio.vacuum_remote_control_move_step` - -Enter remote control mode, make one move, stop, and exit remote control mode. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-----------------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | -| `velocity` | no | Speed: between -0.29 and 0.29 | -| `rotation` | no | Rotation: between -179 degrees and 179 degrees | -| `duration` | no | The number of milliseconds that the robot should move for | ### Service `xiaomi_miio.vacuum_clean_zone` Start the cleaning operation in the areas selected for the number of repeats indicated. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | -| `zone` | no | List of zones. Each zone is an array of four integer values. These values represent two sets of x- and y-axis coordinates that describe the beginning and ending points of a square or rectangle cleaning zone. For example, `[[23510,25311,25110,26361]]` creates a box that starts in one corner at the 23510, 25311 (x- and y-axis) coordinates and then is expanded diagonally to the 25110, 26361 coordinates to create a rectangular cleaning zone. | -| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `entity_id` | no | Only act on a specific robot | +| `zone` | no | List of zones. Each zone is an array of four integer values. These values represent two sets of x- and y-axis coordinates that describe the beginning and ending points of a square or rectangle cleaning zone. For example, `[[23510,25311,25110,26361]]` creates a box that starts in one corner at the 23510, 25311 (x- and y-axis) coordinates and then is expanded diagonally to the 25110, 26361 coordinates to create a rectangular cleaning zone. | +| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. | Example of `xiaomi_miio.vacuum_clean_zone` use: @@ -1502,16 +1461,16 @@ Inline array: automation: - alias: "Test vacuum zone3" trigger: - - event: start - platform: homeassistant + - event: start + platform: homeassistant condition: [] action: - - service: xiaomi_miio.vacuum_clean_zone - target: - entity_id: vacuum.xiaomi_vacuum - data: - repeats: "{{states('input_number.vacuum_passes')|int}}" - zone: [[30914,26007,35514,28807], [20232,22496,26032,26496]] + - service: xiaomi_miio.vacuum_clean_zone + target: + entity_id: vacuum.xiaomi_vacuum + data: + repeats: "{{states('input_number.vacuum_passes')|int}}" + zone: [[30914, 26007, 35514, 28807], [20232, 22496, 26032, 26496]] ``` {% endraw %} @@ -1523,18 +1482,18 @@ Array with inline zone: automation: - alias: "Test vacuum zone3" trigger: - - event: start - platform: homeassistant + - event: start + platform: homeassistant condition: [] action: - - service: xiaomi_miio.vacuum_clean_zone - target: - entity_id: vacuum.xiaomi_vacuum - data: - repeats: "{{states('input_number.vacuum_passes')|int}}" - zone: - - [30914,26007,35514,28807] - - [20232,22496,26032,26496] + - service: xiaomi_miio.vacuum_clean_zone + target: + entity_id: vacuum.xiaomi_vacuum + data: + repeats: "{{states('input_number.vacuum_passes')|int}}" + zone: + - [30914, 26007, 35514, 28807] + - [20232, 22496, 26032, 26496] ``` {% endraw %} @@ -1545,61 +1504,52 @@ Array mode: automation: - alias: "Test vacuum zone3" trigger: - - event: start - platform: homeassistant + - event: start + platform: homeassistant condition: [] action: - - service: xiaomi_miio.vacuum_clean_zone - target: - entity_id: vacuum.xiaomi_vacuum - data: - repeats: 1 - zone: - - - 30914 - - 26007 - - 35514 - - 28807 - - - 20232 - - 22496 - - 26032 - - 26496 + - service: xiaomi_miio.vacuum_clean_zone + target: + entity_id: vacuum.xiaomi_vacuum + data: + repeats: 1 + zone: + - - 30914 + - 26007 + - 35514 + - 28807 + - - 20232 + - 22496 + - 26032 + - 26496 ``` -### Service `xiaomi_miio.vacuum_goto` - -Go the specified coordinates - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | -| `x_coord` | no | X-coordinate, integer value. The dock is located at x-coordinate 25500. | -| `y_coord` | no | Y-coordinate, integer value. The dock is located at y-coordinate 25500. | - ### Service `xiaomi_miio.vacuum_clean_segment` Clean the specified segment/room. A room is identified by a number. Instructions on how to find the valid room numbers and determine what rooms they map to, read the section [Retrieving room numbers](#retrieving-room-numbers). -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific robot | -| `segments` | no | List of segment numbers or one single segment number. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------------------------------------------------- | +| `entity_id` | no | Only act on a specific robot | +| `segments` | no | List of segment numbers or one single segment number. | Example of `xiaomi_miio.vacuum_clean_segment` use: Multiple segments: + ```yaml automation: - alias: "Vacuum kitchen and living room" trigger: - - event: start - platform: homeassistant + - event: start + platform: homeassistant condition: [] action: - - service: xiaomi_miio.vacuum_clean_segment - target: - entity_id: vacuum.xiaomi_vacuum - data: - segments: [1,2] + - service: xiaomi_miio.vacuum_clean_segment + target: + entity_id: vacuum.xiaomi_vacuum + data: + segments: [1, 2] ``` Single segment: @@ -1608,15 +1558,15 @@ Single segment: automation: - alias: "Vacuum kitchen" trigger: - - event: start - platform: homeassistant + - event: start + platform: homeassistant condition: [] action: - - service: xiaomi_miio.vacuum_clean_segment - target: - entity_id: vacuum.xiaomi_vacuum - data: - segments: 1 + - service: xiaomi_miio.vacuum_clean_segment + target: + entity_id: vacuum.xiaomi_vacuum + data: + segments: 1 ``` The original app for Xiaomi vacuum has a nice feature of room cleaning with repetition, you can achieve the same result with repeating segments: @@ -1635,55 +1585,105 @@ automation: segments: [1, 1] ``` +### Service `xiaomi_miio.vacuum_goto` + +Go the specified coordinates. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------------------------------------------------------------------- | +| `entity_id` | no | Only act on a specific robot | +| `x_coord` | no | X-coordinate, integer value. The dock is located at x-coordinate 25500. | +| `y_coord` | no | Y-coordinate, integer value. The dock is located at y-coordinate 25500. | + +Note: If your vacuum is in motion and does not respond to the `xiaomi_miio.vacuum_goto` command, call the `vacuum.pause` or `vacuum.stop` service first. + +### Service `xiaomi_miio.vacuum_remote_control_start` + +Start the remote control mode of the robot. You can then move it with `remote_control_move`; when done, call `remote_control_stop`. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------- | +| `entity_id` | no | Only act on a specific robot | + +### Service `xiaomi_miio.vacuum_remote_control_stop` + +Exit the remote control mode of the robot. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------- | +| `entity_id` | no | Only act on a specific robot | + +### Service `xiaomi_miio.vacuum_remote_control_move` + +Remote control the robot. Please ensure you first set it in remote control mode with `remote_control_start`. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | --------------------------------------------------------- | +| `entity_id` | no | Only act on a specific robot | +| `velocity` | no | Speed: between -0.29 and 0.29 | +| `rotation` | no | Rotation: between -179 degrees and 179 degrees | +| `duration` | no | The number of milliseconds that the robot should move for | + +### Service `xiaomi_miio.vacuum_remote_control_move_step` + +Enter remote control mode, make one move, stop, and exit remote control mode. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | --------------------------------------------------------- | +| `entity_id` | no | Only act on a specific robot | +| `velocity` | no | Speed: between -0.29 and 0.29 | +| `rotation` | no | Rotation: between -179 degrees and 179 degrees | +| `duration` | no | The number of milliseconds that the robot should move for | + ### Buttons -Button | Description ------------------------ | ------------------------------------------ -Reset Main Brush | Resets main brush remaining lifespan -Reset Side Brush | Resets side brush remaining lifespan -Reset Filter | Resets filter remaining lifespan -Reset Sensor Dirty | Resets sensor dirtiness (remaining time before needs to be cleaned) +| Button | Description | +| ------------------ | ------------------------------------------------------------------- | +| Reset Main Brush | Resets main brush remaining lifespan | +| Reset Side Brush | Resets side brush remaining lifespan | +| Reset Filter | Resets filter remaining lifespan | +| Reset Sensor Dirty | Resets sensor dirtiness (remaining time before needs to be cleaned) | ### Sensors {% configuration_basic %} DnD Start*: - description: The timestamp when the next DnD (Do not disturb) period will start +description: The timestamp when the next DnD (Do not disturb) period will start DnD End*: - description: The timestamp when the current or next DnD (Do not disturb) period will end +description: The timestamp when the current or next DnD (Do not disturb) period will end Total duration*: - description: The total cleaning duration in seconds +description: The total cleaning duration in seconds Total Clean Area*: - description: The total cleaning area in square meters +description: The total cleaning area in square meters Total Clean Count*: - description: The total amount of times a clean cycle has been ran +description: The total amount of times a clean cycle has been ran Total Dust Collection Count*: - description: The total amount of dust that has been collected +description: The total amount of dust that has been collected Filter Left*: - description: How long the filter can be used in seconds +description: How long the filter can be used in seconds Main Brush Left*: - description: How long the main brush can be used in seconds +description: How long the main brush can be used in seconds Sensor Dirty Left*: - description: How long the sensor can be used in seconds +description: How long the sensor can be used in seconds Current Clean Time: - description: The current cleaning time of the vacuum. If the vacuum is not cleaning, this sensor will have the same value as the "Last Clean Duration" sensor. +description: The current cleaning time of the vacuum. If the vacuum is not cleaning, this sensor will have the same value as the "Last Clean Duration" sensor. Current Clean Area: - description: The current area that has been cleaned. If the vacuum is not cleaning, this sensor will have the same value as the "Last Clean Area" sensor. +description: The current area that has been cleaned. If the vacuum is not cleaning, this sensor will have the same value as the "Last Clean Area" sensor. Last Clean Area*: - description: The last cleaned area in square meters -Last Clean Duration*: - description: The last clean duration in seconds +description: The last cleaned area in square meters +Last Clean Duration\*: +description: The last clean duration in seconds Last Clean End: - description: The last clean end time as a timestamp +description: The last clean end time as a timestamp Last Clean Start: - description: The last clean start time as a timestamp +description: The last clean start time as a timestamp Mop Attached**: - description: If the mop is attached +description: If the mop is attached Water Box Attached**: - description: If the watter box is attached -Water Shortage**: - description: If the water box is low on water +description: If the watter box is attached +Water Shortage\*\*: +description: If the water box is low on water {% endconfiguration_basic %} @@ -1694,7 +1694,7 @@ Water Shortage**: ### Attributes -The vacuums from the `xiaomi` platform does not expose additional attributes other the ones provided by [the `vacuum` component](/integrations/vacuum/#attributes), +The vacuums from the `xiaomi` platform does not expose additional attributes other the ones provided by [the `vacuum` integration](/integrations/vacuum/#attributes), ### Example on how to clean a specific room @@ -1718,8 +1718,8 @@ Where params specify room numbers, for multiple rooms, params can be specified l The vacuum entity stores attribute values for when brushes, filters and sensors need to be cleaned or replaced (`main_brush_left`, `side_brush_left`, `filter_left` and -`sensor_dirty_left`). The values are measured in hours. Once the parts are cleaned -or replaced you can then reset those values on the vacuum. Here is an example script using +`sensor_dirty_left`). The values are measured in hours. Once the parts are cleaned +or replaced you can then reset those values on the vacuum. Here is an example script using [`vacuum.send_command`](/integrations/vacuum/) to reset the hours for the main brush: ```yaml @@ -1731,7 +1731,7 @@ reset_main_brush_left: entity_id: vacuum.xiaomi_vacuum_cleaner data: command: reset_consumable - params: ['main_brush_work_time'] + params: ["main_brush_work_time"] ``` Allowed `params` for the `reset_consumable` command: @@ -1766,7 +1766,7 @@ vacuum_kitchen: entity_id: "vacuum.xiaomi_vacuum_cleaner" data: command: app_zoned_clean - params: [[23084,26282,27628,29727,1]] + params: [[23084, 26282, 27628, 29727, 1]] ``` ### Retrieving Room numbers @@ -1876,67 +1876,67 @@ Supported models: `philips.light.moonlight` Set one of the 4 available fixed scenes. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | -| `scene` | no | Scene, between 1 and 4. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| `scene` | no | Scene, between 1 and 4. | ### Service `xiaomi_miio.light_set_delayed_turn_off` Delayed turn off. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | -| `time_period` | no | Time period for the delayed turn off. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| `time_period` | no | Time period for the delayed turn off. | ### Service `xiaomi_miio.light_reminder_on` (Eyecare Smart Lamp 2 only) Enable the eye fatigue reminder/notification. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ### Service `xiaomi_miio.light_reminder_off` (Eyecare Smart Lamp 2 only) Disable the eye fatigue reminder/notification. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | -### Service `xiaomi_miio.light_night_light_mode_on` (Eyecare Smart Lamp 2 only) +### Service `xiaomi_miio.light_night_light_mode_on` (Eyecare Smart Lamp 2 only) Turn the smart night light mode on. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | -### Service `xiaomi_miio.light_night_light_mode_off` (Eyecare Smart Lamp 2 only) +### Service `xiaomi_miio.light_night_light_mode_off` (Eyecare Smart Lamp 2 only) Turn the smart night light mode off. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | -### Service `xiaomi_miio.light_eyecare_mode_on` (Eyecare Smart Lamp 2 only) +### Service `xiaomi_miio.light_eyecare_mode_on` (Eyecare Smart Lamp 2 only) Turn the eyecare mode on. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | -### Service `xiaomi_miio.light_eyecare_mode_off` (Eyecare Smart Lamp 2 only) +### Service `xiaomi_miio.light_eyecare_mode_off` (Eyecare Smart Lamp 2 only) Turn the eyecare mode off. -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------ | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ## Xiaomi Smart WiFi Socket and Smart Power Strip @@ -1990,37 +1990,38 @@ Supported models: `lumi.acpartner.v3` (the socket of the `acpartner.v1` and `v2` Turn the wifi LED on. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | ### Service `xiaomi_miio.switch_set_wifi_led_off` (Power Strip only) Turn the wifi LED off. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | ### Service `xiaomi_miio.switch_set_power_price` (Power Strip) Set the power price. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | -| `price` | no | Power price, between 0 and 999. | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | +| `price` | no | Power price, between 0 and 999. | ### Service `xiaomi_miio.switch_set_power_mode` (Power Strip V1 only) Set the power mode. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------| -| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | -| `mode` | no | Power mode, valid values are 'normal' and 'green' | +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------- | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | +| `mode` | no | Power mode, valid values are 'normal' and 'green' | ## Retrieving the Access Token + Not recommended, please specify the cloud credentials during the config flow for easier setup. However when setting up a device manually the token can be retrieved in one of the following ways. @@ -2031,15 +2032,15 @@ One of Home Assistant users wrote a tokens extractor tool, which is currently th 1. Install requirements: - ```bash - pip3 install pycryptodome pybase64 requests - ``` +```bash +pip3 install pycryptodome pybase64 requests +``` 2. Run script - ```bash - python3 token_extractor.py - ``` +```bash +python3 token_extractor.py +``` 3. Provide e-mail address or username for Xiaomi's account, password and country of the account (most used: CN - China Mainland, DE - Germany etc.) 4. Script will print out all devices connected to the account with their IP address and tokens for use in Home Assistant. @@ -2055,7 +2056,7 @@ One of Home Assistant users wrote a tokens extractor tool, which is currently th 7. Tap the version number (Plug-in version 2.77.1 as of January 2020, iOS has a white space instead of version number) at the bottom of the screen repeatedly. 8. You should now see 2 extra options listed in English (iOS still in Chinese), this means you enabled developer mode. [if not, try all steps again!]. 9. Android: under "Hub info" there is quite some text in JSON format, this includes the "token" that you need. -iOS: Most options are still in Chinese, you need the fourth item from the top. + iOS: Most options are still in Chinese, you need the fourth item from the top. Note: If you have multiple devices needing a token, e.g., Xiaomi Mi Robot Vacuum and a Xiaomi IR Remote, the above method may not work. The Xiaomi Home app will display a token, though it isn't the correct one. The alternative method using "Mi Home v5.4.49" will provide the correct token. @@ -2076,6 +2077,7 @@ After resetting the Wi-Fi settings of the Xiaomi robot vacuum, a new Access Toke These instructions are written for the Mi Home app - not for the new RoboRock app.

This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Mi Robot 2 (Roborock) Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. +
### Android (not rooted) @@ -2105,7 +2107,7 @@ This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuu 3. Install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/), open it, and open your backup. 4. Open the "Raw Data" module. 5. Navigate to `com.xiaomi.mihome`. -6. Search for a file that looks like this: `123456789_mihome.sqlite` (Note: `_mihome.sqlite` is *not* the correct file. Most likely, you will find this file in the `Documents` folder.) +6. Search for a file that looks like this: `123456789_mihome.sqlite` (Note: `_mihome.sqlite` is _not_ the correct file. Most likely, you will find this file in the `Documents` folder.) 7. Save this file to your filesystem. 8. Install [DB Browser for SQLite](https://sqlitebrowser.org/). 9. Open DB Browser and load the `.sqlite` file you saved from your backup. diff --git a/source/_integrations/xs1.markdown b/source/_integrations/xs1.markdown index c3e37879582..8f4c4f59a82 100644 --- a/source/_integrations/xs1.markdown +++ b/source/_integrations/xs1.markdown @@ -86,7 +86,7 @@ Home Assistant can combine temperature sensors and climate actuators into a sing ## Examples -In this section, you find some real-life examples of how to use this component. +In this section, you find some real-life examples of how to use this integration. ### Full configuration diff --git a/source/_integrations/youtube.markdown b/source/_integrations/youtube.markdown index 779b8f77c42..741569a8519 100644 --- a/source/_integrations/youtube.markdown +++ b/source/_integrations/youtube.markdown @@ -15,9 +15,15 @@ ha_integration_type: service --- The YouTube integration allows you to connect YouTube channels to Home Assistant. +For every channel you add, it will create sensors for: +* Subscriber count +* The latest uploaded video ## Prerequisites +To be able to configure the integration, you need to have a YouTube channel. +How to create one can be found [here](https://support.google.com/youtube/answer/1646861). + You need to configure developer credentials to allow Home Assistant to access your Google Account. These credentials are the same as the ones for [Nest](/integrations/nest), [Google Mail](/integrations/google_mail) and [Google Sheets](/integrations/google_sheets). These are not the same as the one for [Google Calendar](/integrations/google). diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index fd002a20bc1..3ca471af398 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -51,21 +51,21 @@ ZHA uses an open-source Python library implementing a hardware-independent Zigbe There is currently support for the following device types within Home Assistant: -- Alarm Control Panel -- Binary Sensor -- Button -- Climate (beta) -- Cover -- Fan -- Light -- Lock -- Number (i.e. analog output) -- Select -- Sensor -- Siren -- Switch +- [Alarm Control Panel](/integrations/alarm_control_panel/) +- [Binary Sensor](/integrations/binary_sensor/) +- [Button](/integrations/button/) +- [Climate](/integrations/climate/) (beta) +- [Cover](/integrations/cover/) +- [Fan](/integrations/fan/) +- [Light](/integrations/light/) +- [Lock](/integrations/lock/) +- [Number](/integrations/number/) (i.e. analog output) +- [Select](/integrations/select/) +- [Sensor](/integrations/sensor/) +- [Siren](/integrations/siren/) +- [Switch](/integrations/switch/) -There is also support for grouping of lights, switches, and fans (i.e. support for commanding device groups as entities). At least two entities must be added to a group before the group entity is created. As well as support for binding/unbinding (i.e. bind a remote to a lightbulb or group). +There is also support for Zigbee grouping of lights, switches, and fans (i.e. support for commanding device groups as entities). At least two entities must be added to a Zigbee group in the ZHA integration before the group entity is created. As well as support for [binding and unbinding (i.e. bind a remote to a lightbulb or group)](#binding-and-unbinding). ## Introduction @@ -232,7 +232,7 @@ custom_quirks_path: ### OTA firmware updates -ZHA component has the ability to automatically download and perform OTA (Over-The-Air) firmware updates of Zigbee devices if the OTA firmware provider source URL for updates is available. OTA firmware updating is set to disabled (`false`) in the configuration by default. +The ZHA integration has the ability to automatically download and perform OTA (Over-The-Air) firmware updates of Zigbee devices if the OTA firmware provider source URL for updates is available. OTA firmware updating is set to disabled (`false`) in the configuration by default. Online OTA providers for firmware updates are currently only available for IKEA, LEDVANCE/OSRAM, SALUS/Computime, and INOVELLI devices. Support for OTA updates from other manufacturers could be supported in the future if they publish their firmware images publicly. @@ -554,7 +554,7 @@ When reporting issues, please provide the following information in addition to i ### Debug logging -To enable debug logging for ZHA component and radio libraries, add the following [logger](/integrations/logger/) configuration to `configuration.yaml`: +To enable debug logging for the ZHA integration and radio libraries, add the following [logger](/integrations/logger/) configuration to `configuration.yaml`: ```yaml logger: diff --git a/source/_integrations/zoneminder.markdown b/source/_integrations/zoneminder.markdown index a8f0044b74f..a9d2309723b 100644 --- a/source/_integrations/zoneminder.markdown +++ b/source/_integrations/zoneminder.markdown @@ -109,7 +109,7 @@ action: The `zoneminder` binary sensor platform lets you monitor the availability of your [ZoneMinder](https://www.zoneminder.com) install. -Each binary_sensor created will be named after the hostname used when configuring the [ZoneMinder component](/integrations/zoneminder/). +Each binary_sensor created will be named after the hostname used when configuring the [ZoneMinder integration](/integrations/zoneminder/). ## Camera @@ -167,7 +167,7 @@ The `zoneminder` switch platform allows you to toggle the current function of al
-You must have the [ZoneMinder component](/integrations/zoneminder/) configured to use this and if ZoneMinder authentication is enabled the account specified in the integration configuration must have "Edit" permission for "System". +You must have the [ZoneMinder integration](/integrations/zoneminder/) configured to use this and if ZoneMinder authentication is enabled the account specified in the integration configuration must have "Edit" permission for "System".
diff --git a/source/_posts/2023-06-07-release-20236.markdown b/source/_posts/2023-06-07-release-20236.markdown index e7979838c3d..e29efd98bbb 100644 --- a/source/_posts/2023-06-07-release-20236.markdown +++ b/source/_posts/2023-06-07-release-20236.markdown @@ -48,6 +48,9 @@ Enjoy the release! - [Other noteworthy changes](#other-noteworthy-changes) - [New Integrations](#new-integrations) - [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [Release 2023.6.1 - June 8](#release-202361---june-8) +- [Release 2023.6.2 - June 14](#release-202362---june-14) +- [Release 2023.6.3 - June 23](#release-202363---june-23) - [Need help? Join the community!](#need-help-join-the-community) - [Breaking Changes](#breaking-changes) - [Farewell to the following](#farewell-to-the-following) @@ -385,6 +388,327 @@ The following integrations are now available via the Home Assistant UI: [Last.fm]: /integrations/lastfm [Philips Dynalite]: /integrations/dynalite +## Release 2023.6.1 - June 8 + +- Add error handling to input_select integration ([@j4n-e4t] - [#93940]) ([input_select docs]) +- Fix OTBR reset ([@emontnemery] - [#94157]) ([thread docs]) ([otbr docs]) +- Bump melnor-bluetooth to fix a timezone issue ([@vanstinator] - [#94159]) ([melnor docs]) +- Fix Abode unit of measurement ([@joostlek] - [#94168]) ([abode docs]) +- Bump pyoverkiz to 1.8.0 ([@iMicknl] - [#94176]) ([overkiz docs]) +- Rename Local Media to My Media ([@balloob] - [#94201]) ([media_source docs]) +- Fix ambiclimate for Python 3.11 ([@megakid] - [#94203]) ([ambiclimate docs]) +- Require pydantic 1.10.8 or higher ([@allenporter] - [#94208]) +- Set httpx log level to warning ([@jpbede] - [#94217]) +- Update aioairzone-cloud to v0.1.8 ([@Noltari] - [#94223]) ([airzone_cloud docs]) +- Bump python-opensky ([@joostlek] - [#93916]) ([opensky docs]) +- Bump python-opensky to 0.0.9 ([@joostlek] - [#94224]) ([opensky docs]) +- Bump pulsectl to 23.5.2 ([@chatziko] - [#94227]) ([pulseaudio_loopback docs]) +- Fix imap crash on email without subject ([@jbouwh] - [#94230]) ([imap docs]) +- Solve wrong return code from modbus. ([@janiversen] - [#94234]) ([flexit docs]) +- Catch exception when user has no lastfm friends ([@joostlek] - [#94235]) ([lastfm docs]) +- Bump aiohomekit to 2.6.5 (fixes python 3.11 regression) ([@Jc2k] - [#94245]) ([homekit_controller docs]) +- Retrieve friends in an async manner in Lastfm ([@joostlek] - [#94255]) ([lastfm docs]) +- Update frontend to 20230608.0 ([@piitaya] - [#94256]) ([frontend docs]) +- Bump unifiprotect to 4.10.2 ([@AngellusMortis] - [#94263]) ([unifiprotect docs]) +- Fix default value when logger used ([@balloob] - [#94269]) ([logger docs]) +- Fix repair issue about no yaml for config entries ([@frenck] - [#94271]) +- Restructure Insteon start-up ([@teharris1] - [#92818]) ([insteon docs]) +- Fix Insteon startup for users with X10 devices ([@teharris1] - [#94277]) ([insteon docs]) + +[#92818]: https://github.com/home-assistant/core/pull/92818 +[#93916]: https://github.com/home-assistant/core/pull/93916 +[#93940]: https://github.com/home-assistant/core/pull/93940 +[#94157]: https://github.com/home-assistant/core/pull/94157 +[#94158]: https://github.com/home-assistant/core/pull/94158 +[#94159]: https://github.com/home-assistant/core/pull/94159 +[#94168]: https://github.com/home-assistant/core/pull/94168 +[#94176]: https://github.com/home-assistant/core/pull/94176 +[#94201]: https://github.com/home-assistant/core/pull/94201 +[#94203]: https://github.com/home-assistant/core/pull/94203 +[#94208]: https://github.com/home-assistant/core/pull/94208 +[#94217]: https://github.com/home-assistant/core/pull/94217 +[#94223]: https://github.com/home-assistant/core/pull/94223 +[#94224]: https://github.com/home-assistant/core/pull/94224 +[#94227]: https://github.com/home-assistant/core/pull/94227 +[#94230]: https://github.com/home-assistant/core/pull/94230 +[#94234]: https://github.com/home-assistant/core/pull/94234 +[#94235]: https://github.com/home-assistant/core/pull/94235 +[#94245]: https://github.com/home-assistant/core/pull/94245 +[#94255]: https://github.com/home-assistant/core/pull/94255 +[#94256]: https://github.com/home-assistant/core/pull/94256 +[#94263]: https://github.com/home-assistant/core/pull/94263 +[#94269]: https://github.com/home-assistant/core/pull/94269 +[#94271]: https://github.com/home-assistant/core/pull/94271 +[#94277]: https://github.com/home-assistant/core/pull/94277 +[@AngellusMortis]: https://github.com/AngellusMortis +[@Jc2k]: https://github.com/Jc2k +[@Noltari]: https://github.com/Noltari +[@allenporter]: https://github.com/allenporter +[@balloob]: https://github.com/balloob +[@chatziko]: https://github.com/chatziko +[@emontnemery]: https://github.com/emontnemery +[@frenck]: https://github.com/frenck +[@iMicknl]: https://github.com/iMicknl +[@j4n-e4t]: https://github.com/j4n-e4t +[@janiversen]: https://github.com/janiversen +[@jbouwh]: https://github.com/jbouwh +[@joostlek]: https://github.com/joostlek +[@jpbede]: https://github.com/jpbede +[@megakid]: https://github.com/megakid +[@piitaya]: https://github.com/piitaya +[@teharris1]: https://github.com/teharris1 +[@vanstinator]: https://github.com/vanstinator +[abode docs]: /integrations/abode/ +[accuweather docs]: /integrations/accuweather/ +[aemet docs]: /integrations/aemet/ +[airthings docs]: /integrations/airthings/ +[airthings_ble docs]: /integrations/airthings_ble/ +[airzone docs]: /integrations/airzone/ +[airzone_cloud docs]: /integrations/airzone_cloud/ +[ambiclimate docs]: /integrations/ambiclimate/ +[flexit docs]: /integrations/flexit/ +[frontend docs]: /integrations/frontend/ +[homekit_controller docs]: /integrations/homekit_controller/ +[imap docs]: /integrations/imap/ +[input_select docs]: /integrations/input_select/ +[insteon docs]: /integrations/insteon/ +[lastfm docs]: /integrations/lastfm/ +[logger docs]: /integrations/logger/ +[media_source docs]: /integrations/media_source/ +[melnor docs]: /integrations/melnor/ +[opensky docs]: /integrations/opensky/ +[otbr docs]: /integrations/otbr/ +[overkiz docs]: /integrations/overkiz/ +[pulseaudio_loopback docs]: /integrations/pulseaudio_loopback/ +[thread docs]: /integrations/thread/ +[unifiprotect docs]: /integrations/unifiprotect/ + +## Release 2023.6.2 - June 14 + +- Change pyoppleio to pyoppleio-legacy ([@tinysnake] - [#88050]) ([opple docs]) +- Fix issue with Insteon linked devices maintaining current state ([@teharris1] - [#94286]) ([insteon docs]) +- Bump elkm1-lib to 2.2.5 ([@gwww] - [#94296]) ([elkm1 docs]) +- Bump pylitterbot to 2023.4.2 ([@natekspencer] - [#94301]) ([litterrobot docs]) +- Upgrade sisyphus-control to 3.1.3 ([@jkeljo] - [#94310]) ([sisyphus docs]) +- fix: electrasmart - cast temperature to int in set_temperature ([@jafar-atili] - [#94368]) ([electrasmart docs]) +- Fix dep noaa-coops for noaa_tides ([@jbouwh] - [#94370]) ([noaa_tides docs]) +- Fix deprecated asyncio.wait use with coroutines ([@syssi] - [#94371]) ([xiaomi_miio docs]) +- Update xknxproject to 3.1.1 ([@farmio] - [#94375]) ([knx docs]) +- Re-add event listeners after Z-Wave server disconnection ([@raman325] - [#94383]) ([zwave_js docs]) +- Fix ZHA binding api to actually return responses ([@jasonkuster] - [#94388]) ([zha docs]) +- Abort youtube configuration if user has no channel ([@joostlek] - [#94402]) ([youtube docs]) +- Update knx-frontend to 2023.6.9.195839 ([@farmio] - [#94404]) ([knx docs]) +- Bump unifiprotect to 4.10.3 ([@AngellusMortis] - [#94416]) ([unifiprotect docs]) +- Fix: Xiaomi Miio Fan, delay off countdown unit conversion ([@golles] - [#94428]) ([xiaomi_miio docs]) +- Add unit inference for Amps and VA in APCUPSD integration ([@yuxincs] - [#94431]) ([apcupsd docs]) +- Fix manual update for Command Line ([@gjohansson-ST] - [#94433]) ([command_line docs]) +- Fix reload service in Command Line ([@gjohansson-ST] - [#94436]) ([command_line docs]) +- Set default value for endpoint in zwave device automations ([@raman325] - [#94445]) ([zwave_js docs]) +- Revert "Bump pydaikin 2.9.1 (#93635)" ([@mover85] - [#94469]) ([daikin docs]) +- Bump russound_rio to 1.0.0 ([@chphilli] - [#94500]) ([russound_rio docs]) +- Fix entity and device selector TypedDict's ([@raman325] - [#94510]) +- Bump yalexs-ble to 2.1.18 ([@bdraco] - [#94547]) ([august docs]) ([yalexs_ble docs]) +- Bump `regenmaschine` to 2023.06.0 ([@bachya] - [#94554]) ([rainmachine docs]) +- Update Home Assistant base image to 2023.06.0 ([@frenck] - [#94556]) +- Catch InvalidAuthError in `shutdown()` method for Shelly gen2 devices ([@bieniu] - [#94563]) ([shelly docs]) +- Fix keyboard_remote for python 3.11 ([@lanrat] - [#94570]) ([keyboard_remote docs]) +- Fix failed recovery in roku ([@ctalkington] - [#94572]) ([roku docs]) +- Fix failed recovery in ipp ([@ctalkington] - [#94573]) ([ipp docs]) +- Improve multipan debug logging ([@emontnemery] - [#94580]) ([homeassistant_hardware docs]) + +[#88050]: https://github.com/home-assistant/core/pull/88050 +[#94158]: https://github.com/home-assistant/core/pull/94158 +[#94286]: https://github.com/home-assistant/core/pull/94286 +[#94288]: https://github.com/home-assistant/core/pull/94288 +[#94296]: https://github.com/home-assistant/core/pull/94296 +[#94301]: https://github.com/home-assistant/core/pull/94301 +[#94310]: https://github.com/home-assistant/core/pull/94310 +[#94368]: https://github.com/home-assistant/core/pull/94368 +[#94370]: https://github.com/home-assistant/core/pull/94370 +[#94371]: https://github.com/home-assistant/core/pull/94371 +[#94375]: https://github.com/home-assistant/core/pull/94375 +[#94383]: https://github.com/home-assistant/core/pull/94383 +[#94388]: https://github.com/home-assistant/core/pull/94388 +[#94402]: https://github.com/home-assistant/core/pull/94402 +[#94404]: https://github.com/home-assistant/core/pull/94404 +[#94416]: https://github.com/home-assistant/core/pull/94416 +[#94428]: https://github.com/home-assistant/core/pull/94428 +[#94431]: https://github.com/home-assistant/core/pull/94431 +[#94433]: https://github.com/home-assistant/core/pull/94433 +[#94436]: https://github.com/home-assistant/core/pull/94436 +[#94445]: https://github.com/home-assistant/core/pull/94445 +[#94469]: https://github.com/home-assistant/core/pull/94469 +[#94500]: https://github.com/home-assistant/core/pull/94500 +[#94510]: https://github.com/home-assistant/core/pull/94510 +[#94547]: https://github.com/home-assistant/core/pull/94547 +[#94554]: https://github.com/home-assistant/core/pull/94554 +[#94556]: https://github.com/home-assistant/core/pull/94556 +[#94563]: https://github.com/home-assistant/core/pull/94563 +[#94570]: https://github.com/home-assistant/core/pull/94570 +[#94572]: https://github.com/home-assistant/core/pull/94572 +[#94573]: https://github.com/home-assistant/core/pull/94573 +[#94580]: https://github.com/home-assistant/core/pull/94580 +[@AngellusMortis]: https://github.com/AngellusMortis +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bieniu]: https://github.com/bieniu +[@chphilli]: https://github.com/chphilli +[@ctalkington]: https://github.com/ctalkington +[@emontnemery]: https://github.com/emontnemery +[@farmio]: https://github.com/farmio +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@golles]: https://github.com/golles +[@gwww]: https://github.com/gwww +[@jafar-atili]: https://github.com/jafar-atili +[@jasonkuster]: https://github.com/jasonkuster +[@jbouwh]: https://github.com/jbouwh +[@jkeljo]: https://github.com/jkeljo +[@joostlek]: https://github.com/joostlek +[@lanrat]: https://github.com/lanrat +[@mover85]: https://github.com/mover85 +[@natekspencer]: https://github.com/natekspencer +[@raman325]: https://github.com/raman325 +[@syssi]: https://github.com/syssi +[@teharris1]: https://github.com/teharris1 +[@tinysnake]: https://github.com/tinysnake +[@yuxincs]: https://github.com/yuxincs +[accuweather docs]: /integrations/accuweather/ +[aemet docs]: /integrations/aemet/ +[airthings docs]: /integrations/airthings/ +[airthings_ble docs]: /integrations/airthings_ble/ +[airzone docs]: /integrations/airzone/ +[apcupsd docs]: /integrations/apcupsd/ +[august docs]: /integrations/august/ +[command_line docs]: /integrations/command_line/ +[daikin docs]: /integrations/daikin/ +[electrasmart docs]: /integrations/electrasmart/ +[elkm1 docs]: /integrations/elkm1/ +[homeassistant_hardware docs]: /integrations/homeassistant_hardware/ +[insteon docs]: /integrations/insteon/ +[ipp docs]: /integrations/ipp/ +[keyboard_remote docs]: /integrations/keyboard_remote/ +[knx docs]: /integrations/knx/ +[litterrobot docs]: /integrations/litterrobot/ +[noaa_tides docs]: /integrations/noaa_tides/ +[opple docs]: /integrations/opple/ +[rainmachine docs]: /integrations/rainmachine/ +[roku docs]: /integrations/roku/ +[russound_rio docs]: /integrations/russound_rio/ +[shelly docs]: /integrations/shelly/ +[sisyphus docs]: /integrations/sisyphus/ +[unifiprotect docs]: /integrations/unifiprotect/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[yalexs_ble docs]: /integrations/yalexs_ble/ +[youtube docs]: /integrations/youtube/ +[zha docs]: /integrations/zha/ +[zwave_js docs]: /integrations/zwave_js/ + +## Release 2023.6.3 - June 23 + +- Register Fully Kiosk services regardless of setup result ([@mheath] - [#88647]) ([fully_kiosk docs]) +- Fortios device tracker updates ([@kimfrellsen] - [#92331]) ([fortios docs]) +- Handle LastFM unavailable ([@joostlek] - [#94456]) ([lastfm docs]) +- Handle Insteon events correctly ([@teharris1] - [#94549]) ([insteon docs]) +- Fix unit for Habitica text sensors ([@atudor2] - [#94550]) ([habitica docs]) +- Bump minimum typing_extensions to 4.6.3 ([@freeDom-] - [#94587]) (dependency) +- Fix glances raid plugin data ([@freeDom-] - [#94597]) ([glances docs]) +- Make YouTube select lower quality thumbnails ([@joostlek] - [#94652]) ([youtube docs]) +- Add strings for YouTube reauthentication ([@joostlek] - [#94655]) ([youtube docs]) +- Fix bluetooth tracker asyncio usage ([@d03n3rfr1tz3] - [#94695]) ([bluetooth_tracker docs]) +- Fix zwave_js trigger event reattach logic ([@raman325] - [#94702]) ([zwave_js docs]) +- Fix warning from rapt_ble caused by payload version 2 ([@sairon] - [#94718]) ([rapt_ble docs]) +- Fix Totalconnect BinarySensorDeviceClass logic ([@austinmroczek] - [#94772]) ([totalconnect docs]) +- Bump HAP-python to 4.7.0 ([@bdraco] - [#94812]) ([homekit docs]) (dependency) +- Bump bthome to 2.12.0 ([@Ernst79] - [#94822]) ([bthome docs]) (dependency) +- Update aioairzone to v0.6.4 ([@Noltari] - [#94873]) ([airzone docs]) (dependency) +- Bump ical to 4.5.4 ([@allenporter] - [#94894]) ([local_calendar docs]) +- Fix Meteo France blocked config entry when weather alert API fails ([@Quentame] - [#94911]) ([meteo_france docs]) +- Add error handling to hassio issues ([@epenet] - [#94951]) ([hassio docs]) +- Bump Matter Server to 3.5.1: some small fixes and stability improvements ([@marcelveldt] - [#94985]) ([matter docs]) (dependency) +- Fix zwave_js device diagnostics dump ([@raman325] - [#94999]) ([zwave_js docs]) +- Bump bimmer_connected to 0.13.7 ([@rikroe] - [#95017]) ([bmw_connected_drive docs]) (dependency) +- Fix goodwe midnight error ([@hmmbob] - [#95041]) ([goodwe docs]) +- Fix removal of orphaned Matter devices ([@marcelveldt] - [#95044]) ([matter docs]) +- Fix KNX device trigger passing info data ([@farmio] - [#95076]) ([knx docs]) + +[#88647]: https://github.com/home-assistant/core/pull/88647 +[#92331]: https://github.com/home-assistant/core/pull/92331 +[#94158]: https://github.com/home-assistant/core/pull/94158 +[#94288]: https://github.com/home-assistant/core/pull/94288 +[#94456]: https://github.com/home-assistant/core/pull/94456 +[#94549]: https://github.com/home-assistant/core/pull/94549 +[#94550]: https://github.com/home-assistant/core/pull/94550 +[#94587]: https://github.com/home-assistant/core/pull/94587 +[#94597]: https://github.com/home-assistant/core/pull/94597 +[#94621]: https://github.com/home-assistant/core/pull/94621 +[#94652]: https://github.com/home-assistant/core/pull/94652 +[#94655]: https://github.com/home-assistant/core/pull/94655 +[#94695]: https://github.com/home-assistant/core/pull/94695 +[#94702]: https://github.com/home-assistant/core/pull/94702 +[#94718]: https://github.com/home-assistant/core/pull/94718 +[#94772]: https://github.com/home-assistant/core/pull/94772 +[#94812]: https://github.com/home-assistant/core/pull/94812 +[#94822]: https://github.com/home-assistant/core/pull/94822 +[#94873]: https://github.com/home-assistant/core/pull/94873 +[#94894]: https://github.com/home-assistant/core/pull/94894 +[#94911]: https://github.com/home-assistant/core/pull/94911 +[#94951]: https://github.com/home-assistant/core/pull/94951 +[#94985]: https://github.com/home-assistant/core/pull/94985 +[#94999]: https://github.com/home-assistant/core/pull/94999 +[#95017]: https://github.com/home-assistant/core/pull/95017 +[#95041]: https://github.com/home-assistant/core/pull/95041 +[#95044]: https://github.com/home-assistant/core/pull/95044 +[#95076]: https://github.com/home-assistant/core/pull/95076 +[@Ernst79]: https://github.com/Ernst79 +[@Noltari]: https://github.com/Noltari +[@Quentame]: https://github.com/Quentame +[@allenporter]: https://github.com/allenporter +[@atudor2]: https://github.com/atudor2 +[@austinmroczek]: https://github.com/austinmroczek +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@d03n3rfr1tz3]: https://github.com/d03n3rfr1tz3 +[@epenet]: https://github.com/epenet +[@farmio]: https://github.com/farmio +[@freeDom-]: https://github.com/freeDom- +[@frenck]: https://github.com/frenck +[@hmmbob]: https://github.com/hmmbob +[@joostlek]: https://github.com/joostlek +[@kimfrellsen]: https://github.com/kimfrellsen +[@marcelveldt]: https://github.com/marcelveldt +[@mheath]: https://github.com/mheath +[@raman325]: https://github.com/raman325 +[@rikroe]: https://github.com/rikroe +[@sairon]: https://github.com/sairon +[@teharris1]: https://github.com/teharris1 +[accuweather docs]: /integrations/accuweather/ +[aemet docs]: /integrations/aemet/ +[airthings docs]: /integrations/airthings/ +[airthings_ble docs]: /integrations/airthings_ble/ +[airzone docs]: /integrations/airzone/ +[bluetooth_tracker docs]: /integrations/bluetooth_tracker/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[bthome docs]: /integrations/bthome/ +[fortios docs]: /integrations/fortios/ +[fully_kiosk docs]: /integrations/fully_kiosk/ +[glances docs]: /integrations/glances/ +[goodwe docs]: /integrations/goodwe/ +[habitica docs]: /integrations/habitica/ +[hassio docs]: /integrations/hassio/ +[homekit docs]: /integrations/homekit/ +[insteon docs]: /integrations/insteon/ +[knx docs]: /integrations/knx/ +[lastfm docs]: /integrations/lastfm/ +[local_calendar docs]: /integrations/local_calendar/ +[matter docs]: /integrations/matter/ +[meteo_france docs]: /integrations/meteo_france/ +[rapt_ble docs]: /integrations/rapt_ble/ +[totalconnect docs]: /integrations/totalconnect/ +[youtube docs]: /integrations/youtube/ +[zwave_js docs]: /integrations/zwave_js/ + ## Need help? Join the community! Home Assistant has a great community of users who are all more than willing @@ -842,6 +1166,18 @@ be safely deleted. [@raman325]: https://github.com/raman325 [#93946]: https://github.com/home-assistant/core/pull/93946 +--- + +If you have zwave_js cover entities already and your device supports Window +Covering CC, you may see newly created cover entities. The old cover entities +can safely be deleted, but all customizations must be reapplied to the +new entities. + +([@raman325] - [#93314]) ([documentation](/integrations/zwave_js)) + +[@raman325]: https://github.com/raman325 +[#93314]: https://github.com/home-assistant/core/pull/93314 + {% enddetails %} If you are a custom integration developer and want to learn about breaking diff --git a/source/_posts/2023-06-27-knx-collaboration.markdown b/source/_posts/2023-06-27-knx-collaboration.markdown new file mode 100644 index 00000000000..86678890bf1 --- /dev/null +++ b/source/_posts/2023-06-27-knx-collaboration.markdown @@ -0,0 +1,28 @@ +--- +layout: post +title: "Home Assistant collaborates with KNX" +description: "Home Assistant collaborates with KNX" +date: 2023-06-27 00:00:00 +date_formatted: "June 27, 2023" +author: Uwe Bernitt +comments: true +categories: + - Announcements +og_image: /images/blog/2023-06-27-knx-collaboration/social.png +--- + +The KNX panel in Home Assistant +

+ +We’re excited to announce that the [KNX Association](https://www.knx.org/knx-en/for-professionals/index.php) has officially endorsed the [KNX integration in Home Assistant](/integrations/knx/). The KNX Association will collaborate with the KNX team at Home Assistant to help with the maintenance of the KNX integration and further streamline the user experience. + +KNX is a home automation standard for commercial and residential building automation that works locally. It is mainly, but not exclusively, based on a central data cable which is generally installed when the house is being built. KNX also has extensions to work over radio frequencies or via IP infrastructure. KNX partners with hundreds of smart home manufacturers and thousands of installers. + +The KNX integration in Home Assistant allows users to use the power of Home Assistant to unify their KNX devices with other smart home devices and experience a beautiful user interface, powerful automations, and local voice control. Users can also configure Home Assistant to expose non-KNX devices back to the KNX network. + +The KNX panel in Home Assistant +

+ +Home Assistant introduced the KNX integration in [Home Assistant 0.24](/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/) in July 2016. Since its introduction 7 years ago, the community has continued to evolve it. The development is currently led by [marvin-w](https://github.com/marvin-w) and [farmio](https://github.com/farmio), who brought the integration to a platinum quality level. + +It's a thrilling time with organizations like KNX prioritizing seamless Home Assistant integration and working directly with integration developers. We couldn’t be more happy with where things are heading. \ No newline at end of file diff --git a/source/help/reporting_issues.markdown b/source/help/reporting_issues.markdown index 9b6a60d1813..c07e5c9f4ca 100644 --- a/source/help/reporting_issues.markdown +++ b/source/help/reporting_issues.markdown @@ -4,36 +4,42 @@ description: "Reporting issues about Home Assistant" sidebar: false --- -If you have an installation, a setup or a configuration issue please use our [Forum](https://community.home-assistant.io/) to get help. We have a big community which will help you if they can. +If you have an installation, a setup or a configuration issue, please use our [Forum](https://community.home-assistant.io/) to get help. We have a big community which will help you if they can. -If you found a bug then please report it in one of our [trackers](/help/#bugs-feature-requests-and-alike). To help you and our developers to identify the issue quickly, please fill out the provided template. The "weird" content you will see is there to render your entry in a nice format after submitting. It's just [markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax). +If you found a bug, then please report it in one of our [trackers](/help/#bugs-feature-requests-and-alike). To help you and our developers to identify the issue quickly, please fill out the provided template. The "weird" content you will see, is there to render your entry in a nice format after submitting. It's just [markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax). -Please refer to the [**Settings** -> **About**](https://my.home-assistant.io/redirect/info/) page, which is accessible inside the Home Assistant frontend. +To see the version information, refer to the {% my info title="**Settings** > **About**" %} page. -## First Home Assistant release with the issue +## Description of the problem -Please provide the release which contains the issue. +Provide a summary of your issue and tell us what's wrong. Tell us what you were trying to do and what happened. + +There are integrations which require additional steps (installing third-party tools, compilers, etc.) to get your setup working. Please describe the steps you took and the ones to reproduce the issue if needed. + +## First Home Assistant version with the issue + +Please provide the version which contains the issue. You can find the version information under {% my system_health title="**Settings** > **System** > **Repairs** > Three dots in the upper right > **System information**" %}. ## Last working Home Assistant release (if known) -If possible, provide the latest release of which you know that the integration or platform was working. Home Assistant is evolving very fast and issues may already be addressed or be introduced by a recent change. +If possible, provide the latest release of which you know that the integration or platform was working. Home Assistant is evolving very fast and issues may already be addressed or be introduced by a recent change. You can find the detailed information about your system under {% my system_health title="**Settings** > **System** > **Repairs** > Three dots in the upper right > **System information**" %} ## Operating environment -There are many different ways to run Home Assistant. In this section please mention which you are using, e.g., Home Assistant (using the Home Assistant Operating System), Home Assistant Supervised, Home Assistant Core in Docker or a manual installation of the Home Assistant Core. It can help if you mention which operating system you are using because not all are supported on the same level. +There are many different ways to run Home Assistant. In this section, please mention which you are using: Home Assistant Operating System, Home Assistant Supervised, Home Assistant Core in Docker, or a manual installation of the Home Assistant Core. It would be helpful to mention which operating system you are using because not all are supported on the same level. You can find this information under {% my system_health title="**Settings** > **System** > **Repairs** > Three dots in the upper right > **System information**" %}. ## Integration -Please add the link to the documentation of the integration in question. E.g., +Please add the link to the documentation of the integration in question. For example: - Issue with the `random` sensor: [/integrations/random#sensor](/integrations/random#sensor). - Issue with the `hue` integration: [/integrations/hue/](/integrations/hue/). -### Description of problem +### Diagnostics information -Provide a summary of your issue and tell us what's wrong. +Consider uploading [the diagnostics file](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics) along with your issue report to allow faster triaging and pinpointing the issue. +The information contained in the generated diagnostics file is redacted to avoid any sensitive information while still remaining useful for developers to fix the issue. -There are integrations and platform which require additional steps (installing third-party tools, compilers, etc.) to get your setup working. Please describe the steps you took and the ones to reproduce the issue if needed. ### Problem-relevant `configuration.yaml` entries @@ -46,15 +52,19 @@ sensor: Make sure that you don't post your username, password, API key, access token or other [secrets](/docs/configuration/secrets/). -### Traceback (if applicable) +### Traceback and log information (if applicable) -If things go wrong there will be a so-called traceback or an error message in other words in your log. Please include this. It starts with **Traceback** and can contain information where the error was triggered in the code. +If things go wrong, there will be a so-called traceback or an error message {% my logs title="in your log" %}. Please include this. It starts with **Traceback** and can contain information about where the error was triggered in the code. ```bash Traceback (most recent call last): ... ``` +In some cases, it is also necessary to [enable debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics) to get detailed logs to triage an issue. +Enabling this will instruct Home Assistant to log a lot of fine-grained information about the integration. This is helpful for debugging and fixing the issue. +In contrast to the diagnostics information, debug logs are not automatically redacted. Make sure to include only the parts you think are relevant to the issue. + ### Additional information This section can contain additional details or other observation. Often the little things can help as well. diff --git a/source/images/blog/2023-06-27-knx-collaboration/panel.png b/source/images/blog/2023-06-27-knx-collaboration/panel.png new file mode 100644 index 00000000000..bfa76f01333 Binary files /dev/null and b/source/images/blog/2023-06-27-knx-collaboration/panel.png differ diff --git a/source/images/blog/2023-06-27-knx-collaboration/social.png b/source/images/blog/2023-06-27-knx-collaboration/social.png new file mode 100644 index 00000000000..08bf71aa786 Binary files /dev/null and b/source/images/blog/2023-06-27-knx-collaboration/social.png differ diff --git a/source/images/integrations/homekit_controller/homekit_controller_add_01.png b/source/images/integrations/homekit_controller/homekit_controller_add_01.png new file mode 100644 index 00000000000..10118a813ae Binary files /dev/null and b/source/images/integrations/homekit_controller/homekit_controller_add_01.png differ diff --git a/source/images/integrations/homekit_controller/homekit_controller_add_02.png b/source/images/integrations/homekit_controller/homekit_controller_add_02.png new file mode 100644 index 00000000000..0c4b0c98d77 Binary files /dev/null and b/source/images/integrations/homekit_controller/homekit_controller_add_02.png differ diff --git a/source/images/integrations/homekit_controller/homekit_controller_add_03.png b/source/images/integrations/homekit_controller/homekit_controller_add_03.png new file mode 100644 index 00000000000..5accfe50571 Binary files /dev/null and b/source/images/integrations/homekit_controller/homekit_controller_add_03.png differ diff --git a/source/images/integrations/tuya/image_002new.png b/source/images/integrations/tuya/image_002new.png new file mode 100644 index 00000000000..36395a442de Binary files /dev/null and b/source/images/integrations/tuya/image_002new.png differ diff --git a/source/images/integrations/zone/zone_edit_ui.png b/source/images/integrations/zone/zone_edit_ui.png index 6fb770a5912..622dc608e18 100644 Binary files a/source/images/integrations/zone/zone_edit_ui.png and b/source/images/integrations/zone/zone_edit_ui.png differ diff --git a/source/voice_control/apple.markdown b/source/voice_control/apple.markdown index 547d726c699..701efa4b1ae 100644 --- a/source/voice_control/apple.markdown +++ b/source/voice_control/apple.markdown @@ -40,7 +40,7 @@ You can import the button shortcut multiple times to create versions for differe ## Multiple servers -The Assist shortcut works also if you have configured multiple Home Assistant servers. By default it will prompt you to pick the server to sent the command too. This is not very hands-off, and so you can update the shortcut to point at a specific server. You will need to import the shortcuts multiple times, once for each server. +The Assist shortcut works also if you have configured multiple Home Assistant servers. By default it will prompt you to pick the server to sent the command to. This is not very hands-off, and so you can update the shortcut to point at a specific server. You will need to import the shortcuts multiple times, once for each server. Open the shortcuts app and edit each Assist shortcut. The text in quotes will be shown in the language of your device. diff --git a/source/voice_control/builtin_sentences.markdown b/source/voice_control/builtin_sentences.markdown index a5b14f961d1..0197eeaf27e 100644 --- a/source/voice_control/builtin_sentences.markdown +++ b/source/voice_control/builtin_sentences.markdown @@ -55,6 +55,6 @@ To get an idea of the specific sentences that are supported for your language, y * () mean alternative elements. * [] mean optional elements. * <> mean an expansion rule. The view these rules, search for `expansion_rules` in the [_common.yaml](https://github.com/home-assistant/intents/blob/main/sentences/en/_common.yaml) file. - * The syntax is explained in detail in the [template sentence syntax documentation](https://developers.home-assistant.io/docs/voice_control/intent-recognition/template-sentence-syntax). + * The syntax is explained in detail in the [template sentence syntax documentation](https://developers.home-assistant.io/docs/voice/intent-recognition/template-sentence-syntax/). diff --git a/source/voice_control/thirteen-usd-voice-remote.markdown b/source/voice_control/thirteen-usd-voice-remote.markdown index 204ce205f1e..614149ffb1a 100644 --- a/source/voice_control/thirteen-usd-voice-remote.markdown +++ b/source/voice_control/thirteen-usd-voice-remote.markdown @@ -29,7 +29,7 @@ Before you can use this device with Home Assistant, you need to install a bit of - * **For advanced users**: The configuration file is available on [GitHub](https://github.com/esphome/media-players/blob/main/m5stack-atom-echo.yaml). + * **For advanced users**: The configuration file is available on [GitHub](https://github.com/esphome/firmware/blob/main/voice-assistant/m5stack-atom-echo.yaml). 1. Connect the ATOM Echo to your computer. * In the popup window, view the available ports. @@ -55,16 +55,17 @@ Before you can use this device with Home Assistant, you need to install a bit of ![Set up ESPHome](/images/assist/esp32-atom-flash-07.png) 1. To add the newly discovered device, select the ATOM Echo from the list. * Add your ATOM Echo to a room and select **Finish**. -2. You should now see the **ESPHome** integration. +1. You should now see the **ESPHome** integration. ![New ESPHome device discovered](/images/assist/m5stack-atom-echo-discovered-33.png) -3. Select the cogwheel. Under **Devices**, you should see the **M5Stack Atom Echo** listed. +1. Select the cogwheel. Under **Devices**, you should see the **M5Stack Atom Echo** listed. ![ATOM Echo discovered](/images/assist/m5stack-atom-echo-discovered-new-03.png) * Your ATOM Echo is connected to Home Assistant over Wi-Fi. You can now move it to any place in your home with a USB power supply. -4. Congratulations! You can now voice control Home Assistant using a button with build-in microphone. Now give some commands. +1. Congratulations! You can now voice control Home Assistant using a button with a built-in microphone. Now give some commands. ## Controlling Home Assistant over the ATOM Echo -1. Press and hold the button on your ATOM Echo. +1. Press and hold the flat button with rounded shape on your ATOM Echo. + * The rectangular button on the side is the reset button. Do not press that one. * The LED should light up in blue. 1. Say a [supported voice command](/voice_control/builtin_sentences/). For example, *Turn off the light in the kitchen*. * Make sure you’re using the area name exactly as you defined it in Home Assistant. diff --git a/source/voice_control/using_tts_in_automation.markdown b/source/voice_control/using_tts_in_automation.markdown index ac50746bf2a..94437ae306d 100644 --- a/source/voice_control/using_tts_in_automation.markdown +++ b/source/voice_control/using_tts_in_automation.markdown @@ -17,24 +17,3 @@ This procedure shows you how to create a text-to-speech {% term action %}. For t 1. Your text-to-speech action is now ready to be used in your script or automation. ![Enter text to be spoken](/images/assist/tts_action.png) 1. Save your action. -1. If you want, you can edit this service in YAML. - - ```yaml - service: media_player.play_media - target: - entity_id: media_player.m5stack_atom_echo_a61920 - data: - media_content_id: media-source://tts/tts.piper?message=Your+coffee+is+ready%21+Enjoy. - media_content_type: provider - metadata: - title: Your coffee is ready! Enjoy. - thumbnail: https://brands.home-assistant.io/_/tts/logo.png - media_class: app - children_media_class: null - navigateIds: - - {} - - media_content_type: app - media_content_id: media-source://tts - - media_content_type: provider - media_content_id: media-source://tts/tts.piper?message=Your+coffee+is+ready%21+Enjoy. - ``` diff --git a/source/yellow/index.html b/source/yellow/index.html index 51fee00b44b..c305f40d4a8 100644 --- a/source/yellow/index.html +++ b/source/yellow/index.html @@ -286,8 +286,8 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
  • RTC backed by CR2032 battery
  • Status LEDs (can be powered off during regular operation)
      -
    • Green: Power
    • -
    • Red: Disk usage
    • +
    • Red: Power
    • +
    • Green: Disk usage
    • Yellow: Home Assistant system state