` with the actual name of the sensor, as seen in the `SELECT` query.
-## Remove integration
+## Removing the integration
-This integration follows standard integration removal, no extra steps are required.
+This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown
index 7356985af33..d38700f9472 100644
--- a/source/_integrations/onkyo.markdown
+++ b/source/_integrations/onkyo.markdown
@@ -25,13 +25,10 @@ Please be aware that you need to enable "Network Standby" for this integration t
{% configuration_basic %}
Host:
description: Hostname or IP address of the device, for example:`192.168.1.2`.
- type: string
Volume Resolution:
description: Number of steps it takes for the receiver to go from the lowest to the highest possible volume. Possible values are 50, 80, 100, 200. For older Onkyo receivers, this typically is 80; newer Onkyo receivers use 200.
- type: integer
Input sources:
description: List of input sources supported by the receiver.
- type: list
{% endconfiguration_basic %}
The above settings can also be adjusted later. To do this, click the three-dot menu on the integration entry and select **Reconfigure**.
@@ -41,11 +38,8 @@ The above settings can also be adjusted later. To do this, click the three-dot m
{% configuration_basic %}
Max Volume:
description: Maximum volume limit as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will 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 its maximum volume.
- default: 100
- type: integer
Input sources:
description: Mappings of input sources to their names.
- type: list
{% endconfiguration_basic %}
### Zones
diff --git a/source/_integrations/openai_conversation.markdown b/source/_integrations/openai_conversation.markdown
index 870f232c947..977e8458891 100644
--- a/source/_integrations/openai_conversation.markdown
+++ b/source/_integrations/openai_conversation.markdown
@@ -43,34 +43,27 @@ The OpenAI key is used to authenticate requests to the OpenAI API. To generate a
- Visit the [API Keys page](https://platform.openai.com/account/api-keys) to retrieve the API key you'll use to configure the integration.
{% include integrations/option_flow.md %}
+
{% configuration_basic %}
Instructions:
description: Instructions for the AI on how it should respond to your requests. It is written using [Home Assistant Templating](/docs/configuration/templating/).
-
Control Home Assistant:
description: If the model is allowed to interact with Home Assistant. It can only control or provide information about entities that are [exposed](/voice_control/voice_remote_expose_devices/) to it.
-
Recommended settings:
description: If enabled, the recommended model and settings are chosen.
-
{% endconfiguration_basic %}
If you choose to not use the recommended settings, you can configure the following options:
{% configuration_basic %}
-
Model:
description: The GPT language model is used for text generation. You can find more details on the available models in the [OpenAI GPT-3.5 Turbo Documentation](https://platform.openai.com/docs/models/gpt-3-5-turbo), [OpenAI GPT-4 Turbo and GPT-4 Documentation](https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4), or [GPT-4o Documentation](https://platform.openai.com/docs/models/gpt-4o). The default is "gpt-4o".
-
Maximum Tokens to Return in Response:
description: The maximum number of words or "tokens" that the AI model should generate in its completion of the prompt. For more information, see the [OpenAI Completion Documentation](https://platform.openai.com/docs/guides/completion/introduction).
-
Temperature:
description: A value that determines the level of creativity and risk-taking the model should use when generating text. A higher temperature means the model is more likely to generate unexpected results, while a lower temperature results in more deterministic results. See the [OpenAI Completion Documentation](https://platform.openai.com/docs/guides/completion/introduction) for more information.
-
Top P:
description: An alternative to temperature, top_p determines the proportion of the most likely word choices the model should consider when generating text. A higher top_p means the model will only consider the most likely words, while a lower top_p means a wider range of words, including less likely ones, will be considered. For more information, see the [OpenAI Completion API Reference](https://platform.openai.com/docs/api-reference/completions/create#completions/create-top_p).
-
{% endconfiguration_basic %}
## Talking to Super Mario over the phone
diff --git a/source/_integrations/p1_monitor.markdown b/source/_integrations/p1_monitor.markdown
index bd69cb90a81..4d97db613b5 100644
--- a/source/_integrations/p1_monitor.markdown
+++ b/source/_integrations/p1_monitor.markdown
@@ -79,8 +79,8 @@ You can use the rates set in P1 Monitor for your calculations in Home Assistant.
- Energy Consumption Price Low/High
- Energy Production Price Low/High
-## Remove integration
+## Removing the integration
-This integration follows standard integration removal, no extra steps are required.
+This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/pegel_online.markdown b/source/_integrations/pegel_online.markdown
index 112c4cf0791..9eba1c356d8 100644
--- a/source/_integrations/pegel_online.markdown
+++ b/source/_integrations/pegel_online.markdown
@@ -30,18 +30,18 @@ Select the area, where you want to search for available water measuring stations
{% configuration_basic %}
Latitude:
- description: "The latitude of the center of the search area (_automatically filled by the location picker_)."
+ description: "The latitude of the center of the search area (_automatically filled by the location picker_)."
Longitude:
- description: "The longitude of the center of the search area (_automatically filled by the location picker_)."
+ description: "The longitude of the center of the search area (_automatically filled by the location picker_)."
Radius:
- description: "Search radius (_in km_)"
+ description: "Search radius (_in km_)"
{% endconfiguration_basic %}
### Step 2 - Station selection
{% configuration_basic %}
Station:
- description: "Select the measurement station you want to add."
+ description: "Select the measurement station you want to add."
{% endconfiguration_basic %}
## Sensors
diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown
index 67cf83cabca..59d98cc8e7a 100644
--- a/source/_integrations/plugwise.markdown
+++ b/source/_integrations/plugwise.markdown
@@ -58,6 +58,22 @@ For example, if you have an Adam setup with a Lisa named 'Living' and a Tom name
Under each device there will be entities shown like binary_sensors, sensors, etc. depending on the capabilities of the device: for instance centralized measurements such as 'power' for a P1, 'outdoor_temperature' on Anna or Adam will be assigned to your gateway device. Heating/cooling device measurements such as 'boiler_temperature' will be assigned to the OpenTherm/OnOff device.
+## Data updates
+
+The interval which the integration fetches data from the Smile depends on the device:
+
+- Power entities, such as the P1, will be refreshed every 10 seconds.
+- Climate entities will be refreshed every 60 seconds.
+- Stretch entities will be refreshed every 60 seconds.
+
+## Removing the integration
+
+This integration follows standard integration removal. No extra steps are required within Home Assistant or on your Plugwise devices.
+
+{% include integrations/remove_device_service.md %}
+
+This will also remove all connected Adam devices (such as Anna, Tom or Lisa) or connected Adam/Stretch plugs.
+
## Configuration
The Plugwise Smile(s) present in your network will be automatically detected via Zeroconf discovery and will be shown on the Integrations-page. To set up an integration, click the "CONFIGURATION" button on the discovered integration and you will be presented with a dialog requesting your Smile password. After you click submit, you will have the opportunity to select the area(s) where individual Smile appliances are located. The username `smile` is shown as a default, when configuring your Stretch change this to `stretch` accordingly.
diff --git a/source/_integrations/rabbitair.markdown b/source/_integrations/rabbitair.markdown
index 3f449eabcbe..df444f3d367 100644
--- a/source/_integrations/rabbitair.markdown
+++ b/source/_integrations/rabbitair.markdown
@@ -49,11 +49,7 @@ In some cases the access token may not be available right away, then you will se
{% configuration_basic %}
host:
- description: "Hostname or IP address of the device."
- required: true
- type: string
+ description: Hostname or IP address of the device.
access_token:
- description: "Access Token that can be obtained in the Rabbit Air app."
- required: true
- type: string
+ description: Access Token that can be obtained in the Rabbit Air app.
{% endconfiguration_basic %}
diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown
index cd059a09bfd..80c893ab763 100644
--- a/source/_integrations/rainbird.markdown
+++ b/source/_integrations/rainbird.markdown
@@ -48,10 +48,9 @@ irrigations schedules on a calendar.
{% configuration_basic %}
Host:
- description: "The IP address of your Rain Bird device. You can find the IP address under the
- device in the Rain Bird app under **Controller Settings** -> **Network Info**."
+ description: "The IP address of your Rain Bird device. You can find the IP address under the device in the Rain Bird app under **Controller Settings** -> **Network Info**."
Password:
- description: "The password used to authenticate the Rain Bird device."
+ description: "The password used to authenticate the Rain Bird device."
{% endconfiguration_basic %}
## Configuration options
diff --git a/source/_integrations/renault.markdown b/source/_integrations/renault.markdown
index 010fbf19077..8767de587f8 100644
--- a/source/_integrations/renault.markdown
+++ b/source/_integrations/renault.markdown
@@ -37,13 +37,13 @@ This integration provides the following platforms:
{% configuration_basic %}
Locale:
- description: "The country code (e.g., 'fr_FR', 'en_GB') used to connect to the Renault servers. This should match your MyRenault account's locale setting."
+ description: "The country code (e.g., `fr_FR`, `en_GB`) used to connect to the Renault servers. This should match your MyRenault account's locale setting."
Username:
- description: "The username used to connect to the Renault servers."
+ description: "The username used to connect to the Renault servers."
Password:
- description: "The password used to connect to the Renault servers."
+ description: "The password used to connect to the Renault servers."
Kamereon account id:
- description: "The Kamereon account ID that your vehicles are assigned to. If there is only one account available it will be automatically selected."
+ description: "The Kamereon account ID that your vehicles are assigned to. If there is only one account available it will be automatically selected."
{% endconfiguration_basic %}
All vehicles linked to the account should then get added as devices, with sensors added as linked entity.
@@ -132,8 +132,8 @@ Notes:
duration: 15
```
-## Remove integration
+## Removing the integration
-This integration follows standard integration removal, no extra steps are required.
+This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown
index 0e9d0931556..9f107a78804 100644
--- a/source/_integrations/reolink.markdown
+++ b/source/_integrations/reolink.markdown
@@ -43,22 +43,18 @@ A brand new Reolink camera needs to be connected to the network and initialized.
- The password used for the Reolink device can only contain characters `a-z, A-Z, 0-9 or @$*~_-+=!?.,:;'()[]`. Other special characters will cause encoding issues in the video streams used by this integration and are, therefore, not allowed. When using an incompatible special character in the password, the integration will prompt you to change the password.
{% include integrations/config_flow.md %}
+
{% configuration_basic %}
Host:
- description: "The hostname or IP address of your Reolink device. For example: '192.168.1.25'. You can find it in your router or in the Reolink app under **Settings** -> **Device** (top icon) -> **Networkinformation** -> **IP-address**. Normally, the Reolink device is automatically discovered, and you do not need to provide this."
- required: false
- type: string
+ description: "The hostname or IP address of your Reolink device. For example: '192.168.1.25'. You can find it in your router or in the Reolink app under **Settings** -> **Device** (top icon) -> **Networkinformation** -> **IP-address**. Normally, the Reolink device is automatically discovered, and you do not need to provide this."
Username:
- description: "Username to log in to the Reolink device itself. Not the Reolink cloud account."
- required: true
- type: string
+ description: "Username to log in to the Reolink device itself. Not the Reolink cloud account."
Password:
- description: "Password to log in to the Reolink device itself. Not the Reolink cloud account."
- required: true
- type: string
+ description: "Password to log in to the Reolink device itself. Not the Reolink cloud account."
{% endconfiguration_basic %}
{% include integrations/option_flow.md %}
+
{% configuration_basic %}
Protocol:
description: Switch between RTSP, RTMP, or FLV streaming protocol. RTSP supports 4K streams (h265 encoding) while RTMP and FLV do not. FLV is the least demanding on the camera.
diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown
index 0603b7fe1f7..252f4129924 100644
--- a/source/_integrations/samsungtv.markdown
+++ b/source/_integrations/samsungtv.markdown
@@ -157,6 +157,7 @@ KEY_LEFT|NavigationLeft
KEY_RIGHT|NavigationRight
KEY_RETURN|NavigationReturn/Back
KEY_ENTER|NavigationEnter
+KEY_EXIT|NavigationExit
____________
**Media Keys**
diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown
index 33234489052..0990e2d37c1 100644
--- a/source/_integrations/script.markdown
+++ b/source/_integrations/script.markdown
@@ -77,7 +77,7 @@ fields:
description: The name of this script parameter field.
type: string
description:
- description: A description of this of this script parameter.
+ description: A description of this script parameter.
type: string
advanced:
description: Marks this field as an advanced parameter. This causes it only to be shown in the UI, when the user has advanced mode enabled.
diff --git a/source/_integrations/sfr_box.markdown b/source/_integrations/sfr_box.markdown
index 2d4a948fc50..fffe3f5d198 100644
--- a/source/_integrations/sfr_box.markdown
+++ b/source/_integrations/sfr_box.markdown
@@ -33,8 +33,8 @@ The integration uses the REST API, which is known to be available on models `NB4
However, `NCC` models do not appear to expose this REST API, and are therefore unsupported by the integration.
-## Remove integration
+## Removing the integration
-This integration follows standard integration removal, no extra steps are required.
+This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/solarlog.markdown b/source/_integrations/solarlog.markdown
index 7f0cc858c89..4d8ba4bea89 100644
--- a/source/_integrations/solarlog.markdown
+++ b/source/_integrations/solarlog.markdown
@@ -43,13 +43,13 @@ To setup the integration you need the following information:
{% configuration_basic %}
Name:
- description: "The name for your Solar-Log device in Home Assistant. This will also be uses as prefix for the entity names."
+ description: "The name for your Solar-Log device in Home Assistant. This will also be uses as prefix for the entity names."
Host:
- description: "The URL or IP address of your Solar-Log."
+ description: "The URL or IP address of your Solar-Log."
User password available:
- description: "Check the box, if you have the password for the Solar-Log user to securely access [all data](#additional-data)."
+ description: "Check the box, if you have the password for the Solar-Log user to securely access [all data](#additional-data)."
Password:
- description: "Password for the Solar-Log user. Will only be asked for in a second step, if in the first step the checkbox has been selected."
+ description: "Password for the Solar-Log user. Will only be asked for in a second step, if in the first step the checkbox has been selected."
{% endconfiguration_basic %}
## Configuration options
diff --git a/source/_integrations/swiss_public_transport.markdown b/source/_integrations/swiss_public_transport.markdown
index e2835e1ae3b..8781bba9520 100644
--- a/source/_integrations/swiss_public_transport.markdown
+++ b/source/_integrations/swiss_public_transport.markdown
@@ -21,11 +21,11 @@ The [Swiss public transport API](https://transport.opendata.ch/) only allows 100
{% configuration_basic %}
Start station:
- description: "The departure station for the start of the connection (e.g., 'Zürich HB')"
+ description: "The departure station for the start of the connection (e.g., `Zürich HB`)"
End station:
- description: "The arrival station for the end of the connection (e.g., 'Geneva')"
+ description: "The arrival station for the end of the connection (e.g., `Geneva`)"
Via stations:
- description: "List of up to 5 via stations (e.g., 'Bern, Lausanne')"
+ description: "List of up to 5 via stations (e.g., `Bern`, `Lausanne`)"
{% endconfiguration_basic %}
Use the [Stationboard](https://transport.opendata.ch/examples/stationboard.html) to find exact station names.
@@ -95,8 +95,8 @@ Fetch the connections for a specific instance.
{% include common-tasks/define_custom_polling.md %}
-## Remove integration
+## Removing the integration
-This integration follows standard integration removal, no extra steps are required.
+This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/switch_as_x.markdown b/source/_integrations/switch_as_x.markdown
index cb8a0e6cd8f..269ff53526f 100644
--- a/source/_integrations/switch_as_x.markdown
+++ b/source/_integrations/switch_as_x.markdown
@@ -39,6 +39,7 @@ Using the **Change device type of a switch** helper integration, you can convert
entity types that best matches your use case.
{% include integrations/config_flow.md name="Switch as X" %}
+
{% configuration_basic %}
Switch entity:
description: The switch entity you want to convert into something else.
diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown
index 60921459d41..9e6f2e2aa00 100644
--- a/source/_integrations/switchbot.markdown
+++ b/source/_integrations/switchbot.markdown
@@ -166,12 +166,13 @@ cover:
The SwitchBot integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional.
-{% configuration_basic %}
-"Config flow could not be loaded":
- description: Possible custom integration conflict, using a different version of PySwitchbot; Try uninstalling the custom integration.
-"No unconfigured devices found":
- description: Make sure your devices are powered on and are in range.
-{% endconfiguration_basic %}
+{% details "Config flow could not be loaded" %}
+Possible custom integration conflict, using a different version of PySwitchbot; Try uninstalling the custom integration.
+{% enddetails %}
+
+{% details "No unconfigured devices found" %}
+Make sure your devices are powered on and are in range.
+{% enddetails %}
### Slow connection times
diff --git a/source/_integrations/tedee.markdown b/source/_integrations/tedee.markdown
index 3b88f58cc55..0c254a7385b 100644
--- a/source/_integrations/tedee.markdown
+++ b/source/_integrations/tedee.markdown
@@ -40,12 +40,8 @@ The integration will try to configure webhooks to receive near-real-time push up
{% configuration_basic %}
Host:
description: "The IP address of your bridge. You can find it in your router or in the Tedee app under **Bridge Settings** -> **Local API**."
- required: false
- type: string
Local Access Token:
description: "The local access token for your bridge. You can find it in the Tedee app under **Bridge Settings** -> **Local API**."
- required: false
- type: string
{% endconfiguration_basic %}
## Supported devices
@@ -110,9 +106,9 @@ This integration only supports functionality that is available locally. This mea
- Updates
- Key pads
-## Remove integration
+## Removing the integration
-This integration follows standard integration removal, no extra steps are required.
+This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/threshold.markdown b/source/_integrations/threshold.markdown
index 28d12c9a9b0..7eaa7364b1f 100644
--- a/source/_integrations/threshold.markdown
+++ b/source/_integrations/threshold.markdown
@@ -20,6 +20,7 @@ The threshold integration observes the state of another sensor. If the value is
If the sensor is configured with no hysteresis and the sensor value is equal to the threshold, the sensor is turned off since it is not upper or lower with respect to the threshold.
{% include integrations/config_flow.md %}
+
{% configuration_basic %}
Name:
description: The name the sensor should have. You can change it again later.
diff --git a/source/_integrations/tod.markdown b/source/_integrations/tod.markdown
index 57e458ef019..29ea8a9cb03 100644
--- a/source/_integrations/tod.markdown
+++ b/source/_integrations/tod.markdown
@@ -17,6 +17,7 @@ ha_integration_type: helper
The Times of the Day integration provides a binary sensor that gets its values by checking if the current time is within defined time ranges.
{% include integrations/config_flow.md %}
+
{% configuration_basic %}
Name:
description: The name the binary sensor should have. This can be changed later.
diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown
index 41d800b1e7b..7dd35bdeea7 100644
--- a/source/_integrations/tplink.markdown
+++ b/source/_integrations/tplink.markdown
@@ -188,3 +188,9 @@ data:
spread: 1
direction: 1
```
+
+## Removing the integration
+
+This integration follows standard integration removal. No extra steps are required.
+
+{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/traccar_server.markdown b/source/_integrations/traccar_server.markdown
index 83c70210b64..a1428ef7cd1 100644
--- a/source/_integrations/traccar_server.markdown
+++ b/source/_integrations/traccar_server.markdown
@@ -40,7 +40,6 @@ Examples:
All events will also have the following data:
{% configuration_basic %}
-
Device ID:
description: (`device_traccar_id`) This will be the device ID that the event is related to.
Device name:
@@ -51,7 +50,6 @@ Server time:
description: (`serverTime`) This will be the time the event was received by the Traccar Server.
Attributes:
description: (`attributes`) This will be a dictionary of attributes related to the event.
-
{% endconfiguration_basic %}
{% details "Example" %}
diff --git a/source/_integrations/trend.markdown b/source/_integrations/trend.markdown
index dca6ef56421..9a942f0c78b 100644
--- a/source/_integrations/trend.markdown
+++ b/source/_integrations/trend.markdown
@@ -24,6 +24,7 @@ Thus it can take some time to show an accurate state. It can be useful
as part of automations, where you want to base an action on a trend.
{% include integrations/config_flow.md %}
+
{% configuration_basic %}
Name:
description: The name the sensor should have. You can change it again later.
diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown
index c76aaf7ad83..16b522003c6 100644
--- a/source/_integrations/unifiprotect.markdown
+++ b/source/_integrations/unifiprotect.markdown
@@ -72,13 +72,13 @@ It is recommended you use the Administrator or a user with full read/write acces
but it is not required. The entities that are created will automatically adjust based on the permissions of the user you
use has.
-1. Login to your _Local Portal_ on your UniFi OS device, and click on _Users_. **Note**: This **must** be done from
- the UniFi OS by accessing it directly by IP address (i.e. _Local Portal_), not via `unifi.ui.com` or within the
- UniFi Protect app.
-2. Go to **Admins** from the left hand side menu or [IP address]/admins/users e.g. 192.168.1.1/admins/users.
-3. Click on **Add New Admin**.
-4. Select **Full Management** for the role. Uncheck **Allow Remote Access** and fill out the fields for your user.
-5. Click **Add** in the bottom right.
+1. Login to your _Local Portal_ on your UniFi OS device, and click on _Users_.
+**Note**: This **must** be done from the UniFi OS by accessing it directly by IP address (e.g. _192.168.1.1_), not via `unifi.ui.com` or within the UniFi Protect app.
+2. Go to **Admins & Users** from the left hand side menu and select the **Admins** tab or go to [IP address]/admins/ (e.g. _192.168.1.1/admins/_).
+3. Click on **+** in the top right corner and select **Add Admin**.
+4. Select **Restrict to local access only** and enter a new _username_ and _password_.
+5. Select **Full Management** for the _Protect_ role.
+6. Click **Add** in the bottom right.

diff --git a/source/_integrations/venstar.markdown b/source/_integrations/venstar.markdown
index f65443755f8..02b395010fc 100644
--- a/source/_integrations/venstar.markdown
+++ b/source/_integrations/venstar.markdown
@@ -79,24 +79,13 @@ If the local API is successfully enabled on the thermostat, you should see some
{% configuration_basic %}
host:
- description: Address of your thermostat, e.g., 192.168.1.32.
- required: true
- type: string
+ description: Address of your thermostat, e.g., `192.168.1.32`.
username:
description: Username for the thermostat.
- required: false
- type: string
password:
description: Password for the thermostat.
- required: false
- type: string
pin:
description: Pin for Lockscreen (required if lock screen enabled)
- required: false
- type: string
ssl:
description: Whether to use SSL or not when communicating.
- required: false
- type: boolean
- default: false
{% endconfiguration_basic %}
diff --git a/source/_integrations/version.markdown b/source/_integrations/version.markdown
index 2c150d61478..2a9b4782141 100644
--- a/source/_integrations/version.markdown
+++ b/source/_integrations/version.markdown
@@ -27,21 +27,16 @@ The **Version** {% term integration %} can display the current Home Assistant Co
With this {% term integration %} you can select various sources to get a version from.
{% configuration_basic %}
- "Local installation":
- description: This will get the version you are currently running.
-
- "Home Assistant Versions":
- description: This will use the same source that are used by the Supervisor to check for updates based on the channel and image you choose.
-
- "Home Assistant Website":
- description: This will check the website you are reading this on to find the latest version.
-
- "Docker Hub":
- description: This will check the latest tag published to Docker Hub based on the channel and image you choose.
-
- "Python Package Index (PyPI)":
- description: This will check PyPI for the latest published package.
-
+Local installation:
+ description: This will get the version you are currently running.
+Home Assistant Versions:
+ description: This will use the same source that are used by the Supervisor to check for updates based on the channel and image you choose.
+Home Assistant Website:
+ description: This will check the website you are reading this on to find the latest version.
+Docker Hub:
+ description: This will check the latest tag published to Docker Hub based on the channel and image you choose.
+Python Package Index (PyPI):
+ description: This will check PyPI for the latest published package.
{% endconfiguration_basic %}
## Entities
diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown
index 4c8c1a6bf71..d9b808e0976 100644
--- a/source/_integrations/wled.markdown
+++ b/source/_integrations/wled.markdown
@@ -154,6 +154,22 @@ data:
{% endraw %}
+It is recommended to select an effect that matches the capabilities of your WLED device (e.g., 1D, 2D, or Sound Reactive). You can refer to the [WLED effect list](https://kno.wled.ge/features/effects/) to explore available options. Once you identify compatible effects, you can randomize them based on their IDs.
+
+Below is an example of how to select a random effect with an ID between 1 and 117, excluding retired effects:
+
+{% raw %}
+
+```yaml
+action: light.turn_on
+target:
+ entity_id: light.wled
+data:
+ effect: "{{ state_attr('light.wled', 'effect_list')[1:118] | reject('equalto', 'RSVD') | list | random }}"
+```
+
+{% endraw %}
+
### Activating random palette
Activating a random palette is very similar to the above random effect,
diff --git a/source/_integrations/xiaomi_miio.markdown b/source/_integrations/xiaomi_miio.markdown
index 740023293eb..0126f3b30fa 100644
--- a/source/_integrations/xiaomi_miio.markdown
+++ b/source/_integrations/xiaomi_miio.markdown
@@ -1695,7 +1695,6 @@ Enter remote control mode, make one move, stop, and exit remote control mode.
### Sensors
{% configuration_basic %}
-
DnD Start*:
description: The timestamp when the next DnD (Do not disturb) period will start
DnD End*:
@@ -1732,7 +1731,6 @@ Water Box Attached**:
description: If the watter box is attached
Water Shortage\*\*:
description: If the water box is low on water
-
{% endconfiguration_basic %}
{% note %}
diff --git a/source/_integrations/zwave_me.markdown b/source/_integrations/zwave_me.markdown
index ad4d306c0d6..79f88938ce0 100644
--- a/source/_integrations/zwave_me.markdown
+++ b/source/_integrations/zwave_me.markdown
@@ -43,16 +43,10 @@ This integration allows you to control a Z-Wave network via the [Z-Wave.Me Z-Way
{% include integrations/config_flow.md %}
{% configuration_basic %}
-
URL:
description: The IP address with the port of the Z-Way server. The IP address can be prefixed with wss:// if HTTPS should be used instead of HTTP (when using find.z-wave.me remote access service or public IP with SSL).
- required: true
- type: string
API Token:
description: Z-Way API access token of the Z-Way server. To get the token go to the Z-Way user interface Smart Home UI > Menu > Settings > Users > Administrator > API token.
- required: true
- type: string
-
{% endconfiguration_basic %}
When connecting via find.z-wave.me remote access service you need to use a token with a global scope (log-in to Z-Way via [find.z-wave.me](https://find.z-wave.me) for this).
diff --git a/source/_posts/2024-12-01-the-month-of-what-the-heck.markdown b/source/_posts/2024-12-01-the-month-of-what-the-heck.markdown
new file mode 100644
index 00000000000..e1f432e743c
--- /dev/null
+++ b/source/_posts/2024-12-01-the-month-of-what-the-heck.markdown
@@ -0,0 +1,211 @@
+---
+title: The month of 'What the Heck?!' 2024
+description: "Ever felt that 'What the heck Home Assistant?!' moment? This month, we would like to learn about your 'what the heck?!' moments..."
+date: 2024-11-30 00:00:00
+date_formatted: "November 30, 2024"
+author: Franck Nijhof
+author_twitter: frenck
+categories: Announcements
+og_image: /images/blog/2024-12-01-the-month-of-what-the-heck/social.jpg
+---
+
+
+
+**TL;DR**: For all of December 🎄, we are opening up to share any issue, idea,
+suggestion, or annoyance you have with Home Assistant
+[on our community forums]!
+
+[on our community forums]: https://community.home-assistant.io/c/month-of-what-the-heck/61
+
+## Welcome to the month of “What the heck?!”: Third edition
+
+**It’s back!** 🎉 We are thrilled to announce the **third** edition of the month
+of “What the heck?!” (WTH for short). Every [two] [years], we take the time to
+pause, listen, and dive deep into the little things that maybe you go
+*“What the heck?!”* about Home Assistant.
+
+We’ve been [growing really hard for years now] with over a million
+Home Assistant-powered smart homes out there, and, as of this year, we are also
+[the \#1 open source project on GitHub]!
+
+A lot has happened since [the last edition two years ago]. Lots of effort went
+into making a [voice-controlled Home Assistant] a reality. We have implemented
+[new dashboards and cards] (with drag-and-drop!),
+[added organization capabilities] with labels and categories, and so [much]
+[more]! But did everything turn out the way it should? Did we miss things?
+Or, worse, did something start to annoy you?
+
+That is what this month is about! This year, we are kicking it off in the month
+of **December** as a nice closing activity for this year, and we can’t wait to
+hear from 👉 **YOU** 👈!
+
+[added organization capabilities]: /blog/2024/04/03/release-20244/#three-new-ways-to-organize
+[growing really hard for years now]: https://analytics.home-assistant.io/
+[more]: /blog/2023/11/01/release-202311/#there-is-a-lot-to-do
+[much]: /blog/2024/06/05/release-20246/#dipping-our-toes-in-the-world-of-ai-using-llms
+[new dashboards and cards]: /blog/2024/11/06/release-202411/#sections-dashboard-no-longer-experimental
+[the \#1 open source project on GitHub]: /blog/2024/11/18/event-wrapup-github-universe-24/#we-are-number-1
+[the last edition two years ago]: /blog/2022/09/30/the-month-of-what-the-heck/
+[two]: /blog/2020/08/18/the-month-of-what-the-heck/
+[voice-controlled Home Assistant]: /blog/2022/12/20/year-of-voice/
+[years]: /blog/2022/09/30/the-month-of-what-the-heck/
+
+### Lowering the barrier for sharing WTH?! moments
+
+We realize reporting bugs on our [GitHub] might be a steep hill and, for some,
+maybe even a bit scary. You need a GitHub account to report an issue following
+issue templates and forms, and the report itself needs to be written in a way
+that a developer can work with. Above all, we use our issue tracker to track
+actual issues and bugs, not small feature requests or annoyances.
+
+While this is a common and reasonable process to collect, track, and process
+bugs, our issue tracking-process might not be the ideal way to learn about your
+*“What the heck?!”* moments, small tweaks, and improvements that can make us
+all enjoy Home Assistant even more.
+
+Today, we have opened up a [Community Forum category] as a safe, lower-barrier
+place to talk about your Home Assistant “What the heck?!” moments.
+More importantly: discuss and vote on topics your fellow home automators have
+brought up.
+
+[Community Forum category]: https://community.home-assistant.io/c/month-of-what-the-heck/61
+[GitHub]: https://github.com/home-assistant/core/issues/new/choose
+
+## What are we looking for?
+
+Just as with previous editions, I sent out a related question on my socials
+earlier this week:
+
+> 🎅 𝘚𝘢𝘯𝘵𝘢 𝘮𝘪𝘨𝘩𝘵 𝘣𝘦 𝘭𝘪𝘴𝘵𝘦𝘯𝘪𝘯𝘨… If you could ask for one small Home Assistant
+> improvement this holiday season, what would it be?
+
+The answers to this question pretty much capture the goal behind this month:
+Finding those nice quality-of-life features and little annoyances, highlighting
+inconsistencies, suggestions for things that could be streamlined more, and even
+big-ticket items. All of those things would make Home Assistant even more
+awesome for everyone.
+
+I’ve received many responses on these social media posts on [X], [Mastodon],
+and [Bluesky]. Most of the responses there are **exactly** what we are looking
+for this month. I’ve picked a few from these platforms to show you what I mean:
+
+- “*Makes exposing entities to HomeKit the same as to Alexa & Google*” ([Peter Hardy-vanDoorn])
+- *"Polygon zones would be so very helpful instead of just the base circle"* ([KrispKiwi])
+- “*Edit a scene without activating it. I can only edit my sleep scene after everyone goes to sleep or in YAML.”* ([codebuild21])
+- *"The possibility of catching errors in automations and being able to take actions when they occur 🙂"* ([Sergio Mayoral])
+- *"Not Fancy! Better backup management, especially pruning options!"* ([Alex Alami])
+- *"Persist my prefered dashboard across my different devices/browsers."* ([Carlos Sánchez López])
+- *"Home Assistant voice hardware!"* ([Paulus Schoutsen]) 😆
+
+These are all great topics for the month of “What the heck?!”, I hope they inspire you for more topics to share 💖.
+
+[Alex Alami]: https://bsky.app/profile/aaposutry.bsky.social/post/3lby3xqhzzk2w
+[Bluesky]: https://bsky.app/profile/did:plc:ofidofdlypuxb2dlfdmbh3a3/post/3lbx2w2kh5a2p
+[Carlos Sánchez López]: https://bsky.app/profile/chayotejarocho.space/post/3lbx7yorfms2c
+[codebuild21]: https://bsky.app/profile/codebuild21.bsky.social/post/3lbx72g4l6s2n
+[KrispKiwi]: https://x.com/KrispKiwi/status/1861825026825265406
+[Mastodon]: https://fosstodon.org/@frenck/113556074335097996
+[Paulus Schoutsen]: https://bsky.app/profile/paulusschoutsen.nl/post/3lbx32dabes2s
+[Peter Hardy-vanDoorn]: https://x.com/peterjvandoorn/status/1861898354038292579
+[Sergio Mayoral]: https://x.com/sermayoral/status/1862109088139583917
+[X]: https://x.com/Frenck/status/1861823068735181154
+
+## Roadmap
+
+As you might be aware, we also create and publish a bigger, high level, roadmap
+for the greater direction of Home Assistant. A few weeks back, [Madelena]
+and [JLo] shared the [2024 Year-end update of our roadmap].
+
+This year’s month of “What the heck?!” is thus different in this regard, as in
+previous editions we didn’t have any roadmap in place. For this year’s WTH,
+the product team will also be watching for items that will help shape and
+prioritize our roadmap for the near future.
+
+As a matter of fact, many items on this year’s roadmap that we’ve worked on
+have their origins or have been shaped by topics from the previous WTH from
+2022. For example, the [ability to organize automations] and the ability to
+[drag-and-drop cards on your dashboards].
+
+[2024 Year-end update of our roadmap]: https://www.home-assistant.io/blog/2024/11/15/roadmap-2024h2/
+[ability to organize automations]: https://community.home-assistant.io/t/why-are-all-automations-in-one-big-list/467153?u=frenck
+[drag-and-drop cards on your dashboards]: https://community.home-assistant.io/t/wth-cant-we-drag-drop-in-the-dashboard/467205?u=frenck
+[JLo]: https://github.com/jlpouffier
+[Madelena]: https://github.com/madelena
+
+## Why December?
+
+In the previous editions, we had this month in October; this year, we decided to
+move it to December. We figured, the holiday season is perfect for this event. 🎄
+
+Many of us have a bit more time on our hands during the holidays, whether that’s
+tinkering with automations, exploring our new dashboards, contributing to our
+project, or simply enjoying engaging our active and vibrant community.
+
+## Start sharing your WTH!
+
+👆That title says it all really. Start sharing **your** “What the heck?!”
+moment, browse through all the WTH moments others brought up, and vote for the
+ones you feel the same about.
+
+We are excited about this month and looking forward to everything brought up!
+
+**[Join us on the forums!]**, or read the **[FAQ](#faq)** below.
+
+[Join us on the forums!]: https://community.home-assistant.io/c/month-of-what-the-heck/61
+
+
+
+So, when does Home Assistant trigger this moment for you?
+
+
+## FAQ
+
+- **_“Great! I have multiple things! Should I put all my stuff in a single
+ topic?!”_**
+
+ **No**, please create **multiple**, **smaller** topics. There is no limitation
+ on how many forum topics one can create for WTH. Each topic can be voted on,
+ picked up, and maybe even resolved. Also, having multiple things stacked in
+ a single forum topic makes resolving, discussing, and voting on them hard.
+
+
+
+- **_“Is everything reported going to be fixed/addressed?”_**
+
+ Sorry, but the answer here is **no**; there is no guarantee that it will
+ happen. The goal is to lower the barrier reporting things for one month.
+ Code contributors will definitely join the effort and address a few of the
+ listed things. Still, in the end, the number of submissions in WTH is,
+ in general, simply too much to address. However, we have picked up a lot of
+ items over the years (including bigger topics); it helps us shape our roadmap.
+
+
+
+- **_"I really want this new integration or add-on to be implemented, so I can
+ use my devices. Is this the right place for it?”_**
+
+ **No**, this event is **not** for requesting new add-ons or device/services
+ integrations. Please use the "[Feature Requests]" forum category instead.
+
+
+
+- **_“My WTH topic is one of the top-voted ones, so it is going to be
+ fixed/addressed, right?”_**
+
+ This is **not** a contest. Voting will help with visibility and give a sense
+ of the suggestion's impact. However, it might be difficult or too big to
+ implement. A topic with lots of votes is more likely to be noticed by a
+ contributor, but it is not guaranteed to be picked up.
+
+ Topics with a lot of engagement, of course, help us shape our future roadmap.
+
+
+
+- **_“I’ve found a bug and am comfortable with GitHub. Where should I report my
+ issue now?”_**
+
+ If you are comfortable using GitHub, please, by all means,
+ [file an issue report on GitHub] instead.
+
+[Feature Requests]: https://community.home-assistant.io/c/feature-requests/13
+[file an issue report on GitHub]: https://github.com/home-assistant/core/issues/new/choose
diff --git a/source/images/blog/2024-12-01-the-month-of-what-the-heck/social.jpg b/source/images/blog/2024-12-01-the-month-of-what-the-heck/social.jpg
new file mode 100644
index 00000000000..fb376a1a4cd
Binary files /dev/null and b/source/images/blog/2024-12-01-the-month-of-what-the-heck/social.jpg differ
diff --git a/source/voice_control/index.markdown b/source/voice_control/index.markdown
index 14f21baba7b..972d688e7fe 100644
--- a/source/voice_control/index.markdown
+++ b/source/voice_control/index.markdown
@@ -25,7 +25,7 @@ As for the rest of Home Assistant core functionalities, Assist can be personaliz
-Although adding voice to your smart home configuration is exciting, it will require you to check your existing setup of Home Assistant, especially if you made a lot of customization. But we have prepared a guide of steps and best practices to help you out, as well as our [Troubleshooting](/voice_source/troubleshooting/) guides.
+Although adding voice to your smart home configuration is exciting, it will require you to check your existing setup of Home Assistant, especially if you made a lot of customization. But we have prepared a guide of steps and best practices to help you out, as well as our [Troubleshooting](/voice_control/troubleshooting/) guides.
Ready? Now let's get started