Merge branch 'next' into rc

This commit is contained in:
Bram Kragten 2024-08-28 18:39:48 +02:00
commit 6021c517f1
39 changed files with 526 additions and 185 deletions

View File

@ -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://<mysql-user>:<mysql-password>@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/<mailbox>/`
- `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 %}

View File

@ -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. 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 ### 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. These functions are used to process raw value's in a `bytes` format to values in a native Python type or vice-versa.
@ -1284,7 +1316,7 @@ For actions, command templates are defined to format the outgoing MQTT payload t
{% note %} {% note %}
Example command template: **Example command template with JSON data:**
With given value `21.9` template {% raw %}`{"temperature": {{ value }} }`{% endraw %} renders to: With given value `21.9` template {% raw %}`{"temperature": {{ value }} }`{% endraw %} renders to:
@ -1298,6 +1330,14 @@ Additional the MQTT entity attributes `entity_id`, `name` and `this` can be used
{% endnote %} {% 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 ## Some more things to keep in mind
### `entity_id` that begins with a number ### `entity_id` that begins with a number

View File

@ -17,6 +17,7 @@ ha_platforms:
- select - select
- sensor - sensor
- switch - switch
- update
ha_integration_type: device ha_integration_type: device
ha_zeroconf: true ha_zeroconf: true
--- ---

View File

@ -292,7 +292,7 @@ elements:
bottom: 50px bottom: 50px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: up movement: up
@ -304,7 +304,7 @@ elements:
bottom: 0px bottom: 0px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: down movement: down
@ -316,7 +316,7 @@ elements:
bottom: 25px bottom: 25px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: left movement: left
@ -328,7 +328,7 @@ elements:
bottom: 25px bottom: 25px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: right movement: right
@ -340,7 +340,7 @@ elements:
bottom: 50px bottom: 50px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: left_up movement: left_up
@ -352,7 +352,7 @@ elements:
bottom: 50px bottom: 50px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: right_up movement: right_up
@ -364,7 +364,7 @@ elements:
bottom: 0px bottom: 0px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: left_down movement: left_down
@ -376,7 +376,7 @@ elements:
bottom: 0px bottom: 0px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: right_down movement: right_down
@ -388,13 +388,13 @@ elements:
right: 25px right: 25px
tap_action: tap_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
service_data: service_data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: zoom_in movement: zoom_in
hold_action: hold_action:
action: call-service action: call-service
action: amcrest.ptz_control service: amcrest.ptz_control
data: data:
entity_id: camera.lakehouse entity_id: camera.lakehouse
movement: zoom_out movement: zoom_out

View File

@ -18,20 +18,42 @@ ha_codeowners:
- '@SonnenladenGmbH' - '@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 **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.
The following data is provided by the integration:
## 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 ## Prerequisites

View File

@ -1,5 +1,5 @@
--- ---
title: Aquacell title: AquaCell
description: Instructions on how to integrate AquaCell with Home Assistant. description: Instructions on how to integrate AquaCell with Home Assistant.
ha_category: ha_category:
- Sensor - 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. 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. You will need your Aquacell account information as used in the **AquaCell** app.
This integration also supports **Harvey** softeners.
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
<div class='note warning'> <div class='note warning'>
This integration only works with <b>AquaCell</b> devices which have an <b>i-Lid</b> and are configured through the 'Mijn AquaCell' mobile app. This integration only works with <b>AquaCell</b> or <b>Harvey</b> devices which have an <b>i-Lid</b> and are configured through the 'Mijn AquaCell' or 'My Harvey' mobile app.
</div> </div>
## Sensors ## Sensors

View File

@ -28,5 +28,6 @@ The Aranet integration will automatically discover devices once the [Bluetooth](
- [Aranet2](https://aranet.com/products/aranet2/) - [Aranet2](https://aranet.com/products/aranet2/)
- [Aranet4](https://aranet.com/products/aranet4/) - [Aranet4](https://aranet.com/products/aranet4/)
- [Aranet Radiation](https://aranet.com/products/aranet-radiation-sensor/) - [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. 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.

View File

@ -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 %}

View File

@ -3,6 +3,7 @@ title: Chacon Dio
description: Instructions on how to integrate your Chacon Dio devices within Home Assistant. description: Instructions on how to integrate your Chacon Dio devices within Home Assistant.
ha_category: ha_category:
- Cover - Cover
- Switch
ha_release: 2024.8 ha_release: 2024.8
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_config_flow: true ha_config_flow: true
@ -11,15 +12,17 @@ ha_codeowners:
ha_domain: chacon_dio ha_domain: chacon_dio
ha_platforms: ha_platforms:
- cover - cover
- switch
ha_integration_type: integration 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. [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. 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 ## Prerequisites
@ -30,6 +33,25 @@ You will need to use the standalone app for this device to register a username a
{% include integrations/config_flow.md %} {% 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
## 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 ## Tips
You can use the [group integration](/integrations/group) to group entities as the application proposes (for example covers of the first floor). You can use the [group integration](/integrations/group) to group entities as the application proposes (for example covers of the first floor).

View File

@ -18,7 +18,7 @@ ha_integration_type: integration
The `coinbase` integration lets you access account balances and exchange rates from [Coinbase](https://coinbase.com). 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 %} {% include integrations/config_flow.md %}

View File

@ -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. - **Pump Controller**: smart replacement for an FSG pressure switch.
- **RO Filter**: reverse osmosis drinking water filtration. - **RO Filter**: reverse osmosis drinking water filtration.
- **Salt Sensor**: alerts when the salt level in the softener brine tank is low. - **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 ### Prerequisites

View File

@ -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)

View File

@ -219,6 +219,7 @@ Executable by all users:
- `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately. - `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately.
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation 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_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: 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). - `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s).
@ -318,6 +319,16 @@ action:
entity_id: switch.livingroom 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 ## Additional info

View File

@ -107,7 +107,7 @@ The integration will create the following binary sensors:
### Button (if available) ### 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) ### Device tracker (if available)

View File

@ -34,3 +34,37 @@ The **ista EcoTrend** integration exposes the last monthly readings as sensors.
- **Water costs**: estimated costs in EUR - **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. 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.

View File

@ -791,29 +791,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. `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`: The following values are valid for the `heat_cool_address` and the `heat_cool_state_address`:
- `0` (cooling) - `0` (cooling)
- `1` (heating) - `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) - `off`
- `auto` (maps internally to `HVAC_MODE_AUTO` within Home Assistant) - `auto`
- `heat` (maps internally to `HVAC_MODE_HEAT` within Home Assistant) - `heat`
- `cool` (maps internally to `HVAC_MODE_COOL` within Home Assistant) - `cool`
- `fan_only` (maps internally to `HVAC_MODE_FAN_ONLY` within Home Assistant) - `fan_only`
- `dehumidification` (maps internally to `HVAC_MODE_DRY` within Home Assistant) - `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) - `auto`
- `comfort` (maps to `comfort` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) - `comfort`
- `standby` (maps to `away` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) - `standby`
- `economy` (maps to `sleep` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) - `economy`
- `building_protection` (maps to `eco` of the Home Assistant [Climate](/integrations/climate/) `preset_mode` attribute) - `building_protection`
{% configuration %} {% configuration %}
name: name:
@ -918,11 +917,11 @@ operation_mode_standby_address:
required: false required: false
type: [string, list] type: [string, list]
operation_modes: 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 required: false
type: list type: list
controller_modes: 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 required: false
type: list type: list
default_controller_mode: default_controller_mode:

View File

@ -34,6 +34,10 @@ name:
required: false required: false
type: string type: string
default: HA Alarm default: HA Alarm
unique_id:
description: Create a unique id for the entity.
required: false
type: string
code: code:
description: > description: >
If defined, specifies a code to enable or disable the alarm in the frontend. 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: alarm_control_panel:
- platform: manual - platform: manual
name: Home Alarm name: Home Alarm
unique_id: a_very_unique_id
code: "1234" code: "1234"
arming_time: 30 arming_time: 30
delay_time: 20 delay_time: 20

View File

@ -10,7 +10,9 @@ ha_codeowners:
ha_domain: mastodon ha_domain: mastodon
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_platforms: ha_platforms:
- diagnostics
- notify - notify
- sensor
ha_integration_type: service ha_integration_type: service
ha_config_flow: true ha_config_flow: true
--- ---
@ -24,6 +26,10 @@ If you want to grant only required accesses, uncheck all checkboxes then check o
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
## Sensors
The integration will create sensors for the Mastodon account showing total followers, following, and posts.
## Notifications ## Notifications
The integration will create a `notify` action matching the name of the integration entry. The integration will create a `notify` action matching the name of the integration entry.

View File

@ -10,6 +10,7 @@ ha_codeowners:
- '@starkillerOG' - '@starkillerOG'
ha_config_flow: true ha_config_flow: true
ha_platforms: ha_platforms:
- button
- cover - cover
- sensor - sensor
ha_dhcp: true 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)). 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 ## 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. TDBU blinds consist of two bars controlled by two motors designated by Top and Bottom with fabric in between.

View File

@ -119,6 +119,15 @@ 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. 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 ## Setting up a broker
While public MQTT brokers are available, the easiest and most private option is running your own. While public MQTT brokers are available, the easiest and most private option is running your own.
@ -1085,10 +1094,19 @@ The MQTT integration will register the `mqtt.publish` action, which allows publi
| ---------------------- | -------- | ------------------------------------------------------------ | | ---------------------- | -------- | ------------------------------------------------------------ |
| `topic` | no | Topic to publish payload to. | | `topic` | no | Topic to publish payload to. |
| `payload` | no | Payload to publish. | | `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) | | `qos` | yes | Quality of Service to use. (default: 0) |
| `retain` | yes | If message should have the retain flag set. (default: false) | | `retain` | yes | If message should have the retain flag set. (default: false) |
### Publish action data examples
{% 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.
{% endimportant %}
```yaml ```yaml
topic: homeassistant/light/1/command topic: homeassistant/light/1/command

View File

@ -5,6 +5,7 @@ ha_category:
- Camera - Camera
- Climate - Climate
- Doorbell - Doorbell
- Event
- Hub - Hub
- Media source - Media source
- Sensor - Sensor
@ -20,6 +21,7 @@ ha_platforms:
- camera - camera
- climate - climate
- diagnostics - diagnostics
- event
- sensor - sensor
ha_integration_type: integration ha_integration_type: integration
--- ---
@ -31,6 +33,7 @@ There is currently support for the following device types within Home Assistant:
- [Climate](#climate) - [Climate](#climate)
- [Sensor](#sensor) - [Sensor](#sensor)
- [Camera](#camera) - [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. 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.
@ -260,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. - **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*. - **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 %} {% note %}
This feature is enabled by the following permissions: This feature is enabled by the following permissions:
@ -269,10 +274,10 @@ This feature is enabled by the following permissions:
{% endnote %} {% 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 | Event entities / triggers | Media source<br> for triggers |
| Device | Live Stream | Triggers / Events | Media Source<br> for Triggers / Events |
| -------------------------------------------------------------------------------- | :---------------: | :--------------------------------: | :------------------------------------: | | -------------------------------------------------------------------------------- | :---------------: | :--------------------------------: | :------------------------------------: |
| Nest Cam (indoor, wired)<br>Nest Cam (outdoor, battery) | WebRTC | Motion<br>Person | N/A | | Nest Cam (indoor, wired)<br>Nest Cam (outdoor, battery) | WebRTC | Motion<br>Person | N/A |
| Nest Cam Indoor<br>Nest Cam IQ Indoor<br>Nest Cam IQ Outdoor<br>Nest Cam Outdoor | RTSP<br>Recording | Motion<br>Person<br>Sound | Snapshot (jpg) | | Nest Cam Indoor<br>Nest Cam IQ Indoor<br>Nest Cam IQ Outdoor<br>Nest Cam Outdoor | RTSP<br>Recording | Motion<br>Person<br>Sound | Snapshot (jpg) |
@ -282,13 +287,26 @@ All cameras have motion and person triggers, however only some support capturing
| Nest Doorbell (wired, 2nd gen) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4, gif) | | Nest Doorbell (wired, 2nd gen) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4, gif) |
| Nest Hub Max | RTSP<br>Recording | Motion<br>Person<br>Sound<br> | Snapshot (jpg) | | Nest Hub Max | RTSP<br>Recording | Motion<br>Person<br>Sound<br> | Snapshot (jpg) |
Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`.
## Event
## Automation and device triggers 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 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
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. 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 %} {% my automations badge %}
![Screenshot Device Triggers](/images/integrations/nest/device_triggers.png) ![Screenshot Device Triggers](/images/integrations/nest/device_triggers.png)
@ -305,13 +323,18 @@ This is an example of what the `nest_event` payload looks like for a Device Trig
"type": "doorbell_chime", "type": "doorbell_chime",
"timestamp": "2022-01-26T04:56:54.031000+00:00", "timestamp": "2022-01-26T04:56:54.031000+00:00",
"nest_event_id": "EXAMPLE_EVENT_ID", "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"], "zones": ["Zone 1"],
}, },
} }
``` ```
- `device_id`: The Home Assistant device identifier for the camera - `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. - `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 %} {% enddetails %}
@ -327,7 +350,7 @@ This feature is enabled by the following permissions:
- *Other permissions and notification settings in the Nest or Google Home apps*. - *Other permissions and notification settings in the Nest or Google Home apps*.
{% endnote %} {% 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, 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. but also what gets published to the Pub/Sub feed.
@ -346,7 +369,6 @@ If you are still not getting notifications, you can read this [troubleshooting g
{% details "Google Home App Notification Settings" %} {% details "Google Home App Notification Settings" %}
| Google Home App Setting | Notes | | Google Home App Setting | Notes |
| ------------------------ | :---------------------------------------------------------------------: | | ------------------------ | :---------------------------------------------------------------------: |
| Notifications: Push | Required for any detection event to be published | | Notifications: Push | Required for any detection event to be published |
@ -362,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 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 ### Media Attachments
@ -372,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. - `/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" %} {% details "Example Action: Clip Preview (mp4) attachment for iOS" %}
@ -386,10 +408,8 @@ data:
message: Doorbell Pressed message: Doorbell Pressed
title: Someone pressed the doorbell title: Someone pressed the doorbell
data: data:
image: >- image: {{ trigger.event.data.attachment.image }}
/api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}/thumbnail video: {{ trigger.event.data.attachment.video }}
video: >-
/api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}
mode: single mode: single
``` ```
@ -409,8 +429,7 @@ data:
message: Doorbell Pressed message: Doorbell Pressed
title: Someone pressed the doorbell title: Someone pressed the doorbell
data: data:
image: >- image: {{ trigger.event.data.attachment.image }}
/api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}/thumbnail
``` ```
{% endraw %} {% endraw %}
@ -429,8 +448,7 @@ data:
message: Doorbell Pressed message: Doorbell Pressed
title: Someone pressed the doorbell title: Someone pressed the doorbell
data: data:
image: >- image: {{ trigger.event.data.attachment.image }}
/api/nest/event_media/{{ trigger.event.data.device_id }}/{{ trigger.event.data.nest_event_id }}/thumbnail
``` ```
{% endraw %} {% endraw %}

View File

@ -0,0 +1,46 @@
---
title: Nice G.O.
description: Control Nice G.O. garage doors
ha_release: '2024.9'
ha_category:
- Cover
- Event
- Light
- Switch
ha_iot_class: Cloud Push
ha_config_flow: true
ha_codeowners:
- '@IceBotYT'
ha_domain: nice_go
ha_platforms:
- cover
- diagnostics
- event
- light
- switch
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.
## 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.
## 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.

View File

@ -45,6 +45,8 @@ Instructions:
Control Home Assistant: Control Home Assistant:
description: If the model is allowed to interact with Home Assistant. It can only control or provide information about entities that are [exposed](/voice_control/voice_remote_expose_devices/) to it. This feature is considered experimental and see [Controlling Home Assistant](#controlling-home-assistant) below for details on model limitations. description: If the model is allowed to interact with Home Assistant. It can only control or provide information about entities that are [exposed](/voice_control/voice_remote_expose_devices/) to it. This feature is considered experimental and see [Controlling Home Assistant](#controlling-home-assistant) below for details on model limitations.
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: 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. 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.

View File

@ -41,6 +41,7 @@ More than 175 utilities use Opower. Currently only the following utilities are s
- PECO Energy Company (PECO) - PECO Energy Company (PECO)
- Potomac Electric Power Company (Pepco) - Potomac Electric Power Company (Pepco)
- Mercury NZ Limited - Mercury NZ Limited
- National Grid NY Upstate
- Pacific Gas & Electric (PG&E) - Pacific Gas & Electric (PG&E)
- Portland General Electric (PGE) - Portland General Electric (PGE)
- Puget Sound Energy (PSE) - Puget Sound Energy (PSE)

View File

@ -209,4 +209,4 @@ For example:
Metrics are exported only for the following domains: 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`

View File

@ -178,6 +178,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. **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 ## Siren entities
If the camera supports a siren, a siren entity will be created. If the camera supports a siren, a siren entity will be created.

View File

@ -6,6 +6,7 @@ ha_category:
ha_release: 0.49 ha_release: 0.49
ha_iot_class: Local Push ha_iot_class: Local Push
ha_domain: russound_rio ha_domain: russound_rio
ha_quality_scale: silver
ha_platforms: ha_platforms:
- media_player - media_player
ha_codeowners: ha_codeowners:

View File

@ -165,6 +165,10 @@ object_id:
description: Used instead of `name` for automatic generation of `entity_id` description: Used instead of `name` for automatic generation of `entity_id`
required: false required: false
type: string 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: payload_available:
description: The payload that represents the available state. description: The payload that represents the available state.
required: false required: false

View File

@ -73,7 +73,7 @@ The list below will help you diagnose and fix the problem:
## Shelly device configuration (generation 2 and 3) ## 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. `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`). 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`).

View File

@ -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

View File

@ -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. | `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. | `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` ### Action `sonos.remove_from_queue`
Removes an item from the queue. Removes an item from the queue.

View File

@ -25,6 +25,21 @@ The [Stationboard](https://transport.opendata.ch/examples/stationboard.html) web
The public timetables are coming from [Swiss public transport](https://transport.opendata.ch/). 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 %} {% include common-tasks/define_custom_polling.md %}

View File

@ -64,3 +64,4 @@ The {% term integration %} adds the following switch:
| Name | Description | | 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. | | 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. |

View File

@ -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. 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/) - [Alarm control panel](/integrations/alarm_control_panel.template/)
- [Cover](/integrations/cover.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/) - [Vacuum](/integrations/vacuum.template/)
- [Weather](/integrations/weather.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 %} {% include integrations/config_flow.md %}
{% important %} {% important %}
@ -76,6 +68,10 @@ If you need more specific features for your use case, the manual [YAML-configura
## YAML configuration ## 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 ### 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. Template entities will by default update as soon as any of the referenced data in the template updates.

View File

@ -17,6 +17,7 @@ ha_platforms:
- device_tracker - device_tracker
- diagnostics - diagnostics
- sensor - sensor
ha_quality_scale: gold
ha_integration_type: integration ha_integration_type: integration
--- ---
@ -26,6 +27,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, and must not have disabled the [My Home Assistant](/integrations/my/) integration. You must have a [Tesla](https://tesla.com) account and a Tesla vehicle, PowerWall, Solar, or Wall Connector, and must not have disabled the [My Home Assistant](/integrations/my/) integration.
{% 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 %} {% include integrations/config_flow.md %}
## Scopes ## Scopes

View File

@ -190,6 +190,8 @@ Here are two example JSON payloads resulting in the same task:
- **project** (*Optional*): The project to put the task in. - **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. - **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. - **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.

View File

@ -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.

View File

@ -62,6 +62,7 @@ This {% term integration %} supports devices controllable by the VeSync App. Th
- Core 300S: Smart True HEPA Air Purifier - Core 300S: Smart True HEPA Air Purifier
- Core 400S: Smart True HEPA Air Purifier - Core 400S: Smart True HEPA Air Purifier
- Core 600S: 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 100S Smart True HEPA Air Purifier (LAP-V102S-WUS)
- Vital 200S Smart True HEPA Air Purifier (LAP-V201S-WUS) - Vital 200S Smart True HEPA Air Purifier (LAP-V201S-WUS)
- LEVOIT Smart Wifi Air Purifier (LV-PUR131S) - 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 ## Fan & air quality sensors
All VeSync air purifiers expose the remaining filter lifetime, and some also expose air quality measurements. All VeSync air purifiers expose the remaining filter lifetime, and some also expose air quality measurements.
| Sensor | Description | Example | | Sensor | Description | Example |
| --------------------------------------- | ------------------------------------------------------------------ | ------- | | ----------------------- | -------------------------------------------------------------------------------------- | --------- |
| `filter_life` | Remaining percentage of the filter. (LV-PUR131S, Core200S/300s/400s/600s) | 142 | | `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 | | `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 ## Fan exposed attributes

View File

@ -499,6 +499,7 @@ layout: null
/integrations/arduino /more-info/removed-integration 301 /integrations/arduino /more-info/removed-integration 301
/integrations/asterisk_cdr /more-info/removed-integration 301 /integrations/asterisk_cdr /more-info/removed-integration 301
/integrations/asterisk_mbox /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/bbb_gpio /more-info/removed-integration 301
/integrations/bh1750 /more-info/removed-integration 301 /integrations/bh1750 /more-info/removed-integration 301
/integrations/binary_sensor.mychevy /more-info/removed-integration 301 /integrations/binary_sensor.mychevy /more-info/removed-integration 301