Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2023-06-28 10:16:49 +02:00
commit 749f148569
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
214 changed files with 2021 additions and 1419 deletions

View File

@ -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 }}

View File

@ -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:

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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.

8
package-lock.json generated
View File

@ -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",

View File

@ -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"

View File

@ -1,6 +1,7 @@
div.details-block {
width: 100%;
display: block;
margin: 0 0 1.5em 0;
.details-block-item {
background-color: white;

View File

@ -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

View File

@ -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.
</div>
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:

View File

@ -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)

View File

@ -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.
<lite-youtube videoid="fE_MYcXYwMI" videotitle="How to use Trigger IDs in Home Assistant - Tutorial" posterquality="maxresdefault"></lite-youtube>
```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.
<div class='note'>
@ -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).

View File

@ -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

View File

@ -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:

View File

@ -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., `<path to config dir>/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., `<path to config dir>/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`:

View File

@ -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: >

View File

@ -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.
<lite-youtube videoid="ZxxxZ9Vci3I" videotitle="Blueprints in Home Assistant - Tutorial" posterquality="maxresdefault"></lite-youtube>
## 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.

View File

@ -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`

View File

@ -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.
<div class='note tip'>
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.
</div>
## 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&mdash;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:

View File

@ -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.
</div>
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.

View File

@ -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/).

View File

@ -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.

View File

@ -22,13 +22,13 @@ Listing all loaded files:
docker exec homeassistant python -m homeassistant --script check_config --files
```
Viewing a components configuration ([`light`](/integrations/light) in this example):
Viewing an integrations 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 components configuration ([`light`](/integrations/light) in this example):
Viewing a integrations 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

View File

@ -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.
</div>
{% else %}
<div class='note'>
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.
</div>
{% endif %}
<p class='img'>
@ -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:
"Protocol<sup>3</sup>":
description: The service the server is using for the network storage.
"[NFS]<sup>1</sup> Remote share path":
description: The path used to connect to the remote storage server.
"[CIFS]<sup>2</sup> Username":
"[CIFS]<sup>2</sup> Username<sup>4</sup>":
description: The username to use when connecting to the storage server.
"[CIFS]<sup>2</sup> 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 %}
<sup>1</sup> _Options prefixed with `[NFS]` is only available for NFS targets._<br>
<sup>2</sup> _Options prefixed with `[CIFS]` is only available for CIFS targets._
<sup>1</sup> _Options prefixed with `[NFS]` are only available for NFS targets._<br>
<sup>2</sup> _Options prefixed with `[CIFS]` are only available for CIFS targets._<br>
<sup>3</sup> _For the `CIFS` option, only version 2.1+ is supported._<br>
<sup>4</sup> _Guest access is not supported. You need to supply a username and password to access the share._<br>
##### 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

View File

@ -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:

View File

@ -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 %}

View File

@ -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

View File

@ -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/

View File

@ -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/

View File

@ -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.
<div class='note'>
@ -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 <!-- omit in toc -->
@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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`

View File

@ -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

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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.

View File

@ -20,7 +20,10 @@ If you use Home Assistant Operating System or Home Assistant Supervised, [back u
</div>
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.

View File

@ -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:

View File

@ -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.

View File

@ -163,6 +163,10 @@ Performance testing used the following hardware:
### Known working adapters
<div class='note'>
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.
</div>
#### Realtek RTL8761BU adapters
<div class='note warning'>
@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -36,7 +36,7 @@ Passing the key `color_extract_url` to the service call will download the linked
<div class="note">
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.
</div>

View File

@ -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.
</div>
@ -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 %}

View File

@ -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

View File

@ -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.

View File

@ -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 %}

View File

@ -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:

View File

@ -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

View File

@ -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` |

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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.

View File

@ -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:

View File

@ -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 |
| ---------------------- | -------- | ----------- |

View File

@ -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:

View File

@ -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).

View File

@ -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

View File

@ -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.
<p class='img'>
<img src='/images/screenshots/filter-sensor.png' />

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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`

View File

@ -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.

View File

@ -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] <Action Name>`
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] <Action Name>`
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**.
<img src='/images/integrations/google_assistant/accountlinking.png' alt='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] <Action Name>` 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] <Action Name>` 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.
<div class='note'>
@ -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 youre 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
</div>
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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -129,7 +129,7 @@ duration:
<div class='note'>
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.
</div>

View File

@ -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

View File

@ -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:
<div class='note'>
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.
</div>
@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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.
<div class='note'>
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.

View File

@ -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:

View File

@ -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

View File

@ -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).

View File

@ -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

View File

@ -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.<name>`. 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.<name>`. The name will default to `notify` if not supplied. See the [Notifications integration](/integrations/notify) for more details.
required: false
type: string
{% endconfiguration %}

View File

@ -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`.

View File

@ -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`

View File

@ -1,6 +1,7 @@
---
title: KNX
description: Instructions on how to integrate KNX components with Home Assistant.
featured: true
ha_category:
- Binary Sensor
- Button

Some files were not shown because too many files have changed in this diff Show More