Merge branch 'next' into bosch-alarm

This commit is contained in:
Sanjay Govind 2025-02-24 17:15:30 +13:00 committed by GitHub
commit 3f12340fce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
33 changed files with 552 additions and 98 deletions

View File

@ -482,6 +482,7 @@ source/_integrations/lidarr.markdown @tkdrob
source/_integrations/lifx.markdown @Djelibeybi
source/_integrations/light.markdown @home-assistant/core
source/_integrations/light.template.markdown @home-assistant/core
source/_integrations/linak.markdown @abmantis
source/_integrations/linear_garage_door.markdown @IceBotYT
source/_integrations/linux_battery.markdown @fabaff
source/_integrations/litejet.markdown @joncar
@ -763,6 +764,7 @@ source/_integrations/sensor.markdown @home-assistant/core
source/_integrations/sensorblue.markdown @bdraco
source/_integrations/sensorpro.markdown @bdraco
source/_integrations/sensorpush.markdown @bdraco
source/_integrations/sensorpush_cloud.markdown @sstallion
source/_integrations/sensoterra.markdown @markruys
source/_integrations/sentry.markdown @dcramer @frenck
source/_integrations/senz.markdown @milanmeu

View File

@ -58,6 +58,11 @@ show_empty:
description: By default, an empty card will still be shown (resulting in a small empty box). Setting this to `false` hides that empty card instead.
default: true
type: boolean
text_only:
required: false
description: Display the card without border, background, padding and title.
default: false
type: boolean
{% endconfiguration %}
### Example

View File

@ -91,6 +91,12 @@ features:
required: false
description: Additional widgets to control your entity. See [available features](/dashboards/features).
type: list
features_position:
required: false
description: Position of the features on the tile card. Can be `bottom` or `inline`. Only the first feature will be displayed when the option is set to `inline`. `inline` is not compatible with the `vertical` option.
type: string
default: bottom
{% endconfiguration %}
## Examples

View File

@ -16,6 +16,8 @@ ha_platforms:
- fan
- light
- select
- switch
- time
ha_codeowners:
- '@garbled1'
- '@natekspencer'
@ -33,6 +35,8 @@ There is currently support for the following device types within Home Assistant:
- Fan (Pumps/Jets)
- Light
- Select (Low/high temperature range)
- Switch (Enable/disable filter cycle 2)
- Time (Set filter cycle start/end times)
## Compatible hardware

View File

@ -132,9 +132,46 @@ template:
{% endraw %}
The configuration snippet below adds a template sensor containing the current forecast information as attributes and the text summary of the forecast for the current day.
{% raw %}
```yaml
- trigger:
- platform: time_pattern
hours: "/4"
- platform: homeassistant
event: start
- platform: event
event_type: event_template_reloaded
action:
- service: environment_canada.get_forecasts
target:
entity_id: weather.ottawa_kanata_orleans_forecast
response_variable: forecasts
sensor:
- name: Weather Forecast Daily
unique_id: weather_forecast_daily
state: "{{ states('weather.ottawa_kanata_orleans_forecast') }}"
attributes:
daily: "{{ forecasts['weather.ottawa_kanata_orleans_forecast']['daily_forecast'] }}"
hourly: "{{ forecasts['weather.ottawa_kanata_orleans_forecast']['hourly_forecast'] }}"
summary: "{{ forecasts['weather.ottawa_kanata_orleans_forecast']['daily_forecast'][0]['text_summary'] }}"
temperature_unit: "{{ state_attr('weather.ottawa_kanata_orleans_forecast', 'temperature_unit') }}"
```
{% endraw %}
## Actions
### Action `environment_canada.get_forecasts`
Get the raw forecast data from Environment Canada. Returns both the `daily_forecast` and the `hourly_forecast` data.
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Weather entity to get forecast for.
### Action `environment_canada.set_radar_type`
Sets the type of radar to retrieve for the camera.

View File

@ -17,6 +17,7 @@ ha_codeowners:
- '@lellky'
- '@piotrbulinski'
ha_config_flow: true
ha_quality_scale: silver
---
Integrates [Flexit](https://www.flexit.no/en/) Nordic series air handling unit into Home Assistant.

View File

@ -26,6 +26,9 @@ ha_platforms:
- update
ha_ssdp: true
ha_integration_type: integration
related:
- docs: /common-tasks/general/#enabling-or-disabling-entities
title: Enabling or disabling entities
---
The AVM FRITZ!Box Tools integration allows you to control your [AVM FRITZ!Box](https://en.avm.de/products/fritzbox/) router and have presence detection for connected network devices.
@ -99,6 +102,14 @@ Due to security reasons, AVM implemented the ability to enable/disable a port fo
**Note 2**: Only works if you have a dedicated IPv4 address (_it won't work with DS-Lite_)
### WiFi switches
WiFi {% term switches %} are created for each SSID the FRITZ!Box is serving. With these switches, one can activate and deactivate each single SSID.
**Note 1**: In a mesh setup, the WiFi settings are adopted by each mesh repeater (_**Home Network > Mesh > Mesh Settings > Automatically Adopting Settings from the Mesh**_)
**Note 2**: For mesh repeaters, these switches are disabled by default, but can be enabled. When your mesh is based on a WiFi connection between the mesh master and the mesh repeater, the WiFi switches won't be created for the mesh repeater either.
## Example Automations and Scripts
### Script: Reconnect / get new IP

View File

@ -85,15 +85,16 @@ The tutorial is using OpenAI, but this could also be done with the Google Genera
This action isn't tied to any integration entry, so it won't use the model, prompt, or any of the other settings in your options. If you only want to pass text, you should use the `conversation.process` action.
{% endtip %}
Allows you to ask Gemini Pro or Gemini Pro Vision to generate content from a prompt consisting of text and optionally images.
Allows you to ask Gemini Pro or Gemini Pro Vision to generate content from a prompt consisting of text and optionally attachments (images, PDFs, etc.).
This action populates [response data](/docs/scripts/perform-actions#use-templates-to-handle-response-data) with the generated content.
| Data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------------------------------------------- | ------------------- |
| `prompt` | no | The prompt for generating the content. | Describe this image |
| `image_filename` | yes | File names for images to include in the prompt. | /tmp/image.jpg |
| `filenames` | yes | File names for attachments to include in the prompt. | /tmp/image.jpg |
{% raw %}
```yaml
action: google_generative_ai_conversation.generate_content
data:
@ -101,9 +102,10 @@ data:
Very briefly describe what you see in this image from my doorbell camera.
Your message needs to be short to fit in a phone notification. Don't
describe stationary objects or buildings.
image_filename: /tmp/doorbell_snapshot.jpg
filenames: /tmp/doorbell_snapshot.jpg
response_variable: generated_content
```
{% endraw %}
The response data field `text` will contain the generated content.
@ -111,19 +113,21 @@ The response data field `text` will contain the generated content.
Another example with multiple images:
{% raw %}
```yaml
action: google_generative_ai_conversation.generate_content
data:
prompt: >-
Briefly describe what happened in the following sequence of images
from my driveway camera.
image_filename:
filenames:
- /tmp/driveway_snapshot1.jpg
- /tmp/driveway_snapshot2.jpg
- /tmp/driveway_snapshot3.jpg
- /tmp/driveway_snapshot4.jpg
response_variable: generated_content
```
{% endraw %}
### Video tutorial

View File

@ -14,7 +14,7 @@ ha_platforms:
- diagnostics
- media_player
ha_integration_type: hub
ha_quality_scale: silver
ha_quality_scale: platinum
---
The HEOS {% term integration %} is used to connect a [HEOS](https://www.denon.com/en-gb/category/heos/) System to Home Assistant. HEOS is a wireless audio ecosystem
@ -80,9 +80,26 @@ This integration follows standard integration removal. No extra steps are requir
1. Go to **{% my integrations icon title="Settings > Devices & Services" %}**.
2. Select **Denon HEOS**. Click the three-dot {% icon "mdi:dots-vertical" %} menu and then select **Delete**.
## Playing media
## Actions
### Play a favorite
In addition to the standard [Media Player actions](/integrations/media_player#actions), the HEOS integration provides the following {% term actions %}:
Group volume actions: `media_player.group_volume_set`, `media_player.group_volume_down`, and `media_player.group_volume_up` for entities joined to a group.
### Action `media_player.group_volume_set`
Sets the group's volume while preserving member volume ratios. This action can be called on any entity in a group.
| Data attribute | Optional | Description |
|------------------------|----------|------------------------------------------------------------------|
| `entity_id` | yes | A media player entity that is joined to a group. |
| `volume_level` | no | The volume level, where 0 is inaudible, 1 is the maximum volume. |
## Examples
### Playing media
#### Play a favorite
You can play a HEOS favorite by number or name with the `media_player.play_media` action. Example action data payload:
@ -100,7 +117,7 @@ data:
| `media_content_type` | no | Set to the value `favorite` |
| `media_content_id` | no | (e.g., `1`) or name (e.g., `Thumbprint Radio`) of the HEOS favorite |
### Play a playlist
#### Play a playlist
You can play a HEOS playlist with the `media_player.play_media` action. Example action data payload:
@ -118,7 +135,7 @@ data:
| `media_content_type` | no | Set to the value `playlist` |
| `media_content_id` | no | The name of the HEOS playlist |
### Play a Quick Select
#### Play a Quick Select
You can play a HEOS Quick Select by number or name with the `media_player.play_media` action. Example action data payload:
@ -136,7 +153,7 @@ data:
| `media_content_type` | no | Set to the value `quick_select` |
| `media_content_id` | no | The quick select number (e.g., `1`) or name (e.g., `Quick Select 1`) |
### Play a URL
#### Play a URL
You can play a URL through a HEOS media player using the `media_player.play_media` action. The HEOS player must be able to reach the URL.
@ -160,9 +177,9 @@ data:
| `media_content_type` | no | Set to the value `url` |
| `media_content_id` | no | The full URL to the stream (max 255 characters) |
## Grouping players
### Grouping players
### Join
#### Join
To group HEOS media players together for synchronous playback, use the `media_player.join` action.
@ -186,7 +203,7 @@ data:
| `entity_id` | yes | The media player entity whose playback will be expanded to the players specified in `group_members`. |
| `group_members` | no | The player entities which will be synced with the playback from `entity_id`. |
### Unjoin
#### Unjoin
For removing a HEOS player from a group, use the `media_player.unjoin` action.
@ -200,9 +217,6 @@ data:
| ---------------------- | -------- | ------------------------------------------------ |
| `entity_id` | yes | Remove this media player from any player groups. |
## Actions
The HEOS integration makes available the standard [Media Player actions](/integrations/media_player#actions).
## Supported devices

View File

@ -3,6 +3,7 @@ title: Home Connect
description: Instructions on how to set up the Home Connect integration within Home Assistant.
ha_category:
- Binary sensor
- Button
- Hub
- Light
- Number
@ -19,6 +20,7 @@ ha_codeowners:
ha_config_flow: true
ha_platforms:
- binary_sensor
- button
- diagnostics
- light
- number
@ -47,6 +49,7 @@ The integration will add one Home Assistant device for each connected home appli
- Time for alarm clock for cooktops and ovens.
- Multiple sensors that report the different states and events reported by the appliance.
- Binary sensors that show binary states of the appliance.
- Buttons to pause, resume, and stop the running program, as well as to open the door either completely or partially.
{% note %}
Some appliances don't report data while they are turned off so corresponding entities will not appear in the Home Connect integration after loading until the appliances are turned on.
@ -103,69 +106,50 @@ The integration configuration will ask for the *Client ID* and *Client Secret* c
## Actions
The Home Connect integration makes various actions available.
Available actions: `set_option_active`, `set_option_selected`, `pause_program`, `resume_program`, `select_program`, `start_program` and `change_setting`
Available actions: `set_program_and_options`, and `change_setting`
### Action `home_connect.set_option_active`
### Action `home_connect.set_program_and_options`
Sets an option for the active program.
Starts or selects a program. If the `program` attribute is not set, this action sets the options for the active or the selected program.
| Data attribute | Optional | Description |
|---------------------------|----------|--------------------------------------------------|
| `device_id` | no | Id of a device associated with the home appliance. |
| `key` | no | Key of the option. |
| `value` | no | Value of the option. |
| `unit` | yes | Unit for the option. |
### Action `home_connect.set_option_selected`
Sets an option for the selected program.
| Data attribute | Optional | Description |
|---------------------------|----------|--------------------------------------------------|
| `device_id` | no | Id of a device associated with the home appliance. |
| `key` | no | Key of the option. |
| `value` | no | Value of the option. |
| `unit` | yes | Unit for the option. |
### Action `home_connect.pause_program`
Pauses the current running program.
| Data attribute | Optional | Description |
|---------------------------|----------|--------------------------------------------------|
| `device_id` | no | Id of a device associated with the home appliance. |
### Action `home_connect.resume_program`
Resumes a paused program.
| Data attribute | Optional | Description |
|---------------------------|----------|--------------------------------------------------|
| `device_id` | no | Id of a device associated with the home appliance. |
### Action `home_connect.select_program`
Selects a program without starting it.
| Data attribute | Optional | Description |
|---------------------------|----------|--------------------------------------------------|
| `device_id` | no | Id of a device associated with the home appliance. |
| `program` | no | Program to select. |
| `key` | yes | Key of the option. |
| `value` | yes | Value of the option. |
| `unit` | yes | Unit for the option. |
### Action `home_connect.start_program`
Selects a program and starts it.
| Data attribute | Optional | Description |
|---------------------------|----------|--------------------------------------------------|
| `device_id` | no | Id of a device associated with the home appliance. |
| `program` | no | Program to select. |
| `key` | yes | Key of the option. |
| `value` | yes | Value of the option. |
| `unit` | yes | Unit for the option. |
| `device_id` | no | ID of the device. |
| `affects_to` | no | Selects if the program affected by the action should be the active or the selected program. |
| `program` | yes | Program to select. If set, it will start or select a program depending on `affects_to`. |
| `consumer_products_cleaning_robot_option_reference_map_id` | yes | Defines which reference map is to be used. |
| `consumer_products_cleaning_robot_option_cleaning_mode` | yes | Defines the favoured cleaning mode. |
| `consumer_products_coffee_maker_option_bean_amount` | yes | Describes the amount of coffee beans used in a coffee machine program. |
| `consumer_products_coffee_maker_option_fill_quantity` | yes | Describes the amount of water (in ml) used in a coffee machine program. |
| `consumer_products_coffee_maker_option_coffee_temperature` | yes | Describes the coffee temperature used in a coffee machine program. |
| `consumer_products_coffee_maker_option_bean_container` | yes | Defines the preferred bean container. |
| `consumer_products_coffee_maker_option_flow_rate` | yes | Defines the water-coffee contact time. The duration extends to coffee intensity. |
| `consumer_products_coffee_maker_option_multiple_beverages` | yes | Defines if double dispensing is enabled. |
| `consumer_products_coffee_maker_option_coffee_milk_ratio` | yes | Defines the amount of milk. |
| `consumer_products_coffee_maker_option_hot_water_temperature` | yes | Defines the temperature suitable for the type of tea. |
| `b_s_h_common_option_start_in_relative` | yes | Defines when the program should start, in seconds from now. For example: a value of 9000 means in 2 h 30 min. |
| `dishcare_dishwasher_option_intensiv_zone` | yes | Defines if the cleaning is done with higher spray pressure on the lower basket for very dirty pots and pans. |
| `dishcare_dishwasher_option_brilliance_dry` | yes | Defines if the program sequence is optimized with a special drying cycle to ensure more shine on glasses and plastic items. |
| `dishcare_dishwasher_option_vario_speed_plus` | yes | Defines if the program duration is shortened dynamically (up to 66% less run time) with the usual optimum cleaning and drying. |
| `dishcare_dishwasher_option_silence_on_demand` | yes | Defines if the extra silent mode is activated for a selected period of time. |
| `dishcare_dishwasher_option_half_load` | yes | Defines if economical cleaning is enabled for smaller loads. This reduces energy and water consumption and also saves time. The utensils can be placed in the upper and lower baskets. |
| `dishcare_dishwasher_option_extra_dry` | yes | Defines if improved drying for glasses and plasticware is enabled. |
| `dishcare_dishwasher_option_hygiene_plus` | yes | Defines if the cleaning is done with increased temperatures. This ensures maximum hygienic cleanliness for regular use. |
| `dishcare_dishwasher_option_eco_dry` | yes | Defines if the door is opened automatically for extra energy efficient and effective drying. |
| `dishcare_dishwasher_option_zeolite_dry` | yes | Defines if the program sequence is optimized with special drying cycle ensures improved drying for glasses, plates and plasticware. |
| `laundry_care_dryer_option_drying_target` | yes | Describes the drying target for a dryer program. For example: Iron Dry, Cupboard Dry, Extra Dry. |
| `cooking_hood_option_venting_level` | yes | Defines the required fan setting. |
| `cooking_hood_option_intensive_level` | yes | Defines the intensive setting. |
| `cooking_oven_option_setpoint_temperature` | yes | Defines the target cavity temperature, which will be hold by the oven. |
| `b_s_h_common_option_duration` | yes | Defines the run-time of the program. Afterwards, the appliance is stopped. |
| `cooking_oven_option_fast_pre_heat` | yes | Defines if the cooking compartment is heated up quickly. Please note that the setpoint temperature has to be equal to or higher than 100 °C or 212 °F. Otherwise, the fast pre-heat option is not activated. |
| `cooking_oven_option_warming_level` | yes | Defines the level of the warming drawer. |
| `laundry_care_washer_option_temperature` | yes | Defines the temperature of the washing program. |
| `laundry_care_washer_option_spin_speed` | yes | Defines the spin speed of a washer program. |
| `b_s_h_common_option_finish_in_relative` | yes | Defines when the program should end, in seconds from now. For example: a value of 9000 means in 2 h 30 min. |
| `laundry_care_washer_option_i_dos1_active` | yes | Defines if the detergent feed is activated / deactivated. (i-Dos content 1) |
| `laundry_care_washer_option_i_dos2_active` | yes | Defines if the detergent feed is activated / deactivated. (i-Dos content 2) |
| `laundry_care_washer_option_vario_perfect` | yes | Defines if a cycle saves energy (Eco Perfect) or time (Speed Perfect). |
### Action `home_connect.change_setting`

View File

@ -10,8 +10,11 @@ ha_codeowners:
- '@Taraman17'
ha_domain: homee
ha_platforms:
- button
- cover
- light
- sensor
- switch
ha_integration_type: hub
ha_quality_scale: bronze
---
@ -20,9 +23,11 @@ ha_quality_scale: bronze
There is currently support for the following device types in Home Assistant:
- button
- cover
- light
- sensor
- switch
## Prerequisites

View File

@ -2,6 +2,8 @@
title: LetPot
description: Instructions on how to integrate LetPot hydroponic gardens into Home Assistant.
ha_category:
- Binary sensor
- Sensor
- Switch
- Time
ha_release: 2025.2
@ -12,6 +14,8 @@ ha_codeowners:
ha_domain: letpot
ha_integration_type: hub
ha_platforms:
- binary_sensor
- sensor
- switch
- time
ha_quality_scale: bronze
@ -54,10 +58,38 @@ Password:
The LetPot integration provides the following entities.
#### Binary sensors
- **Pump**: Indicates if the water pump is running (on) or idle (off). Updates may be delayed by the device until another entity updates.
- Available for LetPot Air devices, and other device models which report this value.
- Not available for LetPot Pro devices.
Additionally, binary sensors for possible issues are available:
- **Low nutrients**: Indicates if the nutrient solution tank used for auto mode is (almost) empty and should be refilled.
- Available for LetPot Max devices.
- **Low water**: Indicates if the water tank is (almost) empty and should be refilled.
- Available for all devices except LetPot Pro.
- **Pump error**: Indicates if the water pump detected a flow issue and should be cleaned.
- Available for some LetPot Mini and LetPot SE devices which report this value.
- **Refill error**: Indicates that the external water tank/input used for refilling in auto mode is not filling up the main water tank. If you see a refill error, check the external water tank/input and the connection to the main water tank.
- Available for LetPot Max devices.
{% important %}
Binary sensors for issues are disabled by default. If you want to use them, you need to enable them first. See the [enabling or disabling entities](/common-tasks/general/#enabling-or-disabling-entities) documentation for information on how to do this.
{% endimportant %}
#### Sensors
For LetPot Max devices, the following sensors are available:
- **Temperature**: Ambient temperature measured by the device.
- **Water level**: Percentage of the water tank filled with water. The official app will display 0-30% as "Low", 30-90% as "Medium", and 90% or more as "High".
#### Switches
- **Power**: Main switch to turn on/off the device. Device features (like the built-in light and pump) will only operate when the power is on.
- **Pump cycling**: Turn on/off cycling of the water pump. When on, the pump will run intermittently (controlled by the device).
- **Pump cycling**: Turn on/off cycling of the water pump. When on, the pump will run intermittently (controlled by the device), which can be tracked using the **Pump** binary sensor.
For devices with an alarm that allows muting the sound, the following switch is also available:

View File

@ -0,0 +1,22 @@
---
title: LINAK
description: Connect and control your LINAK motorized desks the IKEA Idåsen Desk integration
ha_category:
- Cover
ha_domain: linak
ha_iot_class: Local Push
ha_integration_type: virtual
ha_supporting_domain: idasen_desk
ha_supporting_integration: IKEA Idåsen Desk
ha_release: '2025.03'
ha_codeowners:
- '@abmantis'
ha_config_flow: true
ha_quality_scale: bronze
ha_platforms:
- button
- cover
- sensor
---
{% include integrations/supported_brand.md %}

View File

@ -87,6 +87,7 @@ The following device classes are supported for numbers:
- **volume_storage**: Generic stored volume in L, mL, gal, fl. oz., m³, ft³, or CCF
- **water**: Water consumption in L, gal, m³, ft³, or CCF
- **weight**: Generic mass in kg, g, mg, µg, oz, lb, or st
- **wind_direction**: Wind direction in °
- **wind_speed**: Wind speed in ft/s, km/h, kn, m/s, or mph
## Actions

View File

@ -64,6 +64,9 @@ The Ohme integration provides the following entities.
- **Target percentage**
- **Description**: Sets the charge target for your vehicle.
- **Available for devices**: all
- **Preconditioning duration**
- **Description**: Defines how long to precondition your vehicle before the target time. `0` means preconditioning is disabled.
- **Available for devices**: all
#### Selects

View File

@ -18,7 +18,7 @@ ha_quality_scale: bronze
This integration allows you to use [OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage) for [Home Assistant Backups](/common-tasks/general/#backups).
Backups will be created in a folder called `Home Assistant\backups_<id>` in the `App Folder` of your OneDrive.
Backups will be created in a folder called `Home Assistant\backups_<id>` in the `App Folder` of your OneDrive by default.
`id` is part of your Home Assistant instance's unique id to allow backups from multiple instances to the same OneDrive account.
The integration only has access to an application specific `Home Assistant` folder in the `App Folder` and cannot access any other parts of your OneDrive.
@ -32,9 +32,24 @@ Client ID:
description: "Application ID of the app registration to be used with the integration. Uses Home Assistant provided by default."
Client secret:
description: "Application secret for the app registration. Uses Home Assistant provided by default."
Folder name:
description: "The name of the instance specific [backup folder](#backup-folder)."
{% endconfiguration_basic %}
{% include integrations/option_flow.md %}
{% configuration_basic %}
Delete files permanently:
description: By default, files are put into the Recycle Bin when deleted, where they remain available for another 30 days. If you enable this option, files will be deleted immediately when they are cleaned up by the backup system.
{% endconfiguration_basic %}
## Backup folder
The backup folder is `root:\Apps\[Home Assistant | Graph]\backups_{id}`. This is not configurable because otherwise the integration would need permissions to write into your entire drive. You can, however, rename the application folder which is called `Home Assistant` or `Graph` in your OneDrive.
The last folder in the hierarchy (`backups_{id}`) is always a unique folder per Home Assistant instance to ensure that backups from different instances are not mixed. The name of this folder can be set during integration setup and can be changed later through reconfiguring the integration or by renaming the folder OneDrive.
## Requested permissions by the integration
The integration will request the following permissions on your OneDrive for the integration to work:
@ -46,7 +61,6 @@ The integration will request the following permissions on your OneDrive for the
<img src='/images/integrations/onedrive/onedrive-permissions.png' alt='Lists of permissions that the application will request.'>
## Getting application credentials
This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home Assistant account linking.

View File

@ -0,0 +1,61 @@
---
title: PG LAB Electronics
description: Instructions on how to integrate PG LAB Electronics with Home Assistant.
ha_category:
- Switch
ha_release: "2025.3"
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- "@pglab-electronics"
ha_domain: pglab
ha_platforms:
- switch
ha_integration_type: integration
---
The **PG LAB Electronics** {% term integrations %} allows you to control [PG LAB Electronics](https://www.pglab.dev/) devices in Home Assistant.
## Supported devices
- [E-BOARD](https://www.pglab.dev/shop/p/e-board): Controller board to interface I2C devices by a local LAN connection.
- [E-RELAY](https://www.pglab.dev/shop/p/e-relay): 8 Channels relay board controlled by I2C connection.
- [E-SWITCH]: Coming soon
Each E-BOARD device can be connected to a maximum of 8 E-RELAY boards. E-BOARD can control
up to 64 relays or 32 shutters or a mixed configuration.
## Prerequisites
- MQTT broker and the [MQTT integration](/integrations/mqtt/) set up in Home Assistant.
- PG LAB Electronics devices MQTT setting configured to communicate with the MQTT broker.
Once the device is connected to your MQTT broker, it should be discovered by Home Assistant.
Add PG LAB Electronics integration.
### Device configuration
Configure each PG LAB Electronics devices following these steps:
1. Power the device and connect it to your local network.
2. From your router, get the IP address of your device (for example: 192.168.1.7).
3. Connect to the internal device web server with a web browser (**don't** use 'https://...', instead, connect to 'http://192.168.1.7').
4. Change the default device name. Use a unique, meaningful name such as E_Board_Office, or E_Board_Garden.
- **Note:** Every device **MUST** have a unique name.
5. Set up the MQTT broker address, port number, username, and password.
6. Save the configuration and restart the device.
{% include integrations/config_flow.md %}
## Supported features
PG LAB Electronics relays, shutters, and switches are supported.
- PG LAB Relays will be added as Home Assistant `switch` entities.
- The integration will also create diagnostic status sensors, with device different information.
## Removing the integration
This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}

View File

@ -29,9 +29,15 @@ This sensor requires the qBittorrent Web UI enabled. The [official reference](ht
The qBittorrent integration will add the following sensors:
- `sensor.qbittorrent_status`: The status of qBittorrent - `up_down`, `seeding`, `downloading` or `idle`.
- `sensor.qbittorrent_status`: The status of qBittorrent - `up_down`, `seeding`, `downloading`, or `idle`.
- `sensor.qbittorrent_connection_status`: The connection status of qBittorrent - `connected`, `firewalled`, or `disconnected`.
- `sensor.qbittorrent_upload_speed`: The current total upload speed in kB/s.
- `sensor.qbittorrent_download_speed`: The current total download speed in kB/s.
- `sensor.qbittorrent_upload_speed_limit`: The active qBittorrent upload speed limit (disabled by default).
- `sensor.qbittorrent_download_speed_limit`: The active qBittorrent download speed limit (disabled by default).
- `sensor.qbittorrent_alltime_upload`: The total amount of uploaded data.
- `sensor.qbittorrent_alltime_download`: The total amount of downloaded data.
- `sensor.qbittorrent_global_ratio`: The global share ratio (disabled by default).
- `sensor.qbittorrent_all_torrents`: The current total torrents in qBittorrent.
- `sensor.qbittorrent_active_torrents`: The current active torrents in qBittorrent.
- `sensor.qbittorrent_inactive_torrents`: The current inactive torrents in qBittorrent.

View File

@ -41,6 +41,7 @@ There is currently support for the following **Qbus** products within Home Assis
## Available entities
- **Switch**: toggles on/off outputs.
- **Light**: controls dimmer lights, allowing both on/off functionality and brightness adjustment.
## Removing the integration

View File

@ -736,6 +736,10 @@ Prerequisites:
- Reolink cameras can support a limited amount of simultaneous connections. Therefore using third-party software like Frigate, Blue Iris, or Scrypted, or using the ONVIF integration at the same time can cause the camera to drop connections. This results in short unavailabilities of the Reolink entities in Home Assistant. Especially when the connections are coming from the same device (IP) where Home Assistant is running, the Reolink cameras can get confused, dropping one connection in favor of the other originating from the same host IP. If you experience disconnections/unavailabilities of the entities, please first temporarily shut down the other connections (like Frigate) to diagnose if that is the problem. If that is indeed the problem, you could try moving the third-party software to a different host (IP address) since that is known to solve the problem most of the time. You could also try switching the protocol to FLV on Home Assistant and/or the third-party software, as that is known to be less resource-intensive on the camera.
- If the Reolink entities go to unavailable for short periods, the camera may be overloaded with requests resulting in short connection drops. To resolve this, first, check if the integration is using `ONVIF push` instead of `ONVIF long polling` (resource intensive) or `Fast polling` (very resource intensive), see the [Reducing latency of motion events](#reducing-latency-of-motion-events) section. Moreover, try switching to the <abbr title="flash video">FLV</abbr> streaming protocol which is the least resource-intensive for the camera, see the [options](#options) section.
### Streams or recordings not playing
- Most Reolink cameras use h265 encoding for the high resolution recording and clear stream to save storage space and bandwidth. Playback of this h265 encoding is not supported by all browsers or apps. Therefore, the high-resolution recording and/or clear stream may not function on all your devices from which you acces Home Assistant. To see if a Reolink camera is using h264 or h265 encoding, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"encoding main": "h265"\"h264"` in the txt file. The low-resolution recording and fluent stream always use h264 encoding and, therefore, do not suffer from this issue.
### Reducing latency of motion events
TCP push and ONVIF push will result in slightly faster state changes of the binary motion/AI event sensors than ONVIF long polling.

View File

@ -71,6 +71,11 @@ service_name:
required: false
type: boolean
default: true
insecure_cipher:
description: Allow insecure ciphers for the request. This is useful for older servers/devices that do not support modern ciphers.
required: false
type: boolean
default: false
{% endconfiguration %}
## Examples

View File

@ -101,4 +101,5 @@ The following device classes are supported for sensors:
- **volume_storage**: Generic stored volume in L, mL, gal, fl. oz., m³, ft³, or CCF
- **water**: Water consumption in L, gal, m³, ft³, or CCF
- **weight**: Generic mass in kg, g, mg, µg, oz, lb, or st
- **wind_direction**: Wind direction in °
- **wind_speed**: Wind speed in Beaufort, ft/s, km/h, kn, m/s, or mph

View File

@ -0,0 +1,57 @@
---
title: SensorPush Cloud
description: Instructions on how to integrate SensorPush Cloud devices into Home Assistant.
ha_category:
- Sensor
ha_release: 2025.3
ha_iot_class: Cloud Polling
ha_codeowners:
- '@sstallion'
ha_domain: sensorpush_cloud
ha_config_flow: true
ha_platforms:
- sensor
ha_integration_type: integration
ha_quality_scale: bronze
---
Integrates [SensorPush Cloud](https://www.sensorpush.com/) devices into Home Assistant.
## Prerequisites
A [G1 WiFi Gateway](https://www.sensorpush.com/products/p/g1-gateway) is required to make use of the Cloud API. To activate API access, log in to the [Gateway Cloud Dashboard](https://dashboard.sensorpush.com/) and agree to the terms of service.
Sensor entities (temperature, humidity, barometric pressure) will not be available to Home Assistant until you have activated the device with the SensorPush app on iOS or Android.
## Supported devices
- [HT1 Temperature and Humidity Smart Sensor](https://www.sensorpush.com/products/p/ht1)
- [HT.w Water-Resistant Temperature / Humidity Smart Sensor](https://www.sensorpush.com/products/p/ht-w)
- [HTP.xw Extreme Accuracy Water-Resistant Temperature / Humidity / Barometric Pressure Smart Sensor](https://www.sensorpush.com/products/p/htp-xw)
{% include integrations/config_flow.md %}
## Sensors
For each device, the following *sensors* are created:
| Sensor | Description |
| :--------------------- | :------------------------------------------------------------ |
| `altitude` | Measures the altitude. (disabled by default) |
| `atmospheric_pressure` | Measures the barometric pressure. (disabled by default) |
| `battery_voltage` | Measures the battery voltage. (disabled by default) |
| `dewpoint` | Measures the dew point. (disabled by default) |
| `humidity` | Measures the relative humidity. |
| `signal_strength` | Measures the Bluetooth signal strength. (disabled by default) |
| `temperature` | Measures the temperature. |
| `vapor_pressure` | Measures the vapor-pressure deficit. (disabled by default) |
## Known limitations
- `atmospheric_pressure` is not available on HT1 and HT.w series devices.
## Removing the integration
This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}

View File

@ -19,7 +19,7 @@ ha_platforms:
ha_integration_type: integration
---
The Squeezebox integration allows you to control music players from the [Lyrion Music Server](https://lyrion.org/) (LMS) ecosystem. Lyrion Music Server was formerly known as [Logitech Media Server](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29).
The Squeezebox integration allows you to control music players from the [Lyrion Music Server](https://lyrion.org/) (LMS) ecosystem. Lyrion Music Server was formerly known as [Logitech Media Server](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29).
This integration connects to an existing <abbr title="Lyrion Music Server">LMS</abbr> server and provides both media players and sensors for monitoring server status.
@ -48,16 +48,104 @@ transporter_toslink:
target:
entity_id: media_player.transporter
data:
media_content_id: "source:toslink"
media_content_type: "music"
media_content_id: 'source:toslink'
media_content_type: 'music'
```
{% include integrations/option_flow.md %}
{% configuration_basic %}
Browse limit:
description: Maximum number of items to include when browsing media or in a playlist.
Volume step:
description: Amount to adjust the volume when turning volume up or down.
{% endconfiguration_basic %}
## Announce
The Squeezebox media player entity supports the "announce" parameter in the `media_player.play_media` action. When media is played with announce:true, the current state of the media player is saved, the media is then played, and when playing is finished, the original state is restored. For example, if the media player is on and playing a track, once the announcement is finished, the track will resume playing at the same point it was paused by the announcement. If the media player was off, it will be turned off again after playing the announcement.
### Extra Keys
The following extra keys are available to modify the announcement
| Data attribute | Optional | Description |
| ------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `announce_volume` | yes | Specifies the volume at which the announcement should play. The value must be between 0 and 1, where 0.1 represents 10% of the player's volume, 0.2 represents 20%, etc. |
| `announce_timeout` | yes | Specify the maximum length of the announcement in seconds after which the original media will be resumed. |
These extra keys are optional. If announce_volume is unspecified, the announcement will play at the current volume of the player. If announce_timeout is unspecified, the announcement will play until completion.
### Examples
Playing a local file as an announcement:
```yaml
action: media_player.play_media
target:
entity_id: media_player.squeezebox
data:
media_content_type: music
media_content_id: media-source://media_source/local/doorbell.mp3
announce: true
```
Playing a local file as an announcement with volume of 20 and timeout of 60 seconds:
```yaml
action: media_player.play_media
target:
entity_id: media_player.squeezebox
data:
media_content_type: music
media_content_id: media-source://media_source/local/doorbell.mp3
announce: true
extra:
announce_volume: 0.2
announce_timeout: 60
```
### Announcements and Text to Speech (TTS)
When using the "Text-to-speech (TTS): Speak" action, Home Assistant automatically sets the announce parameter as true, and the announcement features, such as pausing current playback, will be used.
However, the "Text-to-speech (TTS): Speak" action doesn't support the extra keys described above. If you wish to use announce_volume and/or announce_timeout with TTS, you need to use media-source://tts/(tts_provider) to construct media_content_id as shown below.
#### Example
Play announcement using Text-to-speech (TTS) action
```yaml
action: tts.speak
data:
media_player_entity_id: media_player.squeezebox
message: There's someone at the door
cache: false
target:
entity_id: tts.google_translate_en_co_uk
```
Play announcement using TTS media-source with announce_volume and announce_timeout
```yaml
action: media_player.play_media
target:
entity_id: media_player.squeezebox
data:
media_content_type: music
media_content_id: media-source://tts/tts.google_translate_en_co_uk?message="There's someone at the door"
announce: true
extra:
announce_volume: 0.2
announce_timeout: 60
```
## Entities
### Binary sensors
- **Needs restart**: Server Service needs to be restarted (typically, this is needed to apply updates).
- **Library rescan**: The music library is currently being scanned by LMS (depending on the type of scan, some content may be unavailable).
- **Needs restart**: Server Service needs to be restarted (typically, this is needed to apply updates).
- **Library rescan**: The music library is currently being scanned by LMS (depending on the type of scan, some content may be unavailable).
### Sensors
@ -78,11 +166,11 @@ Call a custom Squeezebox JSON-RPC API.
See documentation for this interface on `http://HOST:PORT/html/docs/cli-api.html?player=` where HOST and PORT are the host name and port for your Lyrion Music Server.
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of the Squeezebox entities where to run the API method.
| `command` | no | Command to pass to Lyrion Music Server (p0 in the CLI documentation).
| `parameters` | yes | Array of additional parameters to pass to Lyrion Music Server (p1, ..., pN in the CLI documentation).
| Data attribute | Optional | Description |
| -------------- | -------- | ----------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name(s) of the Squeezebox entities where to run the API method. |
| `command` | no | Command to pass to Lyrion Music Server (p0 in the CLI documentation). |
| `parameters` | yes | Array of additional parameters to pass to Lyrion Music Server (p1, ..., pN in the CLI documentation). |
This action can be used to integrate any Squeezebox action to an automation.
@ -92,7 +180,7 @@ For example, to play an album from your collection, create an IFTTT applet like
- Trigger: Google Assistant, with sentence: `I want to listen to album $`
- Action: JSON post query with such JSON body:
`{ "entity_id": "media_player.squeezebox_radio", "command": "playlist", "parameters": ["loadtracks", "album.titlesearch={{TextField}}"] }`
`{ "entity_id": "media_player.squeezebox_radio", "command": "playlist", "parameters": ["loadtracks", "album.titlesearch={{TextField}}"] }`
This can work with title search and basically any thing. The same wouldn't have worked by calling directly Squeezebox server as IFTTT cannot escape the text field.
@ -102,11 +190,11 @@ Call a custom Squeezebox JSON-RPC API. The result of the query will be stored in
See documentation for this interface on `http://HOST:PORT/html/docs/cli-api.html?player=` where HOST and PORT are the host name and port for your Lyrion Music Server.
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of the Squeezebox entities where to run the API method.
| `command` | no | Command to pass to Lyrion Music Server (p0 in the CLI documentation).
| `parameters` | yes | Array of additional parameters to pass to Lyrion Music Server (p1, ..., pN in the CLI documentation).
| Data attribute | Optional | Description |
| -------------- | -------- | ----------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name(s) of the Squeezebox entities where to run the API method. |
| `command` | no | Command to pass to Lyrion Music Server (p0 in the CLI documentation). |
| `parameters` | yes | Array of additional parameters to pass to Lyrion Music Server (p1, ..., pN in the CLI documentation). |
This action can be used to integrate a Squeezebox query into an automation. For example, in a Python script, you can get a list of albums available by an artist like this:
`hass.services.call("squeezebox", "call_query", { "entity_id": "media_player.kitchen", "command": "albums", "parameters": ["0", "20", "search:beatles", "tags:al"] })`

View File

@ -67,7 +67,7 @@ If you denied access to all locations and applications it is normal to receive a
## Backup location
The NAS can also be used as a {% term backup %} location, without the need to add the NAS as a network drive to Home Assistant. For this you need to setup the correct permissions for the user (_see [Separate User Configuration](#separate-user-configuration) above_), afterwards, you will be able to select the shared folder and define a relative path to be used as a backup location in the integration options ({% my integrations title="**Settings** > **Devices & services**" %} > **Synology DSM** > _select the instance_ > **Configure**)
The NAS can also be used as a {% term backup %} location, without the need to add the NAS as a network drive to Home Assistant (_this requires DSM 6.0 and higher_). For this you need to setup the correct permissions for the user (_see [Separate User Configuration](#separate-user-configuration) above_), afterwards, you will be able to select the shared folder and define a relative path to be used as a backup location in the integration options ({% my integrations title="**Settings** > **Devices & services**" %} > **Synology DSM** > _select the instance_ > **Configure**)
{% important %}

View File

@ -9,6 +9,7 @@ ha_category:
- Sensor
- Water heater
- Weather
- Switch
ha_release: 0.41
ha_iot_class: Cloud Polling
ha_codeowners:
@ -37,6 +38,7 @@ There is currently support for the following device types within Home Assistant:
- [Presence detection](#presence-detection)
- Sensor - for some additional information of the zones.
- Weather - for information about the current weather at the location of your Tado home.
- Switch - for controlling child lock on supported devices
## Unsupported device types

View File

@ -31,3 +31,31 @@ Integrates [ThermoPro](https://buythermopro.com/) devices into Home Assistant.
The ThermoPro integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional.
{% include integrations/config_flow.md %}
## Buttons
These {% term actions %} allow one to set the time on supported devices (TP358, TP393) via Home Assistant.
### Button `Set Date&Time`
Sets the date & time on target devices to the system time in 24-hour notation.
The device is capable of showing 12-hour notation (AM/PM) but setting this is currently not implemented.
For example, the following automation sets the datetime of the thermometer each day.
{% raw %}
```yaml
mode: single
triggers:
- trigger: time
at: "03:03:03"
conditions: []
actions:
- action: button.press
target:
entity_id: button.tp_358_xxxx_your_device_set_date_time
data: {}
```
{% endraw %}

View File

@ -159,6 +159,10 @@ Entities appear for each Traffic Rule. The switches can be identified from icon
Entities appear for each Policy-Based Routing Rule. The switches can be identified from icon {% icon "mdi:routes" %}.
### Control Zone-Based Firewall Policies
Entities appear for each Zone-Based Firewall Policy. The switches can be identified from icon {% icon "mdi:security-network" %}.
## Sensor
### Bandwidth sensor

View File

@ -25,6 +25,8 @@ As an alternative, the [Grandstream HT802](https://www.amazon.com/Grandstream-GS
Also, the Grandstream HT812 has been reported to work. Home Assistant supports using only one of the two phone ports.
If you are running Home Assistant on a machine with other VoIP software, you can configure the port the **VoIP** {%term integration %} listens on in the configuration. For outgoing calls, you can specify a **SIP user** value that will be sent to the phone in the **From** header, if required.
<p class='img'>
<img src="/images/integrations/voip/voip_adapter.png" />
Connecting a phone to Home Assistant requires an adapter.

View File

@ -32,8 +32,8 @@ with route alternatives and travel times between two locations.
| Data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | --------|
| `origin` | no | The origin of the route | "51.330436, 3.802043" |
| `destination` | no | The destination of the route | "51.330436, 3.802043" |
| `origin` | no | The origin of the route | "51.330436, 3.802043", "person.fred" |
| `destination` | no | The destination of the route | "51.330436, 3.802043", "zone.work", "Work" |
| `region` | no | The region. Controls which waze server is used. | "us" |
| `units` | yes | Which unit system to use | metric |
| `vehicle_type` | yes | Which vehicle to use | "car" |

View File

@ -162,6 +162,35 @@ preset_modes:
type: list
{% endconfiguration %}
## Counter actions
Widget that displays buttons to increment, decrement and reset a [counter](/integrations/counter).
<p class='img'>
<img src='/images/dashboards/features/counter_actions.png' alt='Screenshot of the tile card with counter actions feature'>
Screenshot of the tile card with counter actions feature
</p>
```yaml
features:
- type: "counter-actions"
actions:
- increment
- decrement
- reset
```
{% configuration features %}
type:
required: true
description: "`counter-actions`"
type: string
actions:
required: true
description: List of actions to show on the card. The list can contain `increment`, `decrement`, and `reset`.
type: list
{% endconfiguration %}
## Cover open/close
Widget that displays buttons to open, close, or stop a [cover](/integrations/cover).
@ -560,6 +589,27 @@ type:
type: string
{% endconfiguration %}
## Toggle
Widget that displays a button to toggle a [switch](/integrations/switch) or [input boolean](/integrations/input_boolean) entity on or off.
<p class='img'>
<img src='/images/dashboards/features/toggle.png' alt='Screenshot of the tile card with the toggle feature'>
Screenshot of the tile card with the toggle feature
</p>
```yaml
features:
- type: "toggle"
```
{% configuration features %}
type:
required: true
description: "`toggle`"
type: string
{% endconfiguration %}
## Update actions
Widget that displays actions to install or skip an [update](/integrations/update).

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB