From d91359e4b9c593b42c5d90d91955913b599bc0b3 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 12 Aug 2024 07:36:55 +0200 Subject: [PATCH 01/46] Remove asterisk mailbox docs (#34131) * Remove asterisk mailbox docs * Fix redirect --- source/_docs/asterisk_mbox.markdown | 104 ---------------------------- source/_redirects | 1 + 2 files changed, 1 insertion(+), 104 deletions(-) delete mode 100644 source/_docs/asterisk_mbox.markdown diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown deleted file mode 100644 index e91f229f961..00000000000 --- a/source/_docs/asterisk_mbox.markdown +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "Asterisk Voicemail server installation" -description: "Instructions on how to integrate your existing Asterisk voicemail within Home Assistant." ---- - -Asterisk Voicemail integration allows Home Assistant to view, listen to and delete voicemails from a Asterisk voicemail mailbox. - -There are two components to the integration: - -- A server that runs on the Asterisk PBX host and communicates over an open port. -- A client which can request information from the server. - -Both parts are necessary for Asterisk voicemail integration. - -The server installation is documented below. The client is [integrated inside Home Assistant](/integrations/asterisk_mbox) - -{% note %} -Currently this module can only monitor a single Asterisk PBX mailbox. -{% endnote %} - -### Prerequisites - -Before beginning make sure that you have the following: - -- A functional Asterisk PBX setup which is using the default `voicemail` application. -- Both Home Assistant and Asterisk PBX running on the same LAN (or the same server). -- The Asterisk PBX server has Python 3.5 or newer installed. -- Administrator access on the Asterisk PBX (for Python module installation). -- Account access to the `asterisk` user that runs the Asterisk PBX software. - -### Installation - -1. Apply for a Google API key to enable speech-transcription services - -2. Install the `asterisk_mbox_server` Python module: - - ```bash - pip3 install asterisk_mbox_server - ``` - -3. Create a configuration file for the server - - As the `asterisk` user create an `asterisk_mbox.ini` file. You can place this in any directory you choose, but the recommended location is `/etc/asterisk/asterisk_mbox.ini`. - - ```ini - [default] - host = IP_ADDRESS - port = PORT - password = PASSWORD - mbox_path = PATH_TO_VOICEMAIL_FILES - cache_file = PATH_TO_CACHE_FILE - google_key = GOOGLE_API_KEY - cdr = mysql+pymysql://:@localhost/asterisk/cdr - - ``` - - - `host` (*Optional*): The IP address to listen on for client requests. This defaults to all IP addresses on the server. To listen only locally, choose `127.0.0.1` - - `port` (*Optional*): The port to listen on for client requests. Defaults to 12345. - - `password` (*Required*): A password shared between client and server. Use only alphanumeric characters and spaces - - `mbox_path` (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default//` - - `cache_file` (*Required*): A fully-qualified path to a file that can be written by the server containing transcriptions of voicemails. Example: `/var/spool/asterisk/transcription.cache` - - `google_key` (*Required*): Your 40 characters Google API key. - - `cdr` (*Optional*): Where to find CDR data. Supports various SQL databases as well as a file log. Configuring the CDR will enable the `asterisk_cdr` platform. - - Once complete, ensure this file is only accessible by the Asterisk user: - - ```bash - sudo chown asterisk:asterisk /etc/asterisk/asterisk_mbox.ini - sudo chmod 600 /etc/asterisk/asterisk_mbox.ini - ``` - -4. Interactively start the server to verify it is functioning - - ```bash - sudo -u asterisk asterisk_mbox_server -v --cfg /etc/asterisk/asterisk_mbox.ini - ``` - - Now complete the [Home Assistant configuration](/integrations/asterisk_mbox) and verify that Home Assistant can communicate with the server - - You can use `Ctrl-c` to terminate the server when done testing - -5. Configure the server to start automatically - - Copy the following code into `/etc/systemd/system/asterisk_mbox.service`: - ```ini - [Unit] - Description=Asterisk PBX voicemail server for Home Assistant - Wants=network.target - After=network.target - - [Service] - Type=simple - User=asterisk - Group=asterisk - ExecStart=/usr/local/bin/asterisk-mbox-server --cfg /etc/asterisk/asterisk_mbox.ini - Restart=on-failure - - [Install] - WantedBy=multi-user.target - ``` - -{% note %} -This assumes that your Asterisk PBX server is using `systemd` for init handling. If not, you will need to create the appropriate configuration files yourself. -{% endnote %} diff --git a/source/_redirects b/source/_redirects index 30695188cb4..d03b4243895 100644 --- a/source/_redirects +++ b/source/_redirects @@ -498,6 +498,7 @@ layout: null /integrations/arduino /more-info/removed-integration 301 /integrations/asterisk_cdr /more-info/removed-integration 301 /integrations/asterisk_mbox /more-info/removed-integration 301 +/_docs/asterisk_mbox.markdown /more-info/removed-integration 301 /integrations/bbb_gpio /more-info/removed-integration 301 /integrations/bh1750 /more-info/removed-integration 301 /integrations/binary_sensor.mychevy /more-info/removed-integration 301 From 076771d2e3bfe29efb7fd8a19ebdede293eea017 Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Mon, 12 Aug 2024 06:38:00 +0100 Subject: [PATCH 02/46] Add details of new sensors to Mastodon (#34222) * Add details of new sensors to Mastodon * Change statuses to posts * Add additional sensor to platforms * Tiny tweak --------- Co-authored-by: Franck Nijhof --- source/_integrations/mastodon.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/mastodon.markdown b/source/_integrations/mastodon.markdown index e90b1e3b70a..c32bd3f360a 100644 --- a/source/_integrations/mastodon.markdown +++ b/source/_integrations/mastodon.markdown @@ -11,6 +11,7 @@ ha_domain: mastodon ha_iot_class: Cloud Push ha_platforms: - notify + - sensor ha_integration_type: service ha_config_flow: true --- @@ -24,6 +25,10 @@ If you want to grant only required accesses, uncheck all checkboxes then check o {% include integrations/config_flow.md %} +## Sensors + +The integration will create sensors for the Mastodon account showing total followers, following, and posts. + ## Notifications The integration will create a `notify` action matching the name of the integration entry. From 7f86e89ffa8974bfe075c9962693ab4577c03eb1 Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Mon, 12 Aug 2024 06:38:54 +0100 Subject: [PATCH 03/46] Add diagnostics platform (#34241) --- source/_integrations/mastodon.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/mastodon.markdown b/source/_integrations/mastodon.markdown index c32bd3f360a..fa7e597b420 100644 --- a/source/_integrations/mastodon.markdown +++ b/source/_integrations/mastodon.markdown @@ -10,6 +10,7 @@ ha_codeowners: ha_domain: mastodon ha_iot_class: Cloud Push ha_platforms: + - diagnostics - notify - sensor ha_integration_type: service From 370d2d7307681eb405290e4f0dbf90c76e9fa976 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Mon, 12 Aug 2024 09:12:49 +0200 Subject: [PATCH 04/46] Add unique id to manual alarm (#34114) --- source/_integrations/manual.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/manual.markdown b/source/_integrations/manual.markdown index 2d795a6fa99..e08e4c85ac3 100644 --- a/source/_integrations/manual.markdown +++ b/source/_integrations/manual.markdown @@ -34,6 +34,10 @@ name: required: false type: string default: HA Alarm +unique_id: + description: Create a unique id for the entity. + required: false + type: string code: description: > If defined, specifies a code to enable or disable the alarm in the frontend. @@ -147,6 +151,7 @@ In the configuration example below: alarm_control_panel: - platform: manual name: Home Alarm + unique_id: a_very_unique_id code: "1234" arming_time: 30 delay_time: 20 From c0ab396e7905505234b587a1ce91f03bf3a8c466 Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Mon, 12 Aug 2024 18:23:10 +1000 Subject: [PATCH 05/46] Allow for user application implementations in Tesla Fleet (#34167) * Update tesla_fleet.markdown * Update tesla_fleet.markdown * Update tesla_fleet.markdown * Update tesla_fleet.markdown * Update source/_integrations/tesla_fleet.markdown --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/tesla_fleet.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/tesla_fleet.markdown b/source/_integrations/tesla_fleet.markdown index 90026d71835..dc1cf11871d 100644 --- a/source/_integrations/tesla_fleet.markdown +++ b/source/_integrations/tesla_fleet.markdown @@ -26,6 +26,14 @@ The Tesla Fleet API {% term integration %} exposes various sensors from Tesla ve You must have a [Tesla](https://tesla.com) account and a Tesla vehicle, PowerWall, Solar, or Wall Connector. +{% details "Use a custom OAuth application" %} + +The integration has a built-in OAuth application that will be suitable for most users. However, you can [create your own application](https://developer.tesla.com/dashboard) for the Tesla Fleet API and configure it as an [application credential](https://my.home-assistant.io/redirect/application_credentials). When creating the application, you must set `https://my.home-assistant.io/redirect/oauth` as the redirect URL. + +You will be prompted to pick your custom application credential when creating a Tesla Fleet config entry. + +{% enddetails %} + {% include integrations/config_flow.md %} ## Scopes From 393108b0338cd9799050e3763f075631e2f10815 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Mon, 12 Aug 2024 14:02:26 +0200 Subject: [PATCH 06/46] [homematicip_cloud] Add set_home_cooling_mode service (#33753) * [homematicip_cloud] Add set_cooling service Add documentation for set_cooling, refs https://github.com/home-assistant/core/pull/121943 * Update source/_integrations/homematicip_cloud.markdown Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update homematicip_cloud.markdown * Rename to set_home_cooling_mode * Update homematicip_cloud.markdown * Update source/_integrations/homematicip_cloud.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/homematicip_cloud.markdown | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index 4dc697d794e..5b5b696539a 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -219,6 +219,7 @@ Executable by all users: - `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately. - `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately. - `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index. +- `homematicip_cloud.set_home_cooling_mode`: Enable or disable cooling for the home. Executable by administrators or within the context of an automation: - `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s). @@ -318,6 +319,16 @@ action: entity_id: switch.livingroom ``` +Enable (or disable) Cooling mode for the entire home. Disabling Cooling mode will revert to Heating. + +```yaml +... +action: + action: homematicip_cloud.set_home_cooling_mode + data: + cooling: True + accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx +``` ## Additional info From 4ffcf056f5f5979f63007136f05111a8a21b7445 Mon Sep 17 00:00:00 2001 From: Cyrill Raccaud Date: Mon, 12 Aug 2024 14:15:46 +0200 Subject: [PATCH 07/46] Add action to Swiss public transport (#34255) * add action for spt: fetch_connections * Update description to use number instead of amount recommended by coderabbit Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * add example for config_entry_id * tiny style tweak * Update source/_integrations/swiss_public_transport.markdown --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- .../swiss_public_transport.markdown | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/source/_integrations/swiss_public_transport.markdown b/source/_integrations/swiss_public_transport.markdown index 34e51932911..66fd5b8d984 100644 --- a/source/_integrations/swiss_public_transport.markdown +++ b/source/_integrations/swiss_public_transport.markdown @@ -41,6 +41,21 @@ name: The public timetables are coming from [Swiss public transport](https://transport.opendata.ch/). -### Defining a custom polling interval +## Actions + +The Swiss public transport integration has the following action: + +- `swiss_public_transport.fetch_connections` + +### Action `swiss_public_transport.fetch_connections` + +Fetch the connections for a specific instance. + +| Data attribute | Optional | Description | +|------------------------|----------|----------------------------------------------------------| +| `config_entry_id` | No | The ID of the Swiss public transport config entry to get data from. For example, in YAML: `config_entry_id: zurich_geneva` or in UI `Instance: zurich_geneva`)| +| `limit` | Yes | The number of connections to fetch. (default: 3, range: [1,15])| + +## Defining a custom polling interval {% include common-tasks/define_custom_polling.md %} From 53b41e5247f167793964b29669c8fa843af25927 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Tue, 13 Aug 2024 18:44:43 +0200 Subject: [PATCH 08/46] Add update platform for AirGradient (#34234) --- source/_integrations/airgradient.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/airgradient.markdown b/source/_integrations/airgradient.markdown index e843a783f00..cfc40711a6b 100644 --- a/source/_integrations/airgradient.markdown +++ b/source/_integrations/airgradient.markdown @@ -17,6 +17,7 @@ ha_platforms: - select - sensor - switch + - update ha_integration_type: device ha_zeroconf: true --- From 9e3ea1ea6d63abc6d669c957710eb87c2e3661f0 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Wed, 14 Aug 2024 16:09:27 +0200 Subject: [PATCH 09/46] Add motion blinds favorite position docs (#34233) * Add motion blinds favorite position docs * spelling fix * tiny tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/motion_blinds.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_integrations/motion_blinds.markdown b/source/_integrations/motion_blinds.markdown index 3bc41561610..14dd9a1d411 100644 --- a/source/_integrations/motion_blinds.markdown +++ b/source/_integrations/motion_blinds.markdown @@ -10,6 +10,7 @@ ha_codeowners: - '@starkillerOG' ha_config_flow: true ha_platforms: + - button - cover - sensor ha_dhcp: true @@ -95,6 +96,12 @@ In the official Bloc Blinds app go to settings (three bars > gear icon), go to t Click the about page of the connector app 5 times to get the key ([iOS app](https://apps.apple.com/us/app/connector/id1344058317), [Android app](https://play.google.com/store/apps/details?id=com.smarthome.app.connector)). +## Favorite position + +A **Go to favorite position** button entity allows you to move the blind to its favorite position. For this entity to show up, you first need to set the blind's favorite position in the mobile app, using a remote or physical buttons on the blind. Refer to the manual of your specific blind for instructions. + +The **Set current position as favorite** button entity allows you to change the favorite position. For this to work, the blind first needs to be put in programming mode by shortly pressing the reset button on the blind. It will start stepping (moving a small bit up-down repeatedly). You can then use the **Set current position as favorite** entity. After you are done, shortly press the reset button again to exit the programming mode. + ## Top Down Bottom Up (TDBU) blinds TDBU blinds consist of two bars controlled by two motors designated by Top and Bottom with fabric in between. From 8910144465651c3a63d59cf2387871ab7d4e9586 Mon Sep 17 00:00:00 2001 From: Noah Husby <32528627+noahhusby@users.noreply.github.com> Date: Wed, 14 Aug 2024 11:23:00 -0400 Subject: [PATCH 10/46] Set quality scale to silver for Russound RIO (#34294) * Set quality scale to silver * Remove nucessence space --- source/_integrations/russound_rio.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/russound_rio.markdown b/source/_integrations/russound_rio.markdown index c9fd3113135..868f0f6aebf 100644 --- a/source/_integrations/russound_rio.markdown +++ b/source/_integrations/russound_rio.markdown @@ -6,6 +6,7 @@ ha_category: ha_release: 0.49 ha_iot_class: Local Push ha_domain: russound_rio +ha_quality_scale: silver ha_platforms: - media_player ha_codeowners: From d0b07a23b4a33acadec3ba05b501ccb12754d43a Mon Sep 17 00:00:00 2001 From: cnico Date: Thu, 15 Aug 2024 15:45:02 +0200 Subject: [PATCH 11/46] Add switch to chacon_dio integration (#33946) * Add dio_chacon integration documentation * Apply suggestions from code review * Review corrections : rename to chacon_dio, updated links to english stores, removed reload service that will be in a future PR. * Review correction of link to group integration * Review correction for group of entities * Tiny tweak * Add switches to chacon_dio integration * Review correction : one sectin per platform --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/chacon_dio.markdown | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/source/_integrations/chacon_dio.markdown b/source/_integrations/chacon_dio.markdown index 06df560d3d9..c73c4b78cd1 100644 --- a/source/_integrations/chacon_dio.markdown +++ b/source/_integrations/chacon_dio.markdown @@ -3,6 +3,7 @@ title: Chacon Dio description: Instructions on how to integrate your Chacon Dio devices within Home Assistant. ha_category: - Cover + - Switch ha_release: 2024.8 ha_iot_class: Cloud Push ha_config_flow: true @@ -11,15 +12,17 @@ ha_codeowners: ha_domain: chacon_dio ha_platforms: - cover + - switch ha_integration_type: integration --- [Chacon Dio devices](https://chacon.com/en/) are connected home devices that can be controlled via RF 433 MHz or Wi-Fi. This {% term integrations %} gives you access to the Wi-Fi connection so that Home Assistant can list your Chacon Dio devices and interact with them in real time, the same way the vendor's smartphone application does. -There is currently support for the following information within Home Assistant: +There is currently support for the following device types within Home Assistant: -- Cover devices (get statuses, move up, down, stop, and move to a given percentage) +- [Cover](#cover) +- [Switch](#switch) ## Prerequisites @@ -30,6 +33,21 @@ You will need to use the standalone app for this device to register a username a {% include integrations/config_flow.md %} +## Cover + +The cover platform integrates Chacon Dio devices to manage covers (like the REV-SHUTTER model) into Home Assistant, enabling control of the following: + +- get the **state** of the cover (connected or not, position and current movement) +- **Open/close/stop** the cover +- **Set position** of the cover (0-100%) + +## Switch + +The switch platform integrates Chacon Dio devices to manage switches (like the REV-SWITCH model) into Home Assistant, enabling control of the following: + +- get the **state** of the switch (connected or not and on/off state) +- **Turn on/off** the switch + ## Tips You can use the [group integration](/integrations/group) to group entities as the application proposes (for example covers of the first floor). From 7f785f3bbcac9fe6d03797c9d8139c3399f56cd8 Mon Sep 17 00:00:00 2001 From: dougiteixeira <31328123+dougiteixeira@users.noreply.github.com> Date: Thu, 15 Aug 2024 15:03:20 -0300 Subject: [PATCH 12/46] Add config flow for platform number in Template (#33721) * Add config flow for platform number in Template * Update template.markdown * Update template.markdown * Update template.markdown * Update template.markdown * tiny tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/template.markdown | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 7ebd0120e94..8108478e01b 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -41,7 +41,9 @@ related: The `template` integration allows creating entities which derive their values from other data. This is done by specifying [templates](/docs/configuration/templating/) for properties of an entity, like the name or the state. -Sensors, binary (on/off) sensors, buttons, images, numbers and selects are covered on this page. For other types, please see the specific pages: +Sensors, binary (on/off) sensors, buttons, images, numbers, and selects are covered on this page. They can be configured using [UI](#configuration) or [YAML](#yaml-configuration) file. + +For other types, please see the specific pages: - [Alarm control panel](/integrations/alarm_control_panel.template/) - [Cover](/integrations/cover.template/) @@ -52,16 +54,6 @@ Sensors, binary (on/off) sensors, buttons, images, numbers and selects are cover - [Vacuum](/integrations/vacuum.template/) - [Weather](/integrations/weather.template/) -Sensor, binary sensor, button, image and select can be configured using [UI](#ui-configuration) or [YAML](#yaml-configuration) file. - -Number template entities are defined in your YAML configuration files under the `template:` key and cannot be configured via the UI. You can define multiple configuration blocks as a list. Each block defines sensor/binary sensor/number/select entities and can contain an optional update trigger. - -_For old sensor/binary sensor configuration format, [see below](#legacy-binary-sensor-configuration-format)._ - -## UI configuration - -Sensor template, binary sensor template, button template, image template and select template can be configured using the user interface at **{% my helpers title="Settings > Devices & services > Helpers" %}**. Select the **+ Add helper** button and then select the **{% my config_flow_start domain=page.ha_domain title=page.title %}** helper. - {% include integrations/config_flow.md %} {% important %} @@ -76,6 +68,10 @@ If you need more specific features for your use case, the manual [YAML-configura ## YAML configuration +Entities (sensors, binary sensors, buttons, images, numbers, and selections) are defined in your YAML configuration files under the `template:` key. You can define multiple configuration blocks as a list. Each block defines sensor/binary sensor/number/select entities and can contain an optional update trigger. + +_For old sensor/binary sensor configuration format, [see below](#legacy-binary-sensor-configuration-format)._ + ### State-based template binary sensors, buttons, images, numbers, selects and sensors Template entities will by default update as soon as any of the referenced data in the template updates. From ae49e7f7bb4c71bd03221fa5a6f85ee67873010b Mon Sep 17 00:00:00 2001 From: Jordi Date: Sat, 17 Aug 2024 20:45:36 +0200 Subject: [PATCH 13/46] Update AquaCell docs to mention Harvey support (#33725) --- source/_integrations/aquacell.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_integrations/aquacell.markdown b/source/_integrations/aquacell.markdown index edd0ea9f44e..1f884148aaa 100644 --- a/source/_integrations/aquacell.markdown +++ b/source/_integrations/aquacell.markdown @@ -1,5 +1,5 @@ --- -title: Aquacell +title: AquaCell description: Instructions on how to integrate AquaCell with Home Assistant. ha_category: - Sensor @@ -17,10 +17,12 @@ ha_integration_type: device AquaCell is a water-softening device. The **AquaCell** {% 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. + {% include integrations/config_flow.md %}
-This integration only works with AquaCell devices which have an i-Lid and are configured through the 'Mijn AquaCell' mobile app. +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.
## Sensors From bb555e205b27d1d1340dcc4ebe3dd1a3491334b6 Mon Sep 17 00:00:00 2001 From: Matthias Alphart Date: Mon, 19 Aug 2024 10:57:00 +0200 Subject: [PATCH 14/46] Rename KNX Climate preset modes according to specification (#34305) --- source/_integrations/knx.markdown | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index 37266f726dc..3039d3c669d 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -787,29 +787,28 @@ knx: ``` `operation_mode_frost_protection_address` / `operation_mode_night_address` / `operation_mode_comfort_address` / `operation_mode_standby_address` are not necessary if `operation_mode_address` is specified. -If the actor doesn't support explicit state group objects the `*_state_address` can be configured with the same group address as the writeable `*_address`. The read flag for the `*_state_address` group object has to be set in ETS to support initial reading e.g., when starting Home Assistant. The following values are valid for the `heat_cool_address` and the `heat_cool_state_address`: - `0` (cooling) - `1` (heating) -The following values are valid for the Home Assistant [Climate](/integrations/climate/) `hvac_mode` attribute. Supported values for your KNX thermostats can be specified via `controller_modes` configuration variable: +Supported HVAC modes for your KNX thermostats are found automatically. This can be overridden by using the `controller_modes` configuration variable. The following values are valid controller modes: -- `off` (maps internally to `HVAC_MODE_OFF` within Home Assistant) -- `auto` (maps internally to `HVAC_MODE_AUTO` within Home Assistant) -- `heat` (maps internally to `HVAC_MODE_HEAT` within Home Assistant) -- `cool` (maps internally to `HVAC_MODE_COOL` within Home Assistant) -- `fan_only` (maps internally to `HVAC_MODE_FAN_ONLY` within Home Assistant) -- `dehumidification` (maps internally to `HVAC_MODE_DRY` within Home Assistant) +- `off` +- `auto` +- `heat` +- `cool` +- `fan_only` +- `dehumidification` -The following presets are valid for the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute. Supported values for your KNX thermostats can be specified via `operation_modes` configuration variable: +Supported preset modes for your KNX thermostats are found automatically. This can be overridden by using the `operation_modes` configuration variable. The following values are valid operation modes: -- `auto` (maps to `none` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) -- `comfort` (maps to `comfort` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) -- `standby` (maps to `away` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) -- `economy` (maps to `sleep` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) -- `building_protection` (maps to `eco` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) +- `auto` +- `comfort` +- `standby` +- `economy` +- `building_protection` {% configuration %} name: @@ -914,11 +913,11 @@ operation_mode_standby_address: required: false type: [string, list] operation_modes: - description: Overrides the supported operation modes. Provide the supported `preset_mode` values for your device. + description: Overrides the supported operation modes. Provide the supported `preset_modes` value for your device. required: false type: list controller_modes: - description: Overrides the supported controller modes. Provide the supported `hvac_mode` values for your device. + description: Overrides the supported controller modes. Provide the supported `hvac_modes` value for your device. required: false type: list default_controller_mode: From 70f248c1b30e18927e63c23a7172c46ba1177a98 Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Mon, 19 Aug 2024 10:59:04 +0200 Subject: [PATCH 15/46] Document publishing raw data in mqtt command templates and publish action (#34312) * Document mqtt command template behavior * Add `evalute_bytes` option to mqtt publish action * rephrase * Follow up on review * Rename new option to evaluate_payload --- source/_docs/configuration/templating.markdown | 10 +++++++++- source/_integrations/mqtt.markdown | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index bfa929f53f2..ae43aeed336 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -1284,7 +1284,7 @@ For actions, command templates are defined to format the outgoing MQTT payload t {% note %} -Example command template: +**Example command template with JSON data:** With given value `21.9` template {% raw %}`{"temperature": {{ value }} }`{% endraw %} renders to: @@ -1298,6 +1298,14 @@ Additional the MQTT entity attributes `entity_id`, `name` and `this` can be used {% endnote %} +**Example command template with raw data:** + +When a command template renders to a valid `bytes` literal, then MQTT will publish this data as raw data. In other cases, a string representation will be published. So: + +- Template {% raw %}`{{ "16" }}`{% endraw %} renders to payload encoded string `"16"`. +- Template {% raw %}`{{ 16 }}`{% endraw %} renders to payload encoded string `"16"`. +- Template {% raw %}`{{ pack(0x10, ">B") }}`{% endraw %} renders to a raw 1 byte payload `0x10`. + ## Some more things to keep in mind ### `entity_id` that begins with a number diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 139e0e52bb1..975196aa93d 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -1110,9 +1110,13 @@ The MQTT integration will register the `mqtt.publish` action, which allows publi | ---------------------- | -------- | ------------------------------------------------------------ | | `topic` | no | Topic to publish payload to. | | `payload` | no | Payload to publish. | +| `evaluate_payload` | yes | If a `bytes` literal in `payload` should be evaluated to publish raw data. (default: false)| | `qos` | yes | Quality of Service to use. (default: 0) | | `retain` | yes | If message should have the retain flag set. (default: false) | +{% note %} +When `payload` is rendered from [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) in a YAML script or automation, and the template renders to a `bytes` literal, the outgoing MQTT payload will only be sent as `raw` data, if the `evaluate_payload` option flag is set to `true`. +{% endnote %} {% important %} You must include either `topic` or `topic_template`, but not both. If providing a payload, you need to include either `payload` or `payload_template`, but not both. From 08329c40d90c291a95eb61f8e4c39a39917e6a3f Mon Sep 17 00:00:00 2001 From: Antoine Reversat Date: Mon, 19 Aug 2024 10:40:04 -0400 Subject: [PATCH 16/46] Add documentation for the fujitsu_hvac integration (#31192) * Add documentation for the fujitsu_hvac integration * Rename the documentation to match the new name of the integration and update the name in the documentation itself * Integrate suggestions from coderabbit Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Remove quality rating Co-authored-by: Joost Lekkerkerker * Fix version Co-authored-by: Joost Lekkerkerker * tiny tweaks * Add Climate section * Fix grammatical issue. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * move config flow to be right after prereqs * Update source/_integrations/fujitsu_fglair.markdown --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/fujitsu_fglair.markdown | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 source/_integrations/fujitsu_fglair.markdown diff --git a/source/_integrations/fujitsu_fglair.markdown b/source/_integrations/fujitsu_fglair.markdown new file mode 100644 index 00000000000..b3a6628b751 --- /dev/null +++ b/source/_integrations/fujitsu_fglair.markdown @@ -0,0 +1,36 @@ +--- +title: Fujitsu FGLair +description: Control your Fujitsu heat pump or air conditioner that uses the FGLair app +ha_category: + - Climate +ha_release: 2024.9 +ha_domain: fujitsu_fglair +ha_integration_type: integration +ha_codeowners: + - '@crevetor' +ha_config_flow: true +ha_platforms: + - climate +ha_iot_class: "Cloud Polling" +--- + +The {{ page.title }} {% term integration %} provides support for Fujitsu heat pumps and air conditioners that use the FGLair app. +To find out which app to use for your heat pump, check [the Fujitsu FGLair FAQ](https://www.fujitsu-general.com/global/support/faq/airstage-mobile/0127.html). + +## Prerequisites + +First, set up your device in the FGLair app before using this integration. +To configure this integration, you will need the credentials (login and password) used to connect to the FGLair application. + +{% include integrations/config_flow.md %} + +## Climate + +This integration supports the following functionalities (if the devices support them): + +- [`set_hvac_mode`](/integrations/climate/#action-climateset_hvac_mode) +- [`target temperature`](/integrations/climate#action-climateset_temperature) +- [`turn on/off`](/integrations/climate#action-climateturn_on) +- [`fan mode`](/integrations/climate#action-climateset_fan_mode) +- [`swing mode`](/integrations/climate#action-climateset_swing_mode) + From 734a855ba0aac24b4f4c8168bb148ef3936e60fe Mon Sep 17 00:00:00 2001 From: Marlon Date: Mon, 19 Aug 2024 16:57:54 +0200 Subject: [PATCH 17/46] Explain Apsystems entities in tables rather than lists (#34200) * List sensors of apsystems integration in tables * tiny tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/apsystems.markdown | 44 ++++++++++++++++++------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/source/_integrations/apsystems.markdown b/source/_integrations/apsystems.markdown index 9aeee5b468e..8c155974c8f 100644 --- a/source/_integrations/apsystems.markdown +++ b/source/_integrations/apsystems.markdown @@ -18,20 +18,42 @@ ha_codeowners: - '@SonnenladenGmbH' --- -The **APsystems** {% term integration %} allows you to read the data from your [APsystems EZ1](https://emea.apsystems.com/diy/ez1/) microinverter. It also allows you to set the output limit to any number between 30 and 800 watts. -The following data is provided by the integration: +The **APsystems** {% term integration %} allows you to read the data from your [APsystems EZ1](https://emea.apsystems.com/diy/ez1/) microinverter. It also allows you to set the output limit to anything above 30 watts. + +## Sensors + +### Numerical sensors + +| Sensor ID | Unit | Description +|---|---| ---| +| total_power | W | Total current output of the inverter +| lifetime_production_p1 | kWh | Lifetime production of first input +| lifetime_production_p2 | kWh | Lifetime production of second input +| lifetime_production | kWh | Lifetime production of both inputs combined +| total_power_p1 | W | Current input on first input +| total_power_p2 | W | Current input on second input +| today_production | kWh | Today's production of both inputs combined +| today_production_p1 | kWh | Today's production of first input +| today_production_p2 | kWh | Today's production of second input + +### Binary sensors + +| Sensor ID | Description +|---|---| +| off_grid_status | On when the inverter is not connected to the power grid +| dc_1_short_circuit_error_status | Short circuit detected on first input +| dc_2_short_circuit_error_status | Short circuit detected on second input +| output_fault_status | Output because of any error deactivated + +## Settings + +| Setting ID | Type | Description +|---|---|---| +| inverter_status | switch | Enables or disables the inverter's output +| output_limit | number | Sets the max output of the inverter -- Lifetime production (Per input and in total) -- Current production (Per input and in total) -- Today's production (Per input and in total) -- Short circuit error status (per input) -- Off grid status -- Output status -The following data can be set by the integration: -- Maximal output in watts -- Inverter status (on or off) ## Prerequisites From d596e92f2566a19c7361f7fdf499ae5b73334f2b Mon Sep 17 00:00:00 2001 From: IceBotYT <34712694+IceBotYT@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:12:37 -0400 Subject: [PATCH 18/46] Add Nice G.O. integration (#34003) * Convert Linear Garage Door to Nice G.O. * Convert nice_go into a new integration and restore linear_garage_door * Fix gemfile * Fix ha_release * tiny tweak * Add prereqs * Fix gemfile (again) * Update source/_integrations/nice_go.markdown * Update source/_integrations/nice_go.markdown * Update source/_integrations/nice_go.markdown * Update source/_integrations/nice_go.markdown --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/nice_go.markdown | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 source/_integrations/nice_go.markdown diff --git a/source/_integrations/nice_go.markdown b/source/_integrations/nice_go.markdown new file mode 100644 index 00000000000..0dd460a6832 --- /dev/null +++ b/source/_integrations/nice_go.markdown @@ -0,0 +1,34 @@ +--- +title: Nice G.O. +description: Control Nice G.O. garage doors +ha_release: '2024.9' +ha_category: + - Cover + - Light +ha_iot_class: Cloud Push +ha_config_flow: true +ha_codeowners: + - '@IceBotYT' +ha_domain: nice_go +ha_platforms: + - cover + - diagnostics + - light +ha_integration_type: integration +--- + +The **Nice G.O.** {% term integration %} lets you control Nice G.O. garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your Nice G.O. mobile app. + +## Prerequisites + +Make sure you have a working account with the Nice G.O. app and have your email and password ready. + +{% include integrations/config_flow.md %} + +## Cover + +Garage doors linked to your Nice G.O. account will appear as covers. + +## Light + +Lights on your garage door will appear as lights. From 15cb230e4aa05c436d28a00c1ccc9f28a21e2f61 Mon Sep 17 00:00:00 2001 From: Philip Vanloo <26272906+dukeofphilberg@users.noreply.github.com> Date: Tue, 20 Aug 2024 09:08:01 +0200 Subject: [PATCH 19/46] Add ArtSound integration (#33974) * Add artsound doc * Update source/_integrations/artsound.markdown Co-authored-by: Joost Lekkerkerker * Update source/_integrations/artsound.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --------- Co-authored-by: Joost Lekkerkerker Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/artsound.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 source/_integrations/artsound.markdown diff --git a/source/_integrations/artsound.markdown b/source/_integrations/artsound.markdown new file mode 100644 index 00000000000..05311b87fac --- /dev/null +++ b/source/_integrations/artsound.markdown @@ -0,0 +1,17 @@ +--- +title: ArtSound +description: Connect and control your ArtSound media players using the LinkPlay integration +ha_release: 2024.9 +ha_category: + - Media player +ha_domain: artsound +ha_integration_type: virtual +works_with: + - linkplay +--- + +The **ArtSound** {% term integration %} allows users to control their ArtSound media players through the **LinkPlay** {% term integration %}. + +[Learn more about LinkPlay in Home Assistant.](/integrations/linkplay/) + +{% include integrations/supported_brand.md %} From ade807645518d6ebaa75ad6a998bd61f563307d7 Mon Sep 17 00:00:00 2001 From: IceBotYT <34712694+IceBotYT@users.noreply.github.com> Date: Tue, 20 Aug 2024 10:56:26 -0400 Subject: [PATCH 20/46] Add switch platform to Nice G.O. (#34370) * Add Nice G.O. switch * Add platform and category * FIX GEMFILE * Add more detail * Tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/nice_go.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/nice_go.markdown b/source/_integrations/nice_go.markdown index 0dd460a6832..7ce05dd3559 100644 --- a/source/_integrations/nice_go.markdown +++ b/source/_integrations/nice_go.markdown @@ -5,6 +5,7 @@ ha_release: '2024.9' ha_category: - Cover - Light + - Switch ha_iot_class: Cloud Push ha_config_flow: true ha_codeowners: @@ -14,6 +15,7 @@ ha_platforms: - cover - diagnostics - light + - switch ha_integration_type: integration --- @@ -32,3 +34,7 @@ Garage doors linked to your Nice G.O. account will appear as covers. ## Light Lights on your garage door will appear as lights. + +## Switch + +A switch for turning vacation mode on and off will be made available for each device. Vacation mode prevents the operation of the door from physical control points such as a wall station, wireless keypad, remote control, or HomeLink. It can still be controlled from Home Assistant. From 65c144ecd6ff0dbe0d34e0aef01a046ded9abd6e Mon Sep 17 00:00:00 2001 From: IceBotYT <34712694+IceBotYT@users.noreply.github.com> Date: Wed, 21 Aug 2024 01:32:45 -0400 Subject: [PATCH 21/46] Add Nice G.O. event platform (#34373) * Add Nice G.O. event platform * Gemfile (again) (again) * Add more detail * gemfile --- source/_integrations/nice_go.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/nice_go.markdown b/source/_integrations/nice_go.markdown index 7ce05dd3559..b26348d53e4 100644 --- a/source/_integrations/nice_go.markdown +++ b/source/_integrations/nice_go.markdown @@ -4,6 +4,7 @@ description: Control Nice G.O. garage doors ha_release: '2024.9' ha_category: - Cover + - Event - Light - Switch ha_iot_class: Cloud Push @@ -14,6 +15,7 @@ ha_domain: nice_go ha_platforms: - cover - diagnostics + - event - light - switch ha_integration_type: integration @@ -31,6 +33,10 @@ Make sure you have a working account with the Nice G.O. app and have your email Garage doors linked to your Nice G.O. account will appear as covers. +## Event + +The barrier obstructed event entity will be triggered whenever the barrier gets obstructed. This could be triggered by anything that results in the closure being unsuccessful. This may include beam block during closure, beam block before closure, and an object in the way. + ## Light Lights on your garage door will appear as lights. From ea3ace6395cabe38654e770b036f45d9ed7b09b2 Mon Sep 17 00:00:00 2001 From: TimL Date: Wed, 21 Aug 2024 15:39:54 +1000 Subject: [PATCH 22/46] Add initial documentation for new SMLIGHT SLZB integration (#33053) * Initial documentation for SMLIGHT SLZB Zigbee adapter integration * Apply suggestions from code review Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> * Tweaks * Update source/_integrations/smlight.markdown * Update source/_integrations/smlight.markdown --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/smlight.markdown | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 source/_integrations/smlight.markdown diff --git a/source/_integrations/smlight.markdown b/source/_integrations/smlight.markdown new file mode 100644 index 00000000000..2301075153d --- /dev/null +++ b/source/_integrations/smlight.markdown @@ -0,0 +1,47 @@ +--- +title: SMLIGHT SLZB +description: The SMLIGHT SLZB integration allows users to monitor and manage their SMLIGHT SLZB-06x devices from directly within Home Assistant. +ha_category: + - Sensor +ha_release: 2024.9 +ha_iot_class: Local Polling +ha_config_flow: true +ha_domain: smlight +ha_zeroconf: true +ha_platforms: + - sensor +ha_codeowners: + - '@tl-sl' +ha_integration_type: device +--- + +The [SMLIGHT](https://smlight.tech) SLZB-06x Ethernet Zigbee coordinators +provide a convenient way to add Zigbee to your smart home setup. + +The **SMLIGHT SLZB** {% term integration %} allows users to monitor and manage their SLZB-06x devices +directly from within Home Assistant and to directly access many of the +features found in the SMLIGHT web UI. You can also use these in your automations. + +## Prerequisites + +You need a supported SLZB-06 adapter. + + This integration has been tested with the following devices: + +- [SLZB-06](https://smlight.tech/product/slzb-06) +- [SLZB-06M](https://smlight.tech/product/slzb-06m) +- [SLZB-06p7](https://smlight.tech/product/slzb-06p7) +- [SLZB-06p10](https://smlight.tech/product/slzb-06p10/) + +{% include integrations/config_flow.md %} + +## Integration entities + +The following sensors will be created: + +- **Core Temperature** - Temperature of core ESP32 +- **Zigbee Temperature** - Temperature of Zigbee CC2652 or EFR32 chip +- **Core Uptime** - Uptime of Core device +- **Zigbee Uptime** - Uptime of Zigbee connection to ZHA/Z2M +- **RAM Usage** - Monitor RAM Usage +- **FS Usage** - Monitor filesystem usage From 775e63cc3fdbb23ad59068c02d3261a19340ff3e Mon Sep 17 00:00:00 2001 From: Thomas55555 <59625598+Thomas55555@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:30:44 +0200 Subject: [PATCH 23/46] Enable confirm error button in Husqvarna Automower by default (#34293) --- source/_integrations/husqvarna_automower.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/husqvarna_automower.markdown b/source/_integrations/husqvarna_automower.markdown index ed7364cb4f1..9dba15565df 100644 --- a/source/_integrations/husqvarna_automower.markdown +++ b/source/_integrations/husqvarna_automower.markdown @@ -107,7 +107,7 @@ The integration will create the following binary sensors: ### Button (if available) -The integration will create a button entity for confirming minor mower errors. This entity is disabled by default. You have to enable it manually. The API can't detect if the mower has the capability to confirm minor errors remotely. Before enabling this function, refer to the mower documentation. +The integration will create a button entity for confirming minor mower errors. ### Device tracker (if available) From 6a0d3091aac4c454b5216a127fd64f5a48e46d55 Mon Sep 17 00:00:00 2001 From: Anrijs Date: Wed, 21 Aug 2024 22:12:58 +0300 Subject: [PATCH 24/46] added aranet radon plus to supported device list (#34361) --- source/_integrations/aranet.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/aranet.markdown b/source/_integrations/aranet.markdown index 92001ff7a37..67397f2502a 100644 --- a/source/_integrations/aranet.markdown +++ b/source/_integrations/aranet.markdown @@ -27,5 +27,7 @@ The Aranet integration will automatically discover devices once the [Bluetooth]( - [Aranet2](https://aranet.com/products/aranet2/) - [Aranet4](https://aranet.com/products/aranet4/) +- [Aranet Radiation](https://aranet.com/products/aranet-radiation-sensor/) +- [Aranet Radon Plus](https://aranet.com/products/aranet-radon-sensor) The Aranet integration requires that your Aranet device is updated to at least firmware version 1.2.0 and has the "Smart Home integration" feature enabled. Both of these can be done within the settings portion of the Aranet Home mobile application on both Android and iOS. From ba5d20e143e084856084ad277f382235e6ed10df Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Thu, 22 Aug 2024 09:08:57 +0200 Subject: [PATCH 25/46] Allow setup of Mosquito Add-on in MQTT config flow (#34341) * Allow setup of Mosquitoo Add-on in MQTT config flow * Tweak * Tiny tweak * No further --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/mqtt.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 975196aa93d..ddcde4359a3 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -119,6 +119,11 @@ MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things Your first step to get MQTT and Home Assistant working is to choose a broker. +The easiest option is to install the official Mosquitto Broker add-on. You can choose to set up and configure this add-on automatically when you set up the MQTT integration. Home Assistant will automatically generate and assign a safe username and password, and no further attention is required. This also works if you have already set up this add-on yourself in advance. +You can set up additional logins for your MQTT devices and services using the [Mosquitto add-on configuration](https://my.home-assistant.io/create-link/?redirect=supervisor_addon&addon=core_mosquitto). + + Alternatively, you can use a different MQTT broker that you configure yourself, ensuring it is compatible with Home Assistant. + ## Setting up a broker While public MQTT brokers are available, the easiest and most private option is running your own. From 8a429d4386734674d92f7c52e30cdd0a47356c2e Mon Sep 17 00:00:00 2001 From: Patrick Frazer Date: Thu, 22 Aug 2024 08:16:53 -0400 Subject: [PATCH 26/46] Add reference to new DROP Alert product (#32871) * Add reference to new DROP Alert product * Simplify Alert product description --- source/_integrations/drop_connect.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/drop_connect.markdown b/source/_integrations/drop_connect.markdown index f770e1f5704..d8abe554a9d 100644 --- a/source/_integrations/drop_connect.markdown +++ b/source/_integrations/drop_connect.markdown @@ -37,6 +37,7 @@ There is currently support for the following DROP products within Home Assistant - **Pump Controller**: smart replacement for an FSG pressure switch. - **RO Filter**: reverse osmosis drinking water filtration. - **Salt Sensor**: alerts when the salt level in the softener brine tank is low. +- **Alert**: monitors both the water level in a sump pit and electrical power to the sump pump. ### Prerequisites From d240614f04c0132b24a9da038465956eef5de330 Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Thu, 22 Aug 2024 19:22:17 +0200 Subject: [PATCH 27/46] Add `options` support to MQTT sensor (#34152) --- source/_integrations/sensor.mqtt.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown index e3e517d5a0f..7e0d60f4ea8 100644 --- a/source/_integrations/sensor.mqtt.markdown +++ b/source/_integrations/sensor.mqtt.markdown @@ -165,6 +165,10 @@ object_id: description: Used instead of `name` for automatic generation of `entity_id` required: false type: string +options: + description: List of allowed sensor state value. An empty list is not allowed. The sensor's `device_class` should be set to `enum`. Cannot be used together with `state_class` or `unit_of_measurement`. + required: false + type: list payload_available: description: The payload that represents the available state. required: false From 707e0d41c1bd373f79168ec4c299b2f3f05bfc5b Mon Sep 17 00:00:00 2001 From: Dylan Corrales Date: Sun, 25 Aug 2024 11:57:55 -0400 Subject: [PATCH 28/46] Amcrest: Change `action` back to `service` (#34348) --- source/_integrations/amcrest.markdown | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_integrations/amcrest.markdown b/source/_integrations/amcrest.markdown index c886a1df065..3a729edae66 100644 --- a/source/_integrations/amcrest.markdown +++ b/source/_integrations/amcrest.markdown @@ -292,7 +292,7 @@ elements: bottom: 50px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: up @@ -304,7 +304,7 @@ elements: bottom: 0px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: down @@ -316,7 +316,7 @@ elements: bottom: 25px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: left @@ -328,7 +328,7 @@ elements: bottom: 25px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: right @@ -340,7 +340,7 @@ elements: bottom: 50px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: left_up @@ -352,7 +352,7 @@ elements: bottom: 50px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: right_up @@ -364,7 +364,7 @@ elements: bottom: 0px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: left_down @@ -376,7 +376,7 @@ elements: bottom: 0px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: right_down @@ -388,13 +388,13 @@ elements: right: 25px tap_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control service_data: entity_id: camera.lakehouse movement: zoom_in hold_action: action: call-service - action: amcrest.ptz_control + service: amcrest.ptz_control data: entity_id: camera.lakehouse movement: zoom_out From 22b9be2dfb1ddfe2458e294a45dd4c10e406b1be Mon Sep 17 00:00:00 2001 From: Christophe Gagnier Date: Sun, 25 Aug 2024 12:38:30 -0400 Subject: [PATCH 29/46] Add information for TechnoVE's charging enabled switch (#33646) --- source/_integrations/technove.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/technove.markdown b/source/_integrations/technove.markdown index 140bdc3cbfd..f524bae9633 100644 --- a/source/_integrations/technove.markdown +++ b/source/_integrations/technove.markdown @@ -64,3 +64,4 @@ The {% term integration %} adds the following switch: | Name | Description | | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Auto-charge mode | When enabled, vehicles will start charging automatically when plugged in. When turned off, charging will need to be manually started each time a vehicle is plugged in. Note: Disabling auto-charge mode does not interrupt an ongoing charging session. | +| Charging enabled | When enabled, vehicles will be able to charge. Disable it to stop a vehicle from charging. Note: This switch can only be used when auto-charge mode is disabled. | From 6c0c23f5f6dd5aea3134cbb13db23f2da1fd447f Mon Sep 17 00:00:00 2001 From: Chris Buckley Date: Sun, 25 Aug 2024 17:38:48 +0100 Subject: [PATCH 30/46] Todoist: add "section" field to new_task service (#32342) --- source/_integrations/todoist.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown index 1bcda711422..6aadec01444 100644 --- a/source/_integrations/todoist.markdown +++ b/source/_integrations/todoist.markdown @@ -190,6 +190,8 @@ Here are two example JSON payloads resulting in the same task: - **project** (*Optional*): The project to put the task in. +- **section** (*Optional*): The section within the project to add the task to. + - **labels** (*Optional*): Any labels you want to add to the task, separated by commas. - **assignee** (*Optional*): A member's username of a shared project to assign this task to. You find the username formatted as bold text in the collaborator menu of a shared project. From 47742a38fda777a3e4c8c4655179a30704fd81fc Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Mon, 26 Aug 2024 02:39:06 +1000 Subject: [PATCH 31/46] Update tesla fleet to Gold quality (#34099) --- source/_integrations/tesla_fleet.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/tesla_fleet.markdown b/source/_integrations/tesla_fleet.markdown index dc1cf11871d..6c89601c0ec 100644 --- a/source/_integrations/tesla_fleet.markdown +++ b/source/_integrations/tesla_fleet.markdown @@ -17,6 +17,7 @@ ha_platforms: - device_tracker - diagnostics - sensor +ha_quality_scale: gold ha_integration_type: integration --- From 1c295bc52b0422d635b0dc79dea6d8bfaae91518 Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Sun, 25 Aug 2024 09:39:30 -0700 Subject: [PATCH 32/46] Add documentation for nest event entities (#34097) --- source/_integrations/nest.markdown | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index a7dab259747..e9a795f083a 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -5,6 +5,7 @@ ha_category: - Camera - Climate - Doorbell + - Event - Hub - Media source - Sensor @@ -20,6 +21,7 @@ ha_platforms: - camera - climate - diagnostics + - event - sensor ha_integration_type: integration --- @@ -31,6 +33,7 @@ There is currently support for the following device types within Home Assistant: - [Climate](#climate) - [Sensor](#sensor) - [Camera](#camera) +- [Event](#event) Cameras and doorbells use [Automation and device triggers](#automation-and-device-triggers) for events and a [media source](#media-source) for capturing media images on supported devices. Other device types like Smoke and CO Alarms or Security systems are not currently supported by the SDM API. @@ -285,6 +288,19 @@ All cameras have motion and person triggers, however only some support capturing Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`. +## Event + +All doorbells and cameras support event entities. See the [Event](https://www.home-assistant.io/integrations/event/) integration documentation for more about how to use event entities in automations. + +There are two classes of event entities that are available based on the above camera features: + +- `motion` for cameras that support any of the event types `camera_motion`, `camera_person`, or `camera_sound` +- `doorbell` for all cameras that are doorbells and support `doorbell_chime` events + +Nest event entities do not yet expose media for use in attachments. + +## Device Triggers + ## Automation and device triggers The Nest integration provides [device triggers](/docs/automation/trigger/#device-triggers) to enable automation in Home Assistant. You should review the [Automating Home Assistant](/getting-started/automation/) getting started guide on automations or the [Automation](/docs/automation/) documentation for full details. From 2dff4d43281ebd4dc43bc6d826f700f8c64a3b42 Mon Sep 17 00:00:00 2001 From: Tom Brien Date: Sun, 25 Aug 2024 17:39:40 +0100 Subject: [PATCH 33/46] Update coinbase instructions for V3 API (#32498) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/coinbase.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/coinbase.markdown b/source/_integrations/coinbase.markdown index 0f98291d6c1..e6fad373c00 100644 --- a/source/_integrations/coinbase.markdown +++ b/source/_integrations/coinbase.markdown @@ -18,7 +18,7 @@ ha_integration_type: integration The `coinbase` integration lets you access account balances and exchange rates from [Coinbase](https://coinbase.com). -You will need to obtain an API key from the API section in Coinbase's [User Settings](https://www.coinbase.com/settings/api) to use this integration. You need to select the account wallet or wallets (e.g. "BTC Wallet") that you wish to show in Home Assistant and give read access to `wallet:accounts` in order for the integration to access relevant data. It is worth noting that once you close the New API Key popup on Coinbase you will not be able to see the API Secret again. +You will need to obtain an API key from the API section in Coinbase's [User Settings](https://www.coinbase.com/settings/api) to use this integration. Your API key and secret should be of the form `organizations/XXXXX/apiKeys/XXXXX` and `-----BEGIN EC PRIVATE KEY-----\nXXXXXXXXXXXXXXXXX\n-----END EC PRIVATE KEY-----\n` respectively. When creating your API key, it is highly recommended to ensure that only the **View** box is ticked in the **API restrictions** section. {% include integrations/config_flow.md %} From 1d2b5fd7108a2c07b408a6fc84d1984cb3e77c76 Mon Sep 17 00:00:00 2001 From: tronikos Date: Sun, 25 Aug 2024 23:56:44 -0700 Subject: [PATCH 34/46] Document support for National Grid NY Upstate in Opower (#34415) --- source/_integrations/opower.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/opower.markdown b/source/_integrations/opower.markdown index 6979a117aee..9d4f620ac7c 100644 --- a/source/_integrations/opower.markdown +++ b/source/_integrations/opower.markdown @@ -41,6 +41,7 @@ More than 175 utilities use Opower. Currently only the following utilities are s - PECO Energy Company (PECO) - Potomac Electric Power Company (Pepco) - Mercury NZ Limited +- National Grid NY Upstate - Pacific Gas & Electric (PG&E) - Portland General Electric (PGE) - Puget Sound Energy (PSE) From 5902dbf075e1081661850e54b645da8f1d773ef3 Mon Sep 17 00:00:00 2001 From: cnico Date: Mon, 26 Aug 2024 08:58:21 +0200 Subject: [PATCH 35/46] Addition of support of the homeassistant.update_entity action (#34368) * Addition of support of the homeassistant.update_entity action * PR review correction --- source/_integrations/chacon_dio.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/chacon_dio.markdown b/source/_integrations/chacon_dio.markdown index c73c4b78cd1..0bbcbc645af 100644 --- a/source/_integrations/chacon_dio.markdown +++ b/source/_integrations/chacon_dio.markdown @@ -48,6 +48,10 @@ The switch platform integrates Chacon Dio devices to manage switches (like the R - get the **state** of the switch (connected or not and on/off state) - **Turn on/off** the switch +## Actions + +In rare cases, such as Wi-Fi interruptions, you may need to manually update the state of your devices. You can use the `homeassistant.update_entity` action to refresh the device state manually. + ## Tips You can use the [group integration](/integrations/group) to group entities as the application proposes (for example covers of the first floor). From 76a2ca9a9249c0b0d57274f85aaa545a466ba1b0 Mon Sep 17 00:00:00 2001 From: Dylan Corrales Date: Mon, 26 Aug 2024 02:58:30 -0400 Subject: [PATCH 36/46] Prometheus: Add alarm_control_panel metric (#34355) * Prometheus: Add alarm_control_panel metric * reorder --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/prometheus.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/prometheus.markdown b/source/_integrations/prometheus.markdown index d4c88d88655..8fa1bb1287f 100644 --- a/source/_integrations/prometheus.markdown +++ b/source/_integrations/prometheus.markdown @@ -209,4 +209,4 @@ For example: Metrics are exported only for the following domains: -`automation`, `binary_sensor`, `climate`, `cover`, `counter`, `device_tracker`, `fan`, `humidifier`, `input_boolean`, `input_number`, `light`, `lock`, `number`, `person`, `sensor`, `update`, `switch` +`alarm_control_panel`, `automation`, `binary_sensor`, `climate`, `cover`, `counter`, `device_tracker`, `fan`, `humidifier`, `input_boolean`, `input_number`, `light`, `lock`, `number`, `person`, `sensor`, `switch`, `update` From d87519049670c7feb2ee05300ce6e1bb02573711 Mon Sep 17 00:00:00 2001 From: "Mr. Bubbles" Date: Mon, 26 Aug 2024 08:59:48 +0200 Subject: [PATCH 37/46] Add documentation and setup instructions for ista EcoTrend statistics (#34342) * Add documentation and setup instructions for ista EcoTrend statistics * fix indentation * fix error * some more fixes * remove blank line * Tiny style tweaks * implement feedback from the rabbit --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/ista_ecotrend.markdown | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/source/_integrations/ista_ecotrend.markdown b/source/_integrations/ista_ecotrend.markdown index 254958515c7..04de97bf231 100644 --- a/source/_integrations/ista_ecotrend.markdown +++ b/source/_integrations/ista_ecotrend.markdown @@ -34,3 +34,37 @@ The **ista EcoTrend** integration exposes the last monthly readings as sensors. - **Water costs**: estimated costs in EUR Not all values may be available in your ista EcoTrend account. Cost estimation is an optional service that has to be booked by your property manager. Therefore, the cost sensors are deactivated by default. + +## Long-term statistics + +The **ista EcoTrend** integration allows you to import all your historical consumption readings from your ista EcoTrend account into long-term statistic entities. These entities can be displayed in your Home Assistant energy dashboard, providing a comprehensive view of your consumption data over time. + +### Identifying ista EcoTrend statistic entities + +The statistic entities imported via this integration have a `ista_ecotrend:` prefix. This prefix helps you identify and distinguish these entities from other sensor statistics when setting up the long-term statistics in the energy dashboard. + +### Setting up long-term statistics in the energy dashboard + +To set up the **ista EcoTrend** long-term statistics in your Home Assistant energy dashboard, follow these steps: + +- **Access the energy configuration panel** + - Go to the [energy configuration panel](https://my.home-assistant.io/redirect/config_energy/) of your Home Assistant instance. + + [![Open your Home Assistant instance and show your energy configuration panel.](https://my.home-assistant.io/badges/config_energy.svg)](https://my.home-assistant.io/redirect/config_energy/) + +- **Add heating energy usage** + - Go to **Gas consumption**. + - Select **Add gas source**. + - Choose your **Heating energy** entity (for example, `ista_ecotrend:luxemburger_str_1_heating_energy`). + - For cost tracking, select the **Use an entity tracking the total costs** option. + - Select the corresponding **Heating costs** entity (for example, `ista_ecotrend:luxemburger_str_1_heating_cost`). +- **Add hot water energy usage** + - To track hot water energy usage and costs (for example, `ista_ecotrend:luxemburger_str_1_hot_water_energy` and `ista_ecotrend:luxemburger_str_1_hot_water_cost`), repeat the above steps for your **Hot water energy** and **Hot water costs** entities. +- **Add hot water consumption** + - Go to **Water consumption**. + - Select **Add water source**. + - Choose the **Hot water** entity (for example, `ista_ecotrend:luxemburger_str_1_hot_water`). + - For cost tracking, select the **Use an entity tracking the total costs** option. + - Select the corresponding **Hot water costs** entity (for example, `ista_ecotrend:luxemburger_str_1_hot_water_cost`). +- **Add water consumption** + - To track cold water consumption and costs (for example, `ista_ecotrend:luxemburger_str_1_water` and `ista_ecotrend:luxemburger_str_1_water_cost`), repeat the above steps for your **Water** and **Water costs** entities. From 285adae583d1f08b1fa41249c6f629c41c0155d0 Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Mon, 26 Aug 2024 10:25:16 +0200 Subject: [PATCH 38/46] Auto reauth mqtt entry when the broker add-on is re-installed (#34423) * Auto reauth mqtt entry when the broker add-on is re-installed * Improve grammar * Mark text block important instead of a warning * tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/mqtt.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index ddcde4359a3..15ef81aa1fe 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -122,6 +122,10 @@ Your first step to get MQTT and Home Assistant working is to choose a broker. The easiest option is to install the official Mosquitto Broker add-on. You can choose to set up and configure this add-on automatically when you set up the MQTT integration. Home Assistant will automatically generate and assign a safe username and password, and no further attention is required. This also works if you have already set up this add-on yourself in advance. You can set up additional logins for your MQTT devices and services using the [Mosquitto add-on configuration](https://my.home-assistant.io/create-link/?redirect=supervisor_addon&addon=core_mosquitto). +{% important %} +When MQTT is set up with the official Mosquitto MQTT broker add-on, the broker's credentials are generated and kept secret. If the official Mosquitto MQTT broker needs to be re-installed, make sure you save a copy of the add-on user options, like the additional logins. After re-installing the add-on, the MQTT integration will automatically update the new password for the re-installed broker. It will then reconnect automatically. +{% endimportant %} + Alternatively, you can use a different MQTT broker that you configure yourself, ensuring it is compatible with Home Assistant. ## Setting up a broker From 4bfed5a5bf7627ffdc590544a521ae41e6149d97 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 26 Aug 2024 08:37:48 -1000 Subject: [PATCH 39/46] Document shelly outbound websocket configuration may be auto configured (#34446) --- source/_integrations/shelly.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index 5286adc46ba..9d2197ee8c1 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -73,7 +73,7 @@ The list below will help you diagnose and fix the problem: ## Shelly device configuration (generation 2 and 3) -Generation 2 and 3 devices use the `RPC` protocol to communicate with the integration. **Battery operated devices** (even if USB connected) need manual outbound WebSocket configuration, Navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address: +Generation 2 and 3 devices use the `RPC` protocol to communicate with the integration. **Battery-operated devices** (even if USB connected) may need manual outbound WebSocket configuration if Home Assistant cannot correctly determine your instance's internal URL or the outbound WebSocket was previously configured for a different Home Assistant instance. In this case, navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address: `ws://` + `Home_Assistant_local_ip_address:Port` + `/api/shelly/ws` (for example: `ws://192.168.1.100:8123/api/shelly/ws`), click **Apply** to save the settings. In case your installation is set up to use SSL encryption (HTTP**S** with certificate), an additional `s` needs to be added to the WebSocket protocol, too, so that it reads `wss://` (for example: `wss://192.168.1.100:8123/api/shelly/ws`). From fea408f4f7f116358fc59c058771aeff073cd771 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Tue, 27 Aug 2024 10:30:46 +0200 Subject: [PATCH 40/46] Add Reolink chime play action docs (#34149) * Add Reolink chime play action docs * Update to use device_id --- source/_integrations/reolink.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index cac2c1e4183..f83326a2044 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -177,6 +177,15 @@ Depending on the supported features of the camera, select entities are added for **Play quick reply messages**/**Auto quick reply messages** can be recorded in the Reolink phone app where a name is also supplied. New or updated quick reply messages will be loaded into Home Assistant at the start of the integration. When adding new quick reply messages, please restart the Reolink integration. +### Action reolink.play_chime + +To play a ringtone on a Reolink chime, the `reolink.play_chime` action can be used. + +| Data attribute | Optional | Description | +| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `device_id` | no | List of device ids of the Reolink Chimes to control. For example, `- 12a34b56c7d8ef9ghijklm0n1op2345q`. | +| `ringtone` | no | The ringtone to play. For example `operetta`. | + ## Siren entities If the camera supports a siren, a siren entity will be created. From 37b12961c5e3242f961b54cf6b885f8938513a6c Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Tue, 27 Aug 2024 04:14:11 -0700 Subject: [PATCH 41/46] Update nest media attachment documentation (#34445) * Update nest media attachment documentation * Further clarify nest event wording * Tweaks --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/nest.markdown | 44 ++++++++++++++++-------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index e9a795f083a..10bfd6fb3b9 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -263,6 +263,8 @@ Home Assistant supports all SDM API features. However, every Camera or Doorbell - **RTSP**: These devices have an HLS stream served by the Home Assistant Core. These cameras support server-side `camera` actions like stream recording or image preview. See [Low Latency HLS](/integrations/stream#ll-hls) as a great option to enable to reduce stream latency. - **WebRTC**: These devices support direct browser to camera communication and a super low latency stream. A [Picture Glance Card](/dashboards/picture-glance/) can show the live stream in the grid with the *Camera View* set to `live` (not recommended for battery-powered cameras). `camera` actions like stream recording are *not supported*. +Given a camera named `Front Yard`, then the camera is created with a name such as `camera.front_yard`. + {% note %} This feature is enabled by the following permissions: @@ -272,10 +274,10 @@ This feature is enabled by the following permissions: {% endnote %} +All cameras also expose event entities for automation. Some camera models also +support capturing media (snapshots or clips) through device triggers. The table below summarizes the [supported SDM API features](https://developers.google.com/nest/device-access/supported-devices) for each device. -All cameras have motion and person triggers, however only some support capturing snapshots for events. The table below summarizes the [Supported SDM API features](https://developers.google.com/nest/device-access/supported-devices) for each device. - -| Device | Live Stream | Triggers / Events | Media Source
for Triggers / Events | +| Device | Live stream | Event entities / triggers | Media source
for triggers | | -------------------------------------------------------------------------------- | :---------------: | :--------------------------------: | :------------------------------------: | | Nest Cam (indoor, wired)
Nest Cam (outdoor, battery) | WebRTC | Motion
Person | N/A | | Nest Cam Indoor
Nest Cam IQ Indoor
Nest Cam IQ Outdoor
Nest Cam Outdoor | RTSP
Recording | Motion
Person
Sound | Snapshot (jpg) | @@ -285,8 +287,6 @@ All cameras have motion and person triggers, however only some support capturing | Nest Doorbell (wired, 2nd gen) | WebRTC | Motion
Person
Chime | Clip Preview (mp4, gif) | | Nest Hub Max | RTSP
Recording | Motion
Person
Sound
| Snapshot (jpg) | -Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`. - ## Event @@ -297,14 +297,16 @@ There are two classes of event entities that are available based on the above ca - `motion` for cameras that support any of the event types `camera_motion`, `camera_person`, or `camera_sound` - `doorbell` for all cameras that are doorbells and support `doorbell_chime` events -Nest event entities do not yet expose media for use in attachments. +Nest event entities are updated immediately when an event message is received +without waiting for any media to be fetched. See Device Triggers for media support. ## Device Triggers -## Automation and device triggers - The Nest integration provides [device triggers](/docs/automation/trigger/#device-triggers) to enable automation in Home Assistant. You should review the [Automating Home Assistant](/getting-started/automation/) getting started guide on automations or the [Automation](/docs/automation/) documentation for full details. +Device triggers will wait to fire after any media associated with the event is downloaded. Use an +event entity for immediate notifications without media. + {% my automations badge %} ![Screenshot Device Triggers](/images/integrations/nest/device_triggers.png) @@ -321,13 +323,18 @@ This is an example of what the `nest_event` payload looks like for a Device Trig "type": "doorbell_chime", "timestamp": "2022-01-26T04:56:54.031000+00:00", "nest_event_id": "EXAMPLE_EVENT_ID", + "attachment": { + "image": "/api/nest/event_media/DEVICE_ID/EVENT_ID/thumbnail", + "video": "/api/nest/event_media/DEVICE_ID/EVENT_ID", + } "zones": ["Zone 1"], }, } ``` - `device_id`: The Home Assistant device identifier for the camera -- `nest_event_id`: is an opaque identifier that can be used with the Media Source Attachments described below for supported cameras. +- `nest_event_id`: is an opaque identifier that identifies the event. +- `attachment`: May be present if the device supports snapshots or clips and depends on the device's capabilities. This is a URL where media can be fetched from the media source. - `zones`: Zones triggering the event if available. Zones are configured in the Google Home App, though not supported by all cameras. Events in the area outside of a named zone will be an empty zone name. {% enddetails %} @@ -343,7 +350,7 @@ This feature is enabled by the following permissions: - *Other permissions and notification settings in the Nest or Google Home apps*. {% endnote %} -### Google Home App Notification Settings +## Google Home App Notification Settings The Google Home App Notifications settings control not only which notifications are sent to your phone, but also what gets published to the Pub/Sub feed. @@ -362,7 +369,6 @@ If you are still not getting notifications, you can read this [troubleshooting g {% details "Google Home App Notification Settings" %} - | Google Home App Setting | Notes | | ------------------------ | :---------------------------------------------------------------------: | | Notifications: Push | Required for any detection event to be published | @@ -378,7 +384,7 @@ If you are still not getting notifications, you can read this [troubleshooting g The Nest [media source](/integrations/media_source) platform allows you to browse clips for recent camera events. Home Assistant is not intended to be a Network Video Recorder (NVR) platform, however, basic support for capturing recent events is supported. -The table above describes which devices support event image snapshots or 10-frame mp4 video clips for recent events. +The table above describes which devices support image snapshots or 10-frame mp4 video clips. ### Media Attachments @@ -388,7 +394,7 @@ The Media Source APIs can be used in [Companion App Attachments](https://compani - `/api/nest/event_media/DEVICE_ID/EVENT_ID/thumbnail`: A thumbnail preview of the media, which supports image snapshots (jpg) or clip previews (gif) depending on the camera type. -You can use the event payload fields `device_id` and `event_id` in an [automation](/getting-started/automation/) to send a notification from an [actions](/getting-started/automation-action/) as shown in the examples below. +You can use the Nest Device Trigger payload fields `attachment.image` or `attachment.video`in an [automation](/getting-started/automation/) to send a notification from an [actions](/getting-started/automation-action/) as shown in the examples below. {% details "Example Action: Clip Preview (mp4) attachment for iOS" %} @@ -402,10 +408,8 @@ data: message: Doorbell Pressed title: Someone pressed the doorbell data: - image: >- - /api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}/thumbnail - video: >- - /api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }} + image: {{ trigger.event.data.attachment.image }} + video: {{ trigger.event.data.attachment.video }} mode: single ``` @@ -425,8 +429,7 @@ data: message: Doorbell Pressed title: Someone pressed the doorbell data: - image: >- - /api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}/thumbnail + image: {{ trigger.event.data.attachment.image }} ``` {% endraw %} @@ -445,8 +448,7 @@ data: message: Doorbell Pressed title: Someone pressed the doorbell data: - image: >- - /api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}/thumbnail + image: {{ trigger.event.data.attachment.image }} ``` {% endraw %} From 04da5dbe7e5422be48a7bd8096255eacc21d1b4c Mon Sep 17 00:00:00 2001 From: Eric Trudeau Date: Tue, 27 Aug 2024 04:24:47 -0700 Subject: [PATCH 42/46] Add support for Levoit EverestAir air purifiers (#34221) --- source/_integrations/vesync.markdown | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/_integrations/vesync.markdown b/source/_integrations/vesync.markdown index 2b9649b6501..dda689e0de3 100644 --- a/source/_integrations/vesync.markdown +++ b/source/_integrations/vesync.markdown @@ -62,6 +62,7 @@ This {% term integration %} supports devices controllable by the VeSync App. Th - Core 300S: Smart True HEPA Air Purifier - Core 400S: Smart True HEPA Air Purifier - Core 600S: Smart True HEPA Air Purifier +- EverestAir: Smart Air Purifier - Vital 100S Smart True HEPA Air Purifier (LAP-V102S-WUS) - Vital 200S Smart True HEPA Air Purifier (LAP-V201S-WUS) - LEVOIT Smart Wifi Air Purifier (LV-PUR131S) @@ -97,11 +98,11 @@ itself. Note that prior versions of the {% term integration %} exposed these as ## Fan & air quality sensors All VeSync air purifiers expose the remaining filter lifetime, and some also expose air quality measurements. -| Sensor | Description | Example | -| --------------------------------------- | ------------------------------------------------------------------ | ------- | -| `filter_life` | Remaining percentage of the filter. (LV-PUR131S, Core200S/300s/400s/600s) | 142 | +| Sensor | Description | Example | +| ----------------------- | -------------------------------------------------------------------------------------- | --------- | +| `filter_life` | Remaining percentage of the filter. (LV-PUR131S, Core200S/300s/400s/600s/EverestAir) | 142 | | `air_quality` | The current air quality reading. (LV-PUR131S, Core300s/400s/600s) | excellent | -| `pm2_5` | The current air quality reading. (Core300s/400s/600s) | 8 | +| `pm2_5` | The current air quality reading. (Core300s/400s/600s/EverestAir) | 8 | ## Fan exposed attributes From f4fdd7f077641dcd90b21ae60e98afcc2b686147 Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Tue, 27 Aug 2024 12:58:07 +0100 Subject: [PATCH 43/46] Add docs for new Touchline SL integration (#34441) * Add docs for new Touchline SL integration * Update source/_integrations/touchline_sl.markdown * Update source/_integrations/touchline_sl.markdown * Update source/_integrations/touchline_sl.markdown Co-authored-by: Joost Lekkerkerker * Update source/_integrations/touchline_sl.markdown * Address review feedback * use full integration name --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker --- source/_integrations/touchline_sl.markdown | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 source/_integrations/touchline_sl.markdown diff --git a/source/_integrations/touchline_sl.markdown b/source/_integrations/touchline_sl.markdown new file mode 100644 index 00000000000..58b611cb627 --- /dev/null +++ b/source/_integrations/touchline_sl.markdown @@ -0,0 +1,29 @@ +--- +title: Roth Touchline SL +description: Instructions on how to integrate Roth Touchline SL within Home Assistant. +ha_category: + - Climate +ha_release: 2024.9 +ha_iot_class: Cloud Polling +ha_domain: touchline_sl +ha_platforms: + - climate +ha_integration_type: integration +--- + +The **Roth Touchline SL** climate integration enables you to control [Roth Touchline SL](https://www.roth-uk.com/products/control-systems/roth-touchliner-sl-wireless-system) underfloor heating systems. + +## Prerequisites + +You must have an account registered with the [Roth Touchline SL dashboard](https://roth-touchlinesl.com/login). + +{% include integrations/config_flow.md %} + +## Entities + +The integration will present each Roth Touchline SL zone as a climate entity, which can: + +- Display the current temperature +- Display the current humidity +- Set a target temperature +- Assign to a configured "Global Schedule" using Home Assistant climate entity presets. From a6d0f39cb4df4e211e8e529c629a162a11fc616c Mon Sep 17 00:00:00 2001 From: Petro31 <35082313+Petro31@users.noreply.github.com> Date: Tue, 27 Aug 2024 08:42:17 -0400 Subject: [PATCH 44/46] Add zip template documentation (#33934) * Add zip template documentation * Update source/_docs/configuration/templating.markdown Co-authored-by: Stefan Agner --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: Stefan Agner --- .../_docs/configuration/templating.markdown | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index ae43aeed336..5c59113e367 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -1091,6 +1091,38 @@ While Jinja natively supports the conversion of an iterable to a `list`, it does Note that, in Home Assistant, to convert a value to a `list`, a `string`, an `int`, or a `float`, Jinja has built-in functions with names that correspond to each type. +### Iterating multiple objects + +The `zip()` function can be used to iterate over multiple collections in one operation. + +{% raw %} + +```text +{% set names = ['Living Room', 'Dining Room'] %} +{% set entities = ['sensor.living_room_temperature', 'sensor.dining_room_temperature'] %} +{% for name, entity in zip(names, entities) %} + The {{ name }} temperature is {{ states(entity) }} +{% endfor %} +``` + +{% endraw %} + +`zip()` can also unzip lists. + +{% raw %} + +```text +{% set information = [ + ('Living Room', 'sensor.living_room_temperature'), + ('Dining Room', 'sensor.dining_room_temperature') +] %} +{% set names, entities = zip(*information) %} +The names are {{ names | join(', ') }} +The entities are {{ entities | join(', ') }} +``` + +{% endraw %} + ### Functions and filters to process raw data These functions are used to process raw value's in a `bytes` format to values in a native Python type or vice-versa. From 54d292841df576f9a600d1c7eb79d4383d1c8297 Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Tue, 27 Aug 2024 15:55:51 -0700 Subject: [PATCH 45/46] Update ollama documentation with the context size parameter (#34460) * Update ollama documentation for context size * Update source/_integrations/ollama.markdown Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update source/_integrations/ollama.markdown * Update source/_integrations/ollama.markdown --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- source/_integrations/ollama.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/ollama.markdown b/source/_integrations/ollama.markdown index ec007662651..a083e1e3ff0 100644 --- a/source/_integrations/ollama.markdown +++ b/source/_integrations/ollama.markdown @@ -38,6 +38,8 @@ Model: Prompt template: description: The starting text for the AI language model to generate new text from. This text can include information about your Home Assistant instance, devices, and areas and is written using [Home Assistant Templating](/docs/configuration/templating/). +Context window size: + description: "The context window size is the number of tokens the model can take as input. Home Assistant defaults to 8k, which is larger than the default value in Ollama Server (2k), and you may adjust it based on the maximum context size of the specific model used. A larger value will better support larger homes with more entities, and smaller values may lower Ollama server RAM usage." Max history messages: description: Maximum number of messages to keep for each conversation (0 = no limit). Limiting this value will cause older messages in a conversation to be dropped. From 5ce443e82ca99bc9cc3b12b52ff2de25f1d6929f Mon Sep 17 00:00:00 2001 From: Pete Sage <76050312+PeteRager@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:19:59 -0400 Subject: [PATCH 46/46] Add get_queue action for Sonos (#34459) * initial commit * add raw * add trailing pipe * tiny tweak --------- Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/sonos.markdown | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/source/_integrations/sonos.markdown b/source/_integrations/sonos.markdown index b86a2ff9801..5a5e439eea0 100644 --- a/source/_integrations/sonos.markdown +++ b/source/_integrations/sonos.markdown @@ -342,6 +342,47 @@ Force start playing the queue, allows switching from another stream (such as rad | `entity_id` | yes | String or list of `entity_id`s that will start playing. It must be the coordinator if targeting a group. | `queue_position` | yes | Position of the song in the queue to start playing from, starts at 0. +### Action `sonos.get_queue` + +Returns the media_players queue. + +| Data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | media_player entity id. | + +This example script does the following: get the queue, loop through in reverse order, and remove media containing the words "holiday". + +{% raw %} + +```yaml + - action: sonos.get_queue + target: + entity_id: media_player.living_room + response_variable: queue + - variables: + queue_len: '{{ queue["media_player.living_room"] | length }}' + - repeat: + sequence: + - variables: + title: '{{ queue["media_player.living_room"][queue_len - repeat.index]["media_title"].lower() }}' + album: '{{ queue["media_player.living_room"][queue_len - repeat.index]["media_album_name"].lower() }}' + position: '{{ queue_len - repeat.index }}' + - if: + - '{{ "holiday" in title or "holiday" in album }}' + then: + - action: sonos.remove_from_queue + target: + entity_id: media_player.living_room + data: + queue_position: '{{position}}' + until: + - condition: template + value_template: '{{queue_len == repeat.index}}' + +``` + +{% endraw %} + ### Action `sonos.remove_from_queue` Removes an item from the queue.