-
{% assign pages_by_date = site.pages | sort: "date" | reverse %} {% for
page in pages_by_date %} {% if page.layout == "landingpage" and
page.frontpage != false %}
diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown
index 090ae342cbd..862dec901ff 100644
--- a/source/_integrations/apcupsd.markdown
+++ b/source/_integrations/apcupsd.markdown
@@ -18,7 +18,7 @@ ha_platforms:
ha_integration_type: integration
---
-[apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device.
+[apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) is configured on the APC device.
There is currently support for the following device types within Home Assistant:
@@ -35,7 +35,7 @@ After installation, follow the instructions on the GitHub page to configure the
{% note %}
-If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addresses will not connect.
+If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses NISIP 0.0.0.0, else non-local addresses will not connect.
{% endnote %}
diff --git a/source/_integrations/aquacell.markdown b/source/_integrations/aquacell.markdown
index 1f884148aaa..f51bde2caf1 100644
--- a/source/_integrations/aquacell.markdown
+++ b/source/_integrations/aquacell.markdown
@@ -14,26 +14,90 @@ ha_platforms:
ha_integration_type: device
---
-AquaCell is a water-softening device. The **AquaCell** {% term integration %} allows you to monitor your AquaCell device in Home Assistant.
+AquaCell is a water-softening device. The [AquaCell](https://www.aquacell-waterontharder.nl/) {% term integration %} allows you to monitor your AquaCell device in Home Assistant.
You will need your Aquacell account information as used in the **AquaCell** app.
-This integration also supports **Harvey** softeners.
+This integration also supports [Harvey](https://www.harveywatersofteners.co.uk/) softeners.
+
+## Supported devices
+
+This integration only works for softener models which have an **i-Lid** and are configured through the 'Mijn AquaCell' or 'My Harvey' mobile app.
+These models are also recognizable by the required curved salt blocks.
+- [AquaCell](https://www.aquacell-waterontharder.nl/aquacell)
+- [HarveyArc Water Softener](https://www.harveywatersofteners.co.uk/products/water-softeners/harveyarc-water-softener)
+
+## Prerequisites
+
+The softener needs to be set up with the official app before being able to integrate it in Home Assistant.
{% include integrations/config_flow.md %}
-
-This integration only works with AquaCell or Harvey devices which have an i-Lid and are configured through the 'Mijn AquaCell' or 'My Harvey' mobile app.
-
+{% configuration_basic %}
+Email address:
+ description: The email address used to log in to the mobile app used to monitor the softener.
+ required: true
+ type: string
+Password:
+ description: The password used to log in to the mobile app used to monitor the softener.
+ required: true
+ type: string
+{% endconfiguration_basic %}
## Sensors
-This integration provides {% term sensors %} for the following information from the AquaCell device:
+This integration provides {% term sensors %} for the following information from the softener device:
- Percentage of salt remaining.
- Time remaining until 0% salt level is reached.
-- iLid battery level.
+- i-Lid battery level.
- Wi-Fi signal strength.
-
-The device does not update frequently, the integration polls the information once a day from the cloud.
-
+## Use cases
+
+The integration provides sensors to monitor the salt level of the softener. You can use this information to create automations, for example, to notify you when the salt level is low and a refill is needed.
+
+You can also easily plot the history of the salt level sensors over time, which can give you more insight into usage.
+
+## Examples
+
+The following examples show how to use this integration in Home Assistant automations.
+
+### Send notification when salt is running out
+
+The following example sends a notification to your mobile device when the salt is running out on either side.
+
+```yaml
+automation:
+ - alias: "Notify when salt is running low"
+ triggers:
+ - trigger: numeric_state
+ entity_id:
+ - sensor.my_softener_salt_left_side_percentage
+ - sensor.my_softener_salt_right_side_percentage
+ below: 10
+
+ actions:
+ - action: notify.mobile_app_your_device
+ data:
+ title: "Softener is almost out of salt"
+ message: >
+ Place new salt blocks in the softener.
+```
+
+## Data updates
+
+The device does not update frequently, the integration is {% term polling %} new data every day from the cloud.
+
+## Known limitations
+
+There are no known limitations for this integration.
+
+## Troubleshooting
+
+There are no commonly known issues with this integration.
+
+## Remove integration
+
+This integration follows standard integration removal, no extra steps are required.
+
+{% include integrations/remove_device_service.md %}
diff --git a/source/_integrations/google_tasks.markdown b/source/_integrations/google_tasks.markdown
index a3c79002c9d..01cb20c1ce0 100644
--- a/source/_integrations/google_tasks.markdown
+++ b/source/_integrations/google_tasks.markdown
@@ -23,67 +23,135 @@ related:
title: Google Tasks
- url: https://console.cloud.google.com/apis/library/tasks.googleapis.com
title: Google Developers Console
+google_dev_console_link: https://console.developers.google.com/start/api?id=tasks
+api: Google Tasks API
+api_link: https://console.cloud.google.com/apis/enableflow?apiid=tasks.googleapis.com
---
-The **Google Tasks** integration allows you to connect your [Google Tasks](https://support.google.com/tasks/answer/7675772) to Home Assistant. The integration adds a [to-do list entity](/integrations/todo) for
-each task list, allowing you to create, update, or delete items on the list from the **To-do list** dashboard.
+The **Google Tasks** integration allows you to connect your [Google Tasks](https://support.google.com/tasks/answer/7675772)
+to Home Assistant. The integration adds a [to-do list entity](/integrations/todo) for
+each task list, allowing you to create, update, or delete items on the list
+from the **To-do list** dashboard.
-{% note %}
-The Google Tasks public API does not support viewing or setting the due time of tasks, only the due date.
-{% endnote %}
+You can use to-do lists in automations, such as adding a new task when Home Assistant detects
+a device has low batteries. When you combine with a Home Assistant voice assistant, you can
+manage your Google Tasks by saying something like *Add clean out garage to personal task list*.
## Prerequisites
You need to configure developer credentials to allow Home Assistant to access your Google Account.
-These credentials are the same as the ones for [Nest](/integrations/nest) and [Google Mail](/integrations/google_mail).
+These credentials are the same as the ones for [Nest](/integrations/nest), [Google Mail](/integrations/google_mail), and most other Google integrations.
These are not the same as *Device Auth* credentials previously recommended for [Google Calendar](/integrations/google).
-If you have already set up the correct credentials, you can do step 1 and then skip to step 13 on the below instructions.
-
-{% details "Generate Client ID and Client Secret" %}
-
-This section explains how to generate a Client ID and Client Secret on
-[Google Developers Console](https://console.cloud.google.com/apis/library/tasks.googleapis.com).
-
-1. First, go to the Google Developers Console to enable [Google Tasks](https://console.cloud.google.com/apis/library/tasks.googleapis.com)
-2. The wizard will ask you to choose a project to manage your application. Select a project and select **Continue**.
-3. Verify that your Google Tasks API was enabled and select **Go to credentials**.
-4. Navigate to **APIs & Services** (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials).
-5. Click on the field on the left of the screen, **OAuth Consent Screen**.
-6. Select **External** and **Create**.
-7. Set the **App Name** (the name of the application asking for consent) to anything you want, for example to *Home Assistant*.
-8. You then need to select a **Support email**. To do this, from the dropdown menu, select your email address.
-9. You finally need to complete the section: **Developer contact information**. To do this, enter your email address (the same as above is fine).
-10. Scroll to the bottom and select **Save and Continue**. You don't have to fill out anything else, or it may enable additional review.
-11. You will then be automatically taken to the **Scopes** page. You do not need to add any scopes here, so select **Save and Continue** to move to the **Optional info** page. You do not need to add anything to the **Optional info** page, so select **Save and Continue**, which will take you to the **Summary** page. Select **Back to Dashboard**.
-12. Select **OAuth consent screen** again and set **Publish Status** to **Production**. Otherwise, your credentials will expire every 7 days.
-13. Make sure **Publishing status** is set to production.
-14. Select **Credentials** in the menu on the left-hand side of the screen, then select **Create credentials** (at the top of the screen), then select **OAuth client ID**.
-15. Set the Application type to **Web application** and give this credential set a name (like "Home Assistant Credentials").
-16. Add `https://my.home-assistant.io/redirect/oauth` to **Authorized redirect URIs** then select **Create**. This is not a placeholder and is the URI that must be used.
-17. You will then be presented with a pop-up saying **OAuth client created**, showing **Your Client ID** and **Your Client Secret**. Make a note of these (for example, copy and paste them into a text editor), as you will need them shortly. Once you have noted these strings, select **OK**. If you need to find these credentials again at any point, then navigate to **APIs & Services** > **Credentials**, and you will see **Home Assistant Credentials** (or whatever you named them in the previous step) under **OAuth 2.0 Client IDs**. To view both the **Client ID** and **Client secret**, select the pencil icon. This will take you to the settings page for these credentials, and the information will be on the right-hand side of the page.
-18. Double-check that the **Google Tasks API** has been automatically enabled. To do this, select **Library** from the menu, then search for **Google Tasks API**. If it is enabled, you will see **API Enabled** with a green tick next to it. If it is not enabled, then enable it.
-
-{% enddetails %}
+{% include integrations/google_client_secret.md %}
{% include integrations/config_flow.md %}
-The integration setup will next give you instructions to enter the [Application Credentials](/integrations/application_credentials/) (OAuth Client ID and Client Secret) and authorize Home Assistant to access your Google Tasks.
+{% include integrations/google_oauth.md %}
-{% details "OAuth and Device Authorization steps" %}
+## Supported functionality
-1. Continue through the steps of selecting the account you want to authorize.
+### Entities
-2. **NOTE**: You may get a message telling you that the app has not been verified and you will need to acknowledge that in order to proceed.
+The Google Tasks integration provides the following entities.
-3. You can now see the details of what you are authorizing Home Assistant to access with two options at the bottom. Select **Continue**.
+#### To-do lists
-4. The page will now display **Link account to Home Assistant?**, note **Your instance URL**. If this is not correct, refer to [My Home Assistant](/integrations/my). If everything looks good, select **Link Account**.
+The integration will create a [to-do list entity](/integrations/todo) for every task list.
+For example, a Google Tasks list named *My Tasks* then will have a Home Assistant
+to-do list entity named *My Tasks*.
-5. You may close the window, and return back to Home Assistant where you should see a **Success!** message from Home Assistant.
+The Google Task integration can create, update, or delete items on a to-do list.
+The to-do list entities support creating, updating, and deleting items on the to-do
+list. A to-do list item supports the following fields:
-{% enddetails %}
+- **Item**: The item is the Google Task *Title* field.
+- **Due date**: The Google Tasks Date. The time field in Google Tasks is not supported
+ by the Google Tasks API.
+- **Description**: The Google Tasks *Details* field.
+- **Status**: The Google Tasks *Completed* check box corresponds to the to-do list
+ status `needs_action` when not checked and `completed` when checked.
+
+
+## Actions
+
+The Google Tasks integration provides all actions supported by a to-do list entity
+including actions for retrieving, creating, updating, and deleting to-do list items and the fields
+described above. See the [To-do list: Actions](/integrations/todo#actions) documentation
+for more details.
+
+## Examples
+
+### Low Battery Maintenance
+
+You can use Google Tasks to help you automate battery maintenance. To tackle this
+you can use this blueprint to send a notification with devices that have low
+low battery level. The notification includes a button that can add an item to your
+Google Tasks to-do list.
+
+[Low Battery Notifications & Actions](https://community.home-assistant.io/t/low-battery-notifications-actions/653754)
+
+
+## Data updates
+
+The Google Tasks integration fetches task lists once initially, and creates a
+to-do list for each task list. Data for each to-do list refreshed refreshed by
+{% term polling %} every 30 minutes.
+
+Updates to the to-do list in Home Assistant use the Google Tasks API and changes
+are reflected immediately in Google Tasks. This will also refresh the to-do
+list contents, {% term polling %} again for any new changes.
+
+## Known limitations
+
+There are some known Google Tasks API limitations that affect this integration:
+
+- Only supports {% term polling %}. Updates in Google Tasks are not reflected immediately in Home Assistant.
+- Only supports viewing or setting a task due date. A task due *time* is not supported.
## Troubleshooting
-If you have an error with your credentials, you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface.
+### Can’t setup the integration
+
+#### Symptom: “The OAuth client was not found.”
+
+When trying to configure the integration, the Google OAuth flows shows the message *The OAuth client was not found* and *Error 401: invalid_client*.
+
+##### Description
+
+This means that the application credentials in Home Assistant do not match the
+OAuth credentials in the Google Cloud console.
+
+##### Resolution
+
+To resolve this issue:
+
+1. Follow the instructions in [Application Credentials](/integrations/application_credentials/#deleting-application-credentials) to remove any existing credentials.
+1. Follow the steps above in the [Prerequisites](#prerequisites).
+1. Follow the steps above in the [Configuration](#configuration).
+
+#### Symptom: "Unable to access the Google API: Tasks API has not been used in project before or it is disabled"
+
+Home Assistant fails to configure the integration with the error *Unable to access the
+Google API: Google Tasks API has not been used in project before or it is disabled*.
+
+##### Description
+
+This means that Home Assistant is unable to use the Google Tasks API because it was not
+enabled in the Google Cloud Console.
+
+##### Resolution
+
+Follow the steps above in the [Prerequisites](#prerequisites) to enable the Google Tasks API.
+
+
+## Removing the integration
+
+This integration follows standard integration removal. No extra steps are required.
+
+{% include integrations/remove_device_service.md %}
+
+You will be asked if you would like to remove [Application Credentials](/integrations/application_credentials/) which you can do if you no longer plan to use
+Google Tasks with Home Assistant. You may want to also remove any credentials
+in the Google Cloud Console, created above in the Prerequisites, if they are no
+longer in use with any of your other Home Assistant integrations.
diff --git a/source/_integrations/iron_os.markdown b/source/_integrations/iron_os.markdown
index f7e9818dc1e..f7f92087b88 100644
--- a/source/_integrations/iron_os.markdown
+++ b/source/_integrations/iron_os.markdown
@@ -44,6 +44,13 @@ Home Assistant will detect nearby IronOS devices. Discovered devices will show u
{% include integrations/config_flow.md %}
+### Configuration parameters
+
+{% configuration_basic %}
+"Address":
+ description: "The Bluetooth address of the detected IronOS device."
+{% endconfiguration_basic %}
+
## Number controls
- **Setpoint temperature:** Allows to set the desired target temperature for the soldering iron tip.
diff --git a/source/_integrations/mealie.markdown b/source/_integrations/mealie.markdown
index a945f5a41fe..0e506e58a4a 100644
--- a/source/_integrations/mealie.markdown
+++ b/source/_integrations/mealie.markdown
@@ -19,7 +19,7 @@ ha_platforms:
ha_integration_type: service
---
-The Mealie integration will fetch data from your [Mealie instance](https://mealie.io/).
+[Mealie](https://mealie.io/) is an open source, self-hosted recipe manager, meal planner, and shopping list. The Mealie {% term integration %} will fetch and allow you to create and update data held in your Mealie instance.
## Prerequisites
diff --git a/source/_integrations/myuplink.markdown b/source/_integrations/myuplink.markdown
index 3eee099cf57..b3121f46f4b 100644
--- a/source/_integrations/myuplink.markdown
+++ b/source/_integrations/myuplink.markdown
@@ -79,23 +79,21 @@ Common use cases include:
## Example
-Automation that will send a notification to a smartphone when the hot water reserve is getting low. Note that actual entity name varies between models of heat pumps. You will have to adapt the yaml code to your own installation.
+Automation that will send a notification to a smartphone when the hot water reserve is getting low. In this example a temperature below 42°C in the middle of the water tank will trigger the notification. Note that actual entity name varies between models of heat pumps. You will have to adapt the yaml code to your own installation.
```yaml
automation:
- alias: Notify on low hot water reserve
- triggers:
- - trigger: numeric_state
- entity_id:
- - sensor.your_pump_hot_water_charging_bt6
- below: 42
- actions:
- - action: notify.mobile_app_your_device
- metadata: {}
- data:
- message: Hot water reserve is getting low.
- title: Water heater
- mode: single
+ - alias: "Notify on low hot water reserve"
+ triggers:
+ - trigger: numeric_state
+ entity_id:
+ - sensor.your_pump_hot_water_charging_bt6
+ below: 42
+ actions:
+ - action: notify.mobile_app_your_device
+ data:
+ message: "Hot water reserve is getting low."
+ title: "Water heater"
```
## Data updates
diff --git a/source/_integrations/ness_alarm.markdown b/source/_integrations/ness_alarm.markdown
index aba79b59b17..999d7a4e498 100644
--- a/source/_integrations/ness_alarm.markdown
+++ b/source/_integrations/ness_alarm.markdown
@@ -103,6 +103,19 @@ scan_interval:
milliseconds: 0
```
+### Alarm System Configuration
+
+As part of the installation process of the IP232 module, the device will need to be configured with the correct settings. From the [iComms Manual](https://ness.zendesk.com/hc/en-us/articles/360021989074-iComms-Manual), there are 3 essential steps:
+1. Setting up the IP232 module with the correct baud rate (9600).
+2. Ensuring connectivity of the device on either a DHCP assigned or Static IP address.
+3. Setting the alarm panel up to allow for serial control. On D8x/D16x panels this is enabled by setting `P 199 E` `1E` to `6E` to be `ON` (6E available on v6 panels and later only).
+
+If the settings in steps 1 and 2 are not set correctly, the integration will not be able to communicate properly with the device. If the `P 199 E` from step 3 is not configured properly, data will not be sent to the integration when events occur.
+
+{% important %}
+Incorrect configuration of these settings will prevent the integration from functioning properly.
+{% endimportant %}
+
## Actions
### Action `aux`
diff --git a/source/_integrations/russound_rio.markdown b/source/_integrations/russound_rio.markdown
index 1cb435d0e43..508206c3950 100644
--- a/source/_integrations/russound_rio.markdown
+++ b/source/_integrations/russound_rio.markdown
@@ -14,7 +14,7 @@ ha_config_flow: true
ha_integration_type: integration
---
-The `russound_rio` {% term integration %} allows you to control Russound devices that make use of the RIO protocol.
+The Russound RIO {% term integration %} allows you to control Russound devices that make use of the RIO protocol.
The platform automatically discovers all enabled zones and sources. Each zone is added as a media player device with the enabled sources available as inputs. Media information is supported if the selected source reports it. The integration allows you to navigate presets, control volume of all zones, and play radio stations all from your Home Assistant dashboard.
diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown
index d4a8abd5fbc..13e3f1273a8 100644
--- a/source/_integrations/sabnzbd.markdown
+++ b/source/_integrations/sabnzbd.markdown
@@ -30,6 +30,12 @@ You need to grab your API key from your SABnzbd instance in order to configure t
- Copy your API key under "Security".
{% include integrations/config_flow.md %}
+{% configuration_basic %}
+URL:
+ description: "The full URL, including port, of your SABnzbd server. Example: `http://localhost:8080` or `http://a02368d7-sabnzbd:8080`, if you are using the add-on."
+API key:
+ description: "The API key of your SABnzbd server. You can find this in the SABnzbd web interface under **Config cog** (top right) > **General** > **Security**."
+{% endconfiguration_basic %}
## Sensor
@@ -61,3 +67,9 @@ This integration will create two buttons:
## Number
This integration will create a number entity to set the download queue speed limit in percentage.
+
+## Removing the integration
+
+This integration follows standard integration removal. No extra steps are required.
+
+{% include integrations/remove_device_service.md %}
\ No newline at end of file
diff --git a/source/_integrations/sensor.rest.markdown b/source/_integrations/sensor.rest.markdown
index 59952b54f20..346285725ff 100644
--- a/source/_integrations/sensor.rest.markdown
+++ b/source/_integrations/sensor.rest.markdown
@@ -179,8 +179,8 @@ You can find your external IP address using the service [JSON Test](https://www.
```yaml
sensor:
- platform: rest
- resource: http://ip.jsontest.com
- name: External IP
+ name: "External IP"
+ resource: "https://api.ipify.org/?format=json"
value_template: "{{ value_json.ip }}"
```
diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown
index e321f44135e..2d2b7ad3691 100644
--- a/source/_integrations/smartthings.markdown
+++ b/source/_integrations/smartthings.markdown
@@ -302,7 +302,7 @@ The personal access token does not match the expected format. Make sure you are
You can fix this by using the SmartThings App to re-grant authorization to the API token you created before.
1. Open SmartThings app on your mobile device (not HA).
-2. Select **Automations** from bottom.
+2. Select **Routines** from bottom.
3. Select your Home Assistant automation from the list.
4. Select **Done**, then select **Allow**.
5. Reload your SmartThings integration from Home Assistant Devices panel.
diff --git a/source/_integrations/tesla_fleet.markdown b/source/_integrations/tesla_fleet.markdown
index 21dd41eb390..d766b8fb811 100644
--- a/source/_integrations/tesla_fleet.markdown
+++ b/source/_integrations/tesla_fleet.markdown
@@ -18,7 +18,7 @@ ha_release: 2024.8
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- - '@Bre77'
+ - "@Bre77"
ha_domain: tesla_fleet
ha_platforms:
- binary_sensor
@@ -73,143 +73,153 @@ You will need to use Tesla's [command line tools](https://github.com/teslamotors
```shell
tesla-keygen -key-file tesla_fleet.key create > tesla_fleet.pem
-tesla-control -ble -key-file tesla_fleet.key -vin VINVINVINVIN add-key-request tesla_fleet.pem owner cloud_key
+tesla-control -ble -key-file tesla_fleet.key -vin VINVINVINVIN -debug add-key-request tesla_fleet.pem owner cloud_key
```
Finally, copy `tesla_fleet.key` to your Home Assistant config directory and then reload the Tesla Fleet {% term integration %}.
+{% note %}
+If you receive a "BLE connection attempt failed" error, follow these steps:
+
+1. Disable Bluetooth on your phone
+2. Execute the `tesla-control` command
+3. Re-enable Bluetooth after the command completes
+
+This is necessary because the tool cannot establish a connection while another Bluetooth device is connected to the car.
+{% endnote %}
+
## Entities
These are the entities available in the Tesla Fleet integration. Not all entities are enabled by default, and not all values are always available.
### Vehicles
-|Domain|Name|Enabled|
-|---|---|---|
-|Binary sensor|Battery heater|No|
-|Binary sensor|Cabin overheat protection actively cooling|No|
-|Binary sensor|Charge cable|Yes|
-|Binary sensor|Charger has multiple phases|No|
-|Binary sensor|Dashcam|No|
-|Binary sensor|Front driver door|Yes|
-|Binary sensor|Front driver window|Yes|
-|Binary sensor|Front passenger door|Yes|
-|Binary sensor|Front passenger window|Yes|
-|Binary sensor|Preconditioning enabled|No|
-|Binary sensor|Preconditioning|No|
-|Binary sensor|Rear driver door|Yes|
-|Binary sensor|Rear driver window|Yes|
-|Binary sensor|Rear passenger door|Yes|
-|Binary sensor|Rear passenger window|Yes|
-|Binary sensor|Scheduled charging pending|No|
-|Binary sensor|Status|Yes|
-|Binary sensor|Tire pressure warning front left|No|
-|Binary sensor|Tire pressure warning front right|No|
-|Binary sensor|Tire pressure warning rear left|No|
-|Binary sensor|Tire pressure warning rear right|No|
-|Binary sensor|Trip charging|No|
-|Binary sensor|User present|Yes|
-|Button|Flash lights|Yes|
-|Button|Homelink|Yes|
-|Button|Honk horn|Yes|
-|Button|Keyless driving|Yes|
-|Button|Play fart|Yes|
-|Button|Wake|Yes|
-|Climate|Cabin overheat protection|No|
-|Climate|Climate|Yes|
-|Cover|Charge port door|Yes|
-|Cover|Frunk|Yes|
-|Cover|Sunroof|No|
-|Cover|Trunk|Yes|
-|Cover|Vent windows|Yes|
-|Device tracker|Location|Yes|
-|Device tracker|Route|Yes|
-|Lock|Charge cable lock|Yes|
-|Lock|Lock|Yes|
-|Media player|Media player|Yes|
-|Number|Charge current|Yes|
-|Number|Charge limit|Yes|
-|Select|Seat heater front left|Yes|
-|Select|Seat heater front right|Yes|
-|Select|Seat heater rear center|No|
-|Select|Seat heater rear left|No|
-|Select|Seat heater rear right|No|
-|Select|Seat heater third row left|No|
-|Select|Seat heater third row right|No|
-|Select|Steering wheel heater|Yes|
-|Sensor|Battery level|Yes|
-|Sensor|Battery range|Yes|
-|Sensor|Charge cable|No|
-|Sensor|Charge energy added|Yes|
-|Sensor|Charge rate|Yes|
-|Sensor|Charger current|Yes|
-|Sensor|Charger power|Yes|
-|Sensor|Charger voltage|Yes|
-|Sensor|Charging|Yes|
-|Sensor|Distance to arrival|Yes|
-|Sensor|Driver temperature setting|No|
-|Sensor|Estimate battery range|No|
-|Sensor|Fast charger type|No|
-|Sensor|Ideal battery range|No|
-|Sensor|Inside temperature|Yes|
-|Sensor|Odometer|No|
-|Sensor|Outside temperature|Yes|
-|Sensor|Passenger temperature setting|No|
-|Sensor|Power|No|
-|Sensor|Shift state|No|
-|Sensor|Speed|No|
-|Sensor|State of charge at arrival|No|
-|Sensor|Time to arrival|Yes|
-|Sensor|Time to full charge|Yes|
-|Sensor|Tire pressure front left|No|
-|Sensor|Tire pressure front right|No|
-|Sensor|Tire pressure rear left|No|
-|Sensor|Tire pressure rear right|No|
-|Sensor|Traffic delay|No|
-|Sensor|Usable battery level|No|
-|Switch|Auto seat climate left|Yes|
-|Switch|Auto seat climate right|Yes|
-|Switch|Auto steering wheel heater|Yes|
-|Switch|Charge|Yes|
-|Switch|Defrost|Yes|
-|Switch|Sentry mode|Yes|
+| Domain | Name | Enabled |
+| -------------- | ------------------------------------------ | ------- |
+| Binary sensor | Battery heater | No |
+| Binary sensor | Cabin overheat protection actively cooling | No |
+| Binary sensor | Charge cable | Yes |
+| Binary sensor | Charger has multiple phases | No |
+| Binary sensor | Dashcam | No |
+| Binary sensor | Front driver door | Yes |
+| Binary sensor | Front driver window | Yes |
+| Binary sensor | Front passenger door | Yes |
+| Binary sensor | Front passenger window | Yes |
+| Binary sensor | Preconditioning enabled | No |
+| Binary sensor | Preconditioning | No |
+| Binary sensor | Rear driver door | Yes |
+| Binary sensor | Rear driver window | Yes |
+| Binary sensor | Rear passenger door | Yes |
+| Binary sensor | Rear passenger window | Yes |
+| Binary sensor | Scheduled charging pending | No |
+| Binary sensor | Status | Yes |
+| Binary sensor | Tire pressure warning front left | No |
+| Binary sensor | Tire pressure warning front right | No |
+| Binary sensor | Tire pressure warning rear left | No |
+| Binary sensor | Tire pressure warning rear right | No |
+| Binary sensor | Trip charging | No |
+| Binary sensor | User present | Yes |
+| Button | Flash lights | Yes |
+| Button | Homelink | Yes |
+| Button | Honk horn | Yes |
+| Button | Keyless driving | Yes |
+| Button | Play fart | Yes |
+| Button | Wake | Yes |
+| Climate | Cabin overheat protection | No |
+| Climate | Climate | Yes |
+| Cover | Charge port door | Yes |
+| Cover | Frunk | Yes |
+| Cover | Sunroof | No |
+| Cover | Trunk | Yes |
+| Cover | Vent windows | Yes |
+| Device tracker | Location | Yes |
+| Device tracker | Route | Yes |
+| Lock | Charge cable lock | Yes |
+| Lock | Lock | Yes |
+| Media player | Media player | Yes |
+| Number | Charge current | Yes |
+| Number | Charge limit | Yes |
+| Select | Seat heater front left | Yes |
+| Select | Seat heater front right | Yes |
+| Select | Seat heater rear center | No |
+| Select | Seat heater rear left | No |
+| Select | Seat heater rear right | No |
+| Select | Seat heater third row left | No |
+| Select | Seat heater third row right | No |
+| Select | Steering wheel heater | Yes |
+| Sensor | Battery level | Yes |
+| Sensor | Battery range | Yes |
+| Sensor | Charge cable | No |
+| Sensor | Charge energy added | Yes |
+| Sensor | Charge rate | Yes |
+| Sensor | Charger current | Yes |
+| Sensor | Charger power | Yes |
+| Sensor | Charger voltage | Yes |
+| Sensor | Charging | Yes |
+| Sensor | Distance to arrival | Yes |
+| Sensor | Driver temperature setting | No |
+| Sensor | Estimate battery range | No |
+| Sensor | Fast charger type | No |
+| Sensor | Ideal battery range | No |
+| Sensor | Inside temperature | Yes |
+| Sensor | Odometer | No |
+| Sensor | Outside temperature | Yes |
+| Sensor | Passenger temperature setting | No |
+| Sensor | Power | No |
+| Sensor | Shift state | No |
+| Sensor | Speed | No |
+| Sensor | State of charge at arrival | No |
+| Sensor | Time to arrival | Yes |
+| Sensor | Time to full charge | Yes |
+| Sensor | Tire pressure front left | No |
+| Sensor | Tire pressure front right | No |
+| Sensor | Tire pressure rear left | No |
+| Sensor | Tire pressure rear right | No |
+| Sensor | Traffic delay | No |
+| Sensor | Usable battery level | No |
+| Switch | Auto seat climate left | Yes |
+| Switch | Auto seat climate right | Yes |
+| Switch | Auto steering wheel heater | Yes |
+| Switch | Charge | Yes |
+| Switch | Defrost | Yes |
+| Switch | Sentry mode | Yes |
### Energy sites
-|Domain|Name|Enabled|
-|---|---|---|
-|Binary sensor|Backup capable|Yes|
-|Binary sensor|Grid services active|Yes|
-|Binary sensor|Grid services enabled|Yes|
-|Binary sensor|Storm watch active|Yes|
-|Number|Backup reserve|Yes|
-|Number|Off grid reserve|Yes|
-|Select|Allow export|Yes|
-|Select|Operation mode|Yes|
-|Sensor|Battery power|Yes|
-|Sensor|Energy left|Yes|
-|Sensor|Generator power|No|
-|Sensor|Grid power|Yes|
-|Sensor|Grid services power|Yes|
-|Sensor|Grid status|Yes|
-|Sensor|Island status|Yes|
-|Sensor|Load power|Yes|
-|Sensor|Percentage charged|Yes|
-|Sensor|Solar power|Yes|
-|Sensor|Total pack energy|No|
-|Sensor|VPP backup reserve|Yes|
-|Sensor|Version|Yes|
-|Switch|Allow charging from grid|Yes|
-|Switch|Storm watch|Yes|
+| Domain | Name | Enabled |
+| ------------- | ------------------------ | ------- |
+| Binary sensor | Backup capable | Yes |
+| Binary sensor | Grid services active | Yes |
+| Binary sensor | Grid services enabled | Yes |
+| Binary sensor | Storm watch active | Yes |
+| Number | Backup reserve | Yes |
+| Number | Off grid reserve | Yes |
+| Select | Allow export | Yes |
+| Select | Operation mode | Yes |
+| Sensor | Battery power | Yes |
+| Sensor | Energy left | Yes |
+| Sensor | Generator power | No |
+| Sensor | Grid power | Yes |
+| Sensor | Grid services power | Yes |
+| Sensor | Grid status | Yes |
+| Sensor | Island status | Yes |
+| Sensor | Load power | Yes |
+| Sensor | Percentage charged | Yes |
+| Sensor | Solar power | Yes |
+| Sensor | Total pack energy | No |
+| Sensor | VPP backup reserve | Yes |
+| Sensor | Version | Yes |
+| Switch | Allow charging from grid | Yes |
+| Switch | Storm watch | Yes |
### Wall connector
-|Domain|Name|Enabled|
-|---|---|---|
-|Sensor|Fault state|No|
-|Sensor|Power|Yes|
-|Sensor|State|Yes|
-|Sensor|Vehicle|Yes|
+| Domain | Name | Enabled |
+| ------ | ----------- | ------- |
+| Sensor | Fault state | No |
+| Sensor | Power | Yes |
+| Sensor | State | Yes |
+| Sensor | Vehicle | Yes |
## Vehicle sleep
diff --git a/source/_integrations/timer.markdown b/source/_integrations/timer.markdown
index 44be36988f0..5be8c0e94c2 100644
--- a/source/_integrations/timer.markdown
+++ b/source/_integrations/timer.markdown
@@ -17,7 +17,7 @@ When a timer finishes or gets canceled the corresponding events are fired. This
{% note %}
Timers will be restored to their correct state and time on Home Assistant startup and restarts when configured with the `restore` option.
-However, automations using the `timer.finished` event **will not** trigger if the timer expires when Home Assistant is not running.
+However, automations using the `timer.finished` event **will not** trigger on startup if the timer expires when Home Assistant is not running.
{% endnote %}
## Configuration
@@ -56,7 +56,7 @@ timer:
required: false
type: icon
restore:
- description: When true, active and paused timers will be restored to the correct state and time on Home Assistant startup and restarts. If an active timer was supposed to end while Home Assistant is stopped, the `timer.finished` event will fire on startup for that timer. The `finished_at` property in the event data will provide you with the time that the timer was actually supposed to fire which you can use in automation conditions to decide whether or not to act on it.
+ description: When true, active and paused timers will be restored to the correct state and time on Home Assistant startup and restarts.
required: false
type: boolean
default: false
@@ -77,7 +77,7 @@ Pick an icon from [Material Design Icons](https://pictogrammers.com/library/mdi/
| Event | Description |
| --------------- | ----------- |
| `timer.cancelled` | Fired when a timer has been canceled |
-| `timer.finished` | Fired when a timer has completed and includes `finished_at` date/time in event data. `finished_at` should usually be now, or within the last several seconds, but if the `restore` property is true, `finished_at` may be further in the past since this event will fire on startup for any timers that would have ended while Home Assistant was stopped. |
+| `timer.finished` | Fired when a timer has completed and includes `finished_at` date/time in event data. `finished_at` should usually be now, or within the last several seconds. |
| `timer.started` | Fired when a timer has been started |
| `timer.restarted` | Fired when a timer has been restarted |
| `timer.paused` | Fired when a timer has been paused |
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index 77817f6025d..dbb48214238 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -232,6 +232,21 @@ To see OTA updates for a device, it's required that it both supports OTA updates
Before updating a device, you should search for any disadvantages or if you even need to install an available update. Some firmware updates can break features you might use (e.g. group binding for IKEA devices). Some updates might also require changes to ZHA. In rare cases, you can even brick devices by installing a firmware update.
{% endwarning %}
+### Global Options
+
+There are a few global options available once ZHA has been configured. Press **Configure** to access these settings.
+
+The options are as follows:
+
+{% configuration_basic %}
+Enable enhanced light color/temperature transition from an off-state:
+ description: "For older non Zigbee 3.0 lights, this still allows a proper transition from an off-state to a new color (without seeing the old color). _(default: off)_"
+Enable enhanced brightness slider during light transition:
+ description: "This avoids seeing intermediary brightness state when turning on lights with a transition. _(default: on)_"
+Group members assume state of group:
+ description: "When using ZHA groups, turning on a ZHA group light makes the ZHA group members optimistically change their state to \"on\", instead of waiting and polling the lights when off. _(default: on)_"
+{% endconfiguration_basic %}
+
## Configuration - YAML
For more advanced configuration, you can modify {% term "`configuration.yaml`" %} and restart Home Assistant
@@ -239,7 +254,7 @@ For more advanced configuration, you can modify {% term "`configuration.yaml`" %
{% configuration %}
database_path:
description: _Full_ path to the database which will keep persistent network data.
- required: true
+ required: false
type: string
enable_quirks:
description: Enable quirks mode for devices where manufacturers didn't follow specs.
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
index e1f432e743c..9b2729a409e 100644
--- 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
@@ -50,6 +50,8 @@ hear from 👉 **YOU** 👈!
[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,
diff --git a/source/_posts/2024-12-04-release-202412.markdown b/source/_posts/2024-12-04-release-202412.markdown
index 11142b6a76b..c2cba5d6a15 100644
--- a/source/_posts/2024-12-04-release-202412.markdown
+++ b/source/_posts/2024-12-04-release-202412.markdown
@@ -70,6 +70,8 @@ Happy holidays! And for the last time in 2024: Enjoy the release!
- [2024.12.1 - December 6](#2024121---december-6)
- [2024.12.2 - December 10](#2024122---december-10)
- [2024.12.3 - December 13](#2024123---december-13)
+ - [2024.12.4 - December 17](#2024124---december-17)
+ - [2024.12.5 - December 20](#2024125---december-20)
- [Need help? Join the community!](#need-help-join-the-community)
- [Backward-incompatible changes](#backward-incompatible-changes)
- [All changes](#all-changes)
@@ -597,6 +599,107 @@ release every Friday.
[@weltall]: https://github.com/weltall
[@zxdavb]: https://github.com/zxdavb
+### 2024.12.4 - December 17
+
+- Simplify recorder RecorderRunsManager ([@emontnemery] - [#131785])
+- Fix fibaro climate hvac mode ([@rappenze] - [#132508])
+- Bump yt-dlp to 2024.12.13 ([@joostlek] - [#133129])
+- Fix strptime in python_script ([@gjohansson-ST] - [#133159])
+- Bump yalexs-ble to 2.5.4 ([@bdraco] - [#133172])
+- Bump starlink-grpc-core to 1.2.1 to fix missing ping ([@MrConorAE] - [#133183])
+- Bump aiolifx to 1.1.2 and add new HomeKit product prefixes ([@Djelibeybi] - [#133191])
+- Revert "Simplify recorder RecorderRunsManager" ([@emontnemery] - [#133201])
+- Revert "Improve recorder history queries (#131702)" ([@emontnemery] - [#133203])
+- Bump incomfort-client to v0.6.4 ([@jbouwh] - [#133205])
+- Bump yalexs-ble to 2.5.5 ([@bdraco] - [#133229])
+- Set code_arm_required to False for homekit_controller ([@bdraco] - [#133284])
+- Allow load_verify_locations with only cadata passed ([@mib1185] - [#133299])
+- Bump `imgw-pib` to version 1.0.7 ([@bieniu] - [#133364])
+- Fix fan setpoints for flexit_bacnet ([@lellky] - [#133388])
+- Bump holidays to 0.63 ([@gjohansson-ST] - [#133391])
+
+[#131785]: https://github.com/home-assistant/core/pull/131785
+[#132195]: https://github.com/home-assistant/core/pull/132195
+[#132508]: https://github.com/home-assistant/core/pull/132508
+[#132509]: https://github.com/home-assistant/core/pull/132509
+[#132846]: https://github.com/home-assistant/core/pull/132846
+[#133123]: https://github.com/home-assistant/core/pull/133123
+[#133129]: https://github.com/home-assistant/core/pull/133129
+[#133159]: https://github.com/home-assistant/core/pull/133159
+[#133172]: https://github.com/home-assistant/core/pull/133172
+[#133183]: https://github.com/home-assistant/core/pull/133183
+[#133191]: https://github.com/home-assistant/core/pull/133191
+[#133201]: https://github.com/home-assistant/core/pull/133201
+[#133203]: https://github.com/home-assistant/core/pull/133203
+[#133205]: https://github.com/home-assistant/core/pull/133205
+[#133229]: https://github.com/home-assistant/core/pull/133229
+[#133284]: https://github.com/home-assistant/core/pull/133284
+[#133299]: https://github.com/home-assistant/core/pull/133299
+[#133364]: https://github.com/home-assistant/core/pull/133364
+[#133388]: https://github.com/home-assistant/core/pull/133388
+[#133391]: https://github.com/home-assistant/core/pull/133391
+[@Djelibeybi]: https://github.com/Djelibeybi
+[@MrConorAE]: https://github.com/MrConorAE
+[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@emontnemery]: https://github.com/emontnemery
+[@frenck]: https://github.com/frenck
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@jbouwh]: https://github.com/jbouwh
+[@joostlek]: https://github.com/joostlek
+[@lellky]: https://github.com/lellky
+[@mib1185]: https://github.com/mib1185
+[@rappenze]: https://github.com/rappenze
+
+### 2024.12.5 - December 20
+
+- Bump `nice-go` to 1.0.0 ([@IceBotYT] - [#133185])
+- Add support for Nice G.O. HAE00080 wall station ([@IceBotYT] - [#133186])
+- Bugfix: also schedule time based integration when source is 0 ([@ronweikamp] - [#133438])
+- Ensure screenlogic retries if the protocol adapter is still booting ([@bdraco] - [#133444])
+- Bump Freebox to 1.2.1 ([@Quentame] - [#133455])
+- Bump pyOverkiz to 1.15.3 ([@iMicknl] - [#133458])
+- Don't raise Overkiz user flow unique_id check ([@iMicknl] - [#133471])
+- Update Roborock to 2.8.1 ([@Lash-L] - [#133492])
+- Update fjäråskupan to 2.3.1 ([@elupus] - [#133493])
+- Update fjäråskupan to 2.3.2 ([@elupus] - [#133499])
+- Bump gardena_bluetooth to 1.5.0 ([@elupus] - [#133502])
+- Bump aiohttp to 3.11.11 ([@bdraco] - [#133530])
+- Handle null value for elapsed time in Music Assistant ([@marcelveldt] - [#133597])
+- Fix Twinkly raise on progress ([@joostlek] - [#133601])
+- Handle mqtt.WebsocketConnectionError when connecting to the MQTT broker ([@bdraco] - [#133610])
+
+[#132195]: https://github.com/home-assistant/core/pull/132195
+[#132509]: https://github.com/home-assistant/core/pull/132509
+[#132846]: https://github.com/home-assistant/core/pull/132846
+[#133123]: https://github.com/home-assistant/core/pull/133123
+[#133185]: https://github.com/home-assistant/core/pull/133185
+[#133186]: https://github.com/home-assistant/core/pull/133186
+[#133422]: https://github.com/home-assistant/core/pull/133422
+[#133438]: https://github.com/home-assistant/core/pull/133438
+[#133444]: https://github.com/home-assistant/core/pull/133444
+[#133455]: https://github.com/home-assistant/core/pull/133455
+[#133458]: https://github.com/home-assistant/core/pull/133458
+[#133471]: https://github.com/home-assistant/core/pull/133471
+[#133492]: https://github.com/home-assistant/core/pull/133492
+[#133493]: https://github.com/home-assistant/core/pull/133493
+[#133499]: https://github.com/home-assistant/core/pull/133499
+[#133502]: https://github.com/home-assistant/core/pull/133502
+[#133530]: https://github.com/home-assistant/core/pull/133530
+[#133597]: https://github.com/home-assistant/core/pull/133597
+[#133601]: https://github.com/home-assistant/core/pull/133601
+[#133610]: https://github.com/home-assistant/core/pull/133610
+[@IceBotYT]: https://github.com/IceBotYT
+[@Lash-L]: https://github.com/Lash-L
+[@Quentame]: https://github.com/Quentame
+[@bdraco]: https://github.com/bdraco
+[@elupus]: https://github.com/elupus
+[@frenck]: https://github.com/frenck
+[@iMicknl]: https://github.com/iMicknl
+[@joostlek]: https://github.com/joostlek
+[@marcelveldt]: https://github.com/marcelveldt
+[@ronweikamp]: https://github.com/ronweikamp
+
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
diff --git a/source/_posts/2024-12-16-community-survey-2024.markdown b/source/_posts/2024-12-16-community-survey-2024.markdown
new file mode 100644
index 00000000000..80ff415de13
--- /dev/null
+++ b/source/_posts/2024-12-16-community-survey-2024.markdown
@@ -0,0 +1,47 @@
+---
+layout: post
+title: "Understanding Our Community: The 2024 Home Assistant Survey"
+description: "Today we launch our annual survey of our community, the insights gained will help us make Home Assistant better reflect all our users."
+date: 2024-12-16 00:00:00
+date_formatted: "December 16, 2024"
+author: Annika Schulz
+comments: true
+categories: Announcements
+og_image: /images/blog/2024-12-survey/art.jpg
+---
+
+
+
+As Home Assistant continues to grow and evolve, so does our commitment to making it more inclusive, accessible, and aligned with the diverse needs of our community. To that end, we're launching an annual survey—and we hope you'll participate!
+
+A big part of building our [roadmap](/blog/2024/06/12/roadmap-introduction/) going forward was focusing more on research, which led the team to bring me (Annika) in as a Senior User Experience Researcher. We could keep assuming our community's wants and needs, but we'd rather base our decisions on data-driven insights 😉. With this survey, we aim to better understand not just how you use Home Assistant, but also who you are as a person, a smart home user, and a member of our community. This knowledge will help us:
+
+- Tailor our future work to address the needs of our community.
+- Identify trends and shifts in the smart home landscape over time.
+- Ensure Home Assistant and its ecosystem reflect the values and priorities of those who use it.
+
+We understand that some of the questions we're asking touch on sensitive topics. Rest assured, your responses are completely anonymous, and all questions are optional. If you're ever uncomfortable, you can skip a question—but for the results to be recorded, you must hit the submit button at the end of the survey. This survey isn't short; we recommend setting aside around 20 minutes to complete it. [**Fill out the survey here**](https://home-assistant.typeform.com/communitysurvey#source=blog) or read more about what we're trying to learn below.
+
+~Annika
+
+
+
+## What we're hoping to learn
+
+We're curious about how you began your smart home journey and what drives your decisions today in your home. From the types of devices you use to how your household interacts with your smart home. We want to learn who is using Home Assistant, not just the primary user, but also those living in your smart home. These insights allow us to understand the varied experiences and expertise within the community. For example, knowing your professional background helps us identify areas where your day-to-day knowledge intersects with smart home technologies. We are also asking about neurodiversity, which can help us understand how our community processes and interacts with information. By learning about these differences, we can make our communication and platform design more inclusive. Again, we can understand if you prefer not to share this information.
+
+One area we're trying to understand better is how you personally resonate with the values of the Open Home. We believe in privacy, sustainability, and choice—but how important are these values to you?
+
+## Your data
+
+First and foremost, the survey is entirely anonymous, and you can skip any question you don't want to answer. For sensitive questions (e.g., gender), we provide options like "prefer not to say" or open text fields.
+
+Once collected, the data will be anonymized and aggregated to ensure your privacy. Because we cannot identify individual responses, certain data rights (like deletion requests) won't be applicable after submission. Please note around halfway through the survey there is a partial submit point, once you click continue the previous answers will be recorded. The data will be stored and handled according to GDPR standards. For more details, see our [User Research Agreement](https://www.openhomefoundation.org/user-research-agreement/).
+
+## How you can help
+
+This isn't a short survey and should take around 20 minutes - don't hesitate to return later to complete it. For the results to be recorded, you must progress past the partial submission point or hit the submit button at the end of the survey. While responding to the survey, be aware that there is no right or wrong answer. It is about you as a person, your experience, opinions, and feelings. Don't overthink your responses, but stay with the answers that come to your mind intuitively. The more detail, the better - your insights will help shape our future directions. Also, share it with friends, family, or anyone who uses Home Assistant.
+
+### Fill out the Survey [here](https://home-assistant.typeform.com/communitysurvey#source=blog)
+
+The survey opens on Monday, December 16, and **closes on Monday, January 20**. Once we've analyzed the data, we'll share the results and insights with the community. By participating, you're helping us build a better Home Assistant - one that grows with its users and stays true to its values. Thanks for your support!
diff --git a/source/_posts/2024-12-19-voice-chapter-8-assist-in-the-home.markdown b/source/_posts/2024-12-19-voice-chapter-8-assist-in-the-home.markdown
new file mode 100644
index 00000000000..7404e0d1d9e
--- /dev/null
+++ b/source/_posts/2024-12-19-voice-chapter-8-assist-in-the-home.markdown
@@ -0,0 +1,129 @@
+---
+layout: post
+title: "Voice Chapter 8 - Assist in the home today"
+description: "All the things you can do with Assist today, along with the state of our development, limitations, and where you can help."
+date: 2024-12-19 00:00:01
+date_formatted: "December 19, 2024"
+author: Mike Hansen
+comments: true
+categories: Assist
+og_image: /images/blog/2024-12-voice-chapter-8/art.png
+---
+
+
+
+As you have probably already read, we launched our [Home Assistant Voice Preview Edition](/voice-pe/) today. The culmination of the past several years of open-source software progress on Home Assistant's home-grown voice assistant, [Assist](/voice_control/). A sizable group of dedicated developers has been working together on adding and honing its many features, and if it's been a while since you tried Assist, you should use this launch as a chance to jump back in and see the progress we've made.
+
+[Home Assistant Voice Preview Edition](/voice-pe/) has been launched to build on this work, continuing the momentum we've already built and accelerating our goal of not only matching the capabilities of existing voice assistants but surpassing them. We had an early production run of Voice Preview Edition (a preview preview 😉), and we tried to get them in the hands of as many of our language leaders and voice developers as possible - and we're already seeing the fruits of their efforts with language support improving over the past month alone!
+
+I'd like to highlight in this voice chapter all the things you can do with Assist today. I also want to give the state of our development, what the limitations are, and where your support can be best applied.
+
+### Table of Contents
+
+- [Assist in the home today](#assist-in-the-home-today)
+ - [Origins of Assist](#origins-of-assist)
+ - [Commands](#commands)
+ - [Timers](#timers)
+ - [Exposing devices and Aliases](#exposing-devices-and-aliases)
+ - [Room context](#room-context)
+ - [Wake words](#wake-words)
+- [Speech Processing](#speech-processing)
+ - [Language support](#language-support)
+ - [Text-to-speech](#text-to-speech)
+ - [Speech-to-text](#speech-to-text)
+ - [AI and Assist](#ai-and-assist)
+- [Conclusion](#conclusion)
+
+
+
+## Assist in the home today
+
+### Origins of Assist
+
+
Early versions of Assist via chat - things have come a long way
+
+Voice control for Home Assistant goes back further than most people assume, with some of the groundwork we use today being [added as far back as 2017](/blog/2017/07/29/release-50/). The major turning point came when we refocused our efforts and declared 2023 the [Year of the Voice](/blog/2022/12/20/year-of-voice/). This was an effort to focus development and find areas where our community could make the most impact. During the Year of the Voice [Assist](/voice_control/) was added to voice, intents were improved, languages added, wake words were created, and we established great local and cloud options for running voice. Shortly after Year of the Voice many more features were added, including integrated AI, timers, and even better wake words. Year of the Voice got the ball rolling, and Voice Preview Edition will continue its momentum.
+
+### Commands
+
+[Assist](/voice_control/) is the underlying technology that allows Home Assistant to turn commands ("turn on the light") into Actions (`light.turn_on`). Commands, or as we call them *intents*, allow you to control pretty much every aspect of your smart home, including on, off, play, pause, next, open, close, and more. We also have intents that give you helpful information like what's the time, weather, temperature, and so on. Lastly, there are a bunch of other useful miscellaneous things, like adding items to a shopping list and setting timers. If you're interested, there is a [full list here](https://developers.home-assistant.io/docs/intent_builtin/).
+
+### Timers
+
+
+
+
+
+When we [asked our community](https://community.home-assistant.io/t/poll-what-do-you-use-your-voice-assistant-for-what-do-you-expect-it-to-do-multiple-selections/693669) timers were a top-requested ability. You can not only set a timer, pause, increase, decrease or cancel it, but you can also set commands to [trigger after a set amount of time](/blog/2024/06/26/voice-chapter-7/#timers-control-devices), for example, "turn off the TV in 15 minutes". You can also just say "Stop" without a wake word, to silence the timer's alarm. On our Voice Preview Edition, when you set a timer the LED ring counts down the last seconds and flashes when it's done.
+
+### Exposing devices and Aliases
+
+This sets us apart from other voice assistants: we allow you to expose and effectively hide devices from your voice assistant. For example, you could choose not to expose a door lock but instead just expose the sensor that knows if the door is closed. It puts you in the driver's seat on what voice can do in your home. We also introduced aliases to allow you to give devices multiple names, allowing you to speak more naturally with Assist.
+
+### Room context
+
+If you tell your Assist hardware what room it is in and ensure other devices are organized by room, you can give commands like "turn off the lights", and without specifying anything, it will turn off the lights in the room you are in. This feature also works with media players (play/pause/next) and timers.
+
+### Wake words
+
+
Our community is donating small amounts of time to improve wake words with our tool.
+
+Wake Words are the unique phrases that initiate a voice assistant to listen and start processing a command. Wake words originally had to be processed on Home Assistant via an add-on like openWakeWord, meaning the Assist hardware needed to continuously stream audio to Home Assistant. Shortly after Year of the Voice [microWakeWord](/blog/2024/02/21/voice-chapter-6/#microwakeword) was released, which brought wake word processing on-device for faster responses. It is improving fast thanks to our community using our [fast and easy tool](/blog/2024/10/24/wake-word-collective/) to donate samples of their voice. There is a growing list of wake words, and the on-device options include "Okay Nabu" (default and most reliable), "Hey Jarvis", and "Hey Mycroft". Both of these wake word engines were built by the Home Assistant community and are open source, giving the world two great free and open wake word engines!
+
+## Speech Processing
+
+
The Assist pipeline in all its glory
+
+Assist can't understand spoken words and needs something to take that audio and turn it into text - all this together is called an Assist pipeline. This speech processing is really CPU intensive, so it can't happen on the Voice Assistant Hardware, and sometimes your Home Assistant system can't even handle it. One important step we made was adding speech-to-text and text-to-speech capabilities to [Home Assistant Cloud](/cloud/), which allows low-powered Home Assistant hardware to offload speech processing to the cloud. Home Assistant Cloud doesn't store or use this data to train on - clouds don't get any more private than ours. It is also the most accurate and power-efficient way to process speech. We've put considerable effort into local speech processing, building the add-ons and a new protocol they use to speak to Home Assistant, but they are very reliant on language support from the community.
+
+### Language support
+
+
See if your language is supported with our checker.
+
+Assist aims to support more languages than other voice assistants, and this has been a massive undertaking for our community - We need more help. The first step for language support is getting the commands (intents) right, and we have [over 25 major languages](https://home-assistant.github.io/intents/) that are ready to use today. Our wake words are also getting better at understanding different accents thanks to our [Wake Word Collective tool](https://ohf-voice.github.io/wake-word-collective/).
+
+### Text-to-speech
+
+We built our own text-to-speech system, [Piper](/integrations/piper/), and it now supports over 30 languages. It's a fast, local neural network-powered text-to-speech system that sounds great and can run on low-powered hardware (it's optimized for Pi4!). It was built with the voices of our community, and if you don't see your native tongue, [add your voice](https://github.com/rhasspy/piper/blob/master/TRAINING.md)!
+
+### Speech-to-text
+
+There is one area that holds back the rest of our language support more than others, and that's local speech-to-text. Building a full speech-to-text model needs big compute resources and terabytes of samples, which is currently outside our reach. We use [Whisper](/integrations/whisper/) for local speech-to-text processing, an open-source project from OpenAI, and we're grateful it exists. For some languages, it works great and doesn't require a lot of system resources to run well, but for others, you need a pretty beefy system to get acceptable results. In our opinion, only about 15 languages are ready to be run locally on reasonable hardware (an Intel N100 or better) - that's why before you begin dreaming up your perfect all-local setup, we recommend checking [language support](/voice-pe/#language-support).
+
+We're always looking for new solutions for low-powered hardware, and are now building another tool that uses much less complex sentence recognition. This could even run on a Raspberry Pi 4, but it would only be able to identify predefined sentences, so if you go off script you may need to call in an AI to help Assist understand your needs. Our language leaders are hard at work putting together the needed translations, but if you want to learn more visit [Rhasspy Speech](https://github.com/rhasspy/rhasspy-speech).
+
+In general, even when your language is supported, you'll almost always get better results from Home Assistant Cloud. Use the free trial to see what works best for you. Also, you can use both, we know someone using an automation to switch the Assist pipeline to an all local setup when their internet is down.
+
+### AI and Assist
+
+
Our default local conversation agent mixed with AI is great for natural language and speed
+
+Another aspect where we beat the competition hands down is the integration of AI into our voice assistant. You can choose from some of the biggest cloud AI providers like ChatGPT, Google Gemini, and Claude (paid accounts required). You can also run it locally via [Ollama](https://ollama.com/) if you have a modern graphics processor with enough VRAM, allowing you to build the most capable offline voice setup around.
+
+Our intents (Assist's built-in sentences) are getting better at understanding most commands, but AI processes commands in natural language, meaning if you get the device's name ever so slightly off, it can still figure things out. It also provides the ability to ask outside the built-in intents. For instance, if you tell it "It's a bit cold in here", it may raise the temperature on your thermostat, but it could forgo any home control and just tell you to put on a jacket - results are not yet consistent. More useful is its ability to take multiple sensors and provide context. For instance, you could ask it for an air quality report, and it could review the CO2 levels and tell you to open a window it observes is shut. All this is experimental, and having an AI control your home is not for everyone, but what's important is that you have the choice.
+
+## Conclusion
+
+So many new innovations and improvements for Assist have happened in the past couple of months, and this speaks to the power of having good hardware to build our software on. Voice Preview Edition is the best open voice hardware available today, and even with it only in the hands of a couple of hundred people today, it's making a noticeable difference. Whether that's writing code, improving language support, making blueprints, or even just reporting bugs. The momentum we will build having this in the hands of thousands will be game-changing - it's why we've declared that the era of open voice assistants has arrived.
+
+In the comments sections, we always have a couple of people saying, "but I don't use voice, what about improving (this or that)". The good news is that improving Assist and Home Assistant's other features are already happening in tandem (check out [our roadmap](/blog/2024/11/15/roadmap-2024h2/) for the complete picture of our priorities). In the end, only a fraction of our development goes towards voice, and our budget is what Amazon's voice team probably spends on pizza parties 😆. A great side effect is the problems we're solving with voice are benefiting other parts of Home Assistant, for example, our integration of AI was driven by voice.
+
+We really think voice is an integral part of a well-rounded smart home ecosystem. It's especially important for improving the accessibility of home control to all members of the household. There needs to be real options in the space, most importantly ones that give you full control and a real choice on privacy.
+
+### Home Assistant Voice Preview is available at retailers today,
+
+
diff --git a/source/_posts/2024-12-19-voice-preview-edition-the-era-of-open-voice.markdown b/source/_posts/2024-12-19-voice-preview-edition-the-era-of-open-voice.markdown
new file mode 100644
index 00000000000..9c8f8325c88
--- /dev/null
+++ b/source/_posts/2024-12-19-voice-preview-edition-the-era-of-open-voice.markdown
@@ -0,0 +1,125 @@
+---
+layout: post
+title: "The era of open voice assistants has arrived"
+description: "Home Assistant Voice Preview Edition is the best way to get started with our open and privacy-focused voice assistant."
+date: 2024-12-19 00:00:02
+date_formatted: "December 19, 2024"
+author: Paulus Schoutsen
+comments: true
+categories:
+ - Announcements
+ - Assist
+og_image: /images/blog/2024-12-vpe/art.jpg
+---
+
+
+
+**TL;DR: [Check out the product page](/voice-pe/)**
+
+We all deserve a voice assistant that doesn't harvest our data and arbitrarily limit features. In the same way Home Assistant made private and local home automation a viable option, we believe the same can, and must be done for voice assistants.
+
+Since we began developing our open-source voice assistant for Home Assistant, one key element has been missing - great hardware that's simple to set up and use. Hardware that hears you, gives you clear feedback, and seamlessly fits into the home. Affordable and high-quality voice hardware will let more people join in on its development and allow anyone to *preview* the future of voice assistants today. Setting a standard for the next several years to base our development around.
+
+
+
+We're launching [Home Assistant Voice Preview Edition](/voice-pe/) to help accelerate our goal of not only matching the capabilities of existing voice assistants but surpassing them. This is inevitable: They'll focus their efforts on monetizing voice, while our community will be focused on improving open and private voice. We'll support the languages big tech ignores and provide a real choice in how you run voice in your home.
+
+**The era of open, private voice assistants begins now, and we'd love for you to be part of it.**
+
+### Table of contents
+
+- [Introducing Home Assistant Voice Preview Edition](#introducing-home-assistant-voice-preview-edition)
+ - [Why Preview Edition](#why-preview-edition)
+ - [Built for Home Assistant](#built-for-home-assistant)
+ - [Advanced audio processing](#advanced-audio-processing)
+ - [Bringing choice to voice](#bringing-choice-to-voice)
+ - [Fully open and customizable](#fully-open-and-customizable)
+ - [Community-driven](#community-driven)
+- [Conclusion](#conclusion)
+ - [See what voice can do today](#see-what-voice-can-do-today)
+
+
+
+## Introducing Home Assistant Voice Preview Edition
+
+
+
+Our main goal with Voice Preview Edition was to make the best hardware to get started with [Assist](/voice_control/), Home Assistant's built-in voice assistant. If you're already using other third-party hardware to run Assist, this will be a big upgrade. We prioritized its ability to hear commands, giving it an industry-leading dedicated audio processor and dual microphones - I'm always blown away by how well it picks up my voice around the room.
+
+Next, we ensured it would blend into the home, giving it a sleek but unobtrusive design. That's not to say it doesn't have flair. When you get your hands on Voice Preview Edition the first thing you'll notice is its premium-feeling injection-molded shell, which is semi-transparent, just like your favorite '90s tech. The LED ring is also really eye-catching, and you can customize it to your heart's content from full gamer RGB to subtle glow.
+
+
+
+
+
+It's hard to convey how nice the rotary dial is to use; its subtle clicks paired with LED animations are hard not to play with. Most importantly, the dial lets anyone in your home intuitively adjust the volume. The same can be said for the multipurpose button and mute switch (which physically cuts power to the microphone for ultimate privacy). We knew for it to work best, it needed to be out in the open, and let's just say that [Home Approval Factor](https://newsletter.openhomefoundation.org/open-home-approval-factor/#:~:text=2023.1%20release%20notes.-,Home%20Approval%20Factor,-We%20have%20a) was very front of mind when designing it.
+
+We also worked hard to keep the price affordable and comparable to other voice assistant hardware at just $59 (that's the recommended MSRP, and pricing will vary by retailer). This isn't a preorder, it's available now!
+
+
+
+### Why Preview Edition
+
+For some, our voice assistant is all they need; they just want to say a couple of commands, set timers, manage their shopping list, and control their most used devices. For others, we understand they want to ask their voice assistant to make whale sounds or to tell them how tall Taylor Swift is - this voice assistant doesn't entirely do those things ([yet](/voice_control/assist_create_open_ai_personality/)). We think there is still more we can do before this is ready for every home, and until then, we'll be selling this *Preview* of the future of voice assistants. We've built the best hardware on the market, and set a new standard for the coming years, allowing us to focus our development as we prepare our voice assistant for every home. Taking back our privacy isn't for everyone - it's a journey - and we want as many people as possible to join us early and make it better.
+
+### Built for Home Assistant
+
+Many other voice assistants work with Home Assistant, but this one was *built* for Home Assistant. Unlike other voice hardware that can work with Assist, this doesn't require flashing firmware or any assembly. You plug it into power, and it is seamlessly discovered by Home Assistant. A wizard instantly starts helping you set up your voice assistant, but critically, if you haven't used voice before, it will quickly guide you through what you need to get the best experience.
+
+
Get up and running with Voice Preview Edition in minutes with our new wizard
+
+This is not a DIY product. We've worked to make the experience as smooth as possible, with easy and fast updates and settings you can manage from the Home Assistant UI.
+
+### Advanced audio processing
+
+If you have been following our work on voice, you know we've tried a lot of different voice assistant hardware. Most available Assist-capable hardware is bad at its most important job - hearing your voice and then providing audiovisual feedback. That was really what drove us to build Voice Preview Edition.
+
+
Voice Preview Editions mics and audio processors effortlessly hear commands through loud music it is playing
+
+Our Assist software could only do so much with substandard audio, and its functionality is massively improved with clear audio. The dual microphones combined with the XMOS audio processing chip are what makes it so capable. Together, they allow Voice Preview Edition to have echo cancellation, stationary noise removal, and auto gain control, which all adds up to clearer audio. This combined with an ESP32-S3 with 8 MB of octal PSRAM - one of the fastest ESP and RAM combinations available - makes for an incredibly responsive device. This is the best Assist hardware you can buy today, and it will continue to give a great experience as Assist's feature set expands in the years to come.
+
+### Bringing choice to voice
+
+Assist can do something almost no other voice assistant can achieve - *it can run without the internet* 🤯. You can speak to your Voice Preview Edition, and those commands can be processed completely within the walls of your home. At the time of writing this, there are some pretty big caveats, specifically that you need to speak a [supported language](/voice-pe/#language-support) and have pretty powerful hardware to run it (we recommend a Home Assistant system running on an Intel N100 or better).
+
+
Diagram of cloud vs local speech processing
+
+If you use low-powered Home Assistant hardware, there is an easy and affordable internet-based solution; [Home Assistant Cloud](/cloud/). This privacy-focused service allows you to offload your speech-to-text and text-to-speech processing, all while being very responsive and keeping your energy bill low. Speech-to-text is the harder of the two to run locally, and our cloud processing is almost always more accurate for more languages (visit our [language support checker here](/voice-pe/#language-support)).
+
+Our goal is for Assist to run easily, affordably, and fully locally for all languages. As someone who has seen the rapid development of this technology over the past several years, I'm optimistic that this will happen, but until then, many languages have a good range of choices that provide strong privacy.
+
+### Fully open and customizable
+
+
We are sharing the design files if you want to 3D print a new case... these ones were inevitable
+
+We're not just launching a new product, ***we're open sourcing all of it***. We built this for the Home Assistant community. Our community doesn't want a single voice assistant, they want the one that works for them -- they want choice. Creating a voice assistant is hard, and until now, parts of the solution were locked behind expensive licenses and proprietary software. With Voice Preview Edition being open source, we hope to bootstrap an ecosystem of voice assistants.
+
+We tried to make every aspect of Voice Preview Edition customizable, which is actually pretty easy when you're working hand-in-hand with ESPHome and Home Assistant. It works great with the stock settings, but if you're so inclined, you can customize the Assist software, ESP32 firmware, and XMOS firmware.
+
+
Connecting Grove sensors allows you to use your Voice Preview Edition as a more traditional ESPHome device - here is it acting as a voice assistant and air monitor.
+
+We also made the hardware easy to modify, inside and out. For instance, the included speaker is for alerts and voice prompts, but if you want to use it as a media player, connect a speaker to the included 3.5mm headphone jack and control it with software like [Music Assistant](https://music-assistant.io/). The included DAC is very clean and capable of streaming lossless audio. It can also be used as a very capable ESP32 device. On the bottom of the device is a [Grove port](https://wiki.seeedstudio.com/Grove_System/) (concealed under a cover that can be permanently removed), which allows you to connect a large ecosystem of sensors and accessories.
+
+We've also made it quite painless to open, with easy-to-access screws and no clips. We even included exposed pads on the circuit board to make modifying it more straightforward. We're providing all the [3D files](https://voice-pe.home-assistant.io/resources/) so you can print your own components... even cartoon character-inspired ones. We're not here to dictate what you can and can't do with your device, and we tried our best to stay out of your way.
+
+### Community-driven
+
+The beauty of Home Assistant and ESPHome is that you are never alone when fixing an issue or adding a feature. We made this device so the community could start working more closely together on voice; we even considered calling it the *Community* edition. Ultimately, it is the community driving forward voice - either by taking part in its development or supporting its development by buying official hardware or Home Assistant Cloud. So much has already been done for voice, and I can't wait to see the advancements we make together.
+
+## Conclusion
+
+Home Assistant ~~values~~ champions choice. Today, we're providing one of the best choices for voice hardware. One that is truly private and totally open. I'm so proud of the team for building such a great working and feeling piece of hardware - this is a really big leap for voice hardware. I expect it to be the hardware benchmark for open-voice projects for years to come. I would also like to thank our language leaders who are expanding the reach of this project, our testers of this Preview Edition, and anyone who has joined in our voice work over the past years.
+
+The hardware really is only half the picture, and it's the software that really brings this all together. Mike Hansen has just written the [Voice Chapter 8 blog](/blog/2024/12/19/voice-chapter-8-assist-in-the-home/) to accompany this launch, and this explains all the things we've built over the past two years to make Assist work in the home today. He also highlights everything that Voice Preview Edition was built to help accelerate development.
+
+### [See what voice can do today](/blog/2024/12/19/voice-chapter-8-assist-in-the-home/)
diff --git a/source/changelogs/core-2024.12.markdown b/source/changelogs/core-2024.12.markdown
index ea91b3bed0b..3f37485e9ab 100644
--- a/source/changelogs/core-2024.12.markdown
+++ b/source/changelogs/core-2024.12.markdown
@@ -1008,6 +1008,107 @@ For a summary in a more readable format:
[@robinostlund]: https://github.com/robinostlund
[@sdb9696]: https://github.com/sdb9696
+## Release 2024.12.4 - December 17
+
+- Simplify recorder RecorderRunsManager ([@emontnemery] - [#131785])
+- Fix fibaro climate hvac mode ([@rappenze] - [#132508])
+- Bump yt-dlp to 2024.12.13 ([@joostlek] - [#133129])
+- Fix strptime in python_script ([@gjohansson-ST] - [#133159])
+- Bump yalexs-ble to 2.5.4 ([@bdraco] - [#133172])
+- Bump starlink-grpc-core to 1.2.1 to fix missing ping ([@MrConorAE] - [#133183])
+- Bump aiolifx to 1.1.2 and add new HomeKit product prefixes ([@Djelibeybi] - [#133191])
+- Revert "Simplify recorder RecorderRunsManager" ([@emontnemery] - [#133201])
+- Revert "Improve recorder history queries (#131702)" ([@emontnemery] - [#133203])
+- Bump incomfort-client to v0.6.4 ([@jbouwh] - [#133205])
+- Bump yalexs-ble to 2.5.5 ([@bdraco] - [#133229])
+- Set code_arm_required to False for homekit_controller ([@bdraco] - [#133284])
+- Allow load_verify_locations with only cadata passed ([@mib1185] - [#133299])
+- Bump `imgw-pib` to version 1.0.7 ([@bieniu] - [#133364])
+- Fix fan setpoints for flexit_bacnet ([@lellky] - [#133388])
+- Bump holidays to 0.63 ([@gjohansson-ST] - [#133391])
+
+[#131785]: https://github.com/home-assistant/core/pull/131785
+[#132195]: https://github.com/home-assistant/core/pull/132195
+[#132508]: https://github.com/home-assistant/core/pull/132508
+[#132509]: https://github.com/home-assistant/core/pull/132509
+[#132846]: https://github.com/home-assistant/core/pull/132846
+[#133123]: https://github.com/home-assistant/core/pull/133123
+[#133129]: https://github.com/home-assistant/core/pull/133129
+[#133159]: https://github.com/home-assistant/core/pull/133159
+[#133172]: https://github.com/home-assistant/core/pull/133172
+[#133183]: https://github.com/home-assistant/core/pull/133183
+[#133191]: https://github.com/home-assistant/core/pull/133191
+[#133201]: https://github.com/home-assistant/core/pull/133201
+[#133203]: https://github.com/home-assistant/core/pull/133203
+[#133205]: https://github.com/home-assistant/core/pull/133205
+[#133229]: https://github.com/home-assistant/core/pull/133229
+[#133284]: https://github.com/home-assistant/core/pull/133284
+[#133299]: https://github.com/home-assistant/core/pull/133299
+[#133364]: https://github.com/home-assistant/core/pull/133364
+[#133388]: https://github.com/home-assistant/core/pull/133388
+[#133391]: https://github.com/home-assistant/core/pull/133391
+[@Djelibeybi]: https://github.com/Djelibeybi
+[@MrConorAE]: https://github.com/MrConorAE
+[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@emontnemery]: https://github.com/emontnemery
+[@frenck]: https://github.com/frenck
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@jbouwh]: https://github.com/jbouwh
+[@joostlek]: https://github.com/joostlek
+[@lellky]: https://github.com/lellky
+[@mib1185]: https://github.com/mib1185
+[@rappenze]: https://github.com/rappenze
+
+## Release 2024.12.5 - December 20
+
+- Bump `nice-go` to 1.0.0 ([@IceBotYT] - [#133185])
+- Add support for Nice G.O. HAE00080 wall station ([@IceBotYT] - [#133186])
+- Bugfix: also schedule time based integration when source is 0 ([@ronweikamp] - [#133438])
+- Ensure screenlogic retries if the protocol adapter is still booting ([@bdraco] - [#133444])
+- Bump Freebox to 1.2.1 ([@Quentame] - [#133455])
+- Bump pyOverkiz to 1.15.3 ([@iMicknl] - [#133458])
+- Don't raise Overkiz user flow unique_id check ([@iMicknl] - [#133471])
+- Update Roborock to 2.8.1 ([@Lash-L] - [#133492])
+- Update fjäråskupan to 2.3.1 ([@elupus] - [#133493])
+- Update fjäråskupan to 2.3.2 ([@elupus] - [#133499])
+- Bump gardena_bluetooth to 1.5.0 ([@elupus] - [#133502])
+- Bump aiohttp to 3.11.11 ([@bdraco] - [#133530])
+- Handle null value for elapsed time in Music Assistant ([@marcelveldt] - [#133597])
+- Fix Twinkly raise on progress ([@joostlek] - [#133601])
+- Handle mqtt.WebsocketConnectionError when connecting to the MQTT broker ([@bdraco] - [#133610])
+
+[#132195]: https://github.com/home-assistant/core/pull/132195
+[#132509]: https://github.com/home-assistant/core/pull/132509
+[#132846]: https://github.com/home-assistant/core/pull/132846
+[#133123]: https://github.com/home-assistant/core/pull/133123
+[#133185]: https://github.com/home-assistant/core/pull/133185
+[#133186]: https://github.com/home-assistant/core/pull/133186
+[#133422]: https://github.com/home-assistant/core/pull/133422
+[#133438]: https://github.com/home-assistant/core/pull/133438
+[#133444]: https://github.com/home-assistant/core/pull/133444
+[#133455]: https://github.com/home-assistant/core/pull/133455
+[#133458]: https://github.com/home-assistant/core/pull/133458
+[#133471]: https://github.com/home-assistant/core/pull/133471
+[#133492]: https://github.com/home-assistant/core/pull/133492
+[#133493]: https://github.com/home-assistant/core/pull/133493
+[#133499]: https://github.com/home-assistant/core/pull/133499
+[#133502]: https://github.com/home-assistant/core/pull/133502
+[#133530]: https://github.com/home-assistant/core/pull/133530
+[#133597]: https://github.com/home-assistant/core/pull/133597
+[#133601]: https://github.com/home-assistant/core/pull/133601
+[#133610]: https://github.com/home-assistant/core/pull/133610
+[@IceBotYT]: https://github.com/IceBotYT
+[@Lash-L]: https://github.com/Lash-L
+[@Quentame]: https://github.com/Quentame
+[@bdraco]: https://github.com/bdraco
+[@elupus]: https://github.com/elupus
+[@frenck]: https://github.com/frenck
+[@iMicknl]: https://github.com/iMicknl
+[@joostlek]: https://github.com/joostlek
+[@marcelveldt]: https://github.com/marcelveldt
+[@ronweikamp]: https://github.com/ronweikamp
+
[#113438]: https://github.com/home-assistant/core/pull/113438
[#120357]: https://github.com/home-assistant/core/pull/120357
[#123563]: https://github.com/home-assistant/core/pull/123563
diff --git a/source/developers/cla_sign.html b/source/developers/cla_sign.html
index e7d8df57eac..c8bb689edcb 100644
--- a/source/developers/cla_sign.html
+++ b/source/developers/cla_sign.html
@@ -144,6 +144,10 @@ description: "The Home Assistant contributor license agreement (CLA) signature p
currentUser.getProfile(function(err, profile){
if(err){
console.error('Got an error when attempting to load users profile', err);
+ const errorEl = document.querySelector("#error");
+ errorEl.textContent = "Failed to load your GitHub profile: " + (err.response?.data?.message || err.message);
+ errorEl.style.display = "block";
+ $('#loading').hide();
} else {
$("#name").val(profile.name);
$('#github_user_id').val(profile.id);
@@ -152,6 +156,10 @@ description: "The Home Assistant contributor license agreement (CLA) signature p
currentUser.getEmails(function(err, emails){
if(err){
console.error('Got an error when attempting to load users emails', err);
+ const errorEl = document.querySelector("#error");
+ errorEl.textContent = "Failed to load your GitHub emails: " + (err.response?.data?.message || err.message);
+ errorEl.style.display = "block";
+ $('#loading').hide();
} else {
$.each(emails, function (i, item) {
$('#email').append($('
Let’s make open, local, and private voice assistants a reality
+
+
+
+
+
+
+
+
+
+
January 2023
+
Year of the voice
+
+
Home Assistant declares 2023 the year of the voice; the community and Nabu
+ Casa
+ focus on rapid development. Assist is added to Home Assistant.
+
+
+
+
April 2023
+
Home Assistant Cloud gets voice
+
+
+ Home Assistant Cloud adds speech-to-text and text-to-speech capabilities, enabling low-powered
+ hardware
+ to run Assist. More languages and features are added.
+
+
+
+
+
Now
+
Voice Preview Edition launches
+
+
+ Dedicated high-quality hardware allows you to experience and develop this community-driven and private
+ voice assistant.
+
+
+
+
+
Future
+
Fully-local voice for everyone
+
+
+ We will match and then surpass other voice assistants. Supporting languages that big tech ignores -
+ while being private, open, and fully customizable. Running inexpensively on local hardware.
+
Connect your Voice Preview Edition to popular AI providers, or local LLMs, to
+ control your home with natural language.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Fully open source and community-driven
+
Fully open software, firmware, and hardware allows you to make it work best for your
+ needs.
+ It includes a Grove port for connecting sensors and a 3.5mm headphone jack for connecting external speakers.
+ With a dedicated community customizing and adding functionality.
+
Be part of building Assist and preview the future of voice control in the home.
Mute switch that physically cuts power to the microphone
+
+
+
+
Microphone & speaker
+
+
Internal speaker
+
Internal dual-mic array
+
3.5mm audio output
+
+
+
+
Expandability
+
+
Grove port to connect sensors or other accessories
+
Easy to open - no clips, only screws to access internals
+
Exposed pads on PCB for modding
+
+
+
+
+
Inside
+
+
+
+
SoC
+
+
ESP32-S3 SoC with 16 MB of FLASH storage
+
8 MB octal PSRAM
+
+
+
+
Audio Processing
+
+
XMOS XU316
+
Featuring:
+ Echo cancellation
+ Stationary noise removal
+ Auto gain control
+
Dedicated I2S lines for audio in and out
+
+
+
+
Power / data
+
+
USB-C, 5 V DC, 2 A
+
+
+
+
Radios
+
+
2.4 GHz Wi-Fi
+
Bluetooth 5.0
+
+
+
+
+
+
+
+
Audio output
+
+
3.5 mm (⅛”) stereo headphone jack
+
Digital to analog converter (DAC):
+ TI AIC3202
+ 48 kHz sampling rate
+
+
+
+
Software
+
+
ESPHome preloaded
+
Fully open-source firmware for both the ESP32 and XMOS chip
+
+
+
+
Environmental conditions for operation
+
+
Indoor use only
+ O °C to 30 °C | 32 °F to 86 °F
+
+ Humidity: non-condensing
+ Keep in dry, not excessively dusty environment as this can cause damage to the unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Got some questions?
+
+
+
+
Why is this called the Preview Edition?
+
+
+
+
+
+
+
+
+
+
+
It is our vision to make open, local, and private voice assistants a reality in any language.
+ While we have made great strides in realizing this, it is such a massive undertaking that we
+ need our worldwide community to participate in its development. An essential ingredient for the
+ community to drive the project forward is a standardized hardware platform for voice, built for
+ Home Assistant from the ground up: Home Assistant Voice Preview Edition.
+
While for some, the
+ current state of our voice assistant may be all they need, we think there is still more to do
+ before it is ready for every home in every country, and until then, we’ll be selling this
+ Preview of the future of voice assistants. Taking back our privacy isn’t for everyone - it’s a
+ journey - and we want as many people as possible to join us and make it better.
+
+
+
+
+
+
+
+
Can I run this voice assistant fully locally?
+
+
+
+
+
+
+
+
+
+
+
Yes, provided your language is supported and you have hardware powerful enough to run local
+ text-to-speech and speech-to-text models at a speed that is acceptable to you. Speech-to-text is
+ the main limiting factor for many languages to run locally, as it has mixed results and often
+ requires powerful hardware.
+
We recommend using at least an Intel N100 or equivalent processor;
+ this will allow you to use OpenAI’s Whisper Base model for speech-to-text locally. This model
+ runs reasonably fast for languages that have large public datasets to train on, such as English
+ and Spanish. However, for languages with less data available, you will need Whisper’s Small or
+ Large models that require significantly more powerful hardware to run. For some languages, no
+ public datasets exist yet for local models to be trained on by OpenAI, and until they exist and
+ they train models, you will not be able to run those languages fully locally.
+
+
+
+
+
+
+
+
Do I need Home Assistant Cloud?
+
+
+
+
+
+
+
+
+
+
+
You do not need Home Assistant Cloud. However, if you are running less powerful hardware, like
+ Home Assistant Green or a Raspberry Pi 4, we believe this provides the best experience. By doing
+ so, you can leverage our cloud for speech processing, ensuring superior accuracy and faster
+ performance not possible on your low-powered device.
+
Additionally, some languages have poor or
+ non-existent support by the local speech-to-text software we leverage (OpenAI’s Whisper), but
+ are well-supported by the speech processing used by Home Assistant Cloud.
+
+
+
+
+
+
+
+
How does Home Assistant Cloud maintain my privacy with voice?
+
+
+
+
+
+
+
+
+
+
+
Home Assistant Cloud has been designed from the ground up to uphold the core values of the Home
+ Assistant project, with privacy being one of our highest priorities. Home Assistant Cloud
+ leverages the enterprise services of Microsoft Azure for its industry-leading speech processing,
+ which unlike many consumer offerings, is bound by commercial terms and conditions and does not retain or store your data. In addition, Home
+ Assistant Cloud itself does not keep any record of
+ your voice, data, or commands.
+
+
+
+
+
+
+
+
Why is my language listed as “not supported” locally?
+
+
+
+
+
+
+
+
+
+
+
Three separate parts are needed for a language to be supported in local operation. Reliable,
+ local speech-to-text models must be available to turn what is said into text commands that can
+ be sent to Home Assistant. Home Assistant then needs to have sentence support for that language,
+ so it knows which actions to perform for each command.
+
Finally, a local text-to-speech model has
+ to be available for your language, so it can reply to you. If any of these three parts are not
+ available locally, your language is not yet supported. Currently, there is one part that holds
+ back our language support more than the others, and that’s local speech-to-text.
+
+
+
+
+
+
+
+
Why is my language listed as “not supported” by Home Assistant Cloud?
+
+
+
+
+
+
+
+
+
+
+
+
There can be a number of reasons why a language is not supported by Home Assistant Cloud, but
+ most often it is because the sentences have not been translated by a member of our
+ community. If you would like to help translate these sentences and have your language added,
+ please visit here.
+
+
+
+
+
+
+
+
What can I do to get my language supported locally, or to improve
+ support?
+
+
+
+
+
+
+
+
+
+
+
+
We need your help to improve or add support for your language. Through the help of our global
+ community, ultimately, we aim to support every language possible. In our documentation, we have
+ a list of various ways you can help us advance our open, local, and private voice assistant.
+ Thank you for helping us make voice better in your language.
+
+
+
+
+
+
+
+
Can I use a different speech-to-text model than OpenAI’s Whisper?
+
+
+
+
+
+
+
+
+
+
+
+
Yes, Home Assistant can be configured to use any speech-to-text integration that supports the
+ Wyoming protocol. Currently, the only locally-run speech-to-text add-on available for Home
+ Assistant users is OpenAI’s Whisper. This has mixed results, missing languages, and is
+ hardware-intensive.
+
That led us to build an alternative - Rhasspy Speech can run locally and
+ accurately on lower-power hardware, though this does not provide full speech-to-text
+ capabilities. Based on the Rhasspy project, it is able to create local speech-to-text models,
+ but is limited to predefined sentences aimed at controlling your home, and will not be able to
+ process general speech. For instance, it could turn on a device, but will not be able to add
+ something to your shopping list. We expect to share the first version of Rhasspy Speech during
+ the next Voice livestream in 2025.
+
+
+
+
+
+
+
+
Which wake words can I select?
+
+
+
+
+
+
+
+
+
+
+
Out of the box, the device can listen for “Okay Nabu,” “Hey Jarvis,” or “Hey Mycroft” as wake
+ words. This is provided by the on-device wake word engine called microWakeWord. Creating these
+ wake words requires very powerful hardware and large datasets to train, which is not realistic for
+ most users.
+
In time we will work with the community to create more wake words, but currently are focused on
+ improving our current wake words to work for a large variety of accents and voice registers.
+
+
+
+
+
+
+
+
Why did you pick these default wake words and not something like
+ “computer” or “okay assist”?
+
+
+
+
+
+
+
+
+
+
+
A wake word should be uncommon in everyday conversations at home or in media, such as music or
+ TV, to minimize the risk of the device activating unintentionally. “Nabu”, “Jarvis”, and
+ “Mycroft” are fairly unique words, as opposed to generic terms such as “computer” or “assist”.
+ That makes these microWakeWord models perform well for most users.
+
+
+
+
+
+
+
+
Can this replace my Google Mini, Apple HomePod, Amazon Echo, or other
+ Big Tech devices?
+
+
+
+
+
+
+
+
+
+
+
In the future, we intend to match and then surpass the Big Tech voice assistants, but for now,
+ this Preview Edition can not yet do everything those devices can. For some, the current
+ capabilities of our voice assistant will be all they need; especially those who just want to set
+ timers, manage their shopping list, and control their most used devices. For others, we
+ understand they want to ask their voice assistant to make whale sounds or to tell them how tall
+ Taylor Swift is - our voice assistant doesn’t do those things… yet.
+
+
+
+
+
+
+
+
Can I play music on this device?
+
+
+
+
+
+
+
+
+
+
+
Yes, if you plug an external speaker into the 3.5mm audio port. The built-in speaker is meant for
+ voice feedback and is not optimized for listening to music, but the included DAC is capable of
+ playing lossless audio on a suitable external speaker. We recommend using Music Assistant to
+ control music playback.
+
+
+
+
+
+
+
+
Can I use AI models or LLMs as my voice assistant?
+
+
+
+
+
+
+
+
+
+
+
Yes, if you have paid access to a supported cloud LLM or have a local LLM running on suitable
+ hardware, it is possible to either fully replace our voice assistant’s conversation agent with an
+ LLM or use it as a fallback for commands that Home Assistant does not understand natively.
+
The benefit of this is being able to ask nearly any query that comes to mind, and speak commands
+ in natural language. Just note, we consider the use of AI in the smart home to be experimental, and would recommend caution when letting it
+ control important aspects of your home. Get started with AI and Assist.
+
+
+
+
+
+
+
+
Does the device come with a USB-C charger and cable?
+
+
+
+
+
+
+
+
+
+
+
No, the device does not come with a USB-C charger and cable. Sustainability is a core value of
+ the Home Assistant project, and we do not wish to send more chargers or cables into the world
+ when most users already own enough of these.
+
+
+
+
+
+
+
+
Which devices can I control, and what can I say to Voice Preview
+ Edition?
+
+
+
+
+
+
+
+
+
+
+
You can find an overview of everything you can say to the device in our documentation. You may
+ need to expose some devices manually to Assist, in order
+ to let this device control them.