Merge branch 'rc' into current

This commit is contained in:
Franck Nijhof 2024-11-06 20:39:39 +01:00
commit c92b6bf70e
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
142 changed files with 5509 additions and 579 deletions

View File

@ -354,7 +354,7 @@ source/_integrations/hive.markdown @Rendili @KJonline
source/_integrations/hko.markdown @MisterCommand
source/_integrations/hlk_sw16.markdown @jameshilliard
source/_integrations/holiday.markdown @jrieger @gjohansson-ST
source/_integrations/home_connect.markdown @DavidMStraub
source/_integrations/home_connect.markdown @DavidMStraub @Diegorro98
source/_integrations/home_plus_control.markdown @cgtobi
source/_integrations/homeassistant.markdown @home-assistant/core
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
@ -618,6 +618,7 @@ source/_integrations/ourgroceries.markdown @OnFreund
source/_integrations/overkiz.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
source/_integrations/ovo_energy.markdown @timmo001
source/_integrations/p1_monitor.markdown @klaasnicolaas
source/_integrations/palazzetti.markdown @dotvav
source/_integrations/panel_custom.markdown @home-assistant/frontend
source/_integrations/pcs_lighting.markdown @gwww
source/_integrations/peco.markdown @IceBotYT
@ -706,7 +707,7 @@ source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roborock.markdown @Lash-L
source/_integrations/roku.markdown @ctalkington
source/_integrations/romy.markdown @xeniter
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Orhideous
source/_integrations/roon.markdown @pavoni
source/_integrations/rpi_power.markdown @shenxn @swetoast
source/_integrations/rss_feed_template.markdown @home-assistant/core
@ -795,11 +796,10 @@ source/_integrations/sonos.markdown @jjlawren @peterager
source/_integrations/soundtouch.markdown @kroimon
source/_integrations/spaceapi.markdown @fabaff
source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
source/_integrations/spider.markdown @peternijssen
source/_integrations/splunk.markdown @Bre77
source/_integrations/spotify.markdown @frenck @joostlek
source/_integrations/sql.markdown @gjohansson-ST @dougiteixeira
source/_integrations/squeezebox.markdown @rajlaud
source/_integrations/squeezebox.markdown @rajlaud @pssc @peteS-UK
source/_integrations/srp_energy.markdown @briglx
source/_integrations/starline.markdown @anonym-tsk
source/_integrations/starlink.markdown @boswelja
@ -812,7 +812,7 @@ source/_integrations/stookwijzer.markdown @fwestenberg
source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter
source/_integrations/stt.markdown @home-assistant/core
source/_integrations/subaru.markdown @G-Two
source/_integrations/suez_water.markdown @ooii
source/_integrations/suez_water.markdown @ooii @jb101010-2
source/_integrations/sun.markdown @Swamp-Ig
source/_integrations/sunweg.markdown @rokam
source/_integrations/supla.markdown @mwegrzynek

View File

@ -10,7 +10,6 @@ group :development do
gem 'stringex', '2.8.6'
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
gem 'sassc', '2.1.0'
# 1.80.5 breaks the build
gem 'sass-embedded', '1.80.6'
gem 'rubocop', '1.68.0'
gem 'ruby-lsp', '0.21.3'

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2024
current_minor_version: 10
current_patch_version: 4
date_released: 2024-10-25
current_minor_version: 11
current_patch_version: 0
date_released: 2024-11-06
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -115,6 +115,10 @@ double_tap_action:
required: false
description: Action taken on row double tap. See [action documentation](/dashboards/actions/#double-tap-action).
type: map
confirmation:
required: false
description: For entities that display a button element in the row (for example, button, lock, script), this option adds a confirmation dialog to the press of the button. See [options for confirmation](/dashboards/actions/#options-for-confirmation) for configuration options.
type: map
{% endconfiguration %}
## Special row elements

View File

@ -58,11 +58,11 @@ type:
type: string
entities:
required: true
description: List of entity IDs or `entity` objects (see below). Either this or the `geo_location_sources` configuration option is required.
description: List of entity IDs or `entity` objects (see [below](#options-for-entities)). Either this or the `geo_location_sources` configuration option is required.
type: list
geo_location_sources:
required: true
description: List of geolocation sources. All current entities with that source will be displayed on the map. See [Geolocation](/integrations/geo_location/) platform for valid sources. Set to `all` to use all available sources. Either this or the `entities` configuration option is required.
description: List of geolocation sources or `source` objects (see [below](#options-for-geolocation-sources)). All current entities with that source will be displayed on the map. See [Geolocation](/integrations/geo_location/) platform for valid sources. Set to `all` to use all available sources. Either this or the `entities` configuration option is required.
type: list
auto_fit:
required: false
@ -134,6 +134,22 @@ focus:
type: boolean
{% endconfiguration %}
## Options for geolocation sources:
If you define geolocation sources as objects instead of strings (by adding `source:` before the ID), you can add more customization and configuration.
{% configuration %}
source:
required: true
description: Name of a geolocation source, or `all`.
type: string
focus:
required: false
default: true
description: When set to `false`, the entities of this source will not be considered for determining the default zoom or fit of the map.
type: boolean
{% endconfiguration %}
## Examples
```yaml
@ -150,6 +166,8 @@ entities:
type: map
geo_location_sources:
- nsw_rural_fire_service_feed
- source: gdacs
focus: false
entities:
- zone.home
```

View File

@ -1,7 +1,7 @@
---
type: view
title: Masonry view
sidebar_label: Masonry (default)
sidebar_label: Masonry
description: "The default panel layout uses a masonry algorithm."
related:
- docs: /dashboards/panel/
@ -10,14 +10,14 @@ related:
title: Sidebar view
---
The masonry view is the default view type.
The masonry view sorts cards in columns based on their card size.
<p class='img'>
<img src='/images/getting-started/lovelace.png' alt='Screenshot of the masonry view'>
Screenshot of the masonry view.
</p>
Masonry sorts cards in columns based on their card size. The next card is placed below the smallest card on the dashboard.
Masonry sorts cards in columns based on size and places the next card below the smallest card on the dashboard.
<p class='img'>
<img src='/images/dashboards/masonry.png' alt='Image showing how masonry arranges cards based on size.'>

View File

@ -1,7 +1,7 @@
---
type: view
title: Sections (experimental)
sidebar_label: Sections (experimental)
title: Sections
sidebar_label: Sections (default)
description: "Lets you organize your cards in sections on a grid."
description: "The panel view shows a single card in the full width of the screen."
related:
@ -27,16 +27,11 @@ You can group cards without using horizontal or vertical stack cards.
A fully populated dashboard in Sections view layout
</p>
{% note %}
The sections view was released beginning of March 2024 and is experimental! Do not build your daily dashboard on top of it yet! We are still collecting feedback.<br>
It is not possible to migrate dashboards into sections view.
{% endnote %}
## Creating a sections view
1. If you have multiple dashboards, in the left sidebar, select the dashboard to which you want to add the sections view.
2. Follow the steps on [adding a new view](/dashboards/views/#adding-a-view-to-a-dashboard).
- Under **View type**, select **Sections (experimental)**.
- Under **View type**, select **Sections**.
3. Under **Max number of sections wide**, select the maximum number of columns you want to see in the new sections view.
4. Under **Dense section placement**, select if you want to allow the cards to be arranged automatically in order to fill gaps between cards.
- This will remove some gaps, but it also means you have less control over the order of the cards.
@ -77,17 +72,17 @@ In the sections view, you can rearrange sections and cards by dragging them to a
1. To edit your dashboard, in the top right corner, select the edit {% icon "mdi:edit" %} button.
2. To rearrange sections, hold the move {% icon "mdi:cursor-move" %} button and move the card.
<p class='img'>
<img src="/images/dashboards/section_view_rearrange_sections.gif" alt="Rearranging sections by dragging"/>
Rearranging sections by dragging
</p>
<p class='img'>
<img src="/images/dashboards/section_view_rearrange_sections.gif" alt="Rearranging sections by dragging"/>
Rearranging sections by dragging
</p>
3. To rearrange cards, tap and hold the card and move it to your desired location.
<p class='img'>
<img src="/images/dashboards/section_view_rearrange_cards.gif" alt="Rearranging cards by dragging"/>
Rearranging cards by dragging
</p>
<p class='img'>
<img src="/images/dashboards/section_view_rearrange_cards.gif" alt="Rearranging cards by dragging"/>
Rearranging cards by dragging
</p>
## Show or hide section conditionally

View File

@ -9,7 +9,7 @@ related:
- docs: /dashboards/panel/
title: Panel view
- docs: /dashboards/sections/
title: Sections view (experimental)
title: Sections view (default)
- docs: /dashboards/views/
title: About views
---

View File

@ -61,6 +61,11 @@ theme:
required: false
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
type: string
hide_completed:
required: false
description: Hide the completed items section in the card.
type: boolean
default: "false"
{% endconfiguration %}
### Examples

View File

@ -10,6 +10,11 @@ related:
The vertical stack card allows you to group multiple cards so they always sit in the same column.
<p class='img'>
<img src='/images/dashboards/edit-dashboard.webp' alt='Screencast showing how to edit a dashboard customize a vertical stack card'>
Screencast showing how to edit a dashboard and customize a vertical stack card.
</p>
{% include dashboard/edit_dashboard.md %}
## YAML configuration

View File

@ -92,18 +92,18 @@
- binary_sensors
- term: Blueprint
definition: >-
A blueprint is a script or automation configuration with certain parts
marked as configurable. This allows users to create multiple scripts or
automations based on the same blueprint, with each having its own
A blueprint is a script, automation or template entity configuration with certain parts
marked as configurable. This allows users to create multiple scripts,
automations or template entities based on the same blueprint, with each having its own
configuration-specific settings. Blueprints are shared by the community on
the [blueprints
exchange](https://community.home-assistant.io/c/blueprints-exchange/53) in
the forum.
link: /docs/blueprint/
excerpt: >-
A blueprint is a script or automation configuration with certain parts
marked as configurable. This allows users to create multiple scripts or
automations based on the same blueprint, with each having its own
A blueprint is a script, automation or template entity configuration with certain parts
marked as configurable. This allows users to create multiple scripts,
automations or template entities based on the same blueprint, with each having its own
configuration-specific settings.
aliases:
- blueprints

View File

@ -793,6 +793,34 @@ automation:
offset: "-00:10:00"
```
### Limited templates
It's also possible to use [limited templates](/docs/configuration/templating/#limited-templates) for times.
```yaml
blueprint:
input:
alarm:
name: Alarm
selector:
text:
hour:
name: Hour
selector:
number:
min: 0
max: 24
trigger_variables:
my_alarm: !input alarm
my_hour: !input hour
trigger:
- platform: time
at:
- "sensor.{{ my_alarm | slugify }}_time"
- "{{ my_hour }}:30:00"
```
## Time pattern trigger
With the time pattern trigger, you can match if the hour, minute or second of the current time matches a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You can specify `*` to match any value (when using the web interface this is required, the fields cannot be left empty).

View File

@ -18,7 +18,7 @@ This section gives a high-level introduction to blueprints. To view a descriptio
## What is a blueprint?
A blueprint is a {% term script %} or {% term automation %} configuration with certain parts marked as configurable. This allows you to create different scripts or automations based on the same blueprint.
A blueprint is a {% term script %}, {% term automation %} or [template entity](/docs/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint.
Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time.

View File

@ -57,7 +57,7 @@ description:
domain:
description: >
The domain in which this blueprint is used. Currently, only
[`automation`](/docs/automation/yaml/) and `script` are supported.
[`automation`](/docs/automation/yaml/), `script` and [`template`](/docs/integrations/template/#using-blueprints) are supported.
type: string
required: true
author:

View File

@ -281,9 +281,9 @@ After each time a wait completes, either because the condition was met, the even
| Variable | Description |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `wait.completed` | Exists only after `wait_template`. `true` if the condition was met, `false` otherwise |
| `wait.trigger` | Exists only after `wait_for_trigger`. Contains information about which trigger fired. (See [Available-Trigger-Data](/docs/automation/templating/#available-trigger-data).) Will be `none` if no trigger happened before timeout expired |
| `wait.completed` | `true` if the condition was met, `false` otherwise |
| `wait.remaining` | Timeout remaining, or `none` if a timeout was not specified |
| `wait.trigger` | Exists only after `wait_for_trigger`. Contains information about which trigger fired. (See [Available-Trigger-Data](/docs/automation/templating/#available-trigger-data).) Will be `none` if no trigger happened before timeout expired |
This can be used to take different actions based on whether or not the condition was met, or to use more than one wait sequentially while implementing a single timeout overall.

View File

@ -14,6 +14,7 @@ ha_codeowners:
ha_domain: airgradient
ha_platforms:
- button
- diagnostics
- number
- select
- sensor

View File

@ -7,6 +7,7 @@ ha_category:
- Climate
- Select
- Sensor
- Switch
- Water heater
ha_iot_class: Local Polling
ha_config_flow: true
@ -17,6 +18,7 @@ ha_platforms:
- diagnostics
- select
- sensor
- switch
- water_heater
ha_codeowners:
- '@Noltari'
@ -97,6 +99,10 @@ For each Airzone zone (thermostat), the following *sensors* are created:
| humidity | Current zone relative humidity. |
| temperature | Current zone temperature. |
## Switch
For each Airzone zone (thermostat), a *switch entity* is created.
## Water heater
For each Airzone device a *water heater entity* is created if supported.

View File

@ -7,6 +7,7 @@ ha_category:
- Climate
- Select
- Sensor
- Switch
- Water heater
ha_iot_class: Cloud Push
ha_config_flow: true
@ -17,6 +18,7 @@ ha_platforms:
- diagnostics
- select
- sensor
- switch
- water_heater
ha_codeowners:
- '@Noltari'
@ -108,6 +110,10 @@ For each Airzone WebServer (HVAC Wi-Fi controller), the following *sensors* are
| :------------------ | :------------------------------------------------- |
| rssi | Wi-Fi RSSI. |
## Switch
For each Airzone zone (thermostat), a switch entity is created to turn the thermostat on or off (without changing the HVAC mode).
## Water heater
For each Airzone device, a *water heater entity* is created if supported.

View File

@ -173,6 +173,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -239,6 +243,10 @@ payload_trigger:
required: false
type: string
default: TRIGGER
platform:
description: Must be `alarm_control_panel`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -259,7 +267,7 @@ supported_features:
type: list
default: ["arm_home", "arm_away", "arm_night", "arm_vacation", "arm_custom_bypass", "trigger"]
unique_id:
description: An ID that uniquely identifies this alarm panel. If two alarm panels have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this alarm panel. If two alarm panels have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -72,7 +72,7 @@ This table shows the supported operation modes. The available modes will depend
### Sensor
The following sensor entities are available:
- Hot water availability (low, medium, or high)
- Hot water availability (percentage)
- Energy usage
## Disclaimer

View File

@ -37,15 +37,15 @@ port:
required: true
type: integer
username:
description: The username of Apache Kafka cluster for authentication.
description: The username of Apache Kafka cluster for SASL authentication. Required with `SASL_SSL` security protocol only.
required: false
type: string
password:
description: The password of Apache Kafka cluster for authentication.
description: The password of Apache Kafka cluster for SASL authentication. Required with `SASL_SSL` security protocol only.
required: false
type: string
security_protocol:
description: The protocol used to communicate with brokers. Use `SASL_SSL` for authentication.
description: The security protocol used to communicate with brokers. Use `SSL` for secure or `SASL_SSL` for secure with SASL authentication. (only `SASL_PLAINTEXT` SASL mechanism is supported)
required: false
default: PLAINTEXT
type: string

View File

@ -14,7 +14,6 @@ ha_platforms:
- sensor
ha_integration_type: integration
ha_zeroconf: true
ha_dhcp: true
---
The Awair integration will fetch data from your [Awair devices](https://getawair.com).

View File

@ -138,6 +138,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity/#generic-properties) of the entity. When set, the entity category must be `diagnostic` for sensors.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
expire_after:
description: If set, it defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. Default the sensors state never expires.
required: false
@ -192,6 +196,10 @@ payload_on:
required: false
type: string
default: "ON"
platform:
description: Must be `binary_sensor`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -202,7 +210,7 @@ state_topic:
required: true
type: string
unique_id:
description: An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -1,139 +0,0 @@
---
title: BloomSky
description: Instructions on how to integrate the BloomSky within Home Assistant.
ha_category:
- Binary sensor
- Camera
- Environment
- Sensor
- Weather
ha_release: 0.14
ha_iot_class: Cloud Polling
ha_domain: bloomsky
ha_platforms:
- binary_sensor
- camera
- sensor
ha_integration_type: integration
related:
- docs: /docs/configuration/
title: Configuration file
---
The **BloomSky** {% term integration %} allows you to access your [BloomSky](https://www.bloomsky.com/) weather stations.
There is currently support for the following device types within Home Assistant:
- [Binary sensor](#binary-sensor)
- [Camera](#camera)
- [Sensor](#sensor)
## Setup
Obtain your API key from your [BloomSky dashboard](https://dashboard.bloomsky.com). Click `developers` in the bottom left of the screen.
## Configuration
To integrate your BloomSky hub with Home Assistant, add the following section to your {% term "`configuration.yaml`" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}
```yaml
# Example configuration.yaml entry
bloomsky:
api_key: YOUR_API_KEY
```
{% configuration %}
api_key:
description: Your BloomSky API key.
required: true
type: string
{% endconfiguration %}
## Binary sensor
The `bloomsky` binary sensor platform allows you to get data from your BloomSky device.
To get your BloomSky binary sensors working with Home Assistant, follow the instructions above first.
### Configuration
To use your BloomSky binary sensor in your installation, add the following to your {% term "`configuration.yaml`" %} file.
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: bloomsky
monitored_conditions:
- Night
- Rain
```
{% configuration %}
monitored_conditions:
description: "The sensors that you wish to monitor on all of your devices. Select from these options:"
required: true
type: list
keys:
night:
description: Night
rain:
description: Rain
{% endconfiguration %}
## Camera
The `bloomsky` camera integration allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](#sensor).
### Configuration
To enable this camera in your installation, set up the BloomSky integration with your API key and add the following to your {% term "`configuration.yaml`" %} file.
```yaml
# Example configuration.yaml entry
camera:
- platform: bloomsky
```
## Sensor
The `bloomsky` sensor integration allows you to view the measurements made by sensors in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with the [BloomSky camera](#camera).
### Configuration
To enable these sensors in your installation, set up the BloomSky integration with your API key add the following to your {% term "`configuration.yaml`" %} file.
```yaml
# Example configuration.yaml entry
sensor:
platform: bloomsky
monitored_conditions:
- Temperature
- Humidity
- Pressure
- UVIndex
- Luminance
- Voltage
```
{% configuration %}
monitored_conditions:
description: "The sensors that you wish to monitor on all of your devices. Select from these options:"
required: true
type: list
keys:
humidity:
description: Humidity
luminance:
description: Luminance
pressure:
description: Pressure
temperature:
description: Temperature
uvindex:
description: UVIndex
voltage:
description: Voltage
{% endconfiguration %}
More conditions are available using the [BloomSky binary sensor](#binary-sensor) integration.

View File

@ -38,6 +38,7 @@ For authentication, the integration requires the `email` and `password` you used
- **On occasion:** Displays the count of items marked with the **If convenient** badge.
- **Discount only:** Indicates the number of items tagged with the **Offer** badge.
- **Region & Language:** The sensor can be used for diagnostics. If everything is set correctly, it will display the selected region for the shopping list. If it shows **Unknown**, the region has not been set properly in the **Bring!** app.
- **List access**: Indicates whether the shopping list is **personal** (private) or **shared** (accessible to others).
## Actions

View File

@ -135,6 +135,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -171,6 +175,10 @@ payload_press:
required: false
type: string
default: "PRESS"
platform:
description: Must be `button`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -182,7 +190,7 @@ retain:
type: boolean
default: false
unique_id:
description: An ID that uniquely identifies this button entity. If two buttons have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this button entity. If two buttons have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -3,12 +3,15 @@ title: Cambridge Audio
description: Instructions on how to integrate Cambridge Audio Receivers into Home Assistant.
ha_category:
- Media player
- Select
ha_release: '2024.10'
ha_iot_class: Local Push
ha_domain: cambridge_audio
ha_platforms:
- diagnostics
- media_player
- select
- switch
ha_codeowners:
- '@noahhusby'
ha_config_flow: true
@ -48,6 +51,51 @@ Host:
type: string
{% endconfiguration_basic %}
## Available configuration entities
The integration provides a few entities to configure the device settings. The following entities are supported:
- Display brightness
- Pre-Amp
- Early update
- Audio output (Speaker select)
## Playing media
Cambridge Audio supports playing a variety of formats using the `media_player.play_media` action.
### Examples:
Cambridge Audio can recall any stored presets saved on the device. An example action using a preset:
```yaml
action: media_player.play_media
target:
entity_id: media_player.cambridge_audio
data:
media_content_type: "preset"
media_content_id: "1"
```
An example action using an Airable radio ID:
```yaml
action: media_player.play_media
target:
entity_id: media_player.cambridge_audio
data:
media_content_type: "airable"
media_content_id: "12345678"
```
An example action using an internet radio url:
```yaml
action: media_player.play_media
target:
entity_id: media_player.cambridge_audio
data:
media_content_type: "internet_radio"
media_content_id: "https://example.com/internet-radio/station_abcd.mp3"
```
## Troubleshooting
### The buttons to skip, shuffle, and repeat the track are missing

View File

@ -91,7 +91,7 @@ Both `duration` and `lookback` options are suggestions, but should be consistent
| Data attribute | Optional | Description |
| -------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `camera.living_room_camera`. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/{{ entity_id.name }}.mp4`{% endraw %}. |
| `filename` | no | Recording file name. |
| `duration` | yes | Target recording length (in seconds). Default: 30 |
| `lookback` | yes | Target lookback period (in seconds) to include in addition to duration. Only available if there is currently an active HLS stream. Default: 0 |
@ -103,11 +103,13 @@ For example, the following action in an automation would take a recording from "
```yaml
actions:
- variables:
entity_id: camera.yourcamera # Store the camera entity_id in a variable for reuse
- action: camera.record
target:
entity_id: camera.yourcamera
entity_id: '{{ entity_id }}'
data:
filename: '/tmp/{{ entity_id.name }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4'
filename: '/tmp/{{ entity_id }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4'
```
{% endraw %}
@ -119,7 +121,7 @@ Take a snapshot from a camera.
| Data attribute | Optional | Description |
| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `camera.living_room_camera`. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id.name }}`{% endraw %}. |
| `filename` | no | Snapshot file name. |
The path part of `filename` must be an entry in the `allowlist_external_dirs` in your [`homeassistant:`](/integrations/homeassistant/) section of your {% term "`configuration.yaml`" %} file.
@ -129,11 +131,13 @@ For example, the following action in an automation would take a snapshot from "y
```yaml
actions:
- variables:
entity_id: camera.yourcamera # Store the camera entity_id in a variable for reuse
- action: camera.snapshot
target:
entity_id: camera.yourcamera
entity_id: '{{ entity_id }}'
data:
filename: '/tmp/yourcamera_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg'
filename: '/tmp/{{ entity_id }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg'
```
{% endraw %}

View File

@ -133,6 +133,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -162,7 +166,7 @@ topic:
required: true
type: string
unique_id:
description: An ID that uniquely identifies this camera. If two cameras have the same unique ID Home Assistant will raise an exception.
description: An ID that uniquely identifies this camera. If two cameras have the same unique ID Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -153,6 +153,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
fan_mode_command_template:
description: A template to render the value sent to the `fan_mode_command_topic` with.
required: false
@ -402,7 +406,7 @@ temp_step:
required: false
default: 1
unique_id:
description: An ID that uniquely identifies this HVAC device. If two HVAC devices have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this HVAC device. If two HVAC devices have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -20,6 +20,7 @@ ha_platforms:
- binary_sensor
- climate
- cover
- diagnostics
- humidifier
- light
- sensor

View File

@ -148,6 +148,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -199,6 +203,10 @@ payload_stop:
required: false
type: string
default: STOP
platform:
description: Must be `cover`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
position_closed:
description: Number which represents closed position.
required: false
@ -306,7 +314,7 @@ tilt_status_topic:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this cover. If two covers have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this cover. If two covers have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -20,6 +20,7 @@ This {% term integration %} is a meta-component and configures a default set of
- [Conversation](/integrations/conversation/) (`conversation`)
- [DHCP discovery](/integrations/dhcp/) (`dhcp`)
- [Energy](/integrations/energy/) (`energy`)
- [Go2rtc](/integrations/go2rtc/) (`go2rtc`)
- [History](/integrations/history/) (`history`)
- [Home Assistant Alerts](/integrations/homeassistant_alerts) (`homeassistant_alerts`)
- [Home Assistant Cloud](/integrations/cloud/) (`cloud`)

View File

@ -167,6 +167,10 @@ payload_reset:
required: false
type: string
default: '"None"'
platform:
description: Must be `device_tracker`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -181,7 +185,7 @@ state_topic:
required: false
type: string
unique_id:
description: "An ID that uniquely identifies this device_tracker. If two device_trackers have the same unique ID, Home Assistant will raise an exception."
description: "An ID that uniquely identifies this device_tracker. If two device_trackers have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery."
required: false
type: string
value_template:

View File

@ -26,6 +26,10 @@ payload:
description: Optional payload to match the payload being sent over the topic.
required: false
type: string
platform:
description: Must be `device_automation`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false

View File

@ -17,6 +17,7 @@ ha_platforms:
- diagnostics
- sensor
ha_integration_type: integration
ha_quality_scale: gold
---
The `dsmr_reader` sensor integration allows you to easily add all sensors that [DSMR Reader](https://dsmr-reader.readthedocs.io/en/latest/) (Dutch Smart Meter Requirements Reader) exposes to MQTT. It adds a separate sensor for every field in the MQTT topics which is named `sensor_dsmr_<mqtt_topic>`.

View File

@ -169,6 +169,7 @@ Besides the standard actions provided by the Home Assistant [Climate](/integrati
- `ecobee.set_dst_mode`
- `ecobee.set_mic_mode`
- `ecobee.set_occupancy_modes`
- `ecobee.set_sensors_in_climate`
### Action `ecobee.create_vacation`
@ -241,3 +242,14 @@ Enable/disable Smart Home/Away and Follow Me modes.
| `entity_id` | yes | ecobee thermostat on which to set occupancy modes. Omit to target all ecobee thermostats. |
| `auto_away` | yes | true or false |
| `follow_me` | yes | true or false |
### Service `ecobee.set_sensors_in_climate`
Set which sensors are active on a termostat for a specific climate program.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | ecobee thermostat on which to set the active sensors. |
| `preset_mode` | yes | Name of the climate program to set the sensors active on (defaults to currently active program). |
| `sensors` | no | Sensors to set as participating for climate. This is the device ID of the sensor/thermostat. These can be found in the available_sensors attribute. |

View File

@ -140,6 +140,8 @@ This integration provides several values suitable for the energy dashboard:
The integration provides a `configure` menu to configure the following options:
- Collect test fixture data in [diagnostics report](#diagnostics) - No/Yes
- Always use a new connection when requesting data from the Envoy - No/Yes
- Some older Envoy firmware may exhibit connection issues when using the, by default enabled, keep-alive connection and report failures. When set, this option disables the use of keep-alive and builds a new connection at each data request. This makes the communication more reliable for these firmware versions. Reported for the Envoy-R but may apply to other older firmware versions as well.
## Debug logs and diagnostics

View File

@ -129,6 +129,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
event_types:
description: A list of valid `event_type` strings.
required: true
@ -164,6 +168,10 @@ payload_not_available:
required: false
type: string
default: offline
platform:
description: Must be `event`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -174,7 +182,7 @@ state_topic:
required: true
type: string
unique_id:
description: An ID that uniquely identifies this event entity. If two events have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this event entity. If two events have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -140,6 +140,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -254,6 +258,10 @@ percentage_value_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the `percentage` value from the payload received on `percentage_state_topic`.
required: false
type: template
platform:
description: Must be `fan`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
preset_mode_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `preset_mode_command_topic`.
required: false
@ -304,7 +312,7 @@ state_value_template:
required: false
type: template
unique_id:
description: An ID that uniquely identifies this fan. If two fans have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this fan. If two fans have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -0,0 +1,62 @@
---
title: go2rtc
description: Instructions on how to setup go2rtc in Home Assistant.
ha_category:
- Camera
ha_release: 2024.11
ha_iot_class: Local Polling
ha_codeowners:
- '@home-assistant/core'
ha_domain: go2rtc
ha_integration_type: system
related:
- docs: /installation/
---
go2rtc is an open source project providing a camera streaming application that supports formats such as RTSP, WebRTC, HomeKit, FFmpeg, RTMP. The **go2rtc** {% term integration %} connects to a go2rtc instance and provides a WebRTC proxy for all your cameras. To learn more about go2rtc, refer to the [project's GitHub page](https://github.com/AlexxIT/go2rtc/).
If you are using the [`default_config`](/integrations/default_config/) and run Home Assistant using one of the following installation methods, the go2rtc integration will be set up automatically and you don't need to do anything:
- {% term "Home Assistant Operating System" %}
- {% term "Home Assistant Supervised" %}
- {% term "Home Assistant Container" %}
## Configuration
This integration is part of the [`default_config`](/integrations/default_config/).
The following YAML options are available:
{% configuration %}
debug_ui:
required: false
description: Enables the UI of the go2rtc, which helps debugging WebRTC issues. The `debug_ui` should only be enabled during debugging as it will expose port 11984 without any authentication!
default: false
type: boolean
url:
required: false
description: The URL to the self-hosted [go2rtc](https://github.com/AlexxIT/go2rtc/) server
type: string
{% endconfiguration %}
If you using the go2rtc server managed by Home Assistant, please be aware that all ports are prefixed by `1` compared to the default port settings to avoid port conflicts:
- Api port `1984` becomes `11984`
- WebRTC port `8555` becomes `18555`
{% warning %}
The `debug_ui` should only be enabled during debugging as it will expose port 11984 without any authentication!
Please disable the `debug_ui` immediately after debugging.
{% endwarning %}
### Examples
Use a self-hosted instance:
```yaml
go2rtc:
url: http://my-go2rtc-instance:1984
```

View File

@ -1,48 +0,0 @@
---
title: Google Domains
description: Keep your computer registered with the Google Domains dynamic DNS.
ha_category:
- Network
ha_release: 0.57
ha_domain: google_domains
ha_iot_class: Cloud Polling
ha_integration_type: integration
related:
- docs: /docs/configuration/
title: Configuration file
---
With the Google Domains {% term integration %} you can keep your Google Domains **dynamic** DNS record up to date. To setup a dynamic domain name using Goole Domains, refer to the [_Use Dynamic DNS_ section in the Google support documentation](https://support.google.com/domains/answer/6147083).
## Configuration
To use the {% term integration %} in your installation, add the following to your {% term "`configuration.yaml`" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}
```yaml
# Example configuration.yaml entry
google_domains:
domain: subdomain.domain.com
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
domain:
description: Your fully qualified domain name (FQDN) that you have chosen for your Home Assistant server.
required: true
type: string
username:
description: The generated username for this Dynamic DNS record. See your [Google Domains record](https://support.google.com/domains/answer/6147083) for details.
required: true
type: string
password:
description: The generated password for this Dynamic DNS record. See your [Google Domains record](https://support.google.com/domains/answer/6147083) for details.
required: true
type: string
timeout:
description: Timeout (in seconds) for the API calls.
required: false
type: integer
default: 10
{% endconfiguration %}

View File

@ -44,6 +44,8 @@ H6087,
H6088,
H608A,
H608B,
H608D,
H60A1,
H610A,
H610B,
H6110,
@ -79,6 +81,7 @@ H61A8,
H61B2,
H61B5,
H61BA,
H61BC,
H61BE,
H61C3,
H61C5,
@ -86,6 +89,7 @@ H61D3,
H61D5,
H61E0,
H61E1,
H61F5,
H7012,
H7013,
H7020,
@ -104,14 +108,19 @@ H7055,
H705A,
H705B,
H705C,
H705E,
H7060,
H7061,
H7062,
H7063,
H7065,
H7066,
H706A,
H706B,
H706C,
H7075,
H70A1,
H70B1,
H70C1,
H70C2
H70C2
H70C2

View File

@ -4,6 +4,7 @@ description: Instructions on enabling Habitica support for your Home Assistant
ha_category:
- To-do list
- Sensor
- Calendar
ha_release: 0.78
ha_iot_class: Cloud Polling
ha_domain: habitica
@ -12,6 +13,7 @@ ha_platforms:
- sensor
- switch
- todo
- calendar
ha_codeowners:
- '@ASMfreaK'
- '@leikoilja'
@ -54,6 +56,8 @@ The Habitca {% term integration %} enables you to monitor your adventurer's prog
- **Next level:** Indicates the remaining experience points needed to reach the next level (for example, "440 XP").
- **Habits:** Shows the number of habits being tracked (for example, "4 tasks").
- **Rewards:** Displays the rewards that can be redeemed (for example, "1 task")
- **Gems:** Shows the total number of gems currently owned by your Habitica character, used for purchasing items and customizations.
- **Mystic hourglasses:** Displays the number of mystic hourglasses earned as a subscriber, which can be redeemed for exclusive items from past events.
## To-do lists
@ -62,6 +66,11 @@ The following Habitica tasks are available as to-do lists in Home Assistant. You
- **To-Do's:** Displays a comprehensive list of active and completed to-dos. Each to-do includes its due date if applicable, allowing you to check them off, edit them, delete them, and create new to-dos seamlessly.
- **Dailies:** Shows the daily tasks that need to be completed today or in the future. Tasks completed yesterday can still be marked off as "yesterdailies" until a new day starts.
## Calendars
- **To-Do calendar:** Lists the due dates for all active to-do tasks. Each event on this calendar represents a to-do item that has a set due date, making it easy to track upcoming deadlines and plan accordingly.
- **Dailies calendar:** Displays all daily tasks that are scheduled for today and are still active. It also shows all tasks scheduled for future dates, helping you stay organized and track upcoming routines. The calendar sensor will be active if there are unfinished tasks for today and display the next due daily (based on sort order if there are multiple tasks due for that day).
## Button controls
- **Start my day:** Initiates daily routine actions in Habitica, including resetting your dailies, deal damage from unfinished dailies and quest bosses, habits adjustment, buff expiration, and mana regeneration based on completed dailies.
@ -69,9 +78,57 @@ The following Habitica tasks are available as to-do lists in Home Assistant. You
- **Buy a health potion:** Allows your character to purchase a health potion in Habitica. Instantly applies the potion upon purchase, healing 15 HP at a cost of 25 GP.
- **Allocate all stat points**: Assigns all unallocated stat points based on the previously set automatic allocation method. If no method is set, all points are assigned to strength (STR).
## Button controls for class skills
If you've unlocked the class system, button controls for casting player and party skills will become available, depending on the class you've selected. For task skills see [action `habitica.cast_skill`](#action-habiticacast_skill)
### Mage
- **Ethereal surge**: You sacrifice Mana so the rest of your party, except for other mages, gains MP. (based on: INT)
- **Earthquake**: Your mental power shakes the earth and buffs your party's intelligence. (based on: unbuffed INT)
- **Chilling frost:** With one cast, ice freezes all your streaks so they won't reset to zero tomorrow.
### Warrior
- **Defensive stance**: You crouch low and gain a buff to constitution. (based on: unbuffed CON)
- **Valorous presence**: Your boldness buffs your whole party's strength. (based on: unbuffed STR)
- **Intimidating gaze:** Your fierce stare buffs your whole Party's constitution. (based on: unbuffed CON)
### Rogue
- **Tools of the trade**: Your tricky talents buff your whole party's perception. (based on: unbuffed PER)
- **Stealth**: With each cast, a few of your undone dailies won't cause damage tonight. Their streaks and colors won't change. (based on: PER)
### Healer
- **Healing light**: Shining light restores your health. (based on: CON and INT)
- **Searing brightness**: A burst of light makes your tasks more blue/less red. (based on: INT)
- **Protective aura**: You shield your party by buffing their constitution. (based on: unbuffed CON)
- **Blessing**: Your soothing spell restores your whole party's health. (based on: CON and INT)
## Switch controls
- **Rest in the Inn:** When enabled, allows your character to rest in the inn in Habitica, pausing damage dealt from dailies and quest bosses.
- **Rest in the Inn**: When enabled, allows your character to rest in the inn in Habitica, pausing damage dealt from dailies and quest bosses.
## Actions
### Action `habitica.cast_skill`
Use a skill or spell from your Habitica character on a specific task to affect its progress or status.
| Data attribute | Optional | Description |
| -------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| `config_entry` | no | Config entry of the character to cast the skill. |
| `skill` | no | Skill or spell you want to cast on the task. Only skills available to your character's class can be used. |
| `task` | no | The name of the task to target. Alternatively, you can use the `task ID` or **alias**. Supported task types are **to-do**, **habit**, and **daily**. |
#### Available skills
- **Rogue:** `pickpocket`, `backstab`
- **Warrior:** `smash`
- **Mage:** `fireball`
To use task aliases, make sure **Developer Mode** is enabled under [**Settings -> Site Data**](https://habitica.com/user/settings/siteData). Task aliases can only be edited via the **Habitica** web client.
## Automations

View File

@ -5,19 +5,24 @@ ha_category:
- Binary sensor
- Hub
- Light
- Number
- Sensor
- Switch
- Time
ha_iot_class: Cloud Push
ha_release: '0.110'
ha_domain: home_connect
ha_codeowners:
- '@DavidMStraub'
- '@Diegorro98'
ha_config_flow: true
ha_platforms:
- binary_sensor
- light
- number
- sensor
- switch
- time
ha_integration_type: integration
---
@ -28,10 +33,24 @@ The integration will add one Home Assistant device for each connected home appli
- A power switch
- If the device has programs, switches for each of the individual programs will be added. Note that program options cannot be configured currently.
- If the device has programs, a timestamp sensor for remaining time and a numeric sensor for the progress percentage.
- For hood's functional light a light switch including brightness control will be added.
- For hood's and dishwasher's ambient light a light switch including brightness and color control will be added.
- Light:
- Hoods:
- Functional light: on/off and brightness
- Ambient light: on/off, brightness, HSV and RGB
- Dishwasher: on/off, brightness, HS and RGB
- Cooling appliances: Both, external and internal lights, on/off and brightness
- Numbers that set the temperature of cooling appliances.
- 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.
{% note %}
Note that it depends on the appliance and on API permissions which of the features are supported.
{% endnote %}
{% note %}
Some devices only have the state `on` and turn off is not supported by the appliance, check [power state availability at Home Connect API documentation](https://api-docs.home-connect.com/settings/#power-state) for more information.
{% endnote %}
## Prerequisites
@ -47,12 +66,15 @@ Note that it depends on the appliance and on API permissions which of the featur
4. On success, you will be redirected to the **Applications** page. Select **Details** for your app. Make note of the client ID and secret - you will need it for the next step. Log out of the Home Connect developer portal.
5. In Home Assistant, find the Home Connect integration and launch it. You will be prompted to create an [Application Credential](https://www.home-assistant.io/integrations/application_credentials). You will need to provide a name (it's arbitrary) in addition to the Client ID and Secret from the previous step. Then, follow the steps in the UI to complete setup.
*Important*:
- **Power on** all your appliances during the integration configuration process; otherwise appliance programs list will be empty.
- To update the appliance programs list, you can reload the Home Connect integration when an appliance is turned on. If the re-initialization process is not triggered by reload, restart the Home Assistant when an appliance is turned on.
- After performing the steps above, [log out](https://developer.home-connect.com/user/logout) of your Home Connect Developer account. If you don't do this, the configuration steps below will fail during OAuth authentication with the message `“error”: “unauthorized_client”`.
- The provided Home Connect User Account email address **must** be all lowercase otherwise it will result in authentication failures.
- All changes in the developer portal take 15 minutes before the change is implemented.
{% important %}
- **Power on** all your appliances during the integration configuration process; otherwise, appliance programs list will be empty.
- To update the appliance programs list, you can reload the Home Connect integration when an appliance is turned on. If the re-initialization process is not triggered by reload, restart the Home Assistant when an appliance is turned on.
- After performing the steps above, [log out](https://developer.home-connect.com/user/logout) of your Home Connect Developer account. If you don't do this, the configuration steps below will fail during OAuth authentication with the message `“error”: “unauthorized_client”`.
- The provided Home Connect User Account email address **must** be all lowercase; otherwise, it will result in authentication failures.
- All changes in the developer portal take 15 minutes before the change is implemented.
{% endimportant %}
{% details "I have manually disabled My Home Assistant" %}
@ -63,7 +85,7 @@ instead.
The `<HOME_ASSISTANT_URL>` must be the same as used during the configuration/
authentication process.
Internal examples: `http://192.168.0.2:8123/auth/external/callback`, `http://homeassistant.local:8123/auth/external/callback`."
Internal examples: `http://192.168.0.2:8123/auth/external/callback`, `http://homeassistant.local:8123/auth/external/callback`."
{% enddetails %}

View File

@ -141,6 +141,10 @@ debug:
required: false
type: boolean
default: false
webrtc:
description: A [custom list of STUN and TURN servers for WebRTC video streaming](#custom-stun-and-turn-servers).
required: false
type: map
{% endconfiguration %}
## Editing entity settings in YAML
@ -251,6 +255,54 @@ homeassistant:
icon: mdi:other
```
## Custom STUN and TURN servers
It's possible to override the default list of STUN and TURN servers which are used to initiate WebRTC streaming.
Each STUN or TURN server can be configured as described in the table below.
{% configuration webrtc %}
ice_servers:
description: List of STUN and TURN server configurations
required: true
type: list
keys:
url:
description: STUN or TURN server URLs. This can either be a single URL or a list of URLs.
required: true
type: string
username:
description: Username for TURN server authentication
required: false
type: string
credential:
description: Credential for TURN server authentication
required: false
type: string
{% endconfiguration %}
### WebRTC configuration example
{% important %}
If you implement `webrtc` in your {% term "`configuration.yaml`" %} file, you must make sure it is done inside of `homeassistant:` or it will fail.
{% endimportant %}
```yaml
homeassistant:
name: Home
unit_system: metric
# etc
webrtc:
ice_servers:
# Add an entry for each STUN or TURN server
- url:
- "stun:stun.l.google.com:19302"
- "stun:stun1.l.google.com:3478"
- url: "turn:turn.domain.com"
username: "username"
credential: "abc123"
```
## Actions
The `homeassistant` integration provides actions for controlling Home Assistant itself, as well as generic controls for any entity.

View File

@ -176,6 +176,7 @@ Within this delay the device registration should be completed in the App, otherw
- Passage Sensor with Direction Recognition (*HmIP-SPDR*) (delta counter)
- Alpha IP Wall Thermostat Display (*ALPHA-IP-RBG*)
- Alpha IP Wall Thermostat Display analog (*ALPHA-IP-RBGa*)
- Floor Heating Actuator 12x channels, motorized - Valve positions (*HmIP-FALMOT-C12*)
- homematicip_cloud.switch
- Pluggable Switch (*HmIP-PS*)

View File

@ -163,6 +163,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -266,6 +270,10 @@ modes:
required: false
type: [list]
default: []
platform:
description: Must be `humidifier`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -285,7 +293,7 @@ state_value_template:
required: false
type: template
unique_id:
description: An ID that uniquely identifies this humidifier. If two humidifiers have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this humidifier. If two humidifiers have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -178,6 +178,11 @@ The integration will create the following sensors:
- Total searching time
- Work area (if available). For example: *My lawn*, *Front lawn*, *Back lawn*
For each work area with activated systematic mowing these sensors are created:
- Progress (in percent)
- Last time completed
### Switch
#### Avoid (if available)

View File

@ -0,0 +1,33 @@
---
title: Husqvarna Automower BLE
description: Instructions on how to integrate Husqvarna Automower BLE lawn mowers into Home Assistant.
ha_category:
- Lawn Mower
ha_release: 2024.11
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@alistair23'
ha_platforms:
- lawn_mower
ha_integration_type: integration
ha_domain: husqvarna_automower_ble
---
The Husqvarna Automower BLE integration provides connectivity with Husqvarna Automowers lawn mowers via a local Bluetooth connection. This allows connecting and controlling an Automower without any accounts, cloud, or network connection.
The integration is based on [AutoMower-BLE](https://github.com/alistair23/AutoMower-BLE), an unofficial reverse engineered Husqvarna Automower Connect BLE library.
There is currently support for the following device types within Home Assistant:
- Lawn Mower
### Prerequisites
1. Setup a [Bluetooth controller](https://www.home-assistant.io/integrations/bluetooth/). An ESPHome Bluetooth proxy works well and allows locating a device close to the mower.
2. Enter the pairing mode on the mower. Different models will do this in different ways. For the 305, for example, the mower will enter pairing mode for the first 3 minutes after powering on. Ensure the mower is in pairing mode when adding the integration. This only needs to be done once per BLE controller (so changing the ESPHome device will require a repair).
3. When adding the integration to Home Assistant, you will need to enter the mower BLE Mac address. You can find this in the ESPHome logs, on an Android phone, or by some other means.
Pairing can take a few goes. Even when using the official Android application, it can be tricky to get the first pair to succeed. If you are having issues, reboot the mower and try again.
{% include integrations/config_flow.md %}

View File

@ -23,3 +23,37 @@ In addition, the entity can have the following states:
- **Unavailable**: The entity is currently unavailable.
- **Unknown**: The state is not yet known.
### Actions
Once loaded, the `image` platform will expose services that can be called to perform various actions.
Available services: `snapshot`.
#### Action `snapshot`
Take a snapshot from an image.
| Data attribute | Optional | Description |
| -------------- | -------- | ------------------------------------------------------------------------------ |
| `entity_id` | no | Name(s) of entities to create a snapshot from, e.g., `image.my_image`. |
| `filename` | no | Snapshot file name |
The path part of `filename` must be an entry in the `allowlist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
For example, the following action in an automation would take a snapshot from "yourimage" and save it to /tmp with a timestamped filename.
{% raw %}
```yaml
actions:
- variables:
entity_id: image.yourimage # Store the camera entity_id in a variable for reuse
- action: image.snapshot
target:
entity_id: '{{ entity_id }}'
data:
filename: '/tmp/{{ entity_id }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg'
```
{% endraw %}

View File

@ -136,6 +136,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -165,7 +169,7 @@ object_id:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this image. If two images have the same unique ID Home Assistant will raise an exception.
description: An ID that uniquely identifies this image. If two images have the same unique ID Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
url_template:

View File

@ -4,6 +4,7 @@ description: Instructions on how to integrate IronOS-based Pinecil V2 devices wi
ha_category:
- Number
- Sensor
- Update
ha_iot_class: Local Polling
ha_release: 2024.8
ha_config_flow: true
@ -14,6 +15,7 @@ ha_integration_type: integration
ha_platforms:
- number
- sensor
- update
---
The **IronOS** {% term integration %} seamlessly connects Home Assistant with PINE64's Pinecil V2 soldering irons, allowing for remote monitoring and control. This integration provides real-time updates on temperature, power, and various other settings and diagnostic information.
@ -43,3 +45,8 @@ The **IronOS** {% term integration %} seamlessly connects Home Assistant with PI
- **Tip resistance:** Indicates the resistance of the currently inserted soldering iron tip (for example, "6.2 Ω" for short tips, "8 Ω" for normal tips)
- **Uptime:** Tracks the total operating time of the soldering iron since its last power-on.
- **Hall effect strength:** (Optional) This feature requires the device to be [modified with a hall effect sensor](https://wiki.pine64.org/wiki/Pinecil_Hall_Effect_Sensor). If a neodymium magnet is attached to the stand, it enables proximity detection and can be utilized to calibrate when the iron enters sleep mode based on its proximity to the stand.
## Update
- **Firmware:** The update entity indicates if the firmware is up-to-date or if there is a newer IronOS version available for your device. For more information on how to update your device, please refer to the [IronOS documentation](https://ralim.github.io/IronOS/).

View File

@ -4,6 +4,7 @@ description: Instructions on how to integrate the Jellyfin integration into Home
ha_category:
- Media player
- Media source
- Remote
- Sensor
ha_release: '2021.12'
ha_iot_class: Local Polling
@ -15,6 +16,7 @@ ha_domain: jellyfin
ha_platforms:
- diagnostics
- media_player
- remote
- sensor
ha_integration_type: service
---
@ -28,6 +30,24 @@ server as a media player in Home Assistant to provide media controls for each se
Browsing media inside Home Assistant in a player's context provides all libraries
of type Movie and Series.
This integration also creates a `Remote` entity for sending [remote commands](https://github.com/jellyfin/jellyfin/blob/master/MediaBrowser.Model/Session/GeneralCommandType.cs) to the client, if supported. For example, this can be used to tell the client to navigate right twice, down once, and select the focused item:
```yaml
jellyfin_remote_script:
alias: "Jellyfin Remote Script"
sequence:
- action: remote.send_command
target:
entity_id: remote.jellyfin_client
data:
delay_secs: 1.5
command:
- MoveRight
- MoveRight
- MoveDown
- Select
```
{% include integrations/config_flow.md %}
{% configuration_basic %}

View File

@ -892,6 +892,10 @@ command_value_state_address:
description: KNX address for reading current command value in percent. `0` sets the climate entity to idle if `active_state_address` is not set. *DPT 5.001*
required: false
type: [string, list]
humidity_state_address:
description: KNX address for reading current humidity. *DPT 9.007*
required: false
type: [string, list]
operation_mode_address:
description: KNX address for setting operation mode (auto / building protection / economy / standby / comfort). *DPT 20.102*
required: false

View File

@ -76,6 +76,7 @@ Host:
| Prebrew on time | Time prebrew wets the puck | Linea Micra, Linea Mini, GS3 AV | GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default |
| Prebrew off time | Time prebrew waits before turning on the pump | Linea Micra, Linea Mini, GS3 AV | GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default |
| Preinfusion time | Duration of preinfusion | Linea Micra, Linea Mini, GS3 AV | GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default |
| Smart standby time | Time until the machine will automatically stand by (if enabled) | all | - |
## Switches
@ -84,6 +85,7 @@ Host:
|-------------|-------------| ---------------------- |
| Main | Allows to turn machines on-/off | all |
| Steam boiler | Allows to enable/disable the steam boiler | all |
| Smart standby enabled | Whether smart standby is on (machine will automatically stand by after given time) | all |
## Binary sensors
@ -116,6 +118,7 @@ Host:
|-------------|-------------| ------------------------| ---------------------- |
| Prebrew/-infusion mode | Whether to use prebrew, preinfusion, or neither | Disabled, Prebrew, Preinfusion | Linea Micra, Linea Mini, GS3 AV |
| Steam level | The level your steam boiler should run at | 1,2,3 | Linea Micra |
| Smart standby mode | The smart standby mode, that decides from which events the timer to standby will run. | Last brewing, Power on | all |
## Supported devices

View File

@ -142,6 +142,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -175,6 +179,10 @@ pause_command_topic:
description: The MQTT topic that publishes commands when the `lawn_mower.pause` action is performed. The value `pause` is published when the action is used. Use a `pause_command_template` to publish a custom format.
required: false
type: string
platform:
description: Must be `lawn_mower`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -194,7 +202,7 @@ retain:
type: boolean
default: false
unique_id:
description: An ID that uniquely identifies this lawn mower. If two lawn mowers have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this lawn mower. If two lawn mowers have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -31,7 +31,7 @@ The **LCN** {% term integration %} for Home Assistant allows you to connect to [
## Prerequisites
- The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler.
- The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler.
- Alternatively, an LCN-VISU or LCN-PKE coupler can be used which offers at least two PCHK licenses.
With this setup, sending and receiving commands to and from LCN modules is possible.
@ -66,7 +66,78 @@ The configuration of the `lcn` devices and entities is completely done using a w
Once the integration is added to Home Assistant, you can access the `lcn` configuration panel by selecting the **Configure** button next to the respective integration entry on the [LCN integration page](https://my.home-assistant.io/redirect/integration/?domain=lcn).
The detailed documentation for the LCN frontend panel can be found [here](https://github.com/alengwenus/lcn-frontend/blob/main/docs/lcn-frontend.md).
![Integration configuration](/images/integrations/lcn/lcn_integration_configuration.png)
## Configuration panel
From the LCN Configuration Panel, you can configure your LCN modules, groups, and entities within Home Assistant.
![LCN Configuration Panel](/images/integrations/lcn/lcn_device_page.png)
### Configuring devices
You can add and remove modules and groups directly from the configuration panel. Once added, they will appear in Home Assistant as devices, which can be used to trigger [specific actions](#actions) within scripts or automations. For examples, refer to the [Performing actions](/docs/scripts/perform-actions/) page.
The **Modules / Groups** tab provides an overview of your configured LCN modules and groups, showing their name, ID, and segment ID. The LCN Configuration Panel attempts to derive names from the LCN modules; if a module has no name or is part of a group, a standard name is assigned.
#### Scanning modules
To initiate a scan for LCN modules on the bus, in the top-right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Scan Modules**.
- **Result**: This process polls each module for its name and serial number.
- When all module responses have been received, they will be listed in the device list.
- Scanning modules may take several seconds. The pop-up dialog will close automatically once the process is complete.
#### Adding devices
If module scanning fails or a module is unavailable on the bus, you can manually add it. Groups can also be created manually.
1. To add a module or group manually, select the **Create Module/Group** button.
2. Select whether you want to add a module or group and enter the desired `segment id` and module/group `id`.
![Create module/group dialog](/images/integrations/lcn/lcn_create_device.png)
3. To add the new device, select **Create**.
#### Deleting devices
To delete a single device, select the trash can icon next to it.
- **Result**: This will remove the device from the device list and from Home Assistant, including any associated entities.
To delete multiple devices at once, enable selection mode. Select the desired entries, then, in the top-right corner, select **Delete Selected**.
### Configuring entities
Entities configured for all devices are listed on the **Entities** tab.
To view entities for a specific device (module or group), in the **Modules / Groups** tab, select the device entry.
- **Result**: The **Entities** tab opens, showing entities of the selected device.
- To apply custom filters, enable the filter option.
![Create module/group dialog](/images/integrations/lcn/lcn_entities_page.png)
#### Adding entities
1. To create a new entity, select **Create Entity**.
2. From the dropdown menu, select the module or group for which to create the entity.
- If a single module or group filter is applied, it will be pre-selected.
![Create entity dialog](/images/integrations/lcn/lcn_create_entity.png)
3. Choose the domain (platform) for the entity and enter a name.
- You can change this name later within the Home Assistant entity settings.
4. Depending on the selected domain, additional options will be shown. To add the entity to the list and to Home Assistant, enter the required information and select **Create** .
#### Deleting entities
To delete a single entity, select the trash can icon next to it.
- **Result**: This removes the entity from the list and from Home Assistant.
To delete multiple entities, enable selection mode, select the desired entries, and select **Delete Selected** in the upper right.
#### Displaying entity properties
Once an entity is created, you can view and configure its properties.
Select the entity in the entity list.
- This opens the Home Assistant dialog for entity properties, allowing you to configure the entity as you would from the general Home Assistant entity configuration panel.
## Platforms
@ -75,8 +146,6 @@ The detailed documentation for the LCN frontend panel can be found [here](https:
The `lcn` binary sensor platform allows the monitoring of the following [LCN](https://www.lcn.eu/) binary data sources:
- Binary hardware sensors
- Lock state of regulator setpoints
- Lock state of keys
The binary sensor can be used in automation scripts or in conjunction with `template` platforms.
@ -141,6 +210,8 @@ The `lcn` switch platform allows the control of the following [LCN](https://www.
- Output ports
- Relays
- Lock state of regulators
- Lock state of keys
## Additional features

View File

@ -15,6 +15,7 @@ ha_platforms:
- number
- select
- sensor
- switch
ha_integration_type: device
---
@ -120,3 +121,22 @@ Selects available in the library:
| Select | Description |
| :------------------ | :-------------------------------------- |
| lb_mode | Select the load balancing mode of the energy meter. The options are **Disabled**, **Power**, **Hybrid**, and **Green**. |
## Switches
Switches available in the library:
### Single-phase charger
| Switch | Description |
| :------------------ | :-------------------------------------- |
| authentication | Allows to select if the charger will automatically start to charge or if it needs authentication. |
| lock | Allows to select if the charger is locked or not. When the charger is locked, no charging is possible.|
### Three-phase charger
| Switch | Description |
| :------------------ | :-------------------------------------- |
| authentication | Allows to select if the charger will automatically start to charge or if it needs authentication. |
| lock | Allows to select if the charger is locked or not. When the charger is locked, no charging is possible.|
| force_single_phase | Allows to put the three-phase charger in single-phase mode or three-phase mode. |

View File

@ -0,0 +1,285 @@
---
title: LG ThinQ
description: Setup for LG ThinQ Integration.
ha_category:
- Hub
ha_release: "2024.11"
ha_iot_class: Cloud Push
ha_code_owners:
- '@LG-ThinQ-Integration'
ha_config_flow: true
ha_domain: lg_thinq
ha_platforms:
- switch
- binary_sensor
- climate
- event
- fan
- number
- sensor
- select
- vacuum
ha_integration_type: integration
---
The **LG ThinQ** integration allows you to connect LG ThinQ devices to Home Assistant. The features of this integration include:
- Control LG appliances as Home Assistant entities through the [LG ThinQ Connect API](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/overview/).
## Prerequisites
- This feature works via LG ThinQ cloud. Therefore, an internet connection is required.
- A [personal access token](https://connect-pat.lgthinq.com) to use the [LG ThinQ Connect API](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/overview/).
### Personal Access Token (PAT)
1. Access the **[personal access token](https://connect-pat.lgthinq.com)** page (requires an LG ThinQ account).
2. Select **ADD NEW TOKEN**.
3. Enter a new token name and select the following authorized scopes:
- **Permission to view all devices**
- **Permission to view all device statuses**
- **All device control rights**
- **All device event subscription rights**
- **All device push notification permissions**
4. Select **CREATE TOKEN**.
5. Once all the steps are completed, you will see that a **PAT** has been generated.
{% include integrations/config_flow.md %}
1. Enter the information to use LG ThinQ Connect API:
- The **Token Value** obtained through the PAT issuance process. (Required)
- The entry name.
2. Choose the region (country).
## Supported Devices
### Appliance
Support LG Appliances as follows:
- [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/)
- [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/)
- [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/)
- [Ceiling Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/ceiling-fan/)
- [Cooktop](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/cooktop/)
- [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/)
- [Dishwasher](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/)
- [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dryer/)
- [Home Brew](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/home-brew/)
- [Hood](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/hood/)
- [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/)
- [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/kimchi-refrigerator/)
- [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/microwave-oven/)
- [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/oven/)
- [Plant Cultivator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/plant-cultivator/)
- [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/)
- [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/)
- [Stick Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Stick-Cleaner/)
- [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/)
- [System Boiler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/system-boiler/)
- [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
- [Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
- [Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)
- [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)
- [Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)
- [Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/)
- [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/water-heater/)
- [Water Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/water-purifier/)
- [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/wine-cellar/)
## Platforms
LG ThinQ represents devices as a set of [profiles](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/). And these are mapped to entities in Home Assistant.
A list of all Entity Platforms provided by LG ThinQ Integration:
- [Binary sensor](#binary-sensor)
- [Climate](#climate)
- [Event](#event)
- [Fan](#fan)
- [Number](#number)
- [Select](#select)
- [Sensor](#sensor)
- [Switch](#switch)
- [Vacuum](#vacuum)
### Binary sensor
A read-only property which has only two states that can be toggled is represented as a binary sensor platform.
| Device | Property |
| ------ | -------- |
| [Cooktop](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Cooktop/)<br> | Remote start |
| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Chime sound<br>Clean indicator light<br>Door<br>Machine clean reminder<br>Remote start<br>Rinse refill needed |
| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/)<br> | Remote start |
| [Hood](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Hood/) | Power |
| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Remote start |
| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Door<br>Eco friendly<br>Power saving mode<br>Sabbath |
| [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Kimchi-Refrigerator/) | Fresh air filter |
| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Remote start |
| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Remote start |
| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)<br>[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)<br>[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Remote start |
| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Power |
| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Sabbath |
### Climate
The properties for controlling both the temperature and wind strength of the appliance are represented as a climate platform.
| Device | Property |
| ------ | -------- |
| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Current temperature<br>Fan mode<br>HVAC mode<br>Preset mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
| [System Boiler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/System-Boiler/) | Current temperature<br>HVAC mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
### Event
A notification message pushed from the server is represented as an event platform.
| Device | Property |
| ------ | -------- |
| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Notification |
| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Notification |
| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Notification |
| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Notification |
| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Error<br>Notification |
| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Error<br>Notification |
| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Notification |
| [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Kimchi-Refrigerator/) | Notification |
| [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Microwave-Oven/) | Notification |
| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Notification |
| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Notification |
| [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/) | Error<br>Notification |
| [Stick Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Stick-Cleaner/) | Notification |
| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Error<br>Notification |
| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Error<br>Notification |
| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)<br>[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)<br>[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Error<br>Notification |
| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Notification |
### Fan
The properties for controlling the wind strength of the appliance are represented as a fan platform.
| Device | Property |
| ------ | -------- |
| [Ceiling Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/ceiling-fan/) | Power<br>Speed |
### Number
A read-write property which has numeric value is represented as a number platform.
| Device | Property |
| ------ | -------- |
| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Schedule turn-off<br>Schedule turn-on<br>Sleep timer |
| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Sleep timer<br>Wind temperature |
| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Delay ends in<br>Delay starts in |
| [Hood](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Hood/) | Fan<br>Light |
| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Sleep timer<br>Target humidity |
| [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Microwave-Oven/) | Fan<br>Light |
| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Temperature |
| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Temperature |
| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Delay ends in |
| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Delay ends in<br>Delay starts in |
| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)<br>[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)<br>[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Delay ends in<br>Delay starts in |
| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Temperature |
| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Light<br>Temperature |
### Select
A writable property which has a list of selectable values is represented as a select platform.
| Device |Property |
| ------ |-------- |
| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Air purify<br>Air quality sensor |
| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Operating mode<br>Speed |
| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Display brightness<br>Operating mode<br>Rotation<br>Speed |
| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Speed |
| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Operation |
| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Operation |
| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Display brightness<br>Drying mode<br>Operating mode<br>Speed |
| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Cook mode<br>Operation<br> |
| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Fresh air filter |
| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Operation |
| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Operation |
| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)<br>[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)<br>[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Operation |
| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Operating mode |
| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Light<br>Operating mode |
### Sensor
A read-only property which has states is represented as a sensor platform.
| Device | Property |
| ------ | -------- |
| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Filter remaining<br>Humidity<br>Odor<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Schedule turn-off<br>Schedule turn-on<br>Sleep timer |
| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Air quality sensor<br>Humidity<br>Odor<br>Operating mode<br>Overall air quality<br>Personal mode<br>PM1<br>PM10<br>PM2.5 |
| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Air quality sensor<br>Humidity<br>Odor<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Sleep timer<br>Temperature |
| [Cooktop](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Cooktop/) | Current status<br>Power level<br>Remaining time |
| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Humidity<br>Operating mode |
| [Dish Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dish-washer/) | Current cycle<br>Current status<br>Delay starts in<br>Remaining time<br>Rinse aid dispenser level<br>Softening level<br>Total time |
| [Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Dryer/) | Current status<br>Delay ends in<br>Delay starts in<br>Remaining time<br>Total time |
| [Home Brew](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Home-Brew/)| Brewing duration<br>Brewing period<br>Current status<br>Flavor<br>Homebrew recipe<br>Hops<br>Recipe progress<br>Wort<br>Yeast |
| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Air quality sensor<br>Humidity<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Schedule turn-off<br>Schedule turn-on<br>Sleep timer<br>Temperature |
| [Kimchi Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Kimchi-Refrigerator/) | Fresh air filter<br>Temperature |
| [Microwave Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Microwave-Oven/) | Current status<br>Remaining time |
| [Oven](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Oven/) | Cook time<br>Current status<br>Remaining time<br>Temperature |
| [Plant Cultivator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Plant-Cultivator/) | Current status<br>Day growth temperature<br>Lighting duration<br>Lighting intensity<br>Lights on time<br>Mode<br>Night growth temperature<br>Temperature<br>Wind speed |
| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Fresh air filter<br>Water filter used |
| [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/) | Current status<br>Operating mode<br>Running time |
| [Stick Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Stick-Cleaner/) | Battery<br>Current status<br>Operating mode |
| [Styler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/styler/) | Current status<br>Delay ends in<br>Delay starts in<br>Remaining time<br>Total time |
| [Washcombo Main](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washcombo Mini](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/)<br>[Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/washer/) | Current status<br>Delay ends in<br>Delay starts in<br>Remaining time<br>Total time |
| [Washtower](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Single-Unit/)<br>[Washtower Dryer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Dryer/)<br>[Washtower Washer](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/WashTower-Washer/) | Current status<br>Delay ends in<br>Delay starts in<br>Remaining time<br>Total time |
| [Water Heater](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Water-Heater/) | Temperature |
| [Water Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/water-purifier/) | High-temp sterilization<br>Type<br>UVnano|
### Switch
A read-write property which has only two states that can be toggled is represented as a switch platform.
| Device | Property |
| ------ | -------- |
| [Air Conditioner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-conditioner/) | Energy saving |
| [Air Purifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/air-purifier/) | Power |
| [Air Purifier Fan](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Air-Purifier-Fan/) | Heating<br>Power<br>UVnano |
| [Dehumidifier](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/dehumidifier/) | Power |
| [Humidifier](https://thinq.developer.lge.com/ko/cloud/docs/thinq-connect/device-profile/humidifier/) | Auto mode<br>Heating<br>Mood light<br>Power<br>Sleep mode |
| [Refrigerator](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/refrigerator/) | Ice plus<br>Quick freeze |
| [System Boiler](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/System-Boiler/) | Hot water |
| [Wine Cellar](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/Wine-Cellar/) | Ventilation |
### Vacuum
The properties for controlling the clean operations of the appliance are represented as a vacuum platform.
| Device | Property |
| ------ | -------- |
| [Robot Cleaner](https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/device-profile/robot-cleaner/) | Battery<br>Current status<br>Operation |
## Troubleshooting
### Setup
#### Aborted: The token is not valid
This error occurs when the Personal Access Token (PAT) is invalid or entered incorrectly. Please visit the [Personal Access Token Page](https://connect-pat.lgthinq.com) page to check if your token is valid.
#### Aborted: The country is not supported
Check your PAT's valid country in the **Choose the region / Country** section.
#### Error: The number of API calls has been exceeded
This error occurs when there's an abnormal number of API calls made using the PAT.
The LG ThinQ integration will work properly after some time.
## Debugging
The LG ThinQ integration will show additional information by enabling log configuration. Add the line to your {% term "`configuration.yaml`" %}:
Don't forget to remove the line again once you are done debugging.
```yaml
logger:
default: info
logs:
homeassistant.components.lg_thinq: debug
```

View File

@ -202,6 +202,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
effect_command_topic:
description: "The MQTT topic to publish commands to change the light's effect state."
required: false
@ -299,6 +303,10 @@ payload_on:
required: false
type: string
default: "ON"
platform:
description: Must be `light`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -371,7 +379,7 @@ state_value_template:
required: false
type: template
unique_id:
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
white_command_topic:
@ -692,6 +700,10 @@ payload_not_available:
required: false
type: string
default: offline
platform:
description: Must be `light`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -716,7 +728,7 @@ supported_color_modes:
required: false
type: list
unique_id:
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
white_scale:
@ -1074,6 +1086,10 @@ payload_not_available:
required: false
type: string
default: offline
platform:
description: Must be `light`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -1097,7 +1113,7 @@ state_topic:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -18,28 +18,11 @@ The **Local file** camera {% term integration %} allows you to integrate an imag
The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
## Configuration
{% note %}
The file path must be added to [allowlist_external_dirs](/integrations/homeassistant/#allowlist_external_dirs) for the integration to be able to read it.
{% endnote %}
To enable this camera in your installation, add the following to your {% term "`configuration.yaml`" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}
```yaml
# Example configuration.yaml entry
camera:
- platform: local_file
file_path: /tmp/image.jpg
```
{% configuration %}
file_path:
description: "File to serve as the camera. Use a full path, e.g., `/config/www/images/image.jpg `."
required: true
type: string
name:
description: Name of the camera.
required: false
type: string
{% endconfiguration %}
{% include integrations/config_flow.md %}
### Action `local_file.update_file_path`

View File

@ -146,6 +146,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -201,6 +205,10 @@ payload_reset:
required: false
type: string
default: '"None"'
platform:
description: Must be `lock`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -241,7 +249,7 @@ state_unlocking:
type: string
default: UNLOCKING
unique_id:
description: An ID that uniquely identifies this lock. If two locks have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this lock. If two locks have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -14,6 +14,7 @@ ha_category:
- Sensor
- Switch
- Update
- Vacuum
- Valve
ha_release: '2022.12'
ha_iot_class: Local Push
@ -36,6 +37,7 @@ ha_platforms:
- sensor
- switch
- update
- vacuum
- valve
ha_integration_type: integration
related:

View File

@ -25,7 +25,7 @@ The integration support the following platforms within Home Assistant:
- [Weather](#weather-platform)
- [Sensor](#sensor-platforms)
It displays the current weather along with a 5 days forecast and create sensors, including weather alerts and 1 hour rain forecast when available.
It displays the current weather along with a 5 days forecast and create sensors, including weather alerts and 1 hour rain forecast.
{% include integrations/config_flow.md %}
@ -43,7 +43,7 @@ All the following sensors will be created :
|`cloud`|The current cloud cover in %|Yes|
|`daily_original_condition`|The daily original weather condition|No|
|`freeze_chance`|Probability of temperature below 0°C in the following hours|Yes|
|`next_rain`|Datetime of the next rain if expected within the next hour ([see note below](#about-next_rain-condition-sensor))|Yes|
|`next_rain`|Datetime of the next rain if expected within the next hour|Yes|
|`original_condition`|The current original weather condition|No|
|`precipitation`|Precipitation cumulation for next 24 hours in mm|Yes|
|`pressure`|The current pressure in hPa|No|
@ -61,14 +61,6 @@ To enable an entity disabled by default, go in **Settings** -> **Devices & servi
### About `next_rain` condition sensor
{% note %}
The 1 hour rain forecast is supported for more than 75 % of metropolitan France.<br/>
![Rain coverage map](/images/integrations/meteo_france/carte-couverture-du-service.png)
{% endnote %}
The attributes allow to have a forecast of the rain type by 5 to 10 minutes intervals:
- `forecast_time_ref` give a timestamp in ISO format UTC, corresponding to the start of the

View File

@ -1516,15 +1516,15 @@ switches:
input:
description: "Input register."
state_on:
description: "Value when switch is on."
description: "Value(s) when switch is on. The value must be an `integer` or a list of integers."
required: false
default: "Same as `command_on`"
type: integer
type: [integer, list]
state_off:
description: "Value when switch is off."
description: "Value(s) when switch is off. The value must be an `integer` or a list of integers."
required: false
default: "Same as `command_off`"
type: integer
type: [integer, list]
{% endconfiguration %}

View File

@ -51,6 +51,7 @@ sensor:
indoor_humidity_sensor: sensor.humidity
outdoor_temp_sensor: sensor.weather_temperature
calibration_factor: 2.0
unique_id: very_unique_id_123
```
{% configuration %}
@ -74,6 +75,10 @@ calibration_factor:
description: Needs to be calibrated to the critical point in the room.
required: true
type: float
unique_id:
description: Provide a unique id for the sensor.
required: false
type: string
{% endconfiguration %}
In this case, the weather forecast temperature sensor is used for the outside temperature.

View File

@ -296,15 +296,333 @@ The discovery topic needs to follow a specific format:
<discovery_prefix>/<component>/[<node_id>/]<object_id>/config
```
- `<discovery_prefix>`: The Discovery Prefix defaults to `homeassistant`. This prefix can be [changed](#discovery-options).
- `<component>`: One of the supported MQTT integrations, eg. `binary_sensor`.
- `<node_id>` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
- `<discovery_prefix>`: The Discovery Prefix defaults to `homeassistant` and this prefix can be [changed](#discovery-options).
- `<component>`: One of the supported MQTT integrations, e.g., `binary_sensor`, or `device` in case of a device discovery.
- `<node_id>`: (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
- `<object_id>`: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
The `<node_id>` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `<discovery_prefix>/+/<node_id>/+/set`.
Best practice for entities with a `unique_id` is to set `<object_id>` to `unique_id` and omit the `<node_id>`.
#### Device discovery payload
A device can send a discovery payload to expose all components for a device.
The `<component>` part in the discovery topic must be set to `device`.
As an alternative, it is also possible a device [can send a discovery payload for each component](/integrations/mqtt/#single-component-discovery-payload) it wants to set up.
The shared options at the root level of the JSON message must include:
- `device` mapping (abbreviated as `dev`)
- `origin` mapping (abbreviated as `o`)
These mappings are mandatory and cannot be overridden at the entity/component level.
Supported shared options are:
- The `availability` [options](/integrations/mqtt/#using-availability-topics).
- The `origin` (required) [options](/integrations/mqtt/#adding-information-about-the-origin-of-a-discovery-message)
- `command_topic`
- `state_topic`
- `qos`
- `encoding`
The component specific options are placed as mappings under the `components` key (abbreviated as `cmp`) like:
```json
{
"dev": {
"ids": "ea334450945afc",
"name": "Kitchen",
"mf": "Bla electronics",
"mdl": "xya",
"sw": "1.0",
"sn": "ea334450945afc",
"hw": "1.0rev2",
},
"o": {
"name":"bla2mqtt",
"sw": "2.1",
"url": "https://bla2mqtt.example.com/support",
},
"cmps": {
"some_unique_component_id1": {
"p": "sensor",
"device_class":"temperature",
"unit_of_measurement":"°C",
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
"unique_id":"temp01ae_t",
},
"some_unique_id2": {
"p": "sensor",
"device_class":"humidity",
"unit_of_measurement":"%",
"value_template":"{% raw %}{{ value_json.humidity}}{% endraw %}",
"unique_id":"temp01ae_h",
}
},
"state_topic":"sensorBedroom/state",
"qos": 2,
}
```
The components id's under the `components` (`cmp`) key, are used as part of the discovery identification. A `platform` (`p`) config option is required for each component config that is added to identify the component platform. Also required is a `unique_id` for entity-based components.
To remove the components, publish an empty (retained) string payload to the discovery topic. This will remove the component and clear the published discovery payload. It will also remove the device entry if there are no further references to it.
An empty config can be published as an update to remove a single component from the device discovery. Note that adding the `platform` (`p`) option is still required.
```json
{
"dev": {
"ids": "ea334450945afc",
"name": "Kitchen",
"mf": "Bla electronics",
"mdl": "xya",
"sw": "1.0",
"sn": "ea334450945afc",
"hw": "1.0rev2",
},
"o": {
"name":"bla2mqtt",
"sw": "2.1",
"url": "https://bla2mqtt.example.com/support",
},
"cmps": {
"some_unique_component_id1": {
"p": "sensor",
"device_class":"temperature",
"unit_of_measurement":"°C",
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
"unique_id":"temp01ae_t",
},
"some_unique_id2": {
"p": "sensor",
}
},
"state_topic":"sensorBedroom/state",
"qos": 2,
}
```
This will explicitly remove the humidity sensor and its entry.
After removing a component, you should send another update with the removed component omitted from the configuration. This ensures that Home Assistant has the most up-to-date device configuration. For example:
```json
{
"dev": {
"ids": "ea334450945afc",
"name": "Kitchen",
"mf": "Bla electronics",
"mdl": "xya",
"sw": "1.0",
"sn": "ea334450945afc",
"hw": "1.0rev2",
},
"o": {
"name":"bla2mqtt",
"sw": "2.1",
"url": "https://bla2mqtt.example.com/support",
},
"cmps": {
"some_unique_component_id1": {
"p": "sensor",
"device_class":"temperature",
"unit_of_measurement":"°C",
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
"unique_id":"temp01ae_t",
}
},
"state_topic":"sensorBedroom/state",
"qos": 2,
}
```
<div class='note warning'>
A component config part in a device discovery payload must have the `platform` (`p`) option set with the name of the `component` and also must have at least one component specific config option. Entity components must have set the `unique_id` option and have a `device` context.
</div>
##### Migration from single component to device-based discovery
To allow a smooth migration from single component discovery to device-based discovery:
1. Ensure all entities have a `unique_id` and a `device` context.
2. Move the `object_id` inside the discovery payload, if that is available, or use a unique ID or the component.
3. Consider using the previous `node_id` as the new `object_id` of the device discovery topic.
4. Ensure the `unique_id` matches and the `device` context has the correct identifiers.
5. Send the following payload to all existing single component discovery topics:
```json
{"migrate_discovery": true }
```
This will unload the discovered item, but its settings will be retained.
6. Switch the discovery topic to the device-based discovery topic and include all the component configurations.
7. Clean up the single component discovery messages with an empty payload.
During the migration steps, INFO messages will be logged to inform you about the progress of the migration.
{% important %}
Consider testing the migration process in a non-production environment before applying it to a live system.
{% endimportant %}
#### Discovery migration example with a device automation and a sensor
**Step 1: Original single component discovery configurations:**
Discovery topic single: `homeassistant/device_automation/0AFFD2/bla1/config`
Discovery id: `0AFFD2 bla1` *(both `0AFFD2` and `bla1` from the discovery topic)*
Discovery payload single:
```json
{
"device": {
"identifiers": ["0AFFD2"],
"name": "Test device"
},
"o": {
"name": "foobar"
},
"automation_type": "trigger",
"payload": "short_press",
"topic": "foobar/triggers/button1",
"type": "button_short_press",
"subtype": "button_1"
}
```
Discovery topic single: `homeassistant/sensor/0AFFD2/bla2/config`
Discovery id: `0AFFD2 bla2` *(both `0AFFD2` and `bla2` from the discovery topic)*
Discovery payload single:
```json
{
"device": {
"identifiers": ["0AFFD2"],
"name": "Test device"
},
"o": {
"name": "foobar"
},
"state_topic": "foobar/sensor/sensor1",
"unique_id": "bla_sensor001"
}
```
**Step 2: Initiate migration by publishing to both discovery topics:**
When these single component discovery payloads are processed, and we want to initiate migration to a device-based discovery, we need to publish ...
```json
{"migrate_discovery": true }
```
... to both discovery topics ...
- `homeassistant/device_automation/0AFFD2/bla1/config`
- `homeassistant/sensor/0AFFD2/bla2/config`
{% important %}
Check the logs to ensure this step is executed correctly.
{% endimportant %}
**Step 3: Publish the new device-based discovery configuration:**
Discovery topic device: `homeassistant/device/0AFFD2/config`
Discovery id: `0AFFD2 bla` *(`0AFFD2`from discovery topic, `bla`: The key under `cmp` in the discovery payload)*
Discovery payload device:
```json
{
"device": {
"identifiers": [
"0AFFD2"
]
},
"o": {
"name": "foobar"
},
"cmps": {
"bla1": {
"p": "device_automation",
"automation_type": "trigger",
"payload": "short_press",
"topic": "foobar/triggers/button1",
"type": "button_short_press",
"subtype": "button_1"
},
"bla2": {
"p": "sensor",
"state_topic": "foobar/sensor/sensor1",
"unique_id": "bla_sensor001"
}
},
}
```
{% important %}
Check the logs to ensure the migration was successful.
{% endimportant %}
**Step 4: Clean up after successful migration:**
After the logs show a successful migration, the single component discovery topics can be cleaned up safely by publishing an empty payload to them.
The logs should indicate if the discovery migration was successful.
**Optional: Rolling back the migration:**
To rollback publish ...
```json
{"migrate_discovery": true }
```
To the device-based discovery topic(s).
After that, re-publish the single component discovery payloads.
At last, clean up the device-based discovery payloads by publishing an empty payload.
Check the logs for every step.
#### Single component discovery payload
The `<component>` part in the discovery topic must be one of the supported MQTT-platforms.
The options in the payload are only used to set up one specific component. If there are more components, more discovery payloads need to be sent for the other components, and it is then recommended to use [device-based discovery](/integrations/mqtt/#device-discovery-payload) instead.
Example discovery payload:
```json
{
"dev": {
"ids": "ea334450945afc",
"name": "Kitchen",
"mf": "Bla electronics",
"mdl": "xya",
"sw": "1.0",
"sn": "ea334450945afc",
"hw": "1.0rev2",
},
"o": {
"name":"bla2mqtt",
"sw": "2.1",
"url": "https://bla2mqtt.example.com/support",
},
"device_class":"temperature",
"unit_of_measurement":"°C",
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
"unique_id":"temp01ae_t",
"state_topic":"sensorBedroom/state",
"qos": 2,
}
```
To remove the component, publish an empty string to the discovery topic. This will remove the component and clear the published discovery payload. It will also remove the device entry if there are no further references to it.
For more examples [see](/integrations/mqtt/#discovery-examples-with-component-discovery).
#### Discovery payload
The payload must be a serialized JSON dictionary and will be checked like an entry in your {% term "`configuration.yaml`" %} file if a new device is added, with the exception that unknown configuration keys are allowed but ignored. This means that missing variables will be filled with the integration's default values. All configuration variables which are *required* must be present in the payload. The reason for allowing unknown documentation keys is allow some backwards compatibility, software generating MQTT discovery messages can then be used with older Home Assistant versions which will simply ignore new features.
@ -316,17 +634,21 @@ In the value of configuration variables ending with `_topic`, `~` will be replac
Configuration variable names in the discovery payload may be abbreviated to conserve memory when sending a discovery message from memory constrained devices.
It is encouraged to add additional information about the origin that supplies MQTT entities via MQTT discovery by adding the `origin` option (can be abbreviated to `o`) to the discovery payload. Note that these options also support abbreviations. Information of the origin will be logged to the core event log when an item is discovered or updated.
It is recommended to add information about the origin of MQTT entities by including the `origin` option (abbreviated as `o`) in the discovery payload. For device-based discovery, this information is required. The origin details will be logged in the core event log when an item is discovered or updated. Adding origin information helps with troubleshooting and provides valuable context about the source of MQTT messages in your Home Assistant setup.
Note: These options also support abbreviations, as shown in the table below.
{% configuration_basic %}
name:
description: The name of the application that is the origin the discovered MQTT item. This option is required.
description: The name of the application that is the origin of the discovered MQTT item. (Required)
sw_version:
description: Software version of the application that supplies the discovered MQTT item.
support_url:
description: Support URL of the application that supplies the discovered MQTT item.
{% endconfiguration_basic %}
#### Supported abbreviations in MQTT discovery messages
{% details "Supported abbreviations" %}
```txt
@ -363,6 +685,7 @@ support_url:
'cmd_on_tpl': 'command_on_template',
'cmd_t': 'command_topic',
'cmd_tpl': 'command_template',
'cmps': 'components',
'cod_arm_req': 'code_arm_required',
'cod_dis_req': 'code_disarm_required',
'cod_trig_req': 'code_trigger_required',
@ -375,6 +698,7 @@ support_url:
'dir_cmd_tpl': 'direction_command_template',
'dir_stat_t': 'direction_state_topic',
'dir_val_tpl': 'direction_value_template',
'dsp_prc': 'display_precision',
'e': 'encoding',
'en': 'enabled_by_default',
'ent_cat': 'entity_category',
@ -419,6 +743,7 @@ support_url:
'max_hum': 'max_humidity',
'max_mirs': 'max_mireds',
'max_temp': 'max_temp',
'migr_discvry': 'migrate_discovery',
'min': 'min',
'min_hum': 'min_humidity',
'min_mirs': 'min_mireds',
@ -440,6 +765,7 @@ support_url:
'osc_cmd_tpl': 'oscillation_command_template',
'osc_stat_t': 'oscillation_state_topic',
'osc_val_tpl': 'oscillation_value_template',
'platform': 'p',
'pct_cmd_t': 'percentage_command_topic',
'pct_cmd_tpl': 'percentage_command_template',
'pct_stat_t': 'percentage_state_topic',
@ -612,7 +938,7 @@ support_url:
{% enddetails %}
### How to use discovery messages
### Discovery messages en availability
When MQTT discovery is set up, and a device or service sends a discovery message,
an MQTT entity, tag, or device automation will be set up directly after receiving the message.
@ -702,47 +1028,21 @@ availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false
type: template
payload_available:
description: The payload that represents the available state.
required: false
type: string
default: online
payload_not_available:
description: The payload that represents the unavailable state.
required: false
type: string
default: offline
{% endconfiguration %}
{% enddetails %}
### Support by third-party tools
The following software has built-in support for MQTT discovery:
- [ArduinoHA](https://github.com/dawidchyrzynski/arduino-home-assistant)
- [Arilux AL-LC0X LED controllers](https://github.com/smrtnt/Arilux_AL-LC0X)
- [ble2mqtt](https://github.com/devbis/ble2mqtt)
- [digitalstrom-mqtt](https://github.com/gaetancollaud/digitalstrom-mqtt)
- [ebusd](https://github.com/john30/ebusd)
- [ecowitt2mqtt](https://github.com/bachya/ecowitt2mqtt)
- [EMS-ESP32 (and EMS-ESP)](https://github.com/emsesp/EMS-ESP32)
- [ESPHome](https://esphome.io)
- [ESPurna](https://github.com/xoseperez/espurna)
- [go-iotdevice](https://github.com/koestler/go-iotdevice)
- [HASS.Agent](https://github.com/LAB02-Research/HASS.Agent)
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon)
- [MyElectricalData](https://github.com/MyElectricalData/myelectricaldata_import#english)
- [Nuki Hub](https://github.com/technyon/nuki_hub)
- [Nuki Smart Lock 3.0 Pro](https://support.nuki.io/hc/articles/12947926779409-MQTT-support), [more info](https://developer.nuki.io/t/mqtt-api-specification-v1-3/17626)
- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway)
- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0)
- [SmartHome](https://github.com/roncoa/SmartHome)
- [SpeedTest-CLI MQTT](https://github.com/adorobis/speedtest-CLI2mqtt)
- [SwitchBot-MQTT-BLE-ESP32](https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32)
- [Tasmota](https://github.com/arendst/Tasmota) (starting with 5.11.1e, development halted)
- [TeddyCloud](https://github.com/toniebox-reverse-engineering/teddycloud)
- [Teleinfo MQTT](https://fmartinou.github.io/teleinfo2mqtt) (starting with 3.0.0)
- [Tydom2MQTT](https://fmartinou.github.io/tydom2mqtt/)
- [What's up Docker?](https://fmartinou.github.io/whats-up-docker/) (starting with 3.5.0)
- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt)
- [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks)
- [Zehnder Comfoair RS232 MQTT](https://github.com/adorobis/hacomfoairmqtt)
- [Zigbee2MQTT](https://github.com/koenkk/zigbee2mqtt)
- [OTGateway](https://github.com/Laxilef/OTGateway)
### Discovery examples
### Discovery examples with component discovery
#### Motion detection (binary sensor)
@ -996,6 +1296,42 @@ The entity id is automatically generated from the entity's name. All MQTT integr
In the example above, the entity_id will be `sensor.my_super_device` instead of `sensor.device1`.
### Support by third-party tools
The following software has built-in support for MQTT discovery:
- [ArduinoHA](https://github.com/dawidchyrzynski/arduino-home-assistant)
- [Arilux AL-LC0X LED controllers](https://github.com/smrtnt/Arilux_AL-LC0X)
- [ble2mqtt](https://github.com/devbis/ble2mqtt)
- [digitalstrom-mqtt](https://github.com/gaetancollaud/digitalstrom-mqtt)
- [ebusd](https://github.com/john30/ebusd)
- [ecowitt2mqtt](https://github.com/bachya/ecowitt2mqtt)
- [EMS-ESP32 (and EMS-ESP)](https://github.com/emsesp/EMS-ESP32)
- [ESPHome](https://esphome.io)
- [ESPurna](https://github.com/xoseperez/espurna)
- [go-iotdevice](https://github.com/koestler/go-iotdevice)
- [HASS.Agent](https://github.com/LAB02-Research/HASS.Agent)
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon)
- [MyElectricalData](https://github.com/MyElectricalData/myelectricaldata_import#english)
- [Nuki Hub](https://github.com/technyon/nuki_hub)
- [Nuki Smart Lock 3.0 Pro](https://support.nuki.io/hc/articles/12947926779409-MQTT-support), [more info](https://developer.nuki.io/t/mqtt-api-specification-v1-3/17626)
- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway)
- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0)
- [SmartHome](https://github.com/roncoa/SmartHome)
- [SpeedTest-CLI MQTT](https://github.com/adorobis/speedtest-CLI2mqtt)
- [SwitchBot-MQTT-BLE-ESP32](https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32)
- [Tasmota](https://github.com/arendst/Tasmota) (starting with 5.11.1e, development halted)
- [TeddyCloud](https://github.com/toniebox-reverse-engineering/teddycloud)
- [Teleinfo MQTT](https://fmartinou.github.io/teleinfo2mqtt) (starting with 3.0.0)
- [Tydom2MQTT](https://fmartinou.github.io/tydom2mqtt/)
- [What's up Docker?](https://fmartinou.github.io/whats-up-docker/) (starting with 3.5.0)
- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt)
- [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks)
- [Zehnder Comfoair RS232 MQTT](https://github.com/adorobis/hacomfoairmqtt)
- [Zigbee2MQTT](https://github.com/koenkk/zigbee2mqtt)
- [OTGateway](https://github.com/Laxilef/OTGateway)
## Manual configured MQTT items
For most integrations, it is also possible to manually set up MQTT items in {% term "`configuration.yaml`" %}. Read more [about configuration in YAML](/docs/configuration/yaml).
@ -1098,7 +1434,6 @@ The MQTT integration will register the `mqtt.publish` action, which allows publi
| `qos` | yes | Quality of Service to use. (default: 0) |
| `retain` | yes | If message should have the retain flag set. (default: false) |
{% note %}
When `payload` is rendered from [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) in a YAML script or automation, and the template renders to a `bytes` literal, the outgoing MQTT payload will only be sent as `raw` data, if the `evaluate_payload` option flag is set to `true`.
{% endnote %}
@ -1107,7 +1442,6 @@ When `payload` is rendered from [template](/docs/configuration/templating/#using
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
topic: homeassistant/light/1/command
payload: on

View File

@ -131,6 +131,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -173,7 +177,7 @@ retain:
type: boolean
default: false
unique_id:
description: An ID that uniquely identifies this notify entity. If two notify entities have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this notify entity. If two notify entities have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -129,6 +129,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -174,6 +178,10 @@ payload_reset:
required: false
type: string
default: '"None"'
platform:
description: Must be `number`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -194,7 +202,7 @@ step:
type: float
default: 1
unique_id:
description: An ID that uniquely identifies this Number. If two Numbers have the same unique ID Home Assistant will raise an exception.
description: An ID that uniquely identifies this Number. If two Numbers have the same unique ID Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
unit_of_measurement:

View File

@ -3,93 +3,51 @@ title: Onkyo
description: Instructions on how to integrate Onkyo and some Pioneer receivers into Home Assistant.
ha_category:
- Media player
ha_release: 0.17
ha_iot_class: Local Push
ha_codeowners:
- '@arturpragacz'
ha_config_flow: true
ha_domain: onkyo
ha_integration_type: integration
ha_iot_class: Local Push
ha_platforms:
- media_player
ha_integration_type: integration
ha_release: 0.17
related:
- docs: /docs/configuration/
title: Configuration file
ha_codeowners:
- '@arturpragacz'
---
The `onkyo` {% term integration %} allows you to control a [Onkyo](https://www.onkyo.com), [Integra](http://www.integrahometheater.com)
and some recent [Pioneer](https://www.pioneerelectronics.com) receivers from Home Assistant.
Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware.
## Configuration
{% include integrations/config_flow.md %}
To add an Onkyo or Pioneer receiver to your installation, add the following to your {% term "`configuration.yaml`" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}
If your receiver has second or third zone available, they are displayed as additional media players with the same functionality as the main zone.
```yaml
# Example configuration.yaml entry
media_player:
- platform: onkyo
host: 192.168.1.2
name: receiver
sources:
pc: "HTPC"
```
If your receiver has second or third zones available, they are displayed as additional media players with the same functionality as the main zone.
{% configuration %}
host:
description: IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers.
required: false
{% configuration_basic %}
Host:
description: Hostname or IP address of the device, for example:`192.168.1.2`.
type: string
name:
description: Name of the device. (*Required if host is specified*)
required: false
type: string
max_volume:
description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will set Home Assistant's 100% volume to be this setting on the amp. i.e., if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of its maximum volume.
required: false
Volume Resolution:
description: Number of steps it takes for the receiver to go from the lowest to the highest possible volume. Possible values are 50, 80, 100, 200. For older Onkyo receivers, this typically is 80; newer Onkyo receivers use 200.
type: integer
Input sources:
description: List of input sources supported by the receiver.
type: list
{% endconfiguration_basic %}
{% include integrations/option_flow.md %}
{% configuration_basic %}
Max Volume:
description: Maximum volume limit as a percentage. Often the maximum volume of the receiver is far too loud. Setting this will set Home Assistant's 100% volume to be this setting on the amp, i.e., if you set this to 50%, when you set Home Assistant to be 100%, then your receiver will be set to 50% of its maximum volume.
default: 100
type: integer
receiver_max_volume:
description: The number of steps it takes for the receiver to go from the lowest to the highest possible volume. Possible values are 50, 80, 100, 200. For older Onkyo receivers, this typically is 80; newer Onkyo receivers use 200.
required: false
default: 80
type: integer
sources:
description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified.
required: false
Input sources:
description: Mappings of input sources to their names.
type: list
{% endconfiguration %}
List of source names:
- `video1`
- `video2`
- `video3`
- `video4`
- `video5`
- `video6`
- `video7`
- `dvd`
- `bd-dvd`
- `tape1`
- `tv-tape`
- `tape2`
- `phono`
- `cd`
- `tv-cd`
- `fm`
- `am`
- `tuner`
- `dlna`
- `internet-radio`
- `usb`
- `network`
- `universal-port`
- `multi-ch`
- `xm`
- `sirius`
{% endconfiguration_basic %}
### Action `onkyo_select_hdmi_output`
@ -105,6 +63,21 @@ Accepted values are:
which one to use seems to vary depending on model so you will have to try them out.
( For model TX-NR676E it seems to be 'out' for main, 'out-sub' for sub, and 'sub' for both )
### Example `onkyo_select_hdmi_output` script
```yaml
# Example onkyo_select_hdmi_output script
#
script:
hdmi_sub:
alias: "Hdmi out projector"
sequence:
- action: media_player.onkyo_select_hdmi_output
data:
entity_id: media_player.onkyo
hdmi_output: out-sub
```
### Example `play_media` script
The `play_media` function can be used in script to play radio station by preset number.
@ -114,7 +87,7 @@ Not working for NET radio.
# Example play_media script
#
script:
radio1:
radio1:
alias: "Radio 1"
sequence:
- action: media_player.turn_on
@ -127,18 +100,3 @@ script:
media_content_type: "radio"
media_content_id: "1"
```
### Example `onkyo_select_hdmi_output` script
```yaml
# Example onkyo_select_hdmi_output script
#
script:
hdmi_sub:
alias: "Hdmi out projector"
sequence:
- action: media_player.onkyo_select_hdmi_output
data:
entity_id: media_player.onkyo
hdmi_output: out-sub
```

View File

@ -24,6 +24,196 @@ This OSO Energy integration uses a subscription key, which a user can create for
{% include integrations/config_flow.md %}
## Services
### Service `osoenergy.get_profile`
You can use the service `osoenergy.get_profile` to get the temperature profile for a water heater. Each temperature corresponds to a given local hour during the current day. For example, a temperature at index 1 corresponds to 01:00 local time.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------- |
| `entity_id` | no | String, name of entity. For example: `water_heater.heater` |
Example:
```yaml
# Example script to get the temperature profile of a water heater.
script:
get_profile:
sequence:
- service: osoenergy.get_profile
target:
entity_id: water_heater.heater
```
```yaml
# Example response for the temperature profile of the heater.
water_heater.heater:
profile:
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
```
### Service `osoenergy.set_profile`
You can use the service `osoenergy.set_profile` to set the temperature profile for a water heater.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------- |
| `entity_id` | no | String, Name of entity e.g., `water_heater.heater` |
| `hour_00` | yes | The temperature at hour 00:00 (Local) for a heater |
| `hour_01` | yes | The temperature at hour 01:00 (Local) for a heater |
| `hour_02` | yes | The temperature at hour 02:00 (Local) for a heater |
| `hour_03` | yes | The temperature at hour 03:00 (Local) for a heater |
| `hour_04` | yes | The temperature at hour 04:00 (Local) for a heater |
| `hour_05` | yes | The temperature at hour 05:00 (Local) for a heater |
| `hour_06` | yes | The temperature at hour 06:00 (Local) for a heater |
| `hour_07` | yes | The temperature at hour 07:00 (Local) for a heater |
| `hour_08` | yes | The temperature at hour 08:00 (Local) for a heater |
| `hour_09` | yes | The temperature at hour 09:00 (Local) for a heater |
| `hour_10` | yes | The temperature at hour 10:00 (Local) for a heater |
| `hour_11` | yes | The temperature at hour 11:00 (Local) for a heater |
| `hour_12` | yes | The temperature at hour 12:00 (Local) for a heater |
| `hour_13` | yes | The temperature at hour 13:00 (Local) for a heater |
| `hour_14` | yes | The temperature at hour 14:00 (Local) for a heater |
| `hour_15` | yes | The temperature at hour 15:00 (Local) for a heater |
| `hour_16` | yes | The temperature at hour 16:00 (Local) for a heater |
| `hour_17` | yes | The temperature at hour 17:00 (Local) for a heater |
| `hour_18` | yes | The temperature at hour 18:00 (Local) for a heater |
| `hour_19` | yes | The temperature at hour 19:00 (Local) for a heater |
| `hour_20` | yes | The temperature at hour 20:00 (Local) for a heater |
| `hour_21` | yes | The temperature at hour 21:00 (Local) for a heater |
| `hour_22` | yes | The temperature at hour 22:00 (Local) for a heater |
| `hour_23` | yes | The temperature at hour 23:00 (Local) for a heater |
Example:
```yaml
# Example script to set temperature profile for a water heater.
script:
set_profile:
sequence:
- service: osoenergy.set_profile
target:
entity_id: water_heater.heater
data:
hour_00: 70
hour_01: 70
hour_02: 70
hour_03: 70
hour_04: 70
hour_05: 70
hour_06: 70
hour_07: 70
hour_08: 70
hour_09: 70
hour_10: 70
hour_11: 70
hour_12: 70
hour_13: 70
hour_14: 70
hour_15: 70
hour_16: 70
hour_17: 70
hour_18: 70
hour_19: 70
hour_20: 70
hour_21: 70
hour_22: 70
hour_23: 70
```
### Service `osoenergy.set_v40_min`
You can use the service `osoenergy.set_v40_min` to set the minimum quantity of water at 40°C for a water heater.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------- |
| `entity_id` | no | String, name of entity. For example: `water_heater.heater` f entity e.g., `water_heater.heater` |
| `v40_min` | no | Specify the minimum quantity of water at 40°C for a water heater. For example, `240` |
Examples:
```yaml
# Example script to set minimum water level on a water heater, v40 min specified.
script:
set_v40:
sequence:
- service: osoenergy.set_v40_min
target:
entity_id: water_heater.heater
data:
v40_min: 240
```
### Service `osoenergy.turn_off`
You can use the service `osoenergy.turn_off` to turn off the heating on your device for one hour or until the minimum temperature is reached.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | String, name of entity. For example: `water_heater.heater` |
| `until_temp_limit` | no | Choose, if the heating should be off until the minimum temperature (`True`) is reached, or for one hour (`False`). For example, `True` |
Examples:
```yaml
# Example script to turn off heating, until temp limit specified.
script:
turn_off:
sequence:
- service: osoenergy.turn_off
target:
entity_id: water_heater.heater
data:
until_temp_limit: true
```
### Service `osoenergy.turn_on`
You can use the service `osoenergy.turn_on` to turn on the heating on your device for one hour or until the maximum temperature is reached.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | String, name of entity. For example: `water_heater.heater` |
| `until_temp_limit` | no | Choose, if the heating should be on until the maximum temperature (`True`) is reached, or for one hour (`False`). For example, `True` |
Examples:
```yaml
# Example script to turn on the heating until the specified temperature limit has been reached.
script:
turn_on:
sequence:
- service: osoenergy.turn_on
target:
entity_id: water_heater.heater
data:
until_temp_limit: true
```
## Binary sensors
The **OSO Energy** integration exposes OSO Energy data as a binary sensor. It provides the following binary sensors:

View File

@ -0,0 +1,41 @@
---
title: Palazzetti
description: Instructions on how to integrate Palazzetti within Home Assistant.
ha_category:
- Climate
ha_release: 2024.11
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@dotvav'
ha_domain: palazzetti
ha_platforms:
- climate
ha_integration_type: device
---
The **Palazzetti** {% term integration %} integrates the [Palazzetti](https://palazzettigroup.com/)
stoves equipped with a [Connection Box](https://palazzettigroup.com/research-and-development/app/).
It is accessing the device's local API.
{% include integrations/config_flow.md %}
## Climate
The Palazetti integration offers a climate entity that allows you to read the
room temperature, start and stop the stove, set the target temperature, and set
the fan speed.
### Integration actions
This integration supports the following actions (see [Climate](/integrations/climate/)).
- [`set_temperature`](/integrations/climate/#action-climateset_temperature)
- [`set_hvac_mode`](/integrations/climate/#action-climateset_hvac_mode)
- `heat` for heating mode
- `off` to turn the stove off
- [`set_fan_mode`](/integrations/climate/#action-climateset_fan_mode)
- `Silent` let the stove run in silent mode
- `1`, `2`, `3`, `4`, `5` increasing fan speeds
- `High` the highest available fan speed
- `Auto` let the stove set the optimal fan speed

View File

@ -9,6 +9,7 @@ ha_config_flow: true
ha_iot_class: Cloud Polling
ha_domain: pegel_online
ha_platforms:
- diagnostics
- sensor
ha_codeowners:
- '@mib1185'

View File

@ -4,6 +4,7 @@ description: Connect and control your Pinecil devices using the IronOS integrati
ha_category:
- Number
- Sensor
- Update
ha_release: 2024.8
ha_domain: pinecil
ha_integration_type: virtual
@ -15,6 +16,7 @@ ha_config_flow: true
ha_platforms:
- number
- sensor
- update
ha_iot_class: Local Polling
---

View File

@ -189,22 +189,27 @@ When looking into the metrics on the Prometheus side, there will be:
- All Home Assistant domains, which can be easily found through the common **namespace** prefix, if defined.
- The [client library](https://github.com/prometheus/client_python) provided metrics, which are a bunch of **process_\*** and also a single pseudo-metric **python_info** which contains (not as value but as labels) information about the Python version of the client, i.e., the Home Assistant Python interpreter.
Typically, you will only be interested in the first set of metrics.
## Metrics in unavailable or unknown states
When the Prometheus exporter starts (typically when Home Assistant starts), all non-excluded entities in an unavailable or unknown state are not be exported until they are available again. If the entity goes into state unavailable or unknown again, the value exported will always be the latest known one.
When the Prometheus exporter starts (typically when Home Assistant starts), all non-excluded entities in an unavailable or unknown state are not exported until they are available and known.
While an entity is in those states, the `entity_available` corresponding metric is set to 0. This metric can be used to filter out values while the entity is unavailable or in an unknown state thanks to a [recording rule](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).
If an available entity goes into state unavailable or unknown, then it will automatically be unexported and return again automatically when available and known.
For example:
{% note %}
To filter out these stale values, `entity_available` could be used in a query or recording rule. For example:
```yaml
- record: "known_temperature_c"
expr: "temperature_c unless entity_available == 0"
```
This use of `unless` (which can be slow to compute) is no longer necessary, but will continue to work.
{% endnote %}
## Supported metrics
Metrics are exported only for the following domains:

View File

@ -30,11 +30,12 @@ Integrate Refoss devices into Home Assistant.
### Supported device models
| Model | Version |
| ----------- |--------------------|
| Model | Version |
|-------------------------------------|--------------------|
| `Refoss Smart Wi-Fi Switch, R10` | `all` |
| `Refoss Smart Wi-Fi Switch, R20` | `all` |
| `Refoss Smart Energy Monitor, EM06` | `v2.3.8 and above` |
| `Refoss Smart Energy Monitor, EM16` | `v3.1.7 and above` |
### Discover device

View File

@ -76,11 +76,9 @@ Depending on the supported features of the camera, binary sensors are added for:
- AI package detection+
- Sleep status
\+ These sensors receive events using 3 methods in order: ONVIF push, ONVIF long polling or fast polling (every 5 seconds).
The latency for receiving the events is the best for ONVIF push and the worst for fast polling, the fastest available method that is detected to work will be used, and slower methods will not be used.
\+ These sensors receive events using the following 4 methods (in order): TCP push, ONVIF push, ONVIF long polling or fast polling (every 5 seconds).
The latency for receiving the events is the best for TCP push and the worst for fast polling, the fastest available method that is detected to work will be used, and slower methods will not be used.
For redundancy, these sensors are polled every 60 seconds together with the update of all other entities.
Not all camera models generate ONVIF push events for all event types, some binary sensors might, therefore, only be polled.
For list of Reolink products that support ONVIF see the [Reolink Support Site](https://support.reolink.com/hc/en-us/articles/900000617826).
To ensure you have the best latency possible, refer to the [Reducing latency of motion events](#reducing-latency-of-motion-events) section.
## Number entities
@ -378,11 +376,7 @@ Normally, the digits are printed directly under the QR code. Alternatively, you
Then power up the camera while pointing it at the QR code. It takes about a minute to initialize, read the QR code, and connect to your Wi-Fi.
### 2. Enabling HTTP/HTTPS ports
Test if you can access the camera by its IP address in your browser `https://<your-camera-ip>`. If you cannot, in the [Reolink mobile app, Windows, or Mac client](https://reolink.com/software-and-manual/) ensure at least one of the HTTP/HTTPS ports are enabled under **Settings** > **top camera model box** > **Network Information** > **Advanced** (mobile) or **Settings** > **Network** > **Advanced** > **Port Settings** (PC). See [additional instructions](https://support.reolink.com/hc/en-us/articles/900000621783-How-to-Set-up-Reolink-Ports-Settings/) on the Reolink site.
### 3. Add integration in Home Assistant
### 2. Add integration in Home Assistant
Set up the Reolink integration in Home Assistant using the credentials you set in step 1.
@ -394,7 +388,7 @@ Set up the Reolink integration in Home Assistant using the credentials you set i
## Troubleshooting
- Older firmware versions do not expose the necessary information the integration needs to function. Ensure the camera is updated to the [latest firmware](https://reolink.com/download-center/) prior to setting up the integration. Note that Reolink auto update and check for update functions in the app/windows/web client often do not show the latest available firmware version. Therefore check the version in the [Reolink download center](https://reolink.com/download-center/) online.
- Ensure at least one of the HTTP/HTTPS ports is enabled in the [Reolink mobile app, Windows, or Mac client](https://reolink.com/software-and-manual/) under **Settings** > **top camera model box** > **Network Information** > **Advanced** (mobile) or **Settings** > **Network** > **Advanced** > **Port Settings** (PC), see [additional instructions](https://support.reolink.com/hc/en-us/articles/900000621783-How-to-Set-up-Reolink-Ports-Settings/) on the Reolink site.
- Test if you can access the camera by its IP address in your browser `https://<your-camera-ip>`. If you cannot, in the [Reolink mobile app, Windows, or Mac client](https://reolink.com/software-and-manual/) ensure at least one of the HTTP/HTTPS ports are enabled under **Settings** > **top camera model box** > **Network Information** > **Advanced** (mobile) or **Settings** > **Network** > **Advanced** > **Port Settings** (PC). See [additional instructions](https://support.reolink.com/hc/en-us/articles/900000621783-How-to-Set-up-Reolink-Ports-Settings/) on the Reolink site.
- On some camera models, the RTMP port needs to be enabled in order for the HTTP(S) port to function properly. Make sure this port is also enabled if you get a `Cannot connect to host` error while one of the HTTP/HTTPS ports is already enabled.
- Setting a static IP address for Reolink cameras/NVRs in your router is advisable to prevent (temporal) connectivity issues when the IP address changes.
- Do not set a static IP in the Reolink device itself, but leave the **Connection Type** on **DHCP** under **Settings** > **Network** > **Network Information** > **Set Up**. If you set it to **static** on the Reolink device itself, this is known to cause incorrect DHCP requests on the network. The incorrect DHCP request causes Home Assistant to use the wrong IP address for the camera, resulting in connection issues. The issue originates from the Reolink firmware, which keeps sending DCHP requests even when you set a static IP address in the Reolink device.
@ -404,11 +398,11 @@ Set up the Reolink integration in Home Assistant using the credentials you set i
### Reducing latency of motion events
ONVIF push will result in slightly faster state changes of the binary motion/AI event sensors than ONVIF long polling.
Moreover, ONVIF push is less demanding for the camera than ONVIF long polling or fast polling, resulting in potentially less connection issues.
However, ONVIF push has some additional network configuration requirements:
TCP push and ONVIF push will result in slightly faster state changes of the binary motion/AI event sensors than ONVIF long polling.
Moreover, TCP push and ONVIF push are less demanding for the camera than ONVIF long polling or fast polling, resulting in potentially less connection issues.
TCP push does not have any particular requirements. However, ONVIF push has some additional network configuration requirements:
- Reolink products can not push motion events to an HTTPS address (SSL).
- Reolink products can not push ONVIF motion events to an HTTPS address (SSL).
Therefore, make sure a (local) HTTP address at which HA is reachable is configured under **Home Assistant URL** in the {% my network title="network settings" %}.
A valid address could, for example, be `http://192.168.1.10:8123` where `192.168.1.10` is the IP of the Home Assistant device.
@ -416,4 +410,4 @@ A valid address could, for example, be `http://192.168.1.10:8123` where `192.168
Therefore, ensure no Global SSL certificate is configured in the [`configuration.yaml` under HTTP](/integrations/http/#ssl_certificate).
An SSL certificate can still be enforced for external connections, by, for instance, using the [NGINX add-on](https://github.com/home-assistant/addons/tree/master/nginx_proxy) or [NGINX Proxy Manager add-on](https://github.com/hassio-addons/addon-nginx-proxy-manager) instead of a globally enforced SSL certificate.
To see if a Reolink integration is currently using `ONVIF push`, `ONVIF long polling` or `Fast polling`, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"event connection": "ONVIF push"\"ONVIF long polling"\"Fast polling"` in the txt file.
To see if a Reolink integration is currently using `TCP push`, `ONVIF push`, `ONVIF long polling` or `Fast polling`, [download the diagnostics text file](/docs/configuration/troubleshooting/#download-diagnostics) and find the `"event connection": "TCP push"\"ONVIF push"\"ONVIF long polling"\"Fast polling"` in the txt file.

View File

@ -10,7 +10,6 @@ ha_codeowners:
- '@pschmitt'
- '@cyr-ius'
- '@shenxn'
- '@Xitee1'
- '@Orhideous'
ha_domain: roomba
ha_config_flow: true

View File

@ -124,6 +124,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
encoding:
description: The encoding of the published messages.
required: false
@ -165,6 +169,10 @@ payload_on:
required: false
type: string
default: "ON"
platform:
description: Must be `scene`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -176,7 +184,7 @@ retain:
type: boolean
default: false
unique_id:
description: An ID that uniquely identifies this scene entity. If two scenes have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this scene entity. If two scenes have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -14,6 +14,7 @@ ha_platforms:
- binary_sensor
- diagnostics
- lock
- select
- sensor
- switch
ha_integration_type: integration
@ -37,6 +38,12 @@ Once you have enabled the Schlage integration, you should see the following bina
- **Keypad disabled** - Indicates that the keypad has been disabled, typically due to too many incorrect lock codes being attempted.
## Select
Once you have enabled the Schlage integration, you should see the following selects:
- **Auto Lock Time** - Configure the time until the deadbolt automatically locks, or disable the auto-lock feature entirely. For example, `0`: auto-lock is disabled, `15`: auto-lock after 15 seconds, `300`: auto-lock after 5 minutes.
## Sensor
Once you have enabled the Schlage integration, you should see the following sensors:

View File

@ -137,6 +137,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -166,6 +170,10 @@ options:
description: List of options that can be selected. An empty list or a list with a single item is allowed.
required: true
type: list
platform:
description: Must be `select`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -181,7 +189,7 @@ state_topic:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception.
description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -58,7 +58,7 @@ The following device classes are supported for sensors:
- **data_rate**: Data rate in bit/s, kbit/s, Mbit/s, Gbit/s, B/s, kB/s, MB/s, GB/s, KiB/s, MiB/s or GiB/s
- **data_size**: Data size in bit, kbit, Mbit, Gbit, B, kB, MB, GB, TB, PB, EB, ZB, YB, KiB, MiB, GiB, TiB, PiB, EiB, ZiB or YiB
- **date**: Date string (ISO 8601)
- **distance**: Generic distance in km, m, cm, mm, mi, yd, or in
- **distance**: Generic distance in km, m, cm, mm, mi, nmi, yd, or in
- **duration**: Duration in d, h, min, or s
- **energy**: Energy in J, kJ, MJ, GJ, Wh, kWh, MWh, cal, kcal, Mcal, or Gcal
- **energy_storage**: Stored energy in J, kJ, MJ, GJ, Wh, kWh, MWh, cal, kcal, Mcal, or Gcal

View File

@ -130,6 +130,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity. When set, the entity category must be `diagnostic` for sensors.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
expire_after:
description: If set, it defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. Default the sensors state never expires.
required: false
@ -179,6 +183,10 @@ payload_not_available:
required: false
type: string
default: offline
platform:
description: Must be `sensor`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
suggested_display_precision:
description: The number of decimals which should be used in the sensor's state after rounding.
required: false
@ -197,7 +205,7 @@ state_topic:
required: true
type: string
unique_id:
description: "An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception."
description: "An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery."
required: false
type: string
unit_of_measurement:

View File

@ -330,6 +330,10 @@ The integration supports the following virtual components:
- `text` in `field` mode, for which a `text` platform entity is created
- `text` in `label` mode, for which a `sensor` platform entity is created
## Scripts (generation 2 and 3)
For each device script, the integration creates a `switch` entity that allows you to control the script. These entities are disabled by default.
## Additional info
Shelly devices rely on [SNTP](https://en.wikipedia.org/wiki/Network_Time_Protocol#SNTP) for features like power measurement.

View File

@ -148,6 +148,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -194,6 +198,10 @@ payload_on:
required: false
type: string
default: "ON"
platform:
description: Must be `siren`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -233,7 +241,7 @@ support_volume_set:
type: boolean
default: true
unique_id:
description: An ID that uniquely identifies this siren device. If two sirens have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this siren device. If two sirens have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
{% endconfiguration %}

View File

@ -5,6 +5,7 @@ ha_category:
- Fan
- Hub
- Sensor
ha_config_flow: true
ha_iot_class: Local Polling
ha_release: 0.95
ha_codeowners:
@ -35,23 +36,4 @@ The integration has a fan platform to view and control the ventilation speed, an
- Warning
- Filter Change Timer
## Configuration
To set it up, add the following information to your {% term "`configuration.yaml`" %} file:
```yaml
smarty:
host: 192.168.0.10
```
{% configuration %}
host:
description: The IP Address of the unit.
required: true
type: string
name:
description: The name of this device as you want to see it in Home Assistant.
required: false
default: Smarty
type: string
{% endconfiguration %}
{% include integrations/config_flow.md %}

View File

@ -1,38 +0,0 @@
---
title: Itho Daalderop Spider
description: Instructions on how to setup the Spider hub within Home Assistant.
ha_category:
- Climate
- Hub
- Switch
ha_iot_class: Cloud Polling
ha_release: 0.75
ha_codeowners:
- '@peternijssen'
ha_domain: spider
ha_config_flow: true
ha_platforms:
- climate
- sensor
- switch
ha_integration_type: integration
---
The `spider` integration is the main integration to integrate all [Itho Daalderop Spider](https://www.ithodaalderop.nl/spider-thermostaat) related platforms. You will need your Spider account information (username, password) to discover and control devices which are related to your account.
There is currently support for the following device types within Home Assistant:
- Climate
- Switch
{% include integrations/config_flow.md %}
{% note %}
This integration is not affiliated with Itho Daalderop Spider and retrieves data from the endpoints of the mobile application. Use at your own risk.
{% endnote %}
### Climate
{% note %}
Although this integration lets you change the operation mode to heating or cooling, it doesn't necessarily mean your boiler can. Spider is not aware of your current situation.
{% endnote %}

View File

@ -13,7 +13,9 @@ ha_codeowners:
ha_domain: spotify
ha_zeroconf: true
ha_platforms:
- diagnostics
- media_player
- sensor
ha_integration_type: service
---
@ -152,3 +154,19 @@ The `media_content_id` value can be obtained from the Spotify desktop app by cli
## Unsupported devices
- **Sonos**: Although Sonos is a Spotify Connect device, it is not supported by the official Spotify API.
## Sensors
Spotify provides sensors that display information about the song that is currently being played. The following sensors are available:
- **Song acousticness**: Indicates how much the sound is free from electronic modification. 100% indicates it not electronically modified.
- **Song danceability**. In percent. Describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. The higher the value, the more danceable.
- **Song energy**. In percent. A measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy. A higher number means more energetic.
- **Song instrumentalness**: In percent. Describes whether a track contains no vocals. “Ooh” and “aah” sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly “vocal”. The higher the value the more instrumental the song is.
- **Song key**: The estimated overall key of the track. If no key was detected, the value is unknown. For example, C sharp or E flat.
- **Song liveness**: In percent. Describes the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live.
- **Song mode**: The modality (major or minor) of a song.
- **Song speechiness**: In percent. Describes the presence of spoken words in a song. The more exclusively speech-like the recording (for example, talk show, audio book, poetry), the higher the value.
- **Song tempo**: The speed of the piece of music that is currently playing, in beats per minute (bpm).
- **Song time signature**: The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). For example: 4/4, 6/8.
- **Song valence**. In percent. Tracks with high valence sound more positive (happy, cheerful, euphoric), while tracks with low valence sound more negative (sad, depressed, angry).

View File

@ -8,6 +8,8 @@ ha_iot_class: Local Polling
ha_domain: squeezebox
ha_codeowners:
- '@rajlaud'
- '@pssc'
- '@peteS-UK'
ha_config_flow: true
ha_dhcp: true
ha_platforms:

View File

@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@ooii'
- '@jb101010-2'
ha_domain: suez_water
ha_platforms:
- sensor

View File

@ -143,6 +143,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false
@ -189,6 +193,10 @@ payload_on:
required: false
type: string
default: "ON"
platform:
description: Must be `switch`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -214,7 +222,7 @@ state_topic:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this switch device. If two switches have the same unique ID, Home Assistant will raise an exception.
description: An ID that uniquely identifies this switch device. If two switches have the same unique ID, Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -58,7 +58,7 @@ Some SwitchBot devices need to be configured within the app before being control
- [Curtain 3 (WoCtn3)](https://switch-bot.com/pages/switchbot-curtain-3)
- Humidifier (WoHumi)
- Light Strip (WoStrip)
- [Meter](https://switch-bot.com/pages/switchbot-meter) / [Meter Plus](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)
- [Meter](https://switch-bot.com/pages/switchbot-meter) / [Meter Plus](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH) / [Meter Pro](https://www.switch-bot.com/products/switchbot-meter-pro)
- [Indoor/Outdoor Meter](https://switch-bot.com/pages/switchbot-indoor-outdoor-thermo-hygrometer) (WoIOSensorTH)
- [Motion Sensor (WoPresence)](https://switch-bot.com/pages/switchbot-motion-sensor)
- Plug Mini (WoPlug), both the original (model W1901400) and HomeKit-enabled (model W1901401)

View File

@ -6,6 +6,7 @@ ha_category:
- Plug
- Remote
- Sensor
- Lock
- Switch
- Vacuum
ha_release: '2023.10'
@ -17,6 +18,7 @@ ha_codeowners:
ha_domain: switchbot_cloud
ha_platforms:
- climate
- lock
- sensor
- switch
- vacuum
@ -41,6 +43,7 @@ Please note, device names configured in the SwitchBot app are transferred into H
- IR appliances exposed through the different hubs:
- ON/OFF for all appliance types excepted "Others"
- Air Conditioner
- Lock
- Meter
- MeterPlus
- Outdoor Meter

View File

@ -17,6 +17,7 @@ ha_platforms:
- climate
- cover
- diagnostics
- light
- sensor
- switch
ha_config_flow: true
@ -37,10 +38,12 @@ Supported devices:
- Switcher Breeze
- Switcher Runner
- Switcher Runner S11
- Switcher Runner S12
Devices that require a token:
- Switcher Runner S11
- Switcher Runner S12
If you completed the integration setup but are still unable to control the device, please make sure your device's firmware is up-to-date.
@ -67,6 +70,14 @@ For Switcher Breeze the integration provides the following buttons:
- For devices which do not support swing status for the vertical swing, the integration provides separate `Vertical swing on` & `Vertical swing off` buttons.
## Covers
For Switcher cover control devices (Switcher Runner, Switcher Runner S11, Switcher Runner S12) the integration allows you to control its covers open/close state, set specific covers position and get information about the cover direction (UP/DOWN/STOP).
## Lights
For Switcher light control devices (Switcher Runner S11, Switcher Runner S12) the integration allows you to control its lights on/off state.
## Sensors
For Switcher power control devices (Switcher Power Plug, Switcher Touch, Switcher V2/V4) the integration provides the following sensors:

View File

@ -37,6 +37,8 @@ ha_config_flow: true
related:
- docs: /docs/configuration/
title: Configuration file
- docs: /docs/blueprint/
title: About blueprints
---
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.
@ -141,6 +143,15 @@ action:
description: Define actions to be executed when the trigger fires. Optional. Variables set by the action script are available when evaluating entity templates. This can be used to interact with anything using actions, in particular actions with [response data](/docs/scripts/perform-actions#use-templates-to-handle-response-data). [See action documentation](/docs/automation/action).
required: false
type: list
variables:
description: Key-value pairs of variable definitions which can be referenced and used in the templates below. Mostly used by blueprints.
required: false
type: map
keys:
"variable_name: value":
description: The variable name and corresponding value.
required: true
type: string
sensor:
description: List of sensors
required: true
@ -489,6 +500,46 @@ The same would apply to the `is_state()` function. You should replace {% raw %}`
{% endraw %}
## Using blueprints
If you're just starting out and are not really familiar with templates, we recommend that you start with {% term blueprint %} template entities. These are template entities which are ready-made by the community and that you only need to configure.
Each blueprint contains the "recipe" for creating a single template entity, but you can create multiple template entities based on the same blueprint.
To create your first template entity based on a blueprint, open up your `configuration.yaml` file and add:
```yaml
# Example configuration.yaml template entity based on a blueprint located in config/blueprints/homeassistant/inverted_binary_sensor.yaml
template:
- use_blueprint:
path: homeassistant/inverted_binary_sensor.yaml # relative to config/blueprints/template/
input:
reference_entity: binary_sensor.foo
name: Inverted foo
unique_id: inverted_foo
```
If you look at the blueprint definition, you will notice it has one input defined (`reference_entity`), which expects a `binary_sensor` entity ID. When you create a template entity based on that blueprint, you will have to tell it which of your `binary_sensor` entities it should use to fill that spot.
### Importing blueprints
Home Assistant can import blueprints from the Home Assistant forums, GitHub, and GitHub gists.
1. To import a blueprint, first [find a blueprint you want to import][blueprint-forums].
- If you just want to practice importing, you can use this URL:
```text
https://github.com/home-assistant/core/blob/dev/homeassistant/components/template/blueprints/inverted_binary_sensor.yaml
```
2. Download the file and place it under `config/blueprints/template/<source or author>/<blueprint name>.yaml`
3. Use a config similar to the one above to create a new template entity based on the blueprint you just imported.
4. Make sure to fill in all required inputs.
The blueprint can now be used for creating template entities.
[blueprint-forums]: /get-blueprints
## Examples
In this section, you find some real-life examples of how to use template sensors.

View File

@ -179,6 +179,7 @@ These are the entities available in the Tesla Fleet integration. Not all entitie
|Sensor|Generator power|No|
|Sensor|Grid power|Yes|
|Sensor|Grid services power|Yes|
|Sensor|Grid status|Yes|
|Sensor|Island status|Yes|
|Sensor|Load power|Yes|
|Sensor|Percentage charged|Yes|

View File

@ -133,6 +133,10 @@ entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
entity_picture:
description: "Picture URL for the entity."
required: false
type: string
json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
required: false
@ -169,6 +173,10 @@ pattern:
description: A valid regular expression the text being set or received must match with.
required: false
type: string
platform:
description: Must be `text`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -184,7 +192,7 @@ state_topic:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception.
description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception. Required when used with device-based discovery.
required: false
type: string
value_template:

View File

@ -13,6 +13,7 @@ ha_domain: tplink_omada
ha_platforms:
- binary_sensor
- device_tracker
- sensor
- switch
- update
ha_integration_type: hub
@ -28,6 +29,10 @@ The integration provides basic configuration and status of Omada devices control
- Verify SSL Certificates: Enable to check the validity of the certificate presented by the Omada controller.
- Username/Password: A user account with permissions to view & configure the site is required.
{% note %}
A local account must be used for login. Do not turn on two-factor authentication for local accounts, or the integration will not be able to log in.
{% endnote %}
### Multiple Sites
If you have multiple sites managed by your controller, you will be prompted to choose which site to manage.
@ -44,24 +49,24 @@ Controller versions 5.1.0 and later are supported.
## Supported Omada devices
### Network Switches
All adopted Omada devices expose:
- Device status sensors
- CPU and Memory percentage sensors
- Firmware updates
### Network switches
- Support for enabling/disabling Power over Ethernet on a per-port basis
- Firmware Update
### Access Points
- Firmware Update
### Internet Gateways
### Internet gateways
- WAN/LAN Port connectivity sensors
- WAN Port Online detection sensors
- WAN Port Connect/Disconnect switches
- LAN Port PoE activity sensor
- Firmware Update
### Device trackers
## Device trackers
The integration can track Wi-Fi devices connected to access points managed by the TP-Link Omada controller. All known Wi-Fi clients will be initially created in a disabled state. You then need to enable the entities that you want to track.

View File

@ -120,6 +120,11 @@ device_class:
description: The [type/class](/integrations/update/#device-classes) of the update to set the icon in the frontend. The `device_class` can be `null`.
required: false
type: device_class
display_precision:
description: Number of decimal digits for display of update progress.
required: false
type: integer
default: 0
enabled_by_default:
description: Flag which defines if the entity should be enabled when first added.
required: false
@ -170,6 +175,10 @@ payload_install:
description: The MQTT payload to start installing process.
required: false
type: string
platform:
description: Must be `update`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true
type: string
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false
@ -235,7 +244,7 @@ mqtt:
{% endraw %}
JSON can also be used as `state_topic` payload.
JSON can also be used as `state_topic` payload. Note that this feature also allows to process and show live progress information.
{% raw %}
@ -252,7 +261,99 @@ JSON can also be used as `state_topic` payload.
{% endraw %}
For the above JSON payload, the `update` entity configuration should look like this:
Simple progress state update example:
{% raw %}
```json
{
"installed_version": "1.21.0",
"latest_version": "1.22.0",
"title": "Device Firmware",
"release_url": "https://example.com/release",
"release_summary": "A new version of our amazing firmware",
"entity_picture": "https://example.com/icon.png",
"in_progress": true
}
```
{% endraw %}
Update percentage state update example:
{% raw %}
```json
{
"installed_version": "1.21.0",
"latest_version": "1.22.0",
"title": "Device Firmware",
"release_url": "https://example.com/release",
"release_summary": "A new version of our amazing firmware",
"entity_picture": "https://example.com/icon.png",
"update_percentage": 78
}
```
{% endraw %}
Publish `null` to reset the update percentage state update's:
{% raw %}
```json
{
"installed_version": "1.22.0",
"latest_version": "1.22.0",
"title": "Device Firmware",
"release_url": "https://example.com/release",
"release_summary": "A new version of our amazing firmware",
"entity_picture": "https://example.com/icon.png",
"update_percentage": null
}
```
{% endraw %}
The values in the JSON are optional but must be valid within the following schema:
{% configuration %}
installed_version:
description: The software or firmware version installed.
required: false
type: string
latest_version:
description: The latest software or firmware version available.
required: false
type: string
title:
description: Title of the software or firmware update available.
required: false
type: string
release_summary:
description: Summary of the software or firmware update available.
required: false
type: string
release_url:
description: URL pointing to the software release notes.
required: false
type: string
entity_picture:
description: URL pointing to an image of the update to be applied as entity picture.
required: false
type: string
in_progress:
description: Boolean to report an update is in progress or not.
required: false
default: false
type: boolean
update_percentage:
description: Number between 0 and 100 to report the update process. A `null` value resets the in-progress state.
required: false
type: ["integer", "float"]
{% endconfiguration %}
For the above JSON payload examples, the `update` entity configuration should look like this:
{% raw %}

Some files were not shown because too many files have changed in this diff Show More