diff --git a/Gemfile.lock b/Gemfile.lock
index a3e17a7abca..b7c22b79108 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -138,7 +138,7 @@ GEM
rack-protection (= 4.0.0)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
- sorbet-runtime (0.5.11391)
+ sorbet-runtime (0.5.11394)
stringex (2.8.6)
strscan (3.1.0)
terminal-table (3.0.2)
diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown
index c93ab0e1748..179d1a93475 100644
--- a/source/_docs/configuration/basic.markdown
+++ b/source/_docs/configuration/basic.markdown
@@ -22,7 +22,7 @@ To change the general settings that were defined during onboarding, follow these
1. Go to {% my general title="**Settings** > **System** > **General**" %} and make your changes.
2. To change network-related configuration, such as the network name, go to {% my network title="**Settings** > **System** > **Network**" %}.
3. If some of the settings are not visible, you may need to enable **Advanced mode**.
- - In the bottom left, select your user name to go to your {% my profile title="**User profile**" %}, and enable **Advanced mode**.
+ - In the bottom left, select your username to go to your {% my profile title="**User profile**" %}, and enable **Advanced mode**.
4. **Troubleshooting**: If any of the settings are grayed out and can't be edited, this is because they are defined in the {% term "`configuration.yaml`" %} file.
- If you prefer editing the settings in the UI, you have to delete these entries from the {% term "`configuration.yaml`" %} file.
- For more information about the general settings in YAML, refer to the [Home Assistant Core integration documentation](/integrations/homeassistant/).
diff --git a/source/_docs/configuration/remote.markdown b/source/_docs/configuration/remote.markdown
index b6a2b9c9718..c00987c0f93 100644
--- a/source/_docs/configuration/remote.markdown
+++ b/source/_docs/configuration/remote.markdown
@@ -38,6 +38,14 @@ If you cannot access your Home Assistant installation remotely, remember to chec
-Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) blog post or this [detailed guide](/docs/ecosystem/certificates/lets_encrypt/) to using Let's Encrypt with Home Assistant.
+Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details, please check the [set up encryption using Let's Encrypt](/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) blog post or this [detailed guide](https://community.home-assistant.io/t/certificate-authority-and-self-signed-certificate-for-ssl-tls/196970) to using Let's Encrypt with Home Assistant.
+
+## Adding a remote URL to Home Assistant
+
+To set the URL under which your Home Assistant can be accessed from outside your local network, follow these steps:
+
+1. In the bottom left, select your username to go to your {% my profile title="**User profile**" %}, and make sure **Advanced mode** is enabled.
+2. Go to {% my network title="**Settings** > **System** > **Network**" %}.
+3. Under **Home Assistant URL**, enter the external URL that you previously set up for your instance.
diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown
index 386e4f5c344..3390d996933 100644
--- a/source/_docs/configuration/troubleshooting.markdown
+++ b/source/_docs/configuration/troubleshooting.markdown
@@ -102,7 +102,7 @@ The only characters valid in entity names are:
The entity name must not start or end with an underscore. If you create an entity with other characters from the UI, Home Assistant validates the name. If you change the name directly in the YAML file, then Home Assistant may not generate an error for that entity. However, attempts to use that entity will generate errors (or possibly fail silently).
-For instructions on how to change an entity name, refer to the section on [changing entity name and entity ID](/docs/configuration/customizing-devices/#changing-entity-name-and-entity-id).
+For instructions on how to change an entity name, refer to the section on [customizing entities](/docs/configuration/customizing-devices/).
## Debug logs and diagnostics
diff --git a/source/_docs/locked_out.md b/source/_docs/locked_out.md
index 877a0541c97..0132a46419a 100644
--- a/source/_docs/locked_out.md
+++ b/source/_docs/locked_out.md
@@ -3,7 +3,7 @@ title: "I'm locked out!"
description: "Options for regaining access"
related:
- docs: /common-tasks/os/#listing-all-users-from-the-command-line
- title: Listing all user names via command line
+ title: Listing all usernames via command line
- url: https://yellow.home-assistant.io/guides/factory-reset/
title: Reset the Yellow
- url: https://green.home-assistant.io/guides/reset/
@@ -13,7 +13,7 @@ related:
The sections below deal with recovering from a situation where you are not able to sign in,
or need to recover your data.
-## Forgot user name
+## Forgot username
If you’ve forgotten your username, ask the owner to help you.
If you are using the {% term "Home Assistant Operating System" %} and have access to the Home Assistant server, you can connect a terminal and enter the `auth list` command. This command lists all users that are registered on your Home Assistant.
diff --git a/source/_includes/common-tasks/file_access.md b/source/_includes/common-tasks/file_access.md
index ad5dd8f7769..2834b39d45a 100644
--- a/source/_includes/common-tasks/file_access.md
+++ b/source/_includes/common-tasks/file_access.md
@@ -25,7 +25,7 @@ To install the add-on, follow these steps:
2. On the **Configuration** tab, define **Username** and **Password**, store them in a safe place, and save your changes.
- You can specify any username and password.
- They are not related to the login credentials you use to log in to Home Assistant or to log in to the computer from which you are accessing the files.
- - The add-on won't start if user name and password are not defined.
+ - The add-on won't start if username and password are not defined.
3. For further configuration information, refer to the **Documentation** tab.
4. To start the add-on, on the **Information** tab, select **Start**.
diff --git a/source/_includes/integrations/device_class_intro.md b/source/_includes/integrations/device_class_intro.md
new file mode 100644
index 00000000000..077adf6e25a
--- /dev/null
+++ b/source/_includes/integrations/device_class_intro.md
@@ -0,0 +1 @@
+A device class is a measurement categorization in Home Assistant. It influences how the entity is represented in the [dashboard](/dashboards/). This can be modified in the [customize section](/docs/configuration/customizing-devices/). For example, different states may be represented by different icons, colors, or text.
\ No newline at end of file
diff --git a/source/_integrations/binary_sensor.markdown b/source/_integrations/binary_sensor.markdown
index 38182471eb7..9c32a30e630 100644
--- a/source/_integrations/binary_sensor.markdown
+++ b/source/_integrations/binary_sensor.markdown
@@ -27,25 +27,21 @@ a binary sensor to detect room occupancy. Other binary sensors can be created
manually using the [template integration](/integrations/template/)
or using an [input boolean helper](/integrations/input_boolean).
-
{% include integrations/building_block_integration.md %}
### Device class
-Knowing a sensor is binary impacts how the sensor's current state may be
-represented in Home Assistant's UI (see [Dashboards](/dashboards/)). Opposing states
-may be given different icons, colors, and value labels to highlight a particular
-state over the other. This is set by the binary sensor's device class.
+{% include integrations/device_class_intro.md %}
-Here are a few examples of this representation in the UI:
+The screenshot shows a few examples of different device classes for binary sensors:

+
Example of various device classes icons in `on` and `off` state. The on image
-in this example has `state_color: true` specified in the Entities card
+in this example has `state_color: true` specified in the entities card
configuration to receive the icon coloring.
-The full list of supported binary sensor device classes is below
-*(note: these may also be modified in the [customizing section](/docs/configuration/customizing-devices)).*
+The following device classes are supported for binary sensors:
- **None**: Generic on/off. This is the default and doesn't need to be set.
- **battery**: `on` means low, `off` means normal
diff --git a/source/_integrations/button.markdown b/source/_integrations/button.markdown
index d6c43368b19..ae885ea9ae8 100644
--- a/source/_integrations/button.markdown
+++ b/source/_integrations/button.markdown
@@ -9,6 +9,11 @@ ha_domain: button
ha_codeowners:
- '@home-assistant/core'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
A button {% term entity %} is an entity that can fire an {% term event %} / trigger an {% term action %} towards
@@ -55,14 +60,17 @@ This service can be called to trigger a button press for that entity.
## Device class
-The way these buttons are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/).
-The following device classes are supported for buttons:
+{% include integrations/device_class_intro.md %}
+
+The screenshot shows different icons representing different device classes for buttons:
Example of device class icons.
+The following device classes are supported for buttons:
+
- **None**: Generic button. This is the default and doesn't need to be set.
- **identify**: The button is used to identify a device.
- **restart**: The button restarts the device.
diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown
index bc167863554..ee34b926e00 100644
--- a/source/_integrations/cover.markdown
+++ b/source/_integrations/cover.markdown
@@ -9,6 +9,11 @@ ha_codeowners:
- '@home-assistant/core'
ha_domain: cover
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
@@ -17,7 +22,18 @@ Home Assistant can give you an interface to control covers such as rollershutter
## Device class
-The way these {% term sensors %} are displayed in the {% term frontend %} can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for covers:
+{% include integrations/device_class_intro.md %}
+
+The screenshot shows different icons representing different device classes for covers:
+
+
+
+List of cover examples.
+
+
+Example of various device classes icons in `open` and `closed` state. The open image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring.
+
+The following device classes are supported for covers.
- **None**: Generic cover. This is the default and doesn't need to be set.
- **awning**: Control of an awning, such as an exterior retractable window, door, or patio cover.
@@ -31,20 +47,15 @@ The way these {% term sensors %} are displayed in the {% term frontend %} can be
- **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters.
- **window**: Control of a physical window that opens and closes or may tilt.
-Here are a few examples of this representation in the UI:
-
-
-Example of various device classes icons in `open` and `closed` state. The open image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring.
-
## Services
### Cover control services
Available services: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover`, `cover.toggle`, `cover.open_cover_tilt`, `cover.close_cover_tilt`, `cover.stop_cover_tilt`, `cover.toggle_tilt`
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all.
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. |
#### Automation example
@@ -63,10 +74,10 @@ automation:
Set cover position of one or multiple covers.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all.
-| `position` | no | Integer between 0 and 100.
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. |
+| `position` | no | Integer between 0 and 100. |
#### Automation example
@@ -87,10 +98,10 @@ automation:
Set cover tilt position of one or multiple covers.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all.
-| `tilt_position` | no | Integer between 0 and 100.
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. |
+| `tilt_position` | no | Integer between 0 and 100. |
#### Automation example
diff --git a/source/_integrations/decora_wifi.markdown b/source/_integrations/decora_wifi.markdown
index e969ea72fd7..70a270c4014 100644
--- a/source/_integrations/decora_wifi.markdown
+++ b/source/_integrations/decora_wifi.markdown
@@ -36,7 +36,7 @@ light:
{% configuration %}
username:
- description: Your "My Leviton" app email address/user name.
+ description: Your "My Leviton" app email address/username.
required: true
type: string
password:
diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown
index 5c7d7cdbc40..2a1da612d6c 100644
--- a/source/_integrations/discord.markdown
+++ b/source/_integrations/discord.markdown
@@ -158,7 +158,7 @@ Note that `verify_ssl` defaults to `True`, and that any remote hosts will need t
## Notes
-You can tag any user inside a channel by using their user ID in the message like so: `<@userid>` replacing `userid` with the ID you copied. To get the user ID right click on the user name to copy the ID like you did for the channel ID up above.
+You can tag any user inside a channel by using their user ID in the message like so: `<@userid>` replacing `userid` with the ID you copied. To get the user ID right click on the username to copy the ID like you did for the channel ID up above.
For more information about creating and authorizing bots, visit the [OAuth2 information page](https://discordapp.com/developers/docs/topics/oauth2)
diff --git a/source/_integrations/egardia.markdown b/source/_integrations/egardia.markdown
index 221403af725..0e6340aa99b 100644
--- a/source/_integrations/egardia.markdown
+++ b/source/_integrations/egardia.markdown
@@ -106,7 +106,7 @@ There seem to be multiple versions of software running on GATE-02 devices; we ha
## Advanced configuration
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'. **If the system support XMPP, disable XMPP by invalidating the configuration in the XMPP menu (for example by changing the user name). This is required for recent firmwares of the GATE-03 system as it does not use the Reporting server at all in the case of a valid XMPP configuration.**
+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'. **If the system support XMPP, disable XMPP by invalidating the configuration in the XMPP menu (for example by changing the username). This is required for recent firmwares of the GATE-03 system as it does not use the Reporting server at all in the case of a valid XMPP configuration.**
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 {% term "`configuration.yaml`" %}:
```yaml
diff --git a/source/_integrations/elkm1.markdown b/source/_integrations/elkm1.markdown
index c1fd76377da..446c740ac59 100644
--- a/source/_integrations/elkm1.markdown
+++ b/source/_integrations/elkm1.markdown
@@ -77,7 +77,7 @@ version of the TLS protocol, the user must specify the TLS version to connect.
### Global Setting 35
-The ElkM1 integration tracks the user number and name of the last user name to
+The ElkM1 integration tracks the user number and name of the last username to
arm or disarm the panel. The `changed_by` and `changed_by_id` attributes of
the `alarm_control_panel` hold those two attributes.
diff --git a/source/_integrations/event.markdown b/source/_integrations/event.markdown
index 7522304a595..86bec2f53ac 100644
--- a/source/_integrations/event.markdown
+++ b/source/_integrations/event.markdown
@@ -9,6 +9,11 @@ ha_domain: event
ha_codeowners:
- '@home-assistant/core'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
Events are signals that are emitted when something happens, for example, when a user presses a physical button like a doorbell or when a button on a remote control is pressed.
@@ -75,7 +80,16 @@ action:
When creating automations in the automation editor in the UI, the event types are available as a dropdown list, depending on the event entity you are using. This means you don't have to remember the different event types and can easily select them.
-## Device classes
+## Device class
+
+{% include integrations/device_class_intro.md %}
+
+The screenshot shows different icons representing device classes of the event entity:
+
+
+
+Example of different icons representing device classes of the event entity.
+
The following device classes are supported by event entities:
diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown
index 9960e628e99..3bc67ce397e 100644
--- a/source/_integrations/fritzbox_callmonitor.markdown
+++ b/source/_integrations/fritzbox_callmonitor.markdown
@@ -26,7 +26,7 @@ To use the FRITZ!Box call monitor in your installation, a user with at least `Vo
3. Navigate to **System** -> **FRITZ!Box User**.
4. Click the `Add User` button.
5. Enable the option `User account enabled`.
-6. Enter a user name and password.
+6. Enter a username and password.
7. Check the rights box next to `Voice messages, faxes, FRITZ!App Fon and call list`.
8. Click the `Apply` button.
diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown
index cd6ca218562..c15bb6d6c33 100644
--- a/source/_integrations/homeassistant.markdown
+++ b/source/_integrations/homeassistant.markdown
@@ -18,9 +18,9 @@ related:
- docs: /docs/configuration/customizing-devices/
---
-The **Home Assistant Core** {% term integration %} provides generic implementations like the generic `homeassistant.turn_on`.
+The **Home Assistant Core** {% term integration %} provides generic implementations like the generic `homeassistant.turn_on` service.
-## Editing the general settings in YAML
+## Editing the General Settings in YAML
The Home Assistant Core integration is also responsible for the general settings. These settings are defined during onboarding, but you can change them later under {% my general title="**Settings** > **System** > **General**" %}. For the detailed steps, refer to [Basic settings](/docs/configuration/basic/).
@@ -143,12 +143,12 @@ debug:
default: false
{% endconfiguration %}
-## Editing the entity settings in YAML
+## Editing entity settings in YAML
-The Home Assistant Core integration is also responsible for the entity settings.
+The Home Assistant Core integration is also responsible for entity settings.
By default, all of your devices will be visible and have a default icon determined by their domain. You can customize the look and feel of your front page by altering some of these parameters. This can be done by overriding attributes of specific entities.
-Most of these settings can be changed from the UI. For the detailed steps, refer to [Customizing entites](/docs/configuration/customizing-devices/).
+Most of these settings can be changed from the UI. For the detailed steps, refer to [Customizing entities](/docs/configuration/customizing-devices/).
If you prefer editing in YAML, you can define your general settings in the [`configuration.yaml` file](/docs/configuration/).
@@ -191,16 +191,23 @@ initial_state:
### Device class
+A device class represents a group of device types. The way a specific device class is shown in the user interface depends on the platform that is using it. For example, binary sensor and cover both support the device class "window". While for the binary sensor the window can only be open or closed, for cover, a window can also be tilted. For a given platform, the device class controls how the device is shown in the user interface. For example: humidifier has two device classes, humidifier and dehumidifier. If the device class is set to `humidifier`, the UI shows **Humidifying**. If it is set to `dehumidifier`, it shows **Drying**.
+
Device class is currently supported by the following platforms:
-- [Binary sensor](/integrations/binary_sensor/)
-- [Button](/integrations/button/)
-- [Cover](/integrations/cover/)
-- [Humidifier](/integrations/humidifier/)
-- [Media player](/integrations/media_player/)
-- [Number](/integrations/number/)
-- [Sensor](/integrations/sensor/)
-- [Switch](/integrations/switch/)
+- [Binary sensor](/integrations/binary_sensor/#device-class)
+- [Button](/integrations/button/#device-class)
+- [Cover](/integrations/cover/#device-class)
+- [Event](/integrations/event/#device-class)
+- [Humidifier](/integrations/humidifier/#device-class)
+- [Media player](/integrations/media_player/#device-class)
+- [Number](/integrations/number/#device-class)
+- [Sensor](/integrations/sensor#device-class)
+- [Switch](/integrations/switch/#device-class)
+- [Update](/integrations/update/#device-class)
+- [Valve](/integrations/valve/#device-class)
+
+For a list of the supported device classes, refer to the documentation of the platform.
### Manual customization
diff --git a/source/_integrations/humidifier.markdown b/source/_integrations/humidifier.markdown
index aad629b275c..db5b2bf5567 100644
--- a/source/_integrations/humidifier.markdown
+++ b/source/_integrations/humidifier.markdown
@@ -10,12 +10,33 @@ ha_codeowners:
- '@home-assistant/core'
- '@Shulyaka'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
The `humidifier` integration is built for the controlling and monitoring of humidifiers, dehumidifiers, and hygrostat devices.
{% include integrations/building_block_integration.md %}
+## Device class
+
+{% include integrations/device_class_intro.md %}
+
+The screenshot shows different text and UI for different device classes for humidifiers:
+
+
+
+Humidifier device classes.
+
+
+The following device classes are supported for humidifiers:
+
+- **Humidifier**: Adds humidity to the air around it.
+- **Dehumidifier**: Removes humidity from the air around it.
+
## Services
### Humidifier services
diff --git a/source/_integrations/imap.markdown b/source/_integrations/imap.markdown
index e861c97be57..0e10b7ea74f 100644
--- a/source/_integrations/imap.markdown
+++ b/source/_integrations/imap.markdown
@@ -120,7 +120,7 @@ The custom event data template is an advanced feature. The option is available o
server:
description: The IMAP server name
username:
- description: The IMAP user name
+ description: The IMAP username
search:
description: The IMAP search configuration
folder:
diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown
index 59075d5ff8e..7ba89330df1 100644
--- a/source/_integrations/matter.markdown
+++ b/source/_integrations/matter.markdown
@@ -117,6 +117,7 @@ Make sure you have all these components ready before trying to add a Matter devi
- When prompted to **Select the connection method**:
- If you run Home Assistant OS in a regular setup: select **Submit**.
- This will install the official Matter server add-on.
+ - Note that the official Matter server add-on is not supported on 32-bit platforms.
- If you are already running the Matter server in another add-on, in or a custom container:
- Deselect the checkbox, then select **Submit**.
- In the next step, provide the URL to your Matter server.
diff --git a/source/_integrations/media_player.markdown b/source/_integrations/media_player.markdown
index 004774224cd..96dc74c90e5 100644
--- a/source/_integrations/media_player.markdown
+++ b/source/_integrations/media_player.markdown
@@ -9,6 +9,11 @@ ha_domain: media_player
ha_codeowners:
- '@home-assistant/core'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
Interacts with media players on your network.
@@ -180,7 +185,16 @@ Allows to group media players together for synchronous playback. Only works on s
### Device class
-The way media players are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for media players:
+{% include integrations/device_class_intro.md %}
+
+The screenshot shows different icons representing device classes of the media player entity:
+
+
+
+Example of different icons representing device classes of the media player entity.
+
+
+The following device classes are supported for media players:
- `tv`: Device is a television type device.
- `speaker`: Device is a speaker or stereo type device.
diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown
index b7ecc054ed4..636ff6316ed 100644
--- a/source/_integrations/number.markdown
+++ b/source/_integrations/number.markdown
@@ -10,6 +10,11 @@ ha_codeowners:
- '@home-assistant/core'
- '@Shulyaka'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
Keeps track on `number` entities in your environment, their state, and allows you to control them. This integration allows other integrations to get a value input from user within a range.
@@ -20,7 +25,9 @@ If you are looking for a way to create a number entity, please take a look at th
## Device class
-The type of data a number represents impacts how it is displayed in the frontend. This is controlled by the number's device class designation. Built-in numbers and many created from an integration will have this designation predefined. Those can be modified in the [customize section](/docs/configuration/customizing-devices/). When manually creating a new number the device class may be optionally assigned. A full list of available number device classes is below:
+{% include integrations/device_class_intro.md %}
+
+The following device classes are supported for numbers:
- **None**: Generic number. This is the default and doesn't need to be set.
- **apparent_power**: Apparent power in VA.
diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown
index e86b350425d..abbe2801372 100644
--- a/source/_integrations/octoprint.markdown
+++ b/source/_integrations/octoprint.markdown
@@ -59,7 +59,9 @@ verify ssl:
### API key
For the integration to work, please check that in Octoprint, the [Discovery Plugin](https://docs.octoprint.org/en/master/bundledplugins/discovery.html) is enabled and in the **Settings** -> **Printer Notifications** menu that **Enable popups** is checked.
-The Octoprint integration will attempt to register itself via the [Application Keys Plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, open the Octoprint UI and select **Allow** on the prompt. NOTE: You must be logged into Octoprint as the user which you are adding Home Assistant. Otherwise, the popup access prompt does not appear.
+The Octoprint integration will attempt to register itself via the [Application Keys Plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, log in to Octoprint as the user whose credentials you just entered in Home Assistant, and select **Allow** on the prompt.
+
+NOTE: You *must* be logged into Octoprint as the user which you are adding to Home Assistant. If you log in to Octoprint as any other user, you will not see the prompt to allow access.
## Binary sensor
diff --git a/source/_integrations/owntracks.markdown b/source/_integrations/owntracks.markdown
index fe09773b832..b6f2ddb2b91 100644
--- a/source/_integrations/owntracks.markdown
+++ b/source/_integrations/owntracks.markdown
@@ -71,7 +71,7 @@ waypoints:
default: true
type: boolean
waypoint_whitelist:
- description: "A list of user names (as defined for [OwnTracks](/integrations/owntracks)) who can export their waypoints from OwnTracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/username/iPhone)."
+ description: "A list of usernames (as defined for [OwnTracks](/integrations/owntracks)) who can export their waypoints from OwnTracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/username/iPhone)."
required: false
default: All users who are connected to Home Assistant via OwnTracks.
type: list
diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown
index 5eab32ce77f..83c1b091acc 100644
--- a/source/_integrations/sensor.markdown
+++ b/source/_integrations/sensor.markdown
@@ -9,6 +9,11 @@ ha_domain: sensor
ha_codeowners:
- '@home-assistant/core'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
Sensors are a basic integration in Home Assistant. They monitor the states and conditions of a variety of entities. An entity can be many things. This can include a physical device like a motion sensor that reports the battery level, a web service that retrieves the weather temperature, a built-in function that calculates the sun's elevation relative to your GPS position, or even a custom sensor you may have created to report the free space on your laptop. These are all _things_ reporting different types of information.
@@ -17,7 +22,16 @@ Some of these sensors are built-in to Home Assistant, some are created automatic
## Device class
-The type of data a sensor returns impacts how it is displayed in the frontend. This is controlled by the sensor's device class designation. Built-in sensors and many created from an integration will have this designation predefined. Those can be modified in the [customize section](/docs/configuration/customizing-devices/). When manually creating a new sensor the device class may be optionally assigned. A full list of available sensor device classes is below:
+{% include integrations/device_class_intro.md %}
+
+The screenshot shows different icons representing different device classes for sensors:
+
+
+
+Example of various device class icons for sensors.
+
+
+The following device classes are supported for sensors:
- **None**: Generic sensor. This is the default and doesn't need to be set.
- **apparent_power**: Apparent power in VA.
@@ -71,8 +85,3 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T
- **water**: Water consumption in L, gal, m³, ft³, or CCF
- **weight**: Generic mass in kg, g, mg, µg, oz, lb, or st
- **wind_speed**: Wind speed in Beaufort, ft/s, km/h, kn, m/s, or mph
-
-
-
-Example of various device class icons for sensors.
-
diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown
index b6a3a3513c4..dfd32c369da 100644
--- a/source/_integrations/switch.markdown
+++ b/source/_integrations/switch.markdown
@@ -11,6 +11,11 @@ ha_platforms:
ha_codeowners:
- '@home-assistant/core'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
Keeps track which switches are in your environment, their state and allows you to control them.
@@ -22,10 +27,12 @@ Keeps track which switches are in your environment, their state and allows you t
## Device class
-The way these switches are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for switches:
+{% include integrations/device_class_intro.md %}
+
+ The following device classes are supported for switches:
- **None**: Generic switch. This is the default and doesn't need to be set.
-- **outlet**: This switch, switches a power outlet.
+- **outlet**: A switch for a power outlet.
- **switch**: A generic switch.
## Use the services
@@ -36,6 +43,6 @@ In the frontend open the sidebar. At the bottom, under **Developer Tools**, clic
{"entity_id":"switch.livingroom_pin2"}
```
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | no | String or list of strings that point at `entity_id`s of switches. To target all switches, set `entity_id` to `all`.
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
+| `entity_id` | no | String or list of strings that point at `entity_id`s of switches. To target all switches, set `entity_id` to `all`. |
diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown
index c391b091629..c534277d85b 100644
--- a/source/_integrations/telegram.markdown
+++ b/source/_integrations/telegram.markdown
@@ -29,7 +29,7 @@ To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-crea
- Store the token somewhere safe.
2. To get a chat ID, send any message to the [GetIDs bot](https://t.me/getidsbot).
- Then, enter `/start`.
- - The bot will return your chat ID and the user name.
+ - The bot will return your chat ID and the username.
3. Create a [Telegram bot in Home Assistant](/integrations/telegram_bot):
- Paste this into your [configuration file](/docs/configuration/):
- Replace the `api_key` and the `allowed_chat_ids` with your data.
diff --git a/source/_integrations/update.markdown b/source/_integrations/update.markdown
index 3a9796d3b5c..6b67d7f775f 100644
--- a/source/_integrations/update.markdown
+++ b/source/_integrations/update.markdown
@@ -8,6 +8,11 @@ ha_domain: update
ha_codeowners:
- '@home-assistant/core'
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
An update {% term entity %} is an entity that indicates if an update is available for a
@@ -49,10 +54,11 @@ information on the update state:
- `release_summary`: A summary of the release notes for the update available.
- `release_url`: A link to the full release announcement for the update available.
-## Device classes
+## Device class
-The way these update entities are displayed in the frontend depend on their
-device classes. The following device classes are supported for switches:
+{% include integrations/device_class_intro.md %}
+
+The following device classes are supported for update entities:
- **`None`**: A generic software update. This is the default and doesn't need
to be set.
diff --git a/source/_integrations/valve.markdown b/source/_integrations/valve.markdown
index 38660c738a9..3bab9def981 100644
--- a/source/_integrations/valve.markdown
+++ b/source/_integrations/valve.markdown
@@ -9,6 +9,11 @@ ha_codeowners:
- '@home-assistant/core'
ha_domain: valve
ha_integration_type: entity
+related:
+ - docs: /docs/configuration/customizing-devices/
+ title: Customizing devices
+ - docs: /dashboards/
+ title: Dashboard
---
The valve entity in Home Assistant provides an interface to control valves such as water, gas, or air valves.
@@ -17,7 +22,9 @@ The valve entity in Home Assistant provides an interface to control valves such
## Device class
-You can change the device class of the valve in the [customize section](/docs/configuration/customizing-devices/). Valves support the following device classes:
+{% include integrations/device_class_intro.md %}
+
+The following device classes are supported for valves:
- **None**: Generic valve. This is the default and doesn't need to be set.
- **water**: Valve that controls the flow of water through a system.
diff --git a/source/_integrations/wake_on_lan.markdown b/source/_integrations/wake_on_lan.markdown
index 206d51deaca..74624f6b753 100644
--- a/source/_integrations/wake_on_lan.markdown
+++ b/source/_integrations/wake_on_lan.markdown
@@ -119,7 +119,7 @@ from Home Assistant running on another Linux computer (the **server**).
1. On the **server**, log in as the user account Home Assistant is running under. In this example it's `hass`.
2. On the **server**, create SSH keys by running `ssh-keygen`. Just press enter on all questions.
-3. On the **target**, create a new account that Home Assistant can ssh into: `sudo adduser hass`. Just press enter on all questions except password. It's recommended using the same user name as on the server. If you do, you can leave out `hass@` in the SSH commands below.
+3. On the **target**, create a new account that Home Assistant can ssh into: `sudo adduser hass`. Just press enter on all questions except password. It's recommended using the same username as on the server. If you do, you can leave out `hass@` in the SSH commands below.
4. On the **server**, transfer your public SSH key by `ssh-copy-id hass@TARGET` where TARGET is your target machine's name or IP address. Enter the password you created in step 3.
5. On the **server**, verify that you can reach your target machine without password by `ssh TARGET`.
6. On the **target**, we need to let the `hass` user execute the program needed to suspend/shut down the target computer. Here is it `pm-suspend`, use `poweroff` to turn off the computer. First, get the full path: `which pm-suspend`. On my system, this is `/usr/sbin/pm-suspend`.
diff --git a/source/images/integrations/event/device_class_event_icons.png b/source/images/integrations/event/device_class_event_icons.png
new file mode 100644
index 00000000000..78172d0a4c7
Binary files /dev/null and b/source/images/integrations/event/device_class_event_icons.png differ
diff --git a/source/images/screenshots/device_class_media_player_icons.png b/source/images/screenshots/device_class_media_player_icons.png
new file mode 100644
index 00000000000..c9c101bb9ae
Binary files /dev/null and b/source/images/screenshots/device_class_media_player_icons.png differ
diff --git a/source/images/screenshots/humidifier_device_class.png b/source/images/screenshots/humidifier_device_class.png
new file mode 100644
index 00000000000..472c3c56926
Binary files /dev/null and b/source/images/screenshots/humidifier_device_class.png differ
diff --git a/source/voice_control/start_assist_from_dashboard.markdown b/source/voice_control/start_assist_from_dashboard.markdown
index 92db86f8442..0a3f7746975 100644
--- a/source/voice_control/start_assist_from_dashboard.markdown
+++ b/source/voice_control/start_assist_from_dashboard.markdown
@@ -21,12 +21,13 @@ If you are using Home Assistant in kiosk mode, for example if you have a tablet
## To add an Assist button to the dashboard
1. On your dashboard, select **Add card** and select the **Button** card.
-2. Clear the **Entity** field and give the card a name, such as *Assist - listen*.
-3. Select an icon, such as `mdi:account-tie-voice`.
-4. From the **Action** dropdown menu, select **Assist**.
-5. From the **Assist** dropdown menu, select the assistant you want to use, for example **Home Assistant Cloud**.
+2. Clear the **Entity** field.
+3. Give the card a name, such as *Assist - listen*.
+4. Select an icon, such as `mdi:account-tie-voice`.
+5. From the **Action** dropdown menu, select **Assist**.
+6. From the **Assist** dropdown menu, select the assistant you want to use, for example **Home Assistant Cloud**.
- You can use any assistant you have previously set up.
- If you have assistants in different languages, you can add a button for each of these languages.
-6. If you are using Assist with your voice, enable **Start listening**.
+7. If you are using Assist with your voice, enable **Start listening**.
- If you don't want to use voice but just want to type, you do not need to enable listening.
-7. **Save** your new button card.
+8. **Save** your new button card.