diff --git a/.textlintrc.json b/.textlintrc.json
index 1ab82cc45c21..d8029d8f59da 100644
--- a/.textlintrc.json
+++ b/.textlintrc.json
@@ -303,6 +303,7 @@
["colour", "color"],
["config\\b", "configuration"],
["DarkSky", "Dark Sky"],
+ ["e\\.g\\.", "e.g.,"],
["end ?to ?end", "end-to-end"],
["FRITZ!? ?Box", "FRITZ!Box"],
["grey", "gray"],
@@ -313,6 +314,7 @@
["he or she", "they"],
["he/she", "they"],
["Home-?Ass?s?iss?tt?ant", "Home Assistant"],
+ ["i\\.e\\.", "i.e.,"],
["IFF?TTT?T?", "IFTTT"],
["ISY ?994", "ISY994"],
["JSONRPC", "JSON-RPC"],
diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown
index 329ad28ea601..7207906f377f 100644
--- a/source/_docs/automation/trigger.markdown
+++ b/source/_docs/automation/trigger.markdown
@@ -130,6 +130,12 @@ The `for` template(s) will be evaluated when an entity changes as specified.
Triggers when the state of any of given entities changes. If only `entity_id` is given trigger will activate for all state changes, even if only state attributes change.
+
+
+The values you see in your overview will often not be the same as the actual state of the entity. For instance, the overview may show `Connected` when the underlying entity is actually `on`. You should check the state of the entity by looking in the _States_ menu under _Developer tools_.
+
+
+
```yaml
automation:
trigger:
@@ -176,9 +182,9 @@ Use quotes around your values for `from` and `to` to avoid the YAML parser inter
#### Sunset / Sunrise trigger
-Triggers when the sun is setting or rising, i.e. when the sun elevation reaches 0°.
+Triggers 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 trigger a set time before or after the sun event (e.g. 45 minutes before sunset).
+An optional time offset can be given to have it trigger a set time before or after the sun event (e.g., 45 minutes before sunset).
diff --git a/source/_docs/backend/database.markdown b/source/_docs/backend/database.markdown
index e71bc6babf16..2e5964bab9cd 100644
--- a/source/_docs/backend/database.markdown
+++ b/source/_docs/backend/database.markdown
@@ -4,7 +4,7 @@ description: "Details about the database used by Home Assistant."
redirect_from: /details/database/
---
-Database is used in by Home Assistant as history and tracker only, to store the events and its parameters. The default database used by Home Assistant is [SQLite](https://www.sqlite.org/), and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/.homeassistant/home-assistant_v2.db`). If you prefer to run a database server (e.g. PostgreSQL), use the [`recorder` component](/integrations/recorder/).
+Database is used in by Home Assistant as history and tracker only, to store the events and its parameters. The default database used by Home Assistant is [SQLite](https://www.sqlite.org/), and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/.homeassistant/home-assistant_v2.db`). If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/).
To work with the SQLite database manually from the command-line, you will need an [installation](http://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](http://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands.
First load your database with `sqlite3`:
diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown
index dfca2518f234..38407aabd138 100644
--- a/source/_docs/configuration/templating.markdown
+++ b/source/_docs/configuration/templating.markdown
@@ -175,7 +175,7 @@ The same thing can also be expressed as a filter:
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
- `as_timestamp()` converts datetime object or string to UNIX timestamp. This function also be used as a filter.
- `strptime(string, format)` parses a string based on a [format](https://docs.python.org/3.8/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object.
-- `relative_time` converts datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g. if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
+- `relative_time` converts datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g., if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
- Filter `timestamp_local` converts an UNIX timestamp to its string representation as date/time in your local timezone.
- Filter `timestamp_utc` converts a UNIX timestamp to its string representation representation as date/time in UTC timezone.
- Filter `timestamp_custom(format_string, local_time=True)` converts an UNIX timestamp to its string representation based on a custom format, the use of a local timezone is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown
index 1cdd701f14f0..f3dbef572898 100644
--- a/source/_docs/ecosystem/appdaemon/api.markdown
+++ b/source/_docs/ecosystem/appdaemon/api.markdown
@@ -1966,7 +1966,7 @@ A list of split devices with 1 or more entries.
```python
for sensor in self.split_device_list(self.args["sensors"]):
- do_something(sensor) # e.g. make a state subscription
+ do_something(sensor) # e.g., make a state subscription
```
diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown
index 3c2c6d7b568f..bc0348287404 100644
--- a/source/_docs/ecosystem/backup/backup_github.markdown
+++ b/source/_docs/ecosystem/backup/backup_github.markdown
@@ -50,7 +50,7 @@ Creating a `.gitignore` file in your repository will tell Git which files NOT to
- If you are creating the `.gitignore` file on Windows, make sure that you save the file with Unix line endings (i.e. by using an editor like Notepad++).
+ If you are creating the `.gitignore` file on Windows, make sure that you save the file with Unix line endings (i.e., by using an editor like Notepad++).
diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown
deleted file mode 100644
index 5225cc79ab86..000000000000
--- a/source/_docs/ecosystem/hass-configurator.markdown
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: "Configurator"
-description: "Instructions on how to install and use the Configurator"
-redirect_from: /ecosystem/hass-configurator/
----
-
-### Configuration UI for Home Assistant
-
-Since there is currently no nice way to edit the YAML files Home Assistant is using through the frontend, here is a small webapp that hopefully makes configuration easier. It is a customized and embedded [Ace editor](https://ace.c9.io/), which has syntax highlighting for YAML, the format used for Home Assistant's configuration files. There is also an integrated file browser to select whatever file you want to edit. When you're done editing the file, simply click the save button and your changes will be applied.
-This is essentially a browser-based alternative to modifying your configuration through SSH, Windows + SMB, Github, etc.
-
-
-
-Screenshot of the Configurator.
-
-
-### Feature list
-
-- Web-based editor to modify your files
-- Upload and download files
-- Git integration
-- List of available triggers, events, entities, conditions and services. Selected element gets inserted into the editor at the last cursor position.
-- Check valid configuration and restart Home Assistant directly with the click of a button
-- SSL support
-- Optional authentication and IP filtering for additional security
-- Direct links to Home Assistant documentation and icons
-- Execute shell commands
-- Runs on pretty much any machine Home Assistant can run on
-
-
-This tool allows you to browse your filesystem and modify files. So be careful which files you edit, or you might break critical parts of your system.
-Consider running the configurator as a user with limited privileges to limit possible damage.
-
-
-### Installation (Linux, macOS)
-There are no dependencies on Python modules that are not part of the standard library. All the fancy JavaScript libraries are loaded from CDN (which means this doesn't work when you're offline).
-- Copy [configurator.py](https://github.com/danielperna84/hass-configurator/blob/master/configurator.py) to your Home Assistant configuration directory (e.g `/home/homeassistant/.homeassistant`): `wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py`
-- Make it executable: `sudo chmod 755 configurator.py`
-- (Optional) Set the `GIT` variable in configurator.py to `True` if [GitPython](https://gitpython.readthedocs.io/) is installed on your system. This is required if you want to make use of the Git integration.
-- Execute it: `sudo ./configurator.py`
-- To terminate the process do the usual `CTRL+C`, maybe once or twice
-
-### Configuration
-Near the top of the `configurator.py` file you will find some global variables you can change to customize the configurator. When setting variables of the type _string_, the string must be within quotation marks. The default settings are fine for just checking out the configurator quickly. For more customized setups it might be advisable to change some settings.
-To keep your settings across updates it is also possible to save settings in an external file. In that case copy [settings.conf](https://github.com/danielperna84/hass-configurator/blob/master/settings.conf) wherever you like and append the full path to the file to the command when starting the configurator. e.g., `sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf`. This file is in JSON format, so make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the .py file is that `None` becomes `null`.
-
-#### LISTENIP (string)
-The IP the service is listening on. By default it is binding to `0.0.0.0`, which is every interface on the system.
-#### LISTENPORT (integer)
-The port the service is listening on. By default it is using `3218`, but you can change this if you need to.
-#### BASEPATH (string)
-It is possible to place configurator.py somewhere else. Set the `BASEPATH` to something like `"/home/homeassistant/.homeassistant"`, and no matter where you are running the configurator from, it will start serving files from there. This is needed if you plan on running the configurator with systemd or some other way of daemonizing the configurator.
-#### SSL_CERTIFICATE / SSL_KEY (string)
-If you are using SSL, set the paths to your SSL files here. This is similar to the SSL setup you can do in Home Assistant.
-#### HASS_API (string)
-The configurator fetches some data from your running Home Assistant instance. If the API is not available through the default URL, modify this variable to fix this.
-#### HASS_API_PASSWORD (string)
-If you plan on using the restart button, you have to set your API password. Calling the restart service of Home Assistant is prohibited without authentication.
-#### CREDENTIALS (string)
-Set credentials in the form of `"username:password"` if authentication should be required for access to the configurator.
-#### ALLOWED_NETWORKS (list)
-Limit access to the configurator by adding allowed IP addresses / networks to the list, e.g `ALLOWED_NETWORKS = ["192.168.0.0/24", "172.16.47.23"]`
-#### BANNED_IPS (list)
-List of statically banned IP addresses, e.g., `BANNED_IPS = ["1.1.1.1", "2.2.2.2"]`
-#### BANLIMIT (integer)
-Ban IPs after `n` failed login attempts. Restart the service to reset banning. The default of `0` disables this feature. `CREDENTIALS` has to be set for this to work.
-#### IGNORE_PATTERN (list)
-Files and folders to ignore in the UI, e.g., `IGNORE_PATTERN = [".*", "*.log", "__pycache__"]`.
-#### DIRSFIRST (bool)
-If set to `True`, directories will be displayed at the top of the filebrowser.
-#### GIT (bool)
-Set this variable to `True` to enable Git integration. This feature requires [GitPython](https://gitpython.readthedocs.io)
- to be installed on the system that is running the configurator. For technical reasons this feature cannot be enabled with the static settings file.
-
-__Note regarding `ALLOWED_NETWORKS`, `BANNED_IPS` and `BANLIMIT`__:
-The way this is implemented works in the following order:
-
-1. (Only if `CREDENTIALS` is set) Check credentials
- - Failure: Retry `BANLIMIT` times, after that return error 420 (unless you try again without any authentication headers set, such as in a private tab of your browser)
- - Success: Continue
-2. Check if client IP address is in `BANNED_IPS`
- - Yes: Return error 420
- - No: Continue
-3. Check if client IP address is in `ALLOWED_NETWORKS`
- - Yes: Continue and display UI of configurator
- - No: Return error 420
-
-### Embedding into Home Assistant
-Home Assistant has the [panel_iframe](/integrations/panel_iframe/) component. With this it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration through the Home Assistant frontend.
-An example configuration would look like this:
-
-```yaml
-panel_iframe:
- configurator:
- title: Configurator
- icon: mdi:wrench
- url: http://123.123.132.132:3218
-```
-
-
-Be careful when setting up port forwarding to the configurator while embedding it into Home Assistant. If you don't restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the Internet!
-
-
-### Daemonizing / Keeping the configurator running
-Since the configurator script on its own is not a service, you will have to take some extra steps to keep it running. Here are five options (for Linux), but there are more depending on your usecase.
-
-1. Fork the process into the background with the command:
-`nohup sudo ./configurator.py &`
-2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment.
-3. If you have [supervisor](http://supervisord.org/) running on your system, [hass-poc-configurator.supervisor](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.supervisor) would be an example configuration you could use to control the configurator.
-4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](/docs/installation/hassbian/).
-5. A tool called [screen](http://ss64.com/bash/screen.html) (alternative to tmux). If it's not already installed on your system, you can do `sudo apt-get install screen` or `sudo yum install screen` to get it. When it's installed, start a screen session by executing `screen`. Then navigate to your Home Assistant directory and start the configurator like described above. Put the screen session into the background by pressing `CTRL+A` and then `CTRL+D`. It is now safe to disconnect from your SSH session.
-To resume the screen session, log in to your machine and execute `screen -r`.
-
-### Troubleshooting, Issues etc.
-If you encounter difficulties setting up the configurator or stumble upon a possible bug, head over to the [Issues](https://github.com/danielperna84/hass-configurator/issues) section of the configurator repository. Additionally there is a thread at the [Home Assistant Community](https://community.home-assistant.io/t/simplistic-configuration-ui/10175) where common problems may have been discussed already. And if not, there are always friendly people around to help finding solutions.
diff --git a/source/_docs/ecosystem/notebooks/api.markdown b/source/_docs/ecosystem/notebooks/api.markdown
deleted file mode 100644
index 063510542e23..000000000000
--- a/source/_docs/ecosystem/notebooks/api.markdown
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: "Home Assistant Python API"
-description: "Basic example of interacting with Home Assistant live from a Jupyter notebook using the Python API."
-redirect_from: /ecosystem/notebooks/api/
----
-
-Python API is deprecated.
diff --git a/source/_docs/ecosystem/notebooks/database.markdown b/source/_docs/ecosystem/notebooks/database.markdown
deleted file mode 100644
index 11ad7cce37b2..000000000000
--- a/source/_docs/ecosystem/notebooks/database.markdown
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: "Database"
-description: "Accessing the Home Assistant database from a Jupyter notebook."
-redirect_from: /ecosystem/notebooks/database/
----
-
-You can directly access the Home Assistant database from Jupyter notebooks. The [Database example](https://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/other/database-examples.ipynb) shows you how you can work with stored database values.
diff --git a/source/_docs/ecosystem/notebooks/graph.markdown b/source/_docs/ecosystem/notebooks/graph.markdown
deleted file mode 100644
index c48a18a3849f..000000000000
--- a/source/_docs/ecosystem/notebooks/graph.markdown
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: "Graph"
-description: "Basic example how to create a graph with a Jupyter notebook."
-redirect_from: /ecosystem/notebooks/graph/
----
-
-For graphing this [Jupyter notebook](https://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/other/graph-single-sensor.ipynb) should get you started.
diff --git a/source/_docs/ecosystem/notebooks/installation.markdown b/source/_docs/ecosystem/notebooks/installation.markdown
deleted file mode 100644
index 0afed74486d0..000000000000
--- a/source/_docs/ecosystem/notebooks/installation.markdown
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: "Installation"
-description: "Setup and first steps for Jupyter Notebooks and Home Assistant."
-redirect_from: /ecosystem/notebooks/installation/
----
-
-To run Jupyter Notebooks locally, an installation of [Jupyter](http://jupyter.org/) is needed. Consider running Jupyter in a [virtualenv](/docs/installation/virtualenv/) in order to properly manage dependencies.
-
-```bash
-$ pip3 install jupyter matplotlib
-```
-
-
-
-Certain notebooks hosted in the [Home Assistant notebooks repository](https://github.com/home-assistant/home-assistant-notebooks) require access to a running Home Assistant instance or parts of a Home Assistant installation. If you want to run those notebooks, install Home Assistant with `$ pip3 install homeassistant` as well.
-
-
-
-Run Jupyter from the command line.
-
-```bash
-$ jupyter notebook
-[I 17:22:18.081 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
-[I 17:22:18.921 NotebookApp] Serving notebooks from local directory: /home/fabaff/home-assistant
-[I 17:22:18.921 NotebookApp] 0 active kernels
-[I 17:22:18.921 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
-[I 17:22:18.922 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
-```
-
-Open `http://localhost:8888/` in your browser. Press "New" -> "Python3" to open a new notebook.
-
-
-
-
-
-You will get an empty notebook with one cell. Cells can contain code or text. To get the output of a cell you need to execute them with "Cell" -> "Run Cells" from the menu or by pressing the Play icon.
-
-
-
-
-
-The downloadable version of this notebook is available in the [Home Assistant notebooks repository](https://github.com/home-assistant/home-assistant-notebooks/blob/master/other/first-notebook.ipynb).
-
-
-As you can see is the Jupyter notebook workflow is very similar to working directly with a Python shell. One advantage of notebooks is that you can go back and forth between cells as you please and save your work.
diff --git a/source/_docs/ecosystem/notebooks/stats.markdown b/source/_docs/ecosystem/notebooks/stats.markdown
deleted file mode 100644
index c1232bcb0392..000000000000
--- a/source/_docs/ecosystem/notebooks/stats.markdown
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: "Statistics"
-description: "Basic example how to create basic statistics with a Jupyter notebook."
-redirect_from: /ecosystem/notebooks/stats/
----
-
-The [Statistics notebook](https://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/other/database-statistics.ipynb) shows some basic statistical analysis on data in the Home Assistant database.
diff --git a/source/_docs/installation/updating.markdown b/source/_docs/installation/updating.markdown
index ddb575025886..e6352bb531ed 100644
--- a/source/_docs/installation/updating.markdown
+++ b/source/_docs/installation/updating.markdown
@@ -36,7 +36,7 @@ For a Raspberry Pi Docker container, simply pull the latest one:
sudo docker pull homeassistant/raspberrypi3-homeassistant:latest
```
-After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well.
+After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e., minutes) depending on your device. This is because all requirements are updated as well.
[BRUH automation](https://www.bruhautomation.io/) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant.
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index d8922f499a68..bfd703af5ea7 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -123,7 +123,7 @@ You can also check what hardware has been found using the [`ha` command](/hassio
ha hardware info
```
-If you did an alternative install of Home Assistant on Linux (e.g. installing Ubuntu, then Docker, then Home Assistant Supervised) then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled in the host OS. Failure to do so will result in random failures of those components, e.g. dead or unreachable Z-Wave nodes, most notably right after Home Assistant restarts. Connect to your host OS via SSH, then you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager` (commands are for Debian/Ubuntu).
+If you did an alternative install of Home Assistant on Linux (e.g., installing Ubuntu, then Docker, then Home Assistant Supervised) then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled in the host OS. Failure to do so will result in random failures of those components, e.g., dead or unreachable Z-Wave nodes, most notably right after Home Assistant restarts. Connect to your host OS via SSH, then you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager` (commands are for Debian/Ubuntu).
### Docker
@@ -227,7 +227,7 @@ If this applies to your situation:
Then chances are high that the ModemManager in the host OS is causing the issue, claiming or interfering with the USB Z-Wave stick like the much used Aeotec ones. In this case you need to disable ModemManager.
-Connect to your host OS (e.g. Ubuntu) through SSH, then execute the following command on your host system to disable the ModemManager:
+Connect to your host OS (e.g., Ubuntu) through SSH, then execute the following command on your host system to disable the ModemManager:
```bash
systemctl disable ModemManager.service
diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html
index 7a7e113027bf..9edc7e8b6da7 100644
--- a/source/_includes/asides/docs_navigation.html
+++ b/source/_includes/asides/docs_navigation.html
@@ -270,27 +270,6 @@
diff --git a/source/_integrations/abode.markdown b/source/_integrations/abode.markdown
index 8968168c479a..f030fbb3ee72 100644
--- a/source/_integrations/abode.markdown
+++ b/source/_integrations/abode.markdown
@@ -92,7 +92,7 @@ Field | Description
`event_type` | The type of the event.
`event_utc` | The UTC timestamp of the event.
`user_name` | The Abode user that triggered the event, if applicable.
-`app_type` | The Abode app that triggered the event (e.g. web app, iOS app, etc.).
+`app_type` | The Abode app that triggered the event (e.g., web app, iOS app, etc.).
`event_by` | The keypad user that triggered the event.
`date` | The date of the event in the format `MM/DD/YYYY`.
`time` | The time of the event in the format `HH:MM AM`.
diff --git a/source/_integrations/aftership.markdown b/source/_integrations/aftership.markdown
index f8192a42004a..60e0e84c8d45 100644
--- a/source/_integrations/aftership.markdown
+++ b/source/_integrations/aftership.markdown
@@ -49,7 +49,7 @@ api_key:
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- |
| `tracking_number` | `True` | string | Tracking number
-| `slug` | `False` | string | Carrier e.g. `fedex`
+| `slug` | `False` | string | Carrier e.g., `fedex`
| `title` | `False` | string | Friendly name of package
## Service `remove_tracking`
@@ -59,7 +59,7 @@ api_key:
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- |
| `tracking_number` | `True` | string | Tracking number
-| `slug` | `True` | string | Carrier e.g. `fedex`
+| `slug` | `True` | string | Carrier e.g., `fedex`
This integration retrieves data from AfterShip public REST API, but the integration is not affiliated with AfterShip.
diff --git a/source/_integrations/alert.markdown b/source/_integrations/alert.markdown
index 751584342d8c..af384e239a5a 100644
--- a/source/_integrations/alert.markdown
+++ b/source/_integrations/alert.markdown
@@ -247,8 +247,8 @@ alert:
- 15
- 30
- 60
- can_acknowledge: True # Optional, default is True
- skip_first: True # Optional, false is the default
+ can_acknowledge: true # Optional, default is true
+ skip_first: true # Optional, false is the default
data:
inline_keyboard:
- 'Close garage:/close_garage, Acknowledge:/garage_acknowledge'
diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown
index cb8690c9482f..ff951cfa7efd 100644
--- a/source/_integrations/alexa.smart_home.markdown
+++ b/source/_integrations/alexa.smart_home.markdown
@@ -340,7 +340,7 @@ See [List of Capability Interfaces and Supported Locales][alexa-supported-locale
### Proactive Events
-The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode (i.e. "Send Alexa Events" enabled). Please note the following if you want to enable proactive mode:
+The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode (i.e., "Send Alexa Events" enabled). Please note the following if you want to enable proactive mode:
- There are different endpoint URLs, depending on the region of your skill. Please check the available endpoints at
- The `client_id` and `client_secret` are not the ones used by the skill that have been set up using "Login with Amazon" (in the [Alexa Developer Console][amazon-dev-console]: Build > Account Linking), but rather from the "Alexa Skill Messaging" (in the Alexa Developer Console: Build > Permissions > Alexa Skill Messaging). To get them, you need to enable the "Send Alexa Events" permission.
diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown
index 807e1739ba76..d996e12f79d1 100644
--- a/source/_integrations/ambiclimate.markdown
+++ b/source/_integrations/ambiclimate.markdown
@@ -13,7 +13,7 @@ ha_codeowners:
Integrates [Ambiclimate](https://ambiclimate.com/) Air Conditioning controller into Home Assistant.
You must create an application [here](https://api.ambiclimate.com/clients) to obtain a `client_id` and `client_secret`.
-The `callback url` should be configured as your Home Assistant `base_url` + `/api/ambiclimate`, e.g. `https://example.com/api/ambiclimate`.
+The `callback url` should be configured as your Home Assistant `base_url` + `/api/ambiclimate`, e.g., `https://example.com/api/ambiclimate`.
To enable this platform, add the following lines to your `configuration.yaml` file:
diff --git a/source/_integrations/binary_sensor.template.markdown b/source/_integrations/binary_sensor.template.markdown
index 18d6aa35d5f3..c4e24fad97a0 100644
--- a/source/_integrations/binary_sensor.template.markdown
+++ b/source/_integrations/binary_sensor.template.markdown
@@ -238,7 +238,7 @@ binary_sensor:
### Device Tracker sensor with Latitude and Longitude Attributes
-This example shows how to combine a non-GPS (e.g. NMAP) and GPS device tracker while still including latitude and longitude attributes
+This example shows how to combine a non-GPS (e.g., NMAP) and GPS device tracker while still including latitude and longitude attributes
{% raw %}
```yaml
diff --git a/source/_integrations/bom.markdown b/source/_integrations/bom.markdown
index 070ebea0163c..abf594033919 100644
--- a/source/_integrations/bom.markdown
+++ b/source/_integrations/bom.markdown
@@ -122,7 +122,7 @@ camera:
In the event BOM creates a new radar, or a radar's ID changes, you may define a custom `id` along with corresponding `delta` and `frames` values. You may also specify custom `delta` and `frames` values, along with a valid `location`, to override the default values for an existing radar. You may not define `location` and `id` in the same entity; you must specify one or the other. If `id` is specified, then `delta` and `frames` values _must_ be provided. If `location` is specified, `delta` and `frames` _may_ be provided to override the default values.
-To find a live radar ID (e.g. for the `Townsville` radar), visit the [BOM website's radars page](http://www.bom.gov.au/australia/radar/), click the link for the radar you are interested in, and note the URL, for example: `http://www.bom.gov.au/products/IDR733.loop.shtml`. The ID is the number following `IDR` (i.e. `733`) in the URL. You can also see, at the bottom of the radar image, a rotating set of times corresponding to the frames of the BOM's JavaScript-driven animation. The number of minutes (in seconds) between these times corresponds to the camera's `delta` value, and the number of frames corresponds to the `frames` value. At the time of this writing, the `Townsville` radar loop is composed of 4 frames at 10-minute (600 second) intervals. Since these are also the default values, this configuration block
+To find a live radar ID (e.g., for the `Townsville` radar), visit the [BOM website's radars page](http://www.bom.gov.au/australia/radar/), click the link for the radar you are interested in, and note the URL, for example: `http://www.bom.gov.au/products/IDR733.loop.shtml`. The ID is the number following `IDR` (i.e., `733`) in the URL. You can also see, at the bottom of the radar image, a rotating set of times corresponding to the frames of the BOM's JavaScript-driven animation. The number of minutes (in seconds) between these times corresponds to the camera's `delta` value, and the number of frames corresponds to the `frames` value. At the time of this writing, the `Townsville` radar loop is composed of 4 frames at 10-minute (600 second) intervals. Since these are also the default values, this configuration block
```yaml
camera:
diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown
index 05a0d67d05b3..6e1117dd0e41 100644
--- a/source/_integrations/caldav.markdown
+++ b/source/_integrations/caldav.markdown
@@ -103,7 +103,7 @@ calendars:
required: false
description: >
List of the calendars to filter.
- Empty or absent means no filtering, i.e. all calendars will be added.
+ Empty or absent means no filtering, i.e., all calendars will be added.
type: list
custom_calendars:
required: false
diff --git a/source/_integrations/climate.knx.markdown b/source/_integrations/climate.knx.markdown
index 9274d7acbc60..b563001fdda4 100644
--- a/source/_integrations/climate.knx.markdown
+++ b/source/_integrations/climate.knx.markdown
@@ -48,7 +48,7 @@ climate:
operation_mode_state_address: '5/1/8'
```
-If your device doesn't support setpoint_shift calculations (i.e. if you don't provide a `setpoint_shift_address` value) please set the `min_temp` and `max_temp`
+If your device doesn't support setpoint_shift calculations (i.e., if you don't provide a `setpoint_shift_address` value) please set the `min_temp` and `max_temp`
attributes of the climate device to avoid issues with exceeding valid temperature values in the frontend. Please do also make sure to add the `target_temperature_address`
to the configuration in this case.:
diff --git a/source/_integrations/coinbase.markdown b/source/_integrations/coinbase.markdown
index 347faa172700..c8d47befb63d 100644
--- a/source/_integrations/coinbase.markdown
+++ b/source/_integrations/coinbase.markdown
@@ -44,7 +44,7 @@ exchange_rate_currencies:
type: list
{% endconfiguration %}
-Possible currencies are codes that conform to the ISO 4217 standard where possible. Currencies which have or had no representation in ISO 4217 may use a custom code (e.g. BTC). A list of values can be obtained via https://api.coinbase.com/v2/currencies, for more information visit [the Coinbase API documentation](https://developers.coinbase.com/api/v2#get-currencies).
+Possible currencies are codes that conform to the ISO 4217 standard where possible. Currencies which have or had no representation in ISO 4217 may use a custom code (e.g., BTC). A list of values can be obtained via https://api.coinbase.com/v2/currencies, for more information visit [the Coinbase API documentation](https://developers.coinbase.com/api/v2#get-currencies).
## Full configuration example
diff --git a/source/_integrations/cover.mqtt.markdown b/source/_integrations/cover.mqtt.markdown
index 3108dcde19e7..758a8c288beb 100644
--- a/source/_integrations/cover.mqtt.markdown
+++ b/source/_integrations/cover.mqtt.markdown
@@ -18,14 +18,14 @@ The device state (`open`, `opening`, `closed` or `closing`) will be updated only
For this purpose is `position_topic` which can set state of the cover and position.
Default setting are 0 means the device is `closed` and all other intermediate positions means the device is `open`.
`position_topic` is managed by `position_open` and `position_closed`
-You can set it up in opossite way as well.
+You can set it up in opposite way as well.
If position topic is defined than state topic is ignored.
If a state topic and position topic are not defined, the cover will work in optimistic mode. In this mode, the cover will immediately change state (`open` or `closed`) after every command sent by Home Assistant. If a state topic/position topic is defined, the cover will wait for a message on `state_topic` or `position_topic`.
Optimistic mode can be forced, even if a `state_topic` / `position_topic` is defined. Try to enable it if experiencing incorrect cover operation (Google Assistant gauge may need optimistic mode as it often send request to your Home Assistant immediately after send set_cover_position in which case MQTT could be too slow).
-The `mqtt` cover platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT cover device. During normal operation, if the MQTT cover device goes offline (i.e. publishes `payload_not_available` to `availability_topic`), Home Assistant will display the cover as "unavailable". If these messages are published with the `retain` flag set, the cover will receive an instant update after subscription and Home Assistant will display correct availability state of the cover when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the cover as "unavailable" when Home Assistant starts up.
+The `mqtt` cover platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT cover device. During normal operation, if the MQTT cover device goes offline (i.e., publishes `payload_not_available` to `availability_topic`), Home Assistant will display the cover as "unavailable". If these messages are published with the `retain` flag set, the cover will receive an instant update after subscription and Home Assistant will display correct availability state of the cover when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the cover as "unavailable" when Home Assistant starts up.
To use your MQTT cover in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/delijn.markdown b/source/_integrations/delijn.markdown
index 041d33ec49bc..16b223578049 100644
--- a/source/_integrations/delijn.markdown
+++ b/source/_integrations/delijn.markdown
@@ -42,7 +42,7 @@ next_departure:
type: list
keys:
stop_id:
- description: "ID of the stop, e.g. `200552`."
+ description: "ID of the stop, e.g., `200552`."
required: true
type: string
number_of_departures:
diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown
index 130e2e7b536b..0313bba24a66 100644
--- a/source/_integrations/denonavr.markdown
+++ b/source/_integrations/denonavr.markdown
@@ -97,11 +97,11 @@ A few notes:
#### Service `denonavr.get_command`
-Generic commands are supported, in particular, any command supported by the telnet protocol can be sent to `/goform/formiPhoneAppDirect.xml`, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2` to switch HDMI outputs on supported receivers. IR remote codes can also be sent to this endpoint, e.g. "/goform/formiPhoneAppDirect.xml?RCKSK0410370" as a mute toggle. A comprehensive list of telnet protocol commands is available at and a full list of IR codes at
+Generic commands are supported, in particular, any command supported by the telnet protocol can be sent to `/goform/formiPhoneAppDirect.xml`, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2` to switch HDMI outputs on supported receivers. IR remote codes can also be sent to this endpoint, e.g., "/goform/formiPhoneAppDirect.xml?RCKSK0410370" as a mute toggle. A comprehensive list of telnet protocol commands is available at and a full list of IR codes at
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | no | Name of entity to send command to. For example `media_player.marantz`|
-| `command` | no | Command to send to device, e.g. `/goform/formiPhoneAppDirect.xml?VSMONI2`|
+| `command` | no | Command to send to device, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2`|
[Denon]: /integrations/denon
diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown
index 6c9a9bbb57c8..3998dce5683a 100644
--- a/source/_integrations/device_tracker.markdown
+++ b/source/_integrations/device_tracker.markdown
@@ -28,7 +28,7 @@ device_tracker:
The following optional parameters can be used with any platform:
- Device tracker will only look for global settings under the configuration of the first configured platform. These 3 are the global settings:
+ Device tracker will only look for the following global settings under the configuration of the first configured platform:
| Parameter | Default | Description |
diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown
index dc5c2ec88946..4f351b6afb1a 100644
--- a/source/_integrations/discord.markdown
+++ b/source/_integrations/discord.markdown
@@ -85,4 +85,4 @@ For more information about creating and authorizing bots, visit the [OAuth2 info
To use notifications effectively, please see the [getting started with automation page](/getting-started/automation/).
-Images are uploaded to Discord when a message is sent. As such, a local path to the image is required (i.e. `/config/www/garage.jpg` as opposed to `/local/garage.jpg`), and updating an image after sending it in a message will not update the message in Discord.
+Images are uploaded to Discord when a message is sent. As such, a local path to the image is required (i.e., `/config/www/garage.jpg` as opposed to `/local/garage.jpg`), and updating an image after sending it in a message will not update the message in Discord.
diff --git a/source/_integrations/dsmr.markdown b/source/_integrations/dsmr.markdown
index 5d75ed56c6d1..a8e8db8de7c0 100644
--- a/source/_integrations/dsmr.markdown
+++ b/source/_integrations/dsmr.markdown
@@ -53,11 +53,11 @@ sensor:
{% configuration %}
port:
- description: "Serial port to which Smartmeter is connected (default: /dev/ttyUSB0 (connected to USB port)). For remote (i.e. ser2net) connections, use TCP port number to connect to (i.e. 2001)."
+ description: "Serial port to which Smartmeter is connected (default: /dev/ttyUSB0 (connected to USB port)). For remote (i.e., ser2net) connections, use TCP port number to connect to (i.e., 2001)."
required: false
type: string
host:
- description: "Host to which Smartmeter is connected (default: '' (connected via serial or USB, see **port**)). For remote connections, use IP address of host to connect to (i.e. 192.168.1.13)."
+ description: "Host to which Smartmeter is connected (default: '' (connected via serial or USB, see **port**)). For remote connections, use IP address of host to connect to (i.e., 192.168.1.13)."
required: false
type: string
dsmr_version:
@@ -92,7 +92,7 @@ group:
```
```yaml
-# Example configuration.yaml entry for remote (TCP/IP, i.e. via ser2net) connection to host which is connected to Smartmeter
+# Example configuration.yaml entry for remote (TCP/IP, i.e., via ser2net) connection to host which is connected to Smartmeter
sensor:
- platform: dsmr
host: 192.168.1.13
diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown
index 4e063fe6bb04..8fbaa310926e 100644
--- a/source/_integrations/ecobee.markdown
+++ b/source/_integrations/ecobee.markdown
@@ -205,4 +205,4 @@ Sets the minimum amount of time that the fan will run per hour.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Use `entity_id: all` to target all. |
-| `fan_min_on_time` | no | integer (e.g. 5) |
+| `fan_min_on_time` | no | integer (e.g., 5) |
diff --git a/source/_integrations/egardia.markdown b/source/_integrations/egardia.markdown
index 512a6ca0728d..9c382579633e 100644
--- a/source/_integrations/egardia.markdown
+++ b/source/_integrations/egardia.markdown
@@ -99,7 +99,7 @@ There seem to be multiple versions of software running on GATE-02 devices; we ha
1. Log in to your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. You can leave the port number set to 52010 or change it to anything you like. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'.
-3. The Egardia integration relies on capturing the status codes that your alarm emits when something happens (status change or trigger). These codes will be unique for every situation - i.e. the code emitted by the alarm when a sensor is triggered is unique to that sensor. Also, if you have multiple users or remotes, each remote has unique codes that are emitted by the alarm when status is changed using that remote or by that user. For the Egardia integration to work correctly you will need to capture the codes. To do this, on your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. Record the codes shown as well as the status they relate to (see step 4 below). Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage of all the codes the alarm system generates. You will need to run this script once and stop it once you have captured all the possible codes. Also, if you ever add users, remotes or sensors to your alarm system, make sure to re-run the script to capture the extra codes so you can update your configuration (see step 4 below). **For comfort, before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
+3. The Egardia integration relies on capturing the status codes that your alarm emits when something happens (status change or trigger). These codes will be unique for every situation - i.e., the code emitted by the alarm when a sensor is triggered is unique to that sensor. Also, if you have multiple users or remotes, each remote has unique codes that are emitted by the alarm when status is changed using that remote or by that user. For the Egardia integration to work correctly you will need to capture the codes. To do this, on your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. Record the codes shown as well as the status they relate to (see step 4 below). Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage of all the codes the alarm system generates. You will need to run this script once and stop it once you have captured all the possible codes. Also, if you ever add users, remotes or sensors to your alarm system, make sure to re-run the script to capture the extra codes so you can update your configuration (see step 4 below). **For comfort, before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
4. Once you have the codes, update your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/emulated_hue.markdown b/source/_integrations/emulated_hue.markdown
index 37d163f732f3..e6ed52bc625f 100644
--- a/source/_integrations/emulated_hue.markdown
+++ b/source/_integrations/emulated_hue.markdown
@@ -148,7 +148,7 @@ You can verify that the `emulated_hue` integration has been loaded and is respon
- `http://:80/description.xml` - This URL should return a descriptor file in the form of an XML file.
- `http://:80/api/pi/lights` - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa.
-Verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://:80/description.xml`). Both Google Home and Amazon Alexa/Echo (as of the 2019-08 firmware) require port 80.
+Verify that the URLs above are using port 80, rather than port 8300 (i.e., `http://:80/description.xml`). Both Google Home and Amazon Alexa/Echo (as of the 2019-08 firmware) require port 80.
### Platform specific instructions
diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown
index d77b41584dba..d9d07d38887e 100644
--- a/source/_integrations/environment_canada.markdown
+++ b/source/_integrations/environment_canada.markdown
@@ -71,7 +71,7 @@ station:
required: false
type: string
name:
- description: Name to be used for the entity ID, e.g. `weather.`.
+ description: Name to be used for the entity ID, e.g., `weather.`.
required: false
type: string
forecast:
@@ -99,20 +99,20 @@ sensor:
- `wind_chill` - The current wind chill, in ºC.
- `humidex` - The current humidex, in ºC.
- `pressure` - The current air pressure, in kPa.
- - `tendency` - The current air pressure tendency, e.g. "Rising".
+ - `tendency` - The current air pressure tendency, e.g., "Rising".
- `humidity` - The current humidity, in %.
- `visibility` - The current visibility, in km.
- - `condition` - A brief text statement of the current weather conditions, e.g. "Sunny".
+ - `condition` - A brief text statement of the current weather conditions, e.g., "Sunny".
- `icon_code` - A two-digit number corresponding to a condition icon, as specified in these [image to description](https://dd.weather.gc.ca/citypage_weather/docs/Current_Conditions_Icons-Icones_conditions_actuelles.pdf) and [code to description](https://dd.weather.gc.ca/citypage_weather/docs/current_conditions_icon_code_descriptions_e.csv) mappings.
- `wind_speed` - The current sustained wind speed, in km/h.
- `wind_gust` - The current wind gust, in km/h.
- - `wind_dir` - The current cardinal wind direction, e.g. "SSW".
+ - `wind_dir` - The current cardinal wind direction, e.g., "SSW".
- `wind_bearing` - The current wind direction in degrees.
- `high_temp` - The next forecast high temperature, in ºC.
- `low_temp` - The next forecast low temperature, in ºC.
- `uv_index` - The next forecast UV index.
- `pop` - The next forecast probability of precipitation, in %.
- - `text_summary` - A textual description of the next forecast period, e.g. "Tonight. Mainly cloudy. Low -12."
+ - `text_summary` - A textual description of the next forecast period, e.g., "Tonight. Mainly cloudy. Low -12."
- `precip_yesterday` - The total amount of precipitation that fell the previous day.
- `warnings` - Current warning alerts.
- `watches` - Current watch alerts.
@@ -199,7 +199,7 @@ station:
required: false
type: string
name:
- description: Name to be used for the entity ID, e.g. `camera.`.
+ description: Name to be used for the entity ID, e.g., `camera.`.
required: false
type: string
loop:
diff --git a/source/_integrations/evohome.markdown b/source/_integrations/evohome.markdown
index 0fe274fd92af..3c3e424ca9d5 100644
--- a/source/_integrations/evohome.markdown
+++ b/source/_integrations/evohome.markdown
@@ -80,7 +80,7 @@ These systems use an internet gateway rather than an Evohome controller. They us
## Temperature Precision
-Note that TCC devices may well measure temperatures with very high precision, but the vendor API will report temperatures rounded _towards_ the setpoint (i.e. either up or down) with a precision of 0.5 °C; this a proxy for the deadband as used by other climate systems. Where possible, this integration will leverage an older vendor API to obtain current temperatures with a precision of 0.01 °C.
+Note that TCC devices may well measure temperatures with very high precision, but the vendor API will report temperatures rounded _towards_ the setpoint (i.e., either up or down) with a precision of 0.5 °C; this a proxy for the deadband as used by other climate systems. Where possible, this integration will leverage an older vendor API to obtain current temperatures with a precision of 0.01 °C.
Therefore, depending upon the above, Home Assistant will display/record current temperatures with a precision of either 0.5 °C or 0.1 °C (it's highest supported precision).
diff --git a/source/_integrations/fritzbox.markdown b/source/_integrations/fritzbox.markdown
index 25a6fbef9eac..79e84b9277d4 100644
--- a/source/_integrations/fritzbox.markdown
+++ b/source/_integrations/fritzbox.markdown
@@ -24,6 +24,7 @@ There is currently support for the following device types within Home Assistant:
- [FRITZ!Box 6490 Cable](https://en.avm.de/products/fritzbox/fritzbox-6490-cable/)
- [FRITZ!Box 7590](https://en.avm.de/products/fritzbox/fritzbox-7590/)
+- [FRITZ!Box 7490](https://en.avm.de/products/fritzbox/fritzbox-7490/)
- [FRITZ!Box 7430](https://en.avm.de/products/fritzbox/fritzbox-7430/)
- [FRITZ!DECT 200](https://en.avm.de/products/fritzdect/fritzdect-200/)
- [FRITZ!DECT 301](https://en.avm.de/products/fritzdect/fritzdect-301/)
@@ -84,7 +85,7 @@ There are several attributes that can be useful for automations and templates.
## Sensor
-To get AVM FRITZ!Box temperature sensor (e.g. FRITZ!DECT Repeater 100) follow the instructions for the [FRITZ!Box integration](#setup).
+To get AVM FRITZ!Box temperature sensor (e.g., FRITZ!DECT Repeater 100) follow the instructions for the [FRITZ!Box integration](#setup).
### Attributes
diff --git a/source/_integrations/geniushub.markdown b/source/_integrations/geniushub.markdown
index b9da60c0041d..e61bb932ae9e 100644
--- a/source/_integrations/geniushub.markdown
+++ b/source/_integrations/geniushub.markdown
@@ -30,17 +30,17 @@ Each zone controlled by your Genius Hub will be exposed as either a:
Currently, there is no support for altering zone schedules, although entities can be switched to/from geniushub modes that utilize schedules.
-There are limitations due to the differences between the Genius Hub and Home Assistant schemas (e.g. HA has no **Footprint** mode) - use the service handlers, below, for this functionality.
+There are limitations due to the differences between the Genius Hub and Home Assistant schemas (e.g., HA has no **Footprint** mode) - use the service handlers, below, for this functionality.
### Service Handlers
-Home Assistant is obligated to place restrictions upon integrations such as **geniushub** to maintain compatibility with other ecosystems (e.g. Google Home) and so not all of the **geniushub** functionality is available via the web UI. Some of this missing functionality is exposed via integration-specific service handlers:
+Home Assistant is obligated to place restrictions upon integrations such as **geniushub** to maintain compatibility with other ecosystems (e.g., Google Home) and so not all of the **geniushub** functionality is available via the web UI. Some of this missing functionality is exposed via integration-specific service handlers:
- `set_zone_override`: change the zone's setpoint _for a specified duration_ (up to 24h), and
- `set_zone_mode`: change the zone's mode to one of `off`, `timer` or (if supported by the zone) `footprint`
### Climate and Water Heater Entities
-Climate and Water Heater entities will report their current temperature, setpoint and mode; other properties (e.g. occupied state) are available via their state attributes (see examples below). The Genius Hub mode will be reported as/set to:
+Climate and Water Heater entities will report their current temperature, setpoint and mode; other properties (e.g., occupied state) are available via their state attributes (see examples below). The Genius Hub mode will be reported as/set to:
GH mode | HA Operation | HA Preset
:---: | :---: | :---:
@@ -55,7 +55,7 @@ GH mode | HA Operation | HA Preset
Switch entities will report back their state; other properties are available via their state attributes. Currently, HA switches do not have modes/presets, so the Home Assistant `state` will be *reported* as:
- `On` for **Override** \ **On**, and
-- `Off` otherwise (NB: the zone could still be 'on', e.g. with **Timer** mode)
+- `Off` otherwise (NB: the zone could still be 'on', e.g., with **Timer** mode)
Note: if you turn a Switch entity `Off` via Home Assistant's web UI, it will revert to **Timer** mode - this may not be the behavior you are expecting.
diff --git a/source/_integrations/goalfeed.markdown b/source/_integrations/goalfeed.markdown
index 2fa13e1ec735..55b97f67de01 100644
--- a/source/_integrations/goalfeed.markdown
+++ b/source/_integrations/goalfeed.markdown
@@ -42,8 +42,8 @@ Now you can use the goal event type in your automations:
Goal events have the following event data:
-- **team**: Three letter code representing the team. This is unique within the leagues, but not unique across the leagues (i.e. 'WPG' or 'TOR').
-- **team_name**: The team that scored (i.e. 'Winnipeg Jets' or 'Toronto Blue Jays').
+- **team**: Three letter code representing the team. This is unique within the leagues, but not unique across the leagues (i.e., 'WPG' or 'TOR').
+- **team_name**: The team that scored (i.e., 'Winnipeg Jets' or 'Toronto Blue Jays').
- **team_hash**: A unique hash for the team (you can find these values on https://goalfeed.ca/get-teams).
- **league_id**: A unique number for the league.
-- **league_name**: A the short name of the league (i.e. 'NHL' or 'MLB').
+- **league_name**: A the short name of the league (i.e., 'NHL' or 'MLB').
diff --git a/source/_integrations/google_cloud.markdown b/source/_integrations/google_cloud.markdown
index 84cab1a9a1b5..fdc3488f299e 100644
--- a/source/_integrations/google_cloud.markdown
+++ b/source/_integrations/google_cloud.markdown
@@ -74,17 +74,17 @@ key_file:
required: false
type: string
language:
- description: "Default language of the voice, e.g. `en-US`. Supported languages, genders and voices listed [here](https://cloud.google.com/text-to-speech/docs/voices). Also there are extra not documented but supported languages (see dropdown [here](https://cloud.google.com/text-to-speech/#streaming_demo_section))."
+ description: "Default language of the voice, e.g., `en-US`. Supported languages, genders and voices listed [here](https://cloud.google.com/text-to-speech/docs/voices). Also there are extra not documented but supported languages (see dropdown [here](https://cloud.google.com/text-to-speech/#streaming_demo_section))."
required: false
type: string
default: en-US
gender:
- description: "Default gender of the voice, e.g. `male`. Supported languages, genders and voices listed [here](https://cloud.google.com/text-to-speech/docs/voices)."
+ description: "Default gender of the voice, e.g., `male`. Supported languages, genders and voices listed [here](https://cloud.google.com/text-to-speech/docs/voices)."
required: false
type: string
default: neutral
voice:
- description: "Default voice name, e.g. `en-US-Wavenet-F`. Supported languages, genders and voices listed [here](https://cloud.google.com/text-to-speech/docs/voices). **Important! This parameter will override `language` and `gender` parameters if set**."
+ description: "Default voice name, e.g., `en-US-Wavenet-F`. Supported languages, genders and voices listed [here](https://cloud.google.com/text-to-speech/docs/voices). **Important! This parameter will override `language` and `gender` parameters if set**."
required: false
type: string
encoding:
diff --git a/source/_integrations/gtfs.markdown b/source/_integrations/gtfs.markdown
index 6380f8a16c7a..b67b64531fde 100644
--- a/source/_integrations/gtfs.markdown
+++ b/source/_integrations/gtfs.markdown
@@ -20,7 +20,7 @@ Here are some examples:
- [Metropolitan Transit Authority of New York City (MTA)](http://web.mta.info/developers/) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region.
- [Official Timetable Switzerland](https://opentransportdata.swiss/en/dataset/timetable-2019-gtfs) - The official timetable data for Switzerland in 2019.
-You need to download a GTFS ZIP file and put it into a folder named `gtfs` in your configuration directory. For ease of use, it is suggested that you rename the file to just the agency/data source name (i.e. `bart.zip` instead of `google_transit_20160328_v1.zip`). You can also unzip and place a folder in the `gtfs` folder.
+You need to download a GTFS ZIP file and put it into a folder named `gtfs` in your configuration directory. For ease of use, it is suggested that you rename the file to just the agency/data source name (i.e., `bart.zip` instead of `google_transit_20160328_v1.zip`). You can also unzip and place a folder in the `gtfs` folder.
The data will be converted into a queryable format and saved as a SQLite3 database alongside the source data. The sensor will check for the existence of this SQLite3 data at every startup and will re-import the ZIP/Folder if none is found.
diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown
index b57169a25fb4..54815a9cd1e4 100644
--- a/source/_integrations/heos.markdown
+++ b/source/_integrations/heos.markdown
@@ -80,7 +80,7 @@ You can play a HEOS favorite by number or name with the `media_player.play_media
| ---------------------- | ---------------------------------------------------------|
| `entity_id` | `entity_id` of the player
| `media_content_type` | Set to the value `favorite`
-| `media_content_id` | The nubmer (i.e. `1`) or name (i.e. `Thumbprint Radio`) of the HEOS favorite
+| `media_content_id` | The nubmer (i.e., `1`) or name (i.e., `Thumbprint Radio`) of the HEOS favorite
#### Play Playlist
@@ -116,7 +116,7 @@ You can play a HEOS Quick Select by nubmer or name with the `media_player.play_m
| ---------------------- | ---------------------------------------------------------|
| `entity_id` | `entity_id` of the player
| `media_content_type` | Set to the value `quick_select`
-| `media_content_id` | The quick select number (i.e. `1`) or name (i.e. `Quick Select 1`)
+| `media_content_id` | The quick select number (i.e., `1`) or name (i.e., `Quick Select 1`)
#### Play URL
diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown
index a6b15af0b1db..676fac82fbf5 100644
--- a/source/_integrations/html5.markdown
+++ b/source/_integrations/html5.markdown
@@ -84,8 +84,8 @@ The `html5` platform can only function if all of the following requirements are
* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android.
* Your Home Assistant instance is accessible from outside your network over HTTPS or can perform an alternative [Domain Name Verification Method](https://support.google.com/webmasters/answer/9008080#domain_name_verification) on the domain used by Home Assistant.
* If using a proxy, HTTP basic authentication must be off for registering or unregistering for push notifications. It can be re-enabled afterwards.
-* If you don't run Hass.io: `pywebpush` must be installed. `libffi-dev`, `libpython-dev` and `libssl-dev` must be installed prior to `pywebpush` (i.e. `pywebpush` probably won't automatically install).
-* You have configured SSL/TLS for your Home Assistant. It doesn't need to be configured in Home Assistant though, e.g., you can be running [NGINX](/ecosystem/nginx/) in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e. not self signed).
+* If you don't run Hass.io: `pywebpush` must be installed. `libffi-dev`, `libpython-dev` and `libssl-dev` must be installed prior to `pywebpush` (i.e., `pywebpush` probably won't automatically install).
+* You have configured SSL/TLS for your Home Assistant. It doesn't need to be configured in Home Assistant though, e.g., you can be running [NGINX](/ecosystem/nginx/) in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e., not self signed).
* You are willing to accept the notification permission in your browser.
### Configuring the platform
@@ -216,7 +216,7 @@ data:
url: https://google.com
```
-If no URL or actions are provided, interacting with a notification will open your Home Assistant in the browser. You can use relative URLs to refer to Home Assistant, i.e. `/map` would turn into `https://192.168.1.2:8123/map`.
+If no URL or actions are provided, interacting with a notification will open your Home Assistant in the browser. You can use relative URLs to refer to Home Assistant, i.e., `/map` would turn into `https://192.168.1.2:8123/map`.
#### TTL and Priority
diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown
index 64038d3bfced..1cdf082f44e2 100644
--- a/source/_integrations/http.markdown
+++ b/source/_integrations/http.markdown
@@ -60,7 +60,7 @@ ssl_key:
required: false
type: string
cors_allowed_origins:
- description: "A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, Authorization`. You must provide the exact Origin, i.e. `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`."
+ description: "A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, Authorization`. You must provide the exact Origin, i.e., `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`."
required: false
type: [string, list]
use_x_forwarded_for:
diff --git a/source/_integrations/huawei_lte.markdown b/source/_integrations/huawei_lte.markdown
index 2218a14c2fd1..f346c4c23523 100644
--- a/source/_integrations/huawei_lte.markdown
+++ b/source/_integrations/huawei_lte.markdown
@@ -140,7 +140,7 @@ Reboot router.
### Service `huawei_lte.suspend_integration`
Suspend integration. Suspending logs the integration out from the router, and stops accessing it.
-Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required.
+Useful e.g., if accessing the router web interface from another source such as a web browser is temporarily required.
Invoke the `huawei_lte.resume_integration` service to resume.
| Service data attribute | Optional | Description |
diff --git a/source/_integrations/influxdb.markdown b/source/_integrations/influxdb.markdown
index 171f6588401f..00d7b0ec4fb4 100644
--- a/source/_integrations/influxdb.markdown
+++ b/source/_integrations/influxdb.markdown
@@ -194,7 +194,7 @@ sensor:
{% configuration %}
host:
- description: IP address of your database host, e.g. 192.168.1.10.
+ description: IP address of your database host, e.g., 192.168.1.10.
required: false
default: localhost
type: string
diff --git a/source/_integrations/insteon.markdown b/source/_integrations/insteon.markdown
index 784c9fb1fb63..b19dae1c7d92 100644
--- a/source/_integrations/insteon.markdown
+++ b/source/_integrations/insteon.markdown
@@ -96,7 +96,7 @@ host:
required: false
type: string
ip_port:
- description: The IP port number of the Hub. For Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon app to find the port number for your specific Hub. Optional with Hub.
+ description: The IP port number of the Hub. For Hub model [2245] (i.e., Hub version 2) the default port is 25105. For the Hub model [2242] (i.e., Hub version 1) the default port is 9761. Use the Insteon app to find the port number for your specific Hub. Optional with Hub.
required: true
type: integer
username:
diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown
index 07a689fac817..cbe0d9f5475f 100644
--- a/source/_integrations/jewish_calendar.markdown
+++ b/source/_integrations/jewish_calendar.markdown
@@ -81,7 +81,7 @@ For easier use in automations, all time sensors have a `timestamp` attribute, wh
- sunset: Sunset (Shkiya)
- first_stars: Time at which the first stars are visible (Tseit Hakochavim - צאת הכוכבים).
- upcoming_shabbat_candle_lighting: The time of candle lighting for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat.
-- upcoming_shabbat_havdalah: The time of havdalah for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat. If it is currently a three-day holiday, this value *could* be None (i.e. if holiday is Sat./Sun./Mon. and it's Saturday, there will be no shabbat_havdalah value. See comments in hdate library for details.)
+- upcoming_shabbat_havdalah: The time of havdalah for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat. If it is currently a three-day holiday, this value *could* be None (i.e., if holiday is Sat./Sun./Mon. and it's Saturday, there will be no shabbat_havdalah value. See comments in hdate library for details.)
- upcoming_candle_lighting: The time of candle lighting for either the current Shabbat OR Yom Tov, or the immediately upcoming Shabbat OR Yom Tov. If, for example, today is Sunday, and Rosh Hashana is Monday night through Wednesday night, this reports the candle lighting for Rosh Hashana on Monday night. This avoids a situation of triggering pre-candle-lighting automations while it is currently Yom Tov. To always get the Shabbat times, use the upcoming_shabbat_candle_lighting sensor.
- upcoming_havdalah: The time of havdalah for either the current Shabbat OR Yom Tov, or the immediately upcoming Shabbat OR Yom Tov. If, for example, today is Sunday, and Rosh Hashana is Monday night through Wednesday night, this reports the havdalah for Rosh Hashana on Wednesday night. To always get the Shabbat times, use the upcoming_shabbat_havdalah sensor.
diff --git a/source/_integrations/kodi.markdown b/source/_integrations/kodi.markdown
index 03e41d3f45fb..05aa07289df9 100644
--- a/source/_integrations/kodi.markdown
+++ b/source/_integrations/kodi.markdown
@@ -87,7 +87,7 @@ timeout:
#### Service `kodi.add_to_playlist`
-Add music to the default playlist (i.e. playlistid=0).
+Add music to the default playlist (i.e., playlistid=0).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown
index 85f0260e4176..7da21820e378 100644
--- a/source/_integrations/light.mqtt.markdown
+++ b/source/_integrations/light.mqtt.markdown
@@ -63,7 +63,7 @@ brightness_command_topic:
required: false
type: string
brightness_scale:
- description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device."
+ description: "Defines the maximum brightness value (i.e., 100%) of the MQTT device."
required: false
type: integer
default: 255
@@ -180,7 +180,7 @@ white_value_command_topic:
required: false
type: string
white_value_scale:
- description: "Defines the maximum white value (i.e. 100%) of the MQTT device."
+ description: "Defines the maximum white value (i.e., 100%) of the MQTT device."
required: false
type: integer
default: 255
@@ -401,7 +401,7 @@ brightness:
type: boolean
default: false
brightness_scale:
- description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device."
+ description: "Defines the maximum brightness value (i.e., 100%) of the MQTT device."
required: false
type: integer
default: 255
@@ -655,7 +655,7 @@ light:
## Template schema
The `mqtt` light platform with template schema lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic.
-It is format-agnostic so you can use any data format you want (i.e. string, JSON), just configure it with templating.
+It is format-agnostic so you can use any data format you want (i.e., string, JSON), just configure it with templating.
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing, effects and white values.
diff --git a/source/_integrations/light.template.markdown b/source/_integrations/light.template.markdown
index 1fd33225e139..7e840561f131 100644
--- a/source/_integrations/light.template.markdown
+++ b/source/_integrations/light.template.markdown
@@ -90,7 +90,7 @@ light:
type: template
default: optimistic
icon_template:
- description: Defines a template for an icon or picture, e.g. showing a different icon for different states.
+ description: Defines a template for an icon or picture, e.g., showing a different icon for different states.
required: false
type: template
availability_template:
diff --git a/source/_integrations/mvglive.markdown b/source/_integrations/mvglive.markdown
index 200ce0e556e6..d8280ccd7231 100644
--- a/source/_integrations/mvglive.markdown
+++ b/source/_integrations/mvglive.markdown
@@ -24,7 +24,7 @@ sensor:
{% configuration %}
station:
- description: Name of the stop or station. Visit [the MVG live web site](https://www.mvg-live.de/ims/dfiStaticAuswahl.svc) to find valid names. Be aware, that not all data of interest might be available (i.e. bus departure-times in Haar).
+ description: Name of the stop or station. Visit [the MVG live web site](https://www.mvg-live.de/ims/dfiStaticAuswahl.svc) to find valid names. Be aware, that not all data of interest might be available (i.e., bus departure-times in Haar).
required: true
type: string
destinations:
diff --git a/source/_integrations/mysensors.markdown b/source/_integrations/mysensors.markdown
index 86849fcc0c7a..6fbfc750b3d5 100644
--- a/source/_integrations/mysensors.markdown
+++ b/source/_integrations/mysensors.markdown
@@ -59,7 +59,7 @@ mysensors:
type: string
default: ''
nodes:
- description: A mapping of node ids to node settings, e.g. custom name.
+ description: A mapping of node ids to node settings, e.g., custom name.
required: false
type: map
keys:
@@ -243,7 +243,7 @@ In MySensors version 2.2 the serial API changed from using `I_HEARTBEAT_RESPONSE
Messages sent to or from Home Assistant from or to a MySensors device will be validated according to the MySensors [serial API](https://www.mysensors.org/download/serial_api_20). If a message doesn't pass validation, it will be dropped and not be passed forward either to or from Home Assistant. Make sure you follow the serial API for your version of MySensors when writing your Arduino sketch.
-The log should warn you of messages that failed validation or if a child value is missing that is required for a certain child type. Home Assistant will log failed validations of child values at warning level if e.g. one required value type for a platform has been received, but other required value types are missing.
+The log should warn you of messages that failed validation or if a child value is missing that is required for a certain child type. Home Assistant will log failed validations of child values at warning level if e.g., one required value type for a platform has been received, but other required value types are missing.
Message validation was introduced in version 0.52 of Home Assistant.
diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown
index 10dede4388a5..abe076a8e29f 100644
--- a/source/_integrations/neato.markdown
+++ b/source/_integrations/neato.markdown
@@ -101,8 +101,8 @@ Some information about the capabilities might be found on the [Neato Developer P
| `entity_id` | no | Only act on a specific robot |
| `mode` | yes | Set the cleaning mode: 1 for eco and 2 for turbo. Defaults to turbo if not set. |
| `navigation` | yes | Set the navigation mode: 1 for normal, 2 for extra care, 3 for deep. Defaults to normal if not set. Deep cleaning is only supported on the Botvac D7. |
-| `category` | yes | Whether to use a persistent map or not for cleaning (i.e. No go lines): 2 for no map, 4 for map. Default to using map if not set (and fallback to no map if no map is found). |
-| `zone` | yes | Only supported on the Botvac D7. Name of the zone to clean from the Neato app. Use unique names for the zones to avoid the wrong zone from running. Defaults to no zone i.e. complete house cleanup. |
+| `category` | yes | Whether to use a persistent map or not for cleaning (i.e., No go lines): 2 for no map, 4 for map. Default to using map if not set (and fallback to no map if no map is found). |
+| `zone` | yes | Only supported on the Botvac D7. Name of the zone to clean from the Neato app. Use unique names for the zones to avoid the wrong zone from running. Defaults to no zone i.e., complete house cleanup. |
## Camera
diff --git a/source/_integrations/netgear_lte.markdown b/source/_integrations/netgear_lte.markdown
index c340dd6cb984..00b6efc666dd 100644
--- a/source/_integrations/netgear_lte.markdown
+++ b/source/_integrations/netgear_lte.markdown
@@ -92,7 +92,7 @@ sensor:
current_band:
description: The radio band used, e.g., "LTE B3".
current_ps_service_type:
- description: The service type, e.g. "LTE".
+ description: The service type, e.g., "LTE".
radio_quality:
description: A number with the radio quality in percent, e.g., "55"
register_network_display:
diff --git a/source/_integrations/nissan_leaf.markdown b/source/_integrations/nissan_leaf.markdown
index 17570ddd14fc..3ab71c5512ef 100644
--- a/source/_integrations/nissan_leaf.markdown
+++ b/source/_integrations/nissan_leaf.markdown
@@ -41,7 +41,7 @@ region:
required: true
type: string
update_interval:
- description: The interval between updates if the climate control is off and the car is not charging. Set in any time unit (e.g. minutes, hours, days!).
+ description: The interval between updates if the climate control is off and the car is not charging. Set in any time unit (e.g., minutes, hours, days!).
required: false
default: 1 hour
type: time
diff --git a/source/_integrations/notify.group.markdown b/source/_integrations/notify.group.markdown
index 818118ee9231..218863deb2b4 100644
--- a/source/_integrations/notify.group.markdown
+++ b/source/_integrations/notify.group.markdown
@@ -35,7 +35,7 @@ services:
type: list
keys:
service:
- description: The service part of an entity ID, e.g. if you use `notify.html5` normally, just put `html5`. Note that you must put everything in lower case here. Although you might have capitals written in the actual notification services!
+ description: The service part of an entity ID, e.g., if you use `notify.html5` normally, just put `html5`. Note that you must put everything in lower case here. Although you might have capitals written in the actual notification services!
required: true
type: string
data:
diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown
index 11ed35597051..95633d4dc447 100644
--- a/source/_integrations/onkyo.markdown
+++ b/source/_integrations/onkyo.markdown
@@ -38,7 +38,7 @@ name:
required: false
type: string
max_volume:
- description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this wil set Home Assistant's 100% volume to be this setting on the amp. i.e. if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of it's maximum volume.
+ description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this wil set Home Assistant's 100% volume to be this setting on the amp. i.e., if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of it's maximum volume.
required: false
default: 100
type: integer
diff --git a/source/_integrations/pi_hole.markdown b/source/_integrations/pi_hole.markdown
index 86729d56da2f..c5b814e97f07 100644
--- a/source/_integrations/pi_hole.markdown
+++ b/source/_integrations/pi_hole.markdown
@@ -26,12 +26,12 @@ pi_hole:
{% configuration %}
host:
description: >
- The hostname (and port), e.g. '192.168.0.3:4865' of the host where Pi-hole is running. Home Assistant add-on users should be sure to specify port `4865`.
+ The hostname (and port), e.g., '192.168.0.3:4865' of the host where Pi-hole is running. Home Assistant add-on users should be sure to specify port `4865`.
required: true
type: string
name:
description: >
- The name for this Pi-hole. This name will be a part of the sensors created, e.g. `name: My Awesome Pi-hole` would result in sensor names beginning with `sensor.my_awesome_pi_hole_`.
+ The name for this Pi-hole. This name will be a part of the sensors created, e.g., `name: My Awesome Pi-hole` would result in sensor names beginning with `sensor.my_awesome_pi_hole_`.
**Note:** If you configure multiple Pi-Holes, each one *must* have a unique name.
required: false
diff --git a/source/_integrations/pioneer.markdown b/source/_integrations/pioneer.markdown
index fec895ea74a3..69c8fda5ef4b 100644
--- a/source/_integrations/pioneer.markdown
+++ b/source/_integrations/pioneer.markdown
@@ -39,9 +39,9 @@ timeout:
required: false
type: float
sources:
- description: A list of mappings from source friendly name to the source code (e.g. `TV:'05'`). Valid source codes depend on the receiver (some known codes can be found below). Codes must be defined as strings (between single or double quotation marks) so that `05` is not implicitly transformed to `5`, which wouldn't be valid source code.
+ description: A list of mappings from source friendly name to the source code (e.g., `TV:'05'`). Valid source codes depend on the receiver (some known codes can be found below). Codes must be defined as strings (between single or double quotation marks) so that `05` is not implicitly transformed to `5`, which wouldn't be valid source code.
required: false
- default: Empty list (i.e. no source selection will be possible)
+ default: Empty list (i.e., no source selection will be possible)
type: list
{% endconfiguration %}
@@ -52,7 +52,7 @@ Notes:
### Source codes
-Under these lines, you can find some sample `sources` lists per receiver model. Here we use the source names as shown on the remote as key for each code. However these are for display purposes only, so you could rename inputs to better match your set-up (e.g. `HDMI: '19'` to `Kodi: '19'`.
+Under these lines, you can find some sample `sources` lists per receiver model. Here we use the source names as shown on the remote as key for each code. However these are for display purposes only, so you could rename inputs to better match your set-up (e.g., `HDMI: '19'` to `Kodi: '19'`.
Codes must be defined as strings (between single or double quotation marks) so that `05` is not implicitly transformed to `5`, which wouldn't be valid source code.
diff --git a/source/_integrations/point.markdown b/source/_integrations/point.markdown
index 56b3165f1557..6103eb1b33b5 100644
--- a/source/_integrations/point.markdown
+++ b/source/_integrations/point.markdown
@@ -15,7 +15,7 @@ ha_codeowners:
- '@fredrike'
---
-The Point hub enables integration with the [Minut Point](https://minut.com/). To connect with Point, you will have to [sign up for a developer account](https://minut.com/community/developers/) and get a `client_id` and `client_secret` with the `callback url` configured as your Home Assistant `base_url` + `/api/minut`, e.g. `http://localhost:8123/api/minut`. The `client_id` and `client_secret` should be used as below.
+The Point hub enables integration with the [Minut Point](https://minut.com/). To connect with Point, you will have to [sign up for a developer account](https://minut.com/community/developers/) and get a `client_id` and `client_secret` with the `callback url` configured as your Home Assistant `base_url` + `/api/minut`, e.g., `http://localhost:8123/api/minut`. The `client_id` and `client_secret` should be used as below.
Once Home Assistant is started, a configurator will pop up asking you to Authenticate your Point account via a link. When you follow the link and click on **Accept** you will be redirected to the `callback url` and the Point integration will be automatically configured and you can go back to the original dialog and press **Submit**.
diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown
index 51c625808902..cc5f444e954f 100644
--- a/source/_integrations/proxmoxve.markdown
+++ b/source/_integrations/proxmoxve.markdown
@@ -114,7 +114,7 @@ Before creating the user, we need to create a permissions role for the user.
* Click `Datacenter`
* Open `Permissions` and click `Roles`
* Click the `Create` button above all the existing roles
-* name the new role (e.g. "home-assistant")
+* name the new role (e.g., "home-assistant")
* Click the arrow next to privileges and select `VM.Audit` in the dropdown
* Click `Create`
@@ -125,7 +125,7 @@ Creating a dedicated user for Home Assistant, limited to only the role just crea
* Click `Datacenter`
* Open `Permissions` and click `Users`
* Click `Add`
-* Enter a username (e.g. "hass")
+* Enter a username (e.g., "hass")
* Enter a secure password (it can be complex as you will only need to copy/paste it into your Home Assistant configuration)
* Set the realm to "Proxmox VE authentication server"
* Ensure `Enabled` is checked and `Expire` is set to "never"
diff --git a/source/_integrations/python_script.markdown b/source/_integrations/python_script.markdown
index 498d8fff07c6..46b578cdef23 100644
--- a/source/_integrations/python_script.markdown
+++ b/source/_integrations/python_script.markdown
@@ -65,8 +65,10 @@ if entity_id is not None:
The above `python_script` can be called using the following YAML as an input.
```yaml
-entity_id: light.bedroom
-rgb_color: [255, 0, 0]
+service: python_script.turn_on_light
+ data:
+ entity_id: light.bedroom
+ rgb_color: [255, 0, 0]
```
## Documenting your Python scripts
diff --git a/source/_integrations/qwikswitch.markdown b/source/_integrations/qwikswitch.markdown
index ebceff31cd5e..800ba4b1e626 100644
--- a/source/_integrations/qwikswitch.markdown
+++ b/source/_integrations/qwikswitch.markdown
@@ -48,7 +48,7 @@ button_events:
default: TOGGLE,SCENE EXE,LEVEL
type: string
switches:
- description: A list of device QS_id's that should be switches, and not lights (i.e. `['@0dev01', '@0dev02']`)
+ description: A list of device QS_id's that should be switches, and not lights (i.e., `['@0dev01', '@0dev02']`)
required: false
type: list
sensors:
diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown
index d9b5b93a63b6..4aef144c43d4 100644
--- a/source/_integrations/recorder.markdown
+++ b/source/_integrations/recorder.markdown
@@ -10,6 +10,12 @@ ha_quality_scale: internal
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` integration](/integrations/history/).
+
+
+This integration constantly saves data. If you use the default configuration, the data will be saved on the media Home Assistant is installed on. In case of Raspberry Pi with an SD card, it might affect your system's reaction time and life expectancy of the storage medium (the SD card). It is therefore recommended to store the data elsewhere (e.g., another system) or limit the amount of stored data (e.g., by excluding devices).
+
+
+
Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/).
The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in Hass.io) and called `home-assistant_v2.db`.
@@ -170,7 +176,7 @@ If using an external MariaDB backend (e.g., running on a separate NAS) with Home
-Unix Socket connections always bring performance advantages over TCP, if the database is on the same host as the `recorder` instance (i.e. `localhost`).
+Unix Socket connections always bring performance advantages over TCP, if the database is on the same host as the `recorder` instance (i.e., `localhost`).
diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown
index e907909898dd..28170fea1c49 100644
--- a/source/_integrations/ring.markdown
+++ b/source/_integrations/ring.markdown
@@ -16,7 +16,7 @@ ha_codeowners:
- '@balloob'
---
-The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant.
+The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant. Due to recent authentication changes of Ring, you will need to run at least Home Assistant 0.104.
There is currently support for the following device types within Home Assistant:
@@ -33,29 +33,7 @@ This component does NOT allow for live viewing of your Ring camera within Home A
Go to the integrations page in your configuration and click on new integration -> Ring.
-## YAML configuration
-
-YAML configuration is around for people that prefer YAML, but it's not preferred! The YAML method does not work with two-factor authentication and it requires you to store your username/password. The normal method only requires you to enter username/password once.
-
-To enable device linked in your [Ring.com](https://ring.com/) account, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-ring:
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
-```
-
-{% configuration %}
-username:
- description: The username for accessing your Ring account.
- required: true
- type: string
-password:
- description: The password for accessing your Ring account.
- required: true
- type: string
-{% endconfiguration %}
+YAML configuration is no longer available because it cannot handle two-factor authentication.
## Binary Sensor
diff --git a/source/_integrations/rmvtransport.markdown b/source/_integrations/rmvtransport.markdown
index fb479608d399..88f1331b5a83 100644
--- a/source/_integrations/rmvtransport.markdown
+++ b/source/_integrations/rmvtransport.markdown
@@ -45,7 +45,7 @@ next_departure:
default: The default is the station name.
type: string
station:
- description: "ID of the stop or station, e.g. `3000010`."
+ description: "ID of the stop or station, e.g., `3000010`."
required: true
type: string
destinations:
diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown
index e619cabb0dba..b56178927f26 100644
--- a/source/_integrations/script.markdown
+++ b/source/_integrations/script.markdown
@@ -29,7 +29,7 @@ script:
-Script names (e.g., `message_temperature` in the example above) are not allowed to contain capital letters, or dash (minus) characters, i.e. `-`. The preferred way to separate words for better readability is to use underscore (`_`) characters.
+Script names (e.g., `message_temperature` in the example above) are not allowed to contain capital letters, or dash (minus) characters, i.e., `-`. The preferred way to separate words for better readability is to use underscore (`_`) characters.
diff --git a/source/_integrations/sighthound.markdown b/source/_integrations/sighthound.markdown
index 632d28121575..1f9285ceef5e 100644
--- a/source/_integrations/sighthound.markdown
+++ b/source/_integrations/sighthound.markdown
@@ -16,7 +16,7 @@ This integration adds an image processing entity where the state of the entity i
If `save_file_folder` is configured, on each new detection of a person, an annotated image with the name `sighthound_{camera_name}_latest.jpg` is saved in the configured folder if it doesn't already exist, and overwritten if it does exist. The saved image shows the bounding box around detected people and can be displayed on the Home Assistant front end using a [Local File](/integrations/local_file/) camera, and used in notifications.
-**Note** that by default the component will not automatically scan images, but requires you to call the `image_processing.scan` service, e.g., using an automation triggered by motion.
+**Note** that by default the component will not automatically scan images, but requires you to call the `image_processing.scan` service, e.g., using an automation triggered by motion.
## Configuration
diff --git a/source/_integrations/songpal.markdown b/source/_integrations/songpal.markdown
index 6ec8ebc69a03..aa5fb8131c10 100644
--- a/source/_integrations/songpal.markdown
+++ b/source/_integrations/songpal.markdown
@@ -19,7 +19,7 @@ If the platform works with your non-listed device, or you encounter bugs, please
A few notes:
- The quick start-up mode has to be enabled in order to turn the device on.
-- Supports currently only one output terminal, i.e. the volume control works only on the first volume controller as reported by the backend library.
+- Supports currently only one output terminal, i.e., the volume control works only on the first volume controller as reported by the backend library.
- Some devices, e.g., HT-XT3, do not support decreasing the volume step-by-step correctly.
- Feel free to improve the available services!
diff --git a/source/_integrations/switch.rfxtrx.markdown b/source/_integrations/switch.rfxtrx.markdown
index f61d08f1373f..4fcbcac6a42d 100644
--- a/source/_integrations/switch.rfxtrx.markdown
+++ b/source/_integrations/switch.rfxtrx.markdown
@@ -90,7 +90,7 @@ If you need to generate codes for switches you can use a template (useful for ex
- Use this code to add a new switch in your `configuration.yaml`
- Launch your Home Assistant and go to the website.
-- Enable learning mode on your switch (i.e. push learn button or plug it in a wall socket)
+- Enable learning mode on your switch (i.e., push learn button or plug it in a wall socket)
- Toggle your new switch in the Home Assistant interface
## Examples
diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown
index c0cd71ba42ad..a19eea2668c4 100644
--- a/source/_integrations/telegram.markdown
+++ b/source/_integrations/telegram.markdown
@@ -155,7 +155,7 @@ action:
- file: /tmp/picture.jpg
caption: Picture Title xy
- url: http://somebla.ie/video.png
- caption: I.e. for a Title
+ caption: i.e., for a Title
```
{% configuration %}
@@ -231,7 +231,7 @@ action:
- file: /tmp/video.mp4
caption: Video Title xy
- url: http://somebla.ie/video.mp4
- caption: I.e. for a Title
+ caption: i.e., for a Title
```
{% configuration %}
diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown
index a446e4ce2456..2960cc3ed36e 100644
--- a/source/_integrations/time_date.markdown
+++ b/source/_integrations/time_date.markdown
@@ -12,7 +12,7 @@ ha_codeowners:
---
The time and date (`time_date`) sensor platform adds one or more sensors to your Home Assistant state machine.
-To have these sensors available in your installation, add the following to your `configuration.yaml` file (each option creates a separate sensor that contains appropriate data, e.g. `sensor.date` for the `date` option):
+To have these sensors available in your installation, add the following to your `configuration.yaml` file (each option creates a separate sensor that contains appropriate data, e.g., `sensor.date` for the `date` option):
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/transport_nsw.markdown b/source/_integrations/transport_nsw.markdown
index 6b2ec21b6e6e..467eac435d1d 100644
--- a/source/_integrations/transport_nsw.markdown
+++ b/source/_integrations/transport_nsw.markdown
@@ -46,7 +46,7 @@ route:
required: false
type: string
destination:
- description: Useful for ferry or train stops to filter the destination of the sensor, e.g. `Circular Quay`.
+ description: Useful for ferry or train stops to filter the destination of the sensor, e.g., `Circular Quay`.
required: false
type: string
name:
diff --git a/source/_integrations/ubee.markdown b/source/_integrations/ubee.markdown
index 6d6c97def533..5ed1e6a50dbb 100644
--- a/source/_integrations/ubee.markdown
+++ b/source/_integrations/ubee.markdown
@@ -24,12 +24,12 @@ device_tracker:
{% configuration %}
model:
- description: Ubee Router model, e.g. `EVW32C-0N`. If omitted, model will be detected automatically.
+ description: Ubee Router model, e.g., `EVW32C-0N`. If omitted, model will be detected automatically.
required: false
default: detect
type: string
host:
- description: The IP address of your router, e.g. `192.168.1.1`.
+ description: The IP address of your router, e.g., `192.168.1.1`.
required: true
type: string
username:
diff --git a/source/_integrations/utility_meter.markdown b/source/_integrations/utility_meter.markdown
index c8a4b0cf95ed..005395bff51b 100644
--- a/source/_integrations/utility_meter.markdown
+++ b/source/_integrations/utility_meter.markdown
@@ -83,7 +83,7 @@ Reset the Utility Meter. All sensors tracking tariffs will be reset to 0.
### Service `utility_meter.next_tariff`
Change the current tariff to the next in the list.
-This service must be called by the user for the tariff switching logic to occur (e.g. using an automation)
+This service must be called by the user for the tariff switching logic to occur (e.g., using an automation)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
@@ -92,7 +92,7 @@ This service must be called by the user for the tariff switching logic to occur
### Service `utility_meter.select_tariff`
Change the current tariff to the given tariff.
-This service must be called by the user for the tariff switching logic to occur (e.g. using an automation)
+This service must be called by the user for the tariff switching logic to occur (e.g., using an automation)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown
index 780d0cddc806..58d815f3f974 100644
--- a/source/_integrations/vizio.markdown
+++ b/source/_integrations/vizio.markdown
@@ -29,7 +29,7 @@ Find your device using the following command:
$ pyvizio --ip=0 discover
```
-and note its IP address and port number. If you have trouble finding a device you were expecting to, you can try increasing the discovery timeout period by adding the `--timeout` option (e.g. `pyvizio --ip=0 discover --timeout=10`).
+and note its IP address and port number. If you have trouble finding a device you were expecting to, you can try increasing the discovery timeout period by adding the `--timeout` option (e.g., `pyvizio --ip=0 discover --timeout=10`).
## Pairing
diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown
index a23ee0e28445..1d3c081cedfc 100644
--- a/source/_integrations/webostv.markdown
+++ b/source/_integrations/webostv.markdown
@@ -135,9 +135,9 @@ To obtain complete list of available sources currently configured on the TV, onc
The `play_media` service can be used in a script to switch to the specified TV channel. It selects the best matching channel according to the `media_content_id` parameter:
- 1. Channel number *(i.e. '1' or '6')*
- 2. Exact channel name *(i.e. 'France 2' or 'CNN')*
- 3. Substring in channel name *(i.e. 'BFM' in 'BFM TV')*
+ 1. Channel number *(i.e., '1' or '6')*
+ 2. Exact channel name *(i.e., 'France 2' or 'CNN')*
+ 3. Substring in channel name *(i.e., 'BFM' in 'BFM TV')*
```yaml
# Example action entry in script to switch to channel number 1
@@ -190,7 +190,7 @@ Available services: `button`, `command`
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | no | Target a specific webostv media player. |
-| `command` | no | Endpoint for the command, e.g. `media.controls/rewind`. The full list of known endpoints is available at |
+| `command` | no | Endpoint for the command, e.g., `media.controls/rewind`. The full list of known endpoints is available at |
### Example
diff --git a/source/_integrations/xiaomi_aqara.markdown b/source/_integrations/xiaomi_aqara.markdown
index f5928ddfe6e0..17a5e7dc596d 100644
--- a/source/_integrations/xiaomi_aqara.markdown
+++ b/source/_integrations/xiaomi_aqara.markdown
@@ -283,7 +283,7 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- Find a USB-UART cable/module and connect it to your computer.
- Solder 3 wires - RX, TX and GND like [here](https://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg).
- Turn on the gateway (220V).
- - Open a serial terminal application (e.g. PuTTY) and connect to the serial port assigned to the USB-UART module (baudrate: 115200).
+ - Open a serial terminal application (e.g., PuTTY) and connect to the serial port assigned to the USB-UART module (baudrate: 115200).
- Wait until the gateway is booted up, connect the RX, TX and GND wires to the UART module (don't connect the Vcc (power) wire!).
- You will see all the messages from the gateway.
- Send the command `psm-set network open_pf 3` (the command has to end with a `CR` newline character).
diff --git a/source/_integrations/xmpp.markdown b/source/_integrations/xmpp.markdown
index b1a86c5dadc0..0ba4b59b01c5 100644
--- a/source/_integrations/xmpp.markdown
+++ b/source/_integrations/xmpp.markdown
@@ -19,7 +19,7 @@ To enable Jabber notifications in your installation, add the following to your `
```yaml
# Example configuration.yaml entry
notify:
- - name: NOTIFIER_NAME # e.g. jabber
+ - name: NOTIFIER_NAME # e.g., jabber
platform: xmpp
sender: YOUR_JID
password: YOUR_JABBER_ACCOUNT_PASSWORD
@@ -33,7 +33,7 @@ name:
type: string
default: notify
sender:
- description: "The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, e.g. your_name@jabber.org."
+ description: "The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, e.g., your_name@jabber.org."
required: true
type: string
resource:
diff --git a/source/_lovelace/button.markdown b/source/_lovelace/button.markdown
index 2c06e57d49f6..6c77752c66db 100644
--- a/source/_lovelace/button.markdown
+++ b/source/_lovelace/button.markdown
@@ -67,22 +67,22 @@ tap_action:
default: "`toggle`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -102,22 +102,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -137,22 +137,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown
index 6931968a4fcf..9d68a2f3ed5d 100644
--- a/source/_lovelace/entities.markdown
+++ b/source/_lovelace/entities.markdown
@@ -109,22 +109,22 @@ tap_action:
default: "`toggle`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
hold_action:
@@ -139,22 +139,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
double_tap_action:
@@ -169,22 +169,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
{% endconfiguration %}
diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown
index 90d731e82784..726fc4acc77d 100644
--- a/source/_lovelace/glance.markdown
+++ b/source/_lovelace/glance.markdown
@@ -97,22 +97,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -132,22 +132,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -167,22 +167,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown
index 4cb8999ead29..0aeb8573ce3e 100644
--- a/source/_lovelace/picture-elements.markdown
+++ b/source/_lovelace/picture-elements.markdown
@@ -74,22 +74,22 @@ tap_action:
default: "`toggle`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -109,22 +109,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -144,22 +144,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -205,22 +205,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -240,22 +240,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -275,22 +275,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -340,22 +340,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -375,22 +375,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -410,22 +410,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -497,22 +497,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -532,22 +532,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -567,22 +567,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -624,22 +624,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -659,22 +659,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -694,22 +694,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown
index 5e989299daa1..aae5e019b87e 100644
--- a/source/_lovelace/picture-entity.markdown
+++ b/source/_lovelace/picture-entity.markdown
@@ -75,22 +75,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -110,22 +110,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -145,22 +145,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown
index cf92f560d7ad..89deb390600c 100644
--- a/source/_lovelace/picture-glance.markdown
+++ b/source/_lovelace/picture-glance.markdown
@@ -79,22 +79,22 @@ tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -114,22 +114,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -149,22 +149,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -264,22 +264,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown
index 6a97fb0e5e4f..76e61097ed98 100644
--- a/source/_lovelace/picture.markdown
+++ b/source/_lovelace/picture.markdown
@@ -36,22 +36,22 @@ tap_action:
default: "`none`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -71,22 +71,22 @@ hold_action:
default: "`none`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -106,22 +106,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
diff --git a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
index 8621f25ec019..ea14e2ea6406 100644
--- a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
+++ b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
@@ -107,7 +107,7 @@ sensor
- Fix some html5 push notification configuration options were discarded after first use ([@T3m3z])
- Fix Homematic device name with autodiscovery ([@pvizeli])
- Make 'pin' optional for zigbee device config ([@flyte])
-- Fix when sending a notification to a service with target attached (i.e. `notify.html5_unnamed_device_2`) the target was not submitted to the platform as a list causing iteration over every character in the string. ([@robbiet480])
+- Fix when sending a notification to a service with target attached (i.e., `notify.html5_unnamed_device_2`) the target was not submitted to the platform as a list causing iteration over every character in the string. ([@robbiet480])
- Fix for Slack targets ([@fabaff])
- Fix for Pushover targets ([@Nixon506E])
diff --git a/source/_posts/2017-12-17-release-60.markdown b/source/_posts/2017-12-17-release-60.markdown
index 6ec45d50acd8..b4afdf02547c 100644
--- a/source/_posts/2017-12-17-release-60.markdown
+++ b/source/_posts/2017-12-17-release-60.markdown
@@ -121,7 +121,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Added force_update for REST sensor ([@foxel] - [#11016]) ([sensor.miflora docs]) ([sensor.mqtt docs]) ([sensor.rest docs])
- Add support for Logitech UE Smart Radios. ([@GreenTurtwig] - [#10077]) ([media_player.ue_smart_radio docs]) (new-platform)
- Make notify.html5 depend on config ([@balloob] - [#11052]) ([notify.html5 docs])
-- This change fixes the error `OSError: [WinError 193]` on Windows debuggers (i.e. PyCharm) ([@tringler] - [#11034])
+- This change fixes the error `OSError: [WinError 193]` on Windows debuggers (i.e., PyCharm) ([@tringler] - [#11034])
- Added support for cover in tellstick ([@perfalk] - [#10858]) ([tellstick docs]) ([cover.tellstick docs]) (new-platform)
- Add a caldav calendar component ([@maxlaverse] - [#10842]) ([calendar.caldav docs]) (new-platform)
- Add GPS coords to meraki ([@addelovein] - [#10998]) ([device_tracker.meraki docs])
diff --git a/source/_posts/2018-06-10-release-71.markdown b/source/_posts/2018-06-10-release-71.markdown
index 834435973985..ab53fcad3578 100644
--- a/source/_posts/2018-06-10-release-71.markdown
+++ b/source/_posts/2018-06-10-release-71.markdown
@@ -56,7 +56,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- BOM sensor: `'Wind Direction kt'` to `'Wind Speed kt'` (fixes #14535) ([@fabaff] - [#14541]) ([sensor.bom docs]) (breaking change)
- Removed attribute current_time from Raincloudy sensors to avoid being triggered by recorder component ([@tchellomello] - [#14584]) ([raincloud docs]) ([switch.raincloud docs]) (breaking change)
- Remove Notify My Android component as it shut down on May 24 ([@cgarwood] - [#14594]) ([notify docs]) (breaking change)
-- CoinMarketCap sensor: It is no longer possible to query a ticker by the name of the currency (i.e. bitcoin). The API instead uses IDs (integers) for these tickers (i.e. bitcoin -> 1). Rounding of decimals is now configurable, because it made no sense to round to 2 decimals if display_currency was set to BTC, some values showed up as 0.00. (#14437) ([@kotlarz] - [#14604]) ([sensor.coinmarketcap docs]) (breaking change)
+- CoinMarketCap sensor: It is no longer possible to query a ticker by the name of the currency (i.e., bitcoin). The API instead uses IDs (integers) for these tickers (i.e., bitcoin -> 1). Rounding of decimals is now configurable, because it made no sense to round to 2 decimals if display_currency was set to BTC, some values showed up as 0.00. (#14437) ([@kotlarz] - [#14604]) ([sensor.coinmarketcap docs]) (breaking change)
- Give unknown zwave nodes a better name and don't add them to entity registry ([@andrey-git] - [#14353]) ([zwave docs]) (breaking change)
- The `netdata` sensor was re-worked to support all available details from [Netdata](https://my-netdata.io/). This requires you to adjust the your existing configuration if you use the `netdata` sensor.
([@fabaff] - [#14613]) ([sensor.netdata docs]) (breaking change)
diff --git a/source/_posts/2019-04-03-release-91.markdown b/source/_posts/2019-04-03-release-91.markdown
index 7e6886ff03fd..1369598da4b6 100644
--- a/source/_posts/2019-04-03-release-91.markdown
+++ b/source/_posts/2019-04-03-release-91.markdown
@@ -210,7 +210,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Axis__ - Events supplied from component might differ. Events will not be configurable in the beginning but will instead provide a subset set of events supported per device. This will be configurable in a later stage when config entry options are available. Configuration.yaml support for Axis component will be removed in the future so make sure to remove references to Axis component after upgrade. ([@Kane610] - [#18543]) ([axis docs])
- __HTTP__ - Lower severity level of log messages from http.view ([@thomasloven] - [#21091]) ([http docs])
- __Dark Sky__ - Dark Sky provides hourly forecasts for various monitored conditions. This change creates new sensors for each hourly forecasted condition with suffix `_h` while adding the suffix `_d` to the daily forecasted conditions. For example, now a `sensor.dark_sky_summary_d` and `sensor.dark_sky_summary_h` will be created if the forecast and hourly_forecast parameters are populated. ([@rtclauss] - [#21820]) ([darksky docs])
-- __Konnected__ - This will change the internal unique_id for Konnected switches (i.e. siren, buzzer, generic switch). Users will need to manually remove the orphaned switch entities from the entity registry after updating and re-configure any changes stored in the entity registry (i.e. name and entity_id), as their unique IDs will change. ([@heythisisnate] - [#22389]) ([konnected docs])
+- __Konnected__ - This will change the internal unique_id for Konnected switches (i.e., siren, buzzer, generic switch). Users will need to manually remove the orphaned switch entities from the entity registry after updating and re-configure any changes stored in the entity registry (i.e., name and entity_id), as their unique IDs will change. ([@heythisisnate] - [#22389]) ([konnected docs])
- __Mopar__ - The mopar sensor platform has been broken up into a base component with sensor, switch, and lock platforms. The sensor.mopar_remote_command service has been removed since the functionality has been folded into the new platforms and the new mopar.sound_horn service. Please view the documentation to see the new setup instructions. ([@rohankapoorcom] - [#21526]) ([mopar docs])
diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown
index d9e5434ade03..b94a38bf296a 100644
--- a/source/_posts/2019-08-28-release-98.markdown
+++ b/source/_posts/2019-08-28-release-98.markdown
@@ -371,7 +371,7 @@ anymore. - ([@abmantis] - [#25971])
- Update sensor.py ([@MatsNl] - [#25825]) ([statistics docs])
- Add pip-wheel-metadata in .gitignore ([@oncleben31] - [#25832])
- Fix configuration field name ([@skarcha] - [#25840]) ([plex docs])
-- Allow components with empty list config (i.e. person) in packages ([@kellerza] - [#25827])
+- Allow components with empty list config (i.e., person) in packages ([@kellerza] - [#25827])
- Make reproduce state use platform instead of rely on function ([@balloob] - [#25856]) ([climate docs]) ([group docs]) ([media_player docs])
- Type check various base components ([@scop] - [#25878])
- Fix script/translations_develop launch + clean some unused error i18n ([@Quentame] - [#25459]) ([arcam_fmj docs]) ([heos docs]) ([tellduslive docs]) ([twentemilieu docs]) ([upnp docs]) ([vesync docs]) ([zha docs])
diff --git a/source/_posts/2019-10-10-release-100.markdown b/source/_posts/2019-10-10-release-100.markdown
index 540ed7592703..f8b9ab5d5a6a 100644
--- a/source/_posts/2019-10-10-release-100.markdown
+++ b/source/_posts/2019-10-10-release-100.markdown
@@ -234,7 +234,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- **Ecobee** - Ecobee will now be set up via config flow. Existing users will have their config imported from ecobee.conf via an import flow so it shouldn't break their experience. Users configuring via configuration.yaml will have their api key and options imported into the flow but will still need to finish authorization via the flow (instead of the configurator component as previously).
The configuration parameter `hold_temp` has been removed, as it was not being used in the climate platform and had no effect on whether the temperature was held indefinitely or not. Users will need to remove the parameter `hold_temp` from configuration.yaml.
- Ecobee-specific services will now be registered under the ecobee domain rather than the climate domain, and service names will not include the prefix "ecobee\_" (e.g. the service "climate.ecobee_resume_program" will become "ecobee.resume_program"). - ([@marthoc] - [#26634]) ([ecobee docs])
+ Ecobee-specific services will now be registered under the ecobee domain rather than the climate domain, and service names will not include the prefix "ecobee\_" (e.g., the service "climate.ecobee_resume_program" will become "ecobee.resume_program"). - ([@marthoc] - [#26634]) ([ecobee docs])
- **Transmission** - The Transmission integration can now be configured through a config flow via Integrations in the GUI. Once configured all sensors and switches will be created and available for the user.
`monitored_conditions` has been removed so existing users need to update their configuration in configuration.yaml and remove monitored conditions. The existing configuration will be imported as an entry under Integrations. - ([@engrbm87] - [#26434]) ([transmission docs])
@@ -270,14 +270,14 @@ Experiencing issues introduced by this release? Please report them in our [issue
- **Evohome** - Device state attributes keys have been changed to snake_case and, since this a breaking change, the opportunity was taken to revise/simplify the entire device state attributes schema.
Evohome is a complicated integration, has had major changes in recent times, and is not yet mature - these changes address some bugs and related architectural issues:
- - Modify behavior of set_temperature to mirror that of the vendor's UI (e.g. any target temp changes until next setpoint, unless explicitly set otherwise)
+ - Modify behavior of set_temperature to mirror that of the vendor's UI (e.g., any target temp changes until next setpoint, unless explicitly set otherwise)
- Setpoint datetimes are now correctly converted to local/aware isoformat (internally, and for logging/state attributes)
- Use snake_case for device state attributes
- Add a unique_id for each entity (systemId, zoneID, dhwId)
- Refactoring - remove API wrappers (no longer using private methods)
- Add away mode for DHW (set to permanent off or Auto, depending)([@zxdavb] - [#26810]) ([evohome docs])
-- **OpenTherm** - Move climate entity state to hvac_action attribute to comply with climate 1.0. May break e.g. automations. - ([@mvn23] - [#25931]) ([opentherm_gw docs])
+- **OpenTherm** - Move climate entity state to hvac_action attribute to comply with climate 1.0. May break e.g., automations. - ([@mvn23] - [#25931]) ([opentherm_gw docs])
- **Genius Hub** - Users connecting to a Hub via the v1 API will need to specify a valid MAC address for the hub (see example YAML, below). Those using the v3 API will be unaffected.
This change is in preparation for for further changes, so the geniushub entities can be given more appropriate `entity_ids`.
diff --git a/source/_redirects b/source/_redirects
index 2ee03fb244d7..ffa54f21dfca 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -2037,8 +2037,7 @@
# Breaking changes
/integrations/switch.pca /integrations/elv
-# App documentation
-/ios/whats-new https://companion.home-assistant.io/docs/getting_started/getting-started
+# Moved documentation
/docs/ecosystem/ios/ https://companion.home-assistant.io/
/docs/ecosystem/ios/devices_file https://companion.home-assistant.io/
/docs/ecosystem/ios/integration https://companion.home-assistant.io/docs/integrations/integrations
@@ -2052,7 +2051,20 @@
/docs/ecosystem/ios/notifications/privacy_security_rate_limits https://companion.home-assistant.io/docs/notifications/notifications-basic
/docs/ecosystem/ios/notifications/requesting_location_updates https://companion.home-assistant.io/docs/notifications/notifications-basic
/docs/ecosystem/ios/notifications/sounds https://companion.home-assistant.io/docs/notifications/notification-sounds
+/docs/ecosystem/notebooks https://data.home-assistant.io
+/docs/ecosystem/notebooks/api https://data.home-assistant.io
+/docs/ecosystem/notebooks/database https://data.home-assistant.io
+/docs/ecosystem/notebooks/graph https://data.home-assistant.io
+/docs/ecosystem/notebooks/installation https://data.home-assistant.io
+/docs/ecosystem/notebooks/stats https://data.home-assistant.io
/ecosystem/ios/notifications https://companion.home-assistant.io/docs/notifications/notifications-basic
+/ecosystem/notebooks https://data.home-assistant.io
+/ecosystem/notebooks/api https://data.home-assistant.io
+/ecosystem/notebooks/database https://data.home-assistant.io
+/ecosystem/notebooks/graph https://data.home-assistant.io
+/ecosystem/notebooks/installation https://data.home-assistant.io
+/ecosystem/notebooks/stats https://data.home-assistant.io
+/ios/whats-new https://companion.home-assistant.io/docs/getting_started/getting-started
# Add-ons
/addons/cec_scan https://github.com/home-assistant/hassio-addons/blob/master/cec_scan/README.md
diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown
index 09f638187442..257af1defe40 100644
--- a/source/getting-started/configuration.markdown
+++ b/source/getting-started/configuration.markdown
@@ -11,23 +11,23 @@ The steps below do not apply to Home Assistant Core installations, for those typ
-We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Home Assistant add-on store: the Configurator. To get to the add-on store, click on the menu icon in the top left, then click on Supervisor. On the new page, open the add-on store tab.
+We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Home Assistant add-on store: the File editor. To get to the add-on store, click on the menu icon in the top left, then click on Supervisor. On the new page, open the add-on store tab.
-From the Hass.io main panel, open the add-on store.
+From the Supervisor main panel, open the add-on store.
-Under the "Core" section you will find Configurator.
+Under the "Official add-ons" section you will find the File editor add-on.
- - Click on Configurator and click on INSTALL. When installation is complete, the UI will go to the add-on details page for the configurator.
+ - Click on File Editor and click on INSTALL. When installation is complete, the UI will go to the add-on details page for the file editor.
- Now start the add-on by clicking on START.
- Open the user interface by clicking on OPEN WEB UI.
-Now let's make a change using the configurator: we are going to change the name, location, unit system, and time zone of your Home Assistant installation.
+Now let's make a change using the file editor: we are going to change the name, location, unit system, and time zone of your Home Assistant installation.
- - Click the folder icon in the top left of the configurator window to open the file browser sidebar.
- - Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main Configurator edit window.
+ - Click the folder icon in the top left of the file editor window to open the file browser sidebar.
+ - Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main file editor window.
- Add the following to this file (preferably at the very top, but it ultimately doesn't matter):
```yaml
homeassistant:
diff --git a/source/hassio/index.markdown b/source/hassio/index.markdown
index fd05b8106a7f..1c4fdc3819a4 100644
--- a/source/hassio/index.markdown
+++ b/source/hassio/index.markdown
@@ -20,7 +20,7 @@ The advantages of using Home Assistant:
- Active community that is helpful and sharing add-ons including AppDaemon, Homebridge and InfluxDB.
[Browse the forums »][forums] [Join the Home Assistant chat »][chat] [Browse community add-on repositories »][comm-add-ons]
-
+
### Upgrading
diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown
index 604dfd3ba827..5d6a1a4989f3 100644
--- a/source/hassio/installation.markdown
+++ b/source/hassio/installation.markdown
@@ -166,9 +166,8 @@ Debian/Ubuntu:
```bash
sudo -i
-apt-get install software-properties-common
apt-get update
-apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat
+apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat
systemctl disable ModemManager
curl -fsSL get.docker.com | sh
```
@@ -197,7 +196,6 @@ curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/mast
- `odroid-c2`
- `odroid-cu2`
- `odroid-xu`
-- `orangepi-prime`
- `tinker`
- `qemuarm`
- `qemuarm-64`
diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown
index 87c13f4ff7f2..fa53e24ff224 100644
--- a/source/lovelace/views.markdown
+++ b/source/lovelace/views.markdown
@@ -238,22 +238,22 @@ tap_action:
default: "`toggle`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -273,22 +273,22 @@ hold_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation:
@@ -308,22 +308,22 @@ double_tap_action:
default: "`more-info`"
navigation_path:
required: false
- description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
- description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
- description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
- description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
confirmation: