Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2022-11-24 09:28:08 +01:00
commit b9dde4f3f3
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
36 changed files with 282 additions and 66 deletions

View File

@ -18,7 +18,7 @@ jobs:
app_id: ${{ secrets.PROJECTS_APP_ID }} app_id: ${{ secrets.PROJECTS_APP_ID }}
private_key: ${{ secrets.PROJECTS_APP_PEM }} private_key: ${{ secrets.PROJECTS_APP_PEM }}
- name: Add to Project - name: Add to Project
uses: actions/add-to-project@v0.3.0 uses: actions/add-to-project@v0.4.0
with: with:
project-url: https://github.com/orgs/home-assistant/projects/10 project-url: https://github.com/orgs/home-assistant/projects/10
github-token: ${{ steps.token.outputs.token }} github-token: ${{ steps.token.outputs.token }}

View File

@ -110,8 +110,8 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 2022 current_major_version: 2022
current_minor_version: 11 current_minor_version: 11
current_patch_version: 3 current_patch_version: 4
date_released: 2022-11-16 date_released: 2022-11-20
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.

View File

@ -515,7 +515,7 @@ If for your use case this is undesired, you could consider using the automation
Fires when the sun is setting or rising, i.e., when the sun elevation reaches 0°. Fires when the sun is setting or rising, i.e., when the sun elevation reaches 0°.
An optional time offset can be given to have it fire a set time before or after the sun event (e.g., 45 minutes before sunset). An optional time offset can be given to have it fire a set time before or after the sun event (e.g., 45 minutes before sunset). A negative value makes it fire before sunrise or sunset, a positive value afterwards. The offset needs to be specified in a hh:mm:ss format.
<div class='note'> <div class='note'>

View File

@ -306,8 +306,8 @@ The condition will pass if the attribute matches the given state.
condition: condition:
condition: state condition: state
entity_id: climate.living_room_thermostat entity_id: climate.living_room_thermostat
attribute: hvac_modes attribute: fan_mode
state: "heat" state: "auto"
``` ```
Finally, the `state` option accepts helper entities (also known as `input_*` Finally, the `state` option accepts helper entities (also known as `input_*`

View File

@ -19,7 +19,7 @@ The `airvisual` sensor platform queries the [AirVisual](https://www.iqair.com) c
## Using the AirVisual Cloud API ## Using the AirVisual Cloud API
AirVisual API keys can be obtained [here](https://www.iqair.com/air-pollution-data-api). Note that the platform was designed using the "Community" package; the "Startup" and "Enterprise" package keys should continue to function, but actual results may vary (or not work at all). AirVisual API keys can be obtained [here](https://www.iqair.com/dashboard/api). Note that the platform was designed using the "Community" package; the "Startup" and "Enterprise" package keys should continue to function, but actual results may vary (or not work at all).
The Community API key is valid for 12 months after which it will expire. You must then go back to the AirVisual website, delete your old key, create a new one following the same steps and update your configuration with the new key. The Community API key is valid for 12 months after which it will expire. You must then go back to the AirVisual website, delete your old key, create a new one following the same steps and update your configuration with the new key.

View File

@ -424,4 +424,25 @@ amcrest:
- ptz_preset - ptz_preset
``` ```
## Example Automation to Detect Button Presses on AD110 and AD410 Doorbells
Using this trigger in an automation will allow you to detect the press of the doorbell call button and create automations based upon it.
```yaml
# Example automations.yaml entry
alias: Doorbell Pressed
description: "Trigger when Amcrest Button Press Event Fires"
trigger:
- platform: event
event_type: amcrest
event_data:
event: "CallNoAnswered"
payload:
action: "Start"
action:
- type: flash
entity_id: light.living_room
domain: light
```
To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project. To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project.

View File

@ -218,7 +218,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that returns a string to be compared to `payload_on`/`payload_off` or an empty string, in which case the MQTT message will be removed. Available variables: `entity_id`. Remove this option when 'payload_on' and 'payload_off' are sufficient to match your payloads (i.e no pre-processing of original message is required)." description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that returns a string to be compared to `payload_on`/`payload_off` or an empty string, in which case the MQTT message will be removed. Remove this option when `payload_on` and `payload_off` are sufficient to match your payloads (i.e no pre-processing of original message is required)."
required: false required: false
type: string type: string
{% endconfiguration %} {% endconfiguration %}

View File

@ -79,11 +79,30 @@ If you experience an unreliable Bluetooth connection, installing a short USB ext
### Known working high performance adapters ### Known working high performance adapters
- ASUS USB-BT400 (BCM20702A1) - ASUS USB-BT400 (BCM20702A0)
- Cable Matters 604002-BLK (BCM20702A0)
- Enbiawit BT403 (CSR8510A10)
- Feasycom FSC-BP119 (CSR8510A10) 📶 - Feasycom FSC-BP119 (CSR8510A10) 📶
- Kinivo BTD-400 (BCM20702A1) - GMYLE 3340 (BCM20702A0)
- HIDEEZ BT0015-01 (CSR8510A10)
- IOGEAR GBU521W6 (BCM20702A0)
- Kinivo BTD-400 (BCM20702A0)
- LM Technologies LM1010 (BCM20702A0) 📶
- Nuu You BT40 (CSR8510A10)
- Panda Wireless PBU40 (CSR8510A10)
- Pluggable USB-BT4LE (BCM20702A0)
- QGOO BT-06A (CSR8510A10)
- Raspberry Pi 3B+ (CYW43455) - Raspberry Pi 3B+ (CYW43455)
- Raspberry Pi 4B (CYW43455) - Raspberry Pi 4B (CYW43455)
- SABRENT BT-UB40 (CSR8510A10)
- SoundBot SB342 (BCM20702A0)
- StarTech USBBT1EDR4 (CSR8510A10)
- StarTech USBBT2EDR4 (BCM20702A0)
- Targus ACB10US1 (BCM20702A0)
- Techkey PBT06H (CSR8510A10)
- TRENDnet TBW-107UB (CSR8510A10)
- UGREEN CM109 (CSR8510A10)
- Warmstor WBT-AD01 (CSR8510A10)
📶 Denotes external antenna 📶 Denotes external antenna
@ -95,6 +114,7 @@ The following requirements must be met for an adapter to be labeled as High Perf
- Process at least one advertisement per second from a device without dropping data - Process at least one advertisement per second from a device without dropping data
- 95% of connection attempts are successful within two tries - 95% of connection attempts are successful within two tries
- Meets the above requirements with Home Assistant Core 2022.11.1 or later and Home Assistant Operating System 9.3 or later - Meets the above requirements with Home Assistant Core 2022.11.1 or later and Home Assistant Operating System 9.3 or later
- Must be able to hold five (5) connections at the same time
Performance testing used the following hardware: Performance testing used the following hardware:
@ -102,11 +122,25 @@ Performance testing used the following hardware:
- Advertisements from an Oral-B iO Series 8 - Advertisements from an Oral-B iO Series 8
- External Adapters only: Home Assistant Blue running Home Assistant Operating System 9.3 with a USB extension cable. - External Adapters only: Home Assistant Blue running Home Assistant Operating System 9.3 with a USB extension cable.
#### Broadcom adapters (BCM20702A0)
Most of these adapters can hold seven (7) connections at the same time.
These adapters may take an additional 120 seconds to initialize after boot with Home Assistant Operating System 9.3 when using an ODROID N2+; eventually, they come online.
#### Cambridge Silicon Radio adapters (CSR8510A10)
Most of these adapters can hold five (5) connections at the same time.
These adapters generally offer the fastest connect times.
### Known working adapters ### Known working adapters
- ASUS USB-BT500 (RTL8761BU) - ASUS USB-BT500 (RTL8761BU)
- Avantree DG45 (RTL8761BU) - Avantree DG45 (RTL8761BU)
- COMCAST CF-B05 (RTL8761BU) 📶
- EDUP LOVE EP-B3536 (RTL8761BU) 📶 - EDUP LOVE EP-B3536 (RTL8761BU) 📶
- ISEKIE KW-B3519 (RTL8761BU)
- Maxuni BT-501 (RTL8761BU) - Maxuni BT-501 (RTL8761BU)
- MPOW BH45A (RTL8761BU) - MPOW BH45A (RTL8761BU)
- StarTech USBA-BLUETOOTH-V5-C2 (RTL8761BU) - StarTech USBA-BLUETOOTH-V5-C2 (RTL8761BU)
@ -119,11 +153,22 @@ Performance testing used the following hardware:
📶 Denotes external antenna 📶 Denotes external antenna
#### Realtek RTL8761BU adapters
These adapters do not have a reset pin. If they stop responding, there is currently no way for the kernel to reset them automatically. A generic USB reset for these adapters has been introduced in Linux kernel 6.1 and later.
### Unsupported adapters ### Unsupported adapters
- Alfa AWUS036EACS (RTL8821CU) - Frequent connection failures and drop outs
- Belkin F8T003 ver 2. - Fails to setup and add successfully - Belkin F8T003 ver 2. - Fails to setup and add successfully
- tp-link UB400 (BCM20702A1) - Frequent connection failures with active connections - EDIMAX EW-7611ULB (RTL8723BU) - Frequent connection failures and drop outs
- EDUP EP-AC1661 (RTL8821CU) - Frequent connection failures and drop outs
- eppfun AK3040G (ATS2851) - No driver available yet for USB id 10d7:b012
- QUMOX Bluetooth 5.0 (Barrot 8041A02) - No working driver
- UGREEEN CM591 (ATS2851) - No driver available yet for USB id 10d7:b012
- tp-link UB400 (CSR4) - Frequent connection failures with active connections
- tp-link UB500 (RTL8761BU) - Frequent connection failures with active connections - tp-link UB500 (RTL8761BU) - Frequent connection failures with active connections
- Unbranded CSR 4.0 clones with USB id 0a12:0001 - Unrecoverable driver failure
## Multiple adapters ## Multiple adapters

View File

@ -37,7 +37,7 @@ automation:
``` ```
Calendar triggers should should generally not use automation mode `single` to ensure the trigger Calendar triggers should should generally not use automation mode `single` to ensure the trigger
can fire when multiple events start at the same time (e.g. use `queued` or `parallel` instead) can fire when multiple events start at the same time (e.g., use `queued` or `parallel` instead). Note that calendars are read once every 15 minutes. When testing, make sure you do not plan events less than 15 minutes away from the current time, or your trigger might not fire.
See [Automation Trigger Variables: Calendar](/docs/automation/templating/#calendar) for additional trigger data available for conditions or actions. See [Automation Trigger Variables: Calendar](/docs/automation/templating/#calendar) for additional trigger data available for conditions or actions.

View File

@ -84,6 +84,7 @@ $ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /h
#### Serial to network proxies: #### Serial to network proxies:
- [ser2net](https://ser2net.sourceforge.net) - [ser2net](https://ser2net.sourceforge.net)
- [Smart Meter bridge](https://github.com/legolasbo/smartmeterBridge)
- [WIZnet WIZ110SR](https://www.wiznet.io/product-item/wiz110sr/) - [WIZnet WIZ110SR](https://www.wiznet.io/product-item/wiz110sr/)
DIY solutions (ESP8266 based): DIY solutions (ESP8266 based):
@ -122,6 +123,14 @@ connection: &con0096
115200n81,local 115200n81,local
``` ```
Optional configuration example for Smart Meter Bridge:
```yml
serial_port: "/dev/ttyUSB0"
dsmr_version: "4"
server:
port: 9988
```
### Technical overview ### Technical overview
DSMR is a standard to which Dutch smartmeters must comply. It specifies that the smartmeter must send out a 'telegram' every 10 seconds (every second for DSMR 5.0 devices) over a serial port. DSMR is a standard to which Dutch smartmeters must comply. It specifies that the smartmeter must send out a 'telegram' every 10 seconds (every second for DSMR 5.0 devices) over a serial port.

View File

@ -89,7 +89,7 @@ default. Enable those entities in the user interface if you like to use these:
- Estimated Power Production - Next 12 Hours (in Watt) - Estimated Power Production - Next 12 Hours (in Watt)
- Estimated Power Production - Next 24 Hours (in Watt) - Estimated Power Production - Next 24 Hours (in Watt)
## Using your Solar.Forecast account ## Using your Forecast.Solar account
The [Forecast.Solar](https://forecast.solar/) public plan can be used for free, but The [Forecast.Solar](https://forecast.solar/) public plan can be used for free, but
the resolution of the data used is more limited and thus, there are less the resolution of the data used is more limited and thus, there are less
@ -127,7 +127,7 @@ a more realistic forecast graph.
[Read more about the damping factor in the Forecast.Solar documentation](https://doc.forecast.solar/doku.php?id=damping&s[]=damping). [Read more about the damping factor in the Forecast.Solar documentation](https://doc.forecast.solar/doku.php?id=damping&s[]=damping).
To adjust the configuration settings for your Solar.Forecast integration To adjust the configuration settings for your Forecast.Solar integration
instance: instance:
- Browse to your Home Assistant instance. - Browse to your Home Assistant instance.

View File

@ -147,7 +147,7 @@ For secure remote access, use a reverse proxy such as the {% my supervisor_addon
8. Restart Home Assistant Core. 8. Restart Home Assistant Core.
9. With a Google Assistant device, try saying "OK Google, sync my devices." This can be helpful to avoid issues, especially if you are enabling local fulfillment sometime after adding cloud Google Assistant support. 9. With a Google Assistant device, try saying "OK Google, sync my devices." This can be helpful to avoid issues, especially if you are enabling local fulfillment sometime after adding cloud Google Assistant support.
You can debug the setup by following [these instructions](https://developers.google.com/assistant/smarthome/develop/local#debugging_from_chrome). You can debug the setup by following [these instructions](https://developers.home.google.com/local-home/test#debugging_from_chrome).
### YAML Configuration ### YAML Configuration

View File

@ -83,4 +83,20 @@ You can use the service `google_sheets.append_sheet` to add a row of data to the
| `worksheet` | yes | Name of the worksheet. Defaults to the first one in the document. | Sheet1 | `worksheet` | yes | Name of the worksheet. Defaults to the first one in the document. | Sheet1
| `data` | no | Data to be appended to the worksheet. This puts the data on a new row, one value per column. | {"hello": world, "cool": True, "count": 5} | `data` | no | Data to be appended to the worksheet. This puts the data on a new row, one value per column. | {"hello": world, "cool": True, "count": 5}
{% raw %}
```yaml
# Example service call
service: google_sheets.append_sheet
data:
config_entry: 1b4a46c6cba0677bbfb5a8c53e8618b0
worksheet: "Car Charging"
data:
Date: "{{ now().strftime('%-d-%b-%y') }}"
KWh: "{{ states('input_number.car_charging_kwh')|float(0) }}"
Cost: "{{ states('input_number.car_charging_cost')|float(0) }}"
```
{% endraw %}
{% enddetails %} {% enddetails %}

View File

@ -138,7 +138,7 @@ Here are some examples of periods you could work with, and what to write in your
{% raw %} {% raw %}
```yaml ```yaml
start: "{{ now().replace(hour=0, minute=0, second=0) }}" start: "{{ now().replace(hour=0, minute=0, second=0, microsecond=0) }}"
end: "{{ now() }}" end: "{{ now() }}"
``` ```
@ -149,7 +149,7 @@ Here are some examples of periods you could work with, and what to write in your
{% raw %} {% raw %}
```yaml ```yaml
end: "{{ now().replace(hour=0, minute=0, second=0) }}" end: "{{ now().replace(hour=0, minute=0, second=0, microsecond=0) }}"
duration: duration:
hours: 24 hours: 24
``` ```
@ -161,7 +161,7 @@ Here are some examples of periods you could work with, and what to write in your
{% raw %} {% raw %}
```yaml ```yaml
start: "{{ now().replace(hour=6, minute=0, second=0) }}" start: "{{ now().replace(hour=6, minute=0, second=0, microsecond=0) }}"
duration: duration:
hours: 5 hours: 5
``` ```
@ -175,7 +175,7 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
{% raw %} {% raw %}
```yaml ```yaml
start: "{{ as_timestamp( now().replace(hour=0, minute=0, second=0) ) - now().weekday() * 86400 }}" start: "{{ as_timestamp( now().replace(hour=0, minute=0, second=0, microsecond=0) ) - now().weekday() * 86400 }}"
end: "{{ now() }}" end: "{{ now() }}"
``` ```
@ -192,12 +192,23 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
{% endraw %} {% endraw %}
**Previous month**: starts the first day of the previous month at 00:00, ends the first day of the current month.
{% raw %}
```yaml
start: "{{ now().replace(day=1, month=now().month-1, hour=0, minute=0, second=0, microsecond=0) }}"
end: "{{ now().replace(day=1, hour=0, minute=0, second=0, microsecond=0) }}"
```
{% endraw %}
**Next 4 pm**: 24 hours, from the last 4 pm till the next 4 pm. If it hasn't been 4 pm today, that would be 4 pm yesterday until 4 pm today. If it is already past 4 pm today, it will be 4 pm today until 4 pm tomorrow. When changing the start time, then add or subtract to the 8-hour buffer to match the next midnight. **Next 4 pm**: 24 hours, from the last 4 pm till the next 4 pm. If it hasn't been 4 pm today, that would be 4 pm yesterday until 4 pm today. If it is already past 4 pm today, it will be 4 pm today until 4 pm tomorrow. When changing the start time, then add or subtract to the 8-hour buffer to match the next midnight.
{% raw %} {% raw %}
```yaml ```yaml
end: "{{ (now().replace(minute=0,second=0) + timedelta(hours=8)).replace(hour=16) }}" end: "{{ (now().replace(minute=0, second=0, microsecond=0) + timedelta(hours=8)).replace(hour=16) }}"
duration: duration:
hours: 24 hours: 24
``` ```
@ -209,7 +220,7 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
{% raw %} {% raw %}
```yaml ```yaml
end: "{{ now().replace(hour=0, minute=0, second=0) }}" end: "{{ now().replace(hour=0, minute=0, second=0, microsecond=0) }}"
duration: duration:
days: 30 days: 30
``` ```

View File

@ -113,7 +113,7 @@ Clicking on one will drop you in to the automation editor with a trigger pre-fil
<img src='/images/integrations/homekit_controller/device_automation_new.png' /> <img src='/images/integrations/homekit_controller/device_automation_new.png' />
</p> </p>
When you have filled in the rest of the form to create your migration it will show up against that device in the device registry. When you have filled in the rest of the form to create your automation it will show up against that device in the device registry.
<p class='img'> <p class='img'>
<img src='/images/integrations/homekit_controller/device_automation_finish.png' /> <img src='/images/integrations/homekit_controller/device_automation_finish.png' />

View File

@ -25,7 +25,7 @@ ha_platforms:
ha_integration_type: integration ha_integration_type: integration
--- ---
The Huawei LTE router and modem integration for Home Assistant allows you to observe and control [Huawei LTE devices](https://consumer.huawei.com/en/smart-home/). The Huawei LTE router and modem integration for Home Assistant allows you to observe and control [Huawei LTE devices](https://consumer.huawei.com/en/routers/).
There is currently support for the following platforms within Home Assistant: There is currently support for the following platforms within Home Assistant:

View File

@ -25,7 +25,7 @@ and create them as sensors in Home Assistant.
You can use the accumulated energy sensors directly with the Home Assistant energy dashboard. You can use the accumulated energy sensors directly with the Home Assistant energy dashboard.
If you have an energy production system such as solar panels, following these instructions: If you have an energy production system such as solar panels, follow these instructions:
### Configure IoTaWatt ### Configure IoTaWatt

View File

@ -15,7 +15,7 @@ This integration allows you to track and control various light bulbs. Read the i
### Default turn-on values ### Default turn-on values
To set the default color, brightness and transition values when the light is turned on, create a custom `light_profiles.csv`, normally located in the default configuration folder where you find `configuration.yaml`. To set the default color, brightness and transition values when the light is turned on, create a custom `light_profiles.csv`, normally located in the default configuration folder where you find `configuration.yaml`.
The `light_profiles.csv` has to have a header. The format of the header is: The `light_profiles.csv` has to have a header. The format of the header is:
@ -49,8 +49,8 @@ Most lights do not support all attributes. You can check the integration documen
| `rgb_color` | yes | A list containing three integers between 0 and 255 representing the RGB color you want the light to be. Three comma-separated integers that represent the color in RGB, within square brackets. | `rgb_color` | yes | A list containing three integers between 0 and 255 representing the RGB color you want the light to be. Three comma-separated integers that represent the color in RGB, within square brackets.
| `rgbw_color` | yes | A list containing four integers between 0 and 255 representing the RGBW color you want the light to be. Four comma-separated integers that represent the color in RGBW (red, green, blue, white), within square brackets. This attribute will be ignored by lights which do not support RGBW colors. | `rgbw_color` | yes | A list containing four integers between 0 and 255 representing the RGBW color you want the light to be. Four comma-separated integers that represent the color in RGBW (red, green, blue, white), within square brackets. This attribute will be ignored by lights which do not support RGBW colors.
| `rgbww_color` | yes | A list containing five integers between 0 and 255 representing the RGBWW color you want the light to be. Five comma-separated integers that represent the color in RGBWW (red, green, blue, cold white, warm white), within square brackets. This attribute will be ignored by lights which do not support RGBWW colors. | `rgbww_color` | yes | A list containing five integers between 0 and 255 representing the RGBWW color you want the light to be. Five comma-separated integers that represent the color in RGBWW (red, green, blue, cold white, warm white), within square brackets. This attribute will be ignored by lights which do not support RGBWW colors.
| `color_temp` | yes | An integer in mireds representing the color temperature you want the light to be. | `color_temp_kelvin` | yes | An integer in Kelvin representing the color temperature you want the light to be.
| `kelvin` | yes | Alternatively, you can specify the color temperature in Kelvin. | `color_temp` | yes | Alternatively, you can specify the color temperature in Mireds.
| `color_name` | yes | A human-readable string of a color name, such as `blue` or `goldenrod`. All [CSS3 color names](https://www.w3.org/TR/css-color-3/#svg-color) are supported. | `color_name` | yes | A human-readable string of a color name, such as `blue` or `goldenrod`. All [CSS3 color names](https://www.w3.org/TR/css-color-3/#svg-color) are supported.
| `brightness` | yes | Integer between 0 and 255 for how bright the light should be, where 0 means the light is off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. | `brightness` | yes | Integer between 0 and 255 for how bright the light should be, where 0 means the light is off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light.
| `brightness_pct`| yes | Alternatively, you can specify brightness in percent (a number between 0 and 100), where 0 means the light is off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. | `brightness_pct`| yes | Alternatively, you can specify brightness in percent (a number between 0 and 100), where 0 means the light is off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light.

View File

@ -113,8 +113,8 @@ To change the settings, click on "Configure" in the integration page in the UI,
### Discovery options ### Discovery options
MQTT discovery is enabled by default. Discovery can be turned off. The prefix for the discovery topic (default `homeassistant`) can be changed. MQTT discovery is enabled by default. Discovery can be turned off. The prefix for the discovery topic (default `homeassistant`) can be changed here as well.
See the [MQTT Discovery section](#mqtt-discovery) See also [MQTT Discovery section](#mqtt-discovery)
### Birth and last will messages ### Birth and last will messages

View File

@ -36,12 +36,15 @@ Visit [the Neato Developer Network](https://developers.neatorobotics.com/applica
<div class='note'> <div class='note'>
You will have to enter a name, a description and your redirect URL. You will have to enter a name, a description, and the redirect URI:
Use `https://my.home-assistant.io/redirect/oauth` as the redirect URL. - **Name**: can be anything you like, for example, "Home Assistant".
- **Description**: can be anything you like, for example, "Home Assistant integration for Neato"
- **Redirect URI**: `https://my.home-assistant.io/redirect/oauth`
- **Terms Of Service URL**: leave blank
- **Privacy Policy URL**: leave blank
You have to select all three scopes (`public_profile`, `control_robots` and `maps`). You have to select all three scopes (`public_profile`, `control_robots` and `maps`).
</div> </div>
{% details "I have manually disabled My Home Assistant" %} {% details "I have manually disabled My Home Assistant" %}

View File

@ -55,7 +55,9 @@ To edit an existing area, enter its name and follow the dialog.
## Camera ## Camera
The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell). The doorbell is currently not supported with Home Assistant Cloud link, please use a [Netatmo dev account](#development--testing-with-your-own-client-id). The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell).
The doorbell is currently not supported with the Home Assistant Cloud link mode (configured in the integration). Please use a [Netatmo dev account](#development--testing-with-your-own-client-id). Note that: if you have already created the Netatmo integration, you must remove it and configure it with the Netatmo dev account as explained in the previous link. Then you will see a Smart Doorbell device with a camera sensor.
## Climate ## Climate

View File

@ -50,7 +50,7 @@ password:
## Binary Sensor ## Binary Sensor
Once you have enabled the [Raincloud component](#configuration), add the following to your `configuration.yaml` file: Once you have enabled the [Raincloud integration](#configuration), add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry

View File

@ -171,3 +171,9 @@ binary_sensor:
required: false required: false
type: list type: list
{% endconfiguration %} {% endconfiguration %}
<div class='note'>
Use either `resource` or `resource_template`.
</div>

View File

@ -210,7 +210,7 @@ unit_of_measurement:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the value. Available variables: `entity_id`. The `entity_id` can be used to reference the entity's attributes. If the template throws an error, the current state will be used instead." description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the value. If the template throws an error, the current state will be used instead."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -59,18 +59,33 @@ Clear completed items from the shopping list.
## Using in Automations ## Using in Automations
The simplest way to use the shopping list with automations (e.g., when entering a zone with shops) is to create a notification that can be clicked to open the shopping list. A `shopping_list_updated` event is triggered when items in the list are modified, with the following data payload attached to it. This can be used to trigger automations such as sending a push notification when someone adds an item to the shopping list, which when clicked, will open the list.
| Data payload attribute | Description |
|------------------------|--------------------------------------------------------------------------------------------------------------------|
| `action` | What action was taken on the item. Either `add` for a new item being added, or `update` for an item being updated. |
| `item` | A dictionary containing details of the item that was updated. |
| `item.id` | A unique ID for this item |
| `item.name` | The text attached to the item, for example `Milk` |
| `item.complete` | A boolean indicated whether the item has been marked as complete. |
{% raw %} {% raw %}
```yaml ```yaml
- service: notify.notify alias: "Notify on new shopping list item"
data: trigger:
title: "Time to shop?" - platform: event
message: "Click to open the shopping list" event_type: shopping_list_updated
event_data:
action: "add"
action:
- service: notify.notify
data: data:
clickAction: "/shopping-list" message: "{{ trigger.event.data.item.name }} has been added to the shopping list"
url: "/shopping-list" data:
clickAction: "/shopping-list"
url: "/shopping-list"
``` ```
{% endraw %} {% endraw %}

View File

@ -301,7 +301,16 @@ This error message occurs when you do not have an active Home Assistant Cloud (N
The personal access token does not match the expected format. Make sure you are copying the entire token and that there are no extraneous characters (such as trailing whitespace) and try again. The personal access token does not match the expected format. Make sure you are copying the entire token and that there are no extraneous characters (such as trailing whitespace) and try again.
#### Error: The token is invalid or no longer authorized #### Error: `pysmartthings.errors.APIInvalidGrant: Invalid refresh token:` (after a restore)
You can fix this by using the SmartThings App to re-grant authorization to the API token you created before.
1. Open SmartThings app on your mobile device (not HA)
2. Select `Automations` from bottom
3. Select your Home Assistant automation from the list
4. Click "Done", then click "Allow"
5. Reload your SmartThings integration from Home Assistant Devices panel
#### Error: The token is invalid or no longer authorized (not solved by above)
The personal access token entered is not valid or has been deleted. Create a new token per the instructions in the prerequisites and try again. The personal access token entered is not valid or has been deleted. Create a new token per the instructions in the prerequisites and try again.

View File

@ -24,7 +24,7 @@ ha_platforms:
ha_integration_type: hub ha_integration_type: hub
--- ---
[UniFi Network](https://www.ui.com/software/) by [Ubiquiti Networks, inc.](https://www.ui.com/) is a software that binds gateways, switches and wireless access points together with one graphical front end. [UniFi Network](https://www.ui.com/download-software/) by [Ubiquiti Networks, inc.](https://www.ui.com/) is a software that binds gateways, switches and wireless access points together with one graphical front end.
There is currently support for the following device types within Home Assistant: There is currently support for the following device types within Home Assistant:
@ -57,7 +57,7 @@ It is recommended that you run the UniFi Network application in a dedicated virt
## Presence detection ## Presence detection
This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](https://ui.com/) [UniFi Network](https://unifi-network.ui.com/) application. By default devices are marked as away 300 seconds after they were last seen. This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](https://ui.com/) [UniFi Network](https://ui.com/consoles) application. By default devices are marked as away 300 seconds after they were last seen.
### Troubleshooting and Time Synchronization ### Troubleshooting and Time Synchronization

View File

@ -17,7 +17,7 @@ To enable MQTT Update in your installation, add the following to your `configura
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
mqtt: mqtt:
select: update:
- state_topic: topic-installed - state_topic: topic-installed
latest_version_topic: topic-latest latest_version_topic: topic-latest
``` ```

View File

@ -54,7 +54,7 @@ The Viessmann API is rate-limited. If you exceed one of the limits below you wil
- Limit 1: 120 calls for a time window of 10 minutes - Limit 1: 120 calls for a time window of 10 minutes
- Limit 2: 1450 calls for a time window of 24 hours - Limit 2: 1450 calls for a time window of 24 hours
The default `scan_interval` of 60 seconds will work within these limits. Note however that any additional requests to the API, e.g., by setting the temperature via the integration but also by interacting with the ViCare app also counts into those limits. It is therefore advised to adjust the scan_interval to your usage scenario. The integration polls the Viessmann API every 60 seconds and will work within these limits. Note however that any additional requests to the API, e.g., by setting the temperature via the integration but also by interacting with the ViCare app also counts into those limits.
## Climate ## Climate

View File

@ -28,7 +28,7 @@ The `wemo` integration is the main integration to integrate various [Belkin WeMo
There is currently support for the following device types within Home Assistant: There is currently support for the following device types within Home Assistant:
- Binary Sensor - Binary Sensor (Belkin WeMo Motion Sensor)
- Fan (Belkin WeMo (Holmes) Smart Humidifier) - Fan (Belkin WeMo (Holmes) Smart Humidifier)
- Light (Belkin WeMo LED lights and Smart Dimmer Switch) - Light (Belkin WeMo LED lights and Smart Dimmer Switch)
- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/smart-home/c/wemo/) and includes support for WeMo enabled [Mr. Coffee](https://www.mrcoffee.com/) smart coffee makers.) - Switch ([Belkin WeMo Switches](https://www.belkin.com/us/smart-home/c/wemo/) and includes support for WeMo enabled [Mr. Coffee](https://www.mrcoffee.com/) smart coffee makers.)

View File

@ -22,7 +22,7 @@ ha_zeroconf: true
ha_integration_type: integration ha_integration_type: integration
--- ---
The `yeelight` integration allows you to control your Yeelight Wi-Fi bulbs with Home Assistant. The Yeelight integration allows you to control your Yeelight Wi-Fi bulbs with Home Assistant.
There is support for the following device types within Home Assistant: There is support for the following device types within Home Assistant:
@ -193,6 +193,7 @@ This integration is tested to work with the following models. If you have a diff
| `RGBW` | MJDP02YL | Mi LED smart Lamp - white and color Wi-Fi Version| | `RGBW` | MJDP02YL | Mi LED smart Lamp - white and color Wi-Fi Version|
| `lamp` | MJTD02YL | Xiaomi Mijia Desk Lamp Pro | | `lamp` | MJTD02YL | Xiaomi Mijia Desk Lamp Pro |
| `lamp1` | MJTD01YL | Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) | | `lamp1` | MJTD01YL | Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) |
| `lamp9` | YLCT03YL | Yeelight Staria Bedside Lamp Pro |
| `lamp15` | YLTD003 | Yeelight LED Screen Light Bar Pro | | `lamp15` | YLTD003 | Yeelight LED Screen Light Bar Pro |
| `ceiling1` | YLXD01YL | Yeelight Ceiling Light | | `ceiling1` | YLXD01YL | Yeelight Ceiling Light |
| `ceiling2` | YLXD03YL | Yeelight Ceiling Light - Youth Version | | `ceiling2` | YLXD03YL | Yeelight Ceiling Light - Youth Version |

View File

@ -18,7 +18,7 @@ ha_codeowners:
The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at). The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](https://www.zamg.ac.at/ogd). With this integration, it is possible to get weather station data from up to 228 different ZAMG stations across Austria. The integration uses the [datahub-api](https://dataset.api.hub.zamg.ac.at/v1/docs/index.html).
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
@ -34,18 +34,20 @@ This integration provides the following sensors:
|Name|Description| |Name|Description|
|----|-----------| |----|-----------|
|Temperature|Temperature in °C| |Temperature|Temperature in °C|
|Temperature Average|Average Temperature in °C|
|Humidity|Humidity in %| |Humidity|Humidity in %|
|Dew Point|Dew point in °C| |Dew Point|Dew point in °C|
|Dew Point Average|Average Dew point in °C|
|Pressure|Station pressure in hPa| |Pressure|Station pressure in hPa|
|Pressure at Sea Level|Sea level pressure in hPa| |Pressure at Sea Level|Sea level pressure in hPa|
|Wind Speed|Wind speed in km/h| |Wind Speed|Wind speed in km/h|
|Top Wind Speed|Max wind speed in km/h| |Top Wind Speed|Max wind speed in km/h|
|Wind Bearing|Wind bearing in °| |Wind Bearing|Wind bearing in °|
|Top Wind Bearing|Wind bearing at max speed in °| |Top Wind Bearing|Wind bearing at max speed in °|
|Sun Last Hour|Sunshine in the last hour in %| |Sun Last 10 Minutes|Sunshine in the last 10 minutes in sec|
|Precipitation|Precipitation in 1/m²| |Precipitation|Precipitation in mm|
|Station Name|Station name| |Snow|Snow in cm|
|Station Elevation|The station elevation in m|
|Update Date|Update date of last read data| <div class='note'>
|Update Time|Update time of last read data| Not every station supports every sensor.
|Station id|The station id| </div>

View File

@ -55,6 +55,7 @@ Sunday, November 13, 2022 (11:00 AM PST / 20:00 CET).
- [Release 2022.11.1 - November 3](#release-2022111---november-3) - [Release 2022.11.1 - November 3](#release-2022111---november-3)
- [Release 2022.11.2 - November 8](#release-2022112---november-8) - [Release 2022.11.2 - November 8](#release-2022112---november-8)
- [Release 2022.11.3 - November 16](#release-2022113---november-16) - [Release 2022.11.3 - November 16](#release-2022113---november-16)
- [Release 2022.11.4 - November 20](#release-2022114---november-20)
- [Need help? Join the community!](#need-help-join-the-community) - [Need help? Join the community!](#need-help-join-the-community)
- [Breaking Changes](#breaking-changes) - [Breaking Changes](#breaking-changes)
- [All changes](#all-changes) - [All changes](#all-changes)
@ -663,6 +664,65 @@ The following integrations are now available via the Home Assistant UI:
[zha docs]: /integrations/zha/ [zha docs]: /integrations/zha/
[zwave_js docs]: /integrations/zwave_js/ [zwave_js docs]: /integrations/zwave_js/
## Release 2022.11.4 - November 20
- Fix moving average for 0 values ([@daanbeverdam] - [#80476]) ([filter docs])
- Solve Modbus reload issue ([@janiversen] - [#82253]) ([modbus docs])
- Add kilo watts unit mapping for nibe_heatpump ([@elupus] - [#82284]) ([nibe_heatpump docs])
- Bump `regenmaschine` to 2022.11.0 ([@bachya] - [#82337]) ([rainmachine docs])
- Bump pysma to version 0.7.3 ([@rklomp] - [#82343]) ([sma docs])
- Bump flux_led to 0.28.34 ([@bdraco] - [#82347]) ([flux_led docs])
- Fix invalid configuration_url in Netatmo ([@mib1185] - [#82372]) ([netatmo docs])
- Bump PyViCare to 2.19.0 ([@TheJulianJES] - [#82381]) ([vicare docs])
- Bump bleak-retry-connector to 2.8.5 ([@bdraco] - [#82387]) ([bluetooth docs])
- Update xknx to 1.2.1 ([@marvin-w] - [#82404]) ([knx docs])
- Attempt to fix occasional Flo timeouts ([@dmulcahey] - [#82408]) ([flo docs])
- Prevent powerwall from switching addresses if its online ([@bdraco] - [#82410]) ([powerwall docs])
[#80476]: https://github.com/home-assistant/core/pull/80476
[#81423]: https://github.com/home-assistant/core/pull/81423
[#81488]: https://github.com/home-assistant/core/pull/81488
[#81780]: https://github.com/home-assistant/core/pull/81780
[#82197]: https://github.com/home-assistant/core/pull/82197
[#82253]: https://github.com/home-assistant/core/pull/82253
[#82284]: https://github.com/home-assistant/core/pull/82284
[#82337]: https://github.com/home-assistant/core/pull/82337
[#82343]: https://github.com/home-assistant/core/pull/82343
[#82347]: https://github.com/home-assistant/core/pull/82347
[#82372]: https://github.com/home-assistant/core/pull/82372
[#82381]: https://github.com/home-assistant/core/pull/82381
[#82387]: https://github.com/home-assistant/core/pull/82387
[#82404]: https://github.com/home-assistant/core/pull/82404
[#82408]: https://github.com/home-assistant/core/pull/82408
[#82410]: https://github.com/home-assistant/core/pull/82410
[3_day_blinds docs]: /integrations/3_day_blinds/
[@TheJulianJES]: https://github.com/TheJulianJES
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bdraco]: https://github.com/bdraco
[@daanbeverdam]: https://github.com/daanbeverdam
[@dmulcahey]: https://github.com/dmulcahey
[@elupus]: https://github.com/elupus
[@frenck]: https://github.com/frenck
[@janiversen]: https://github.com/janiversen
[@marvin-w]: https://github.com/marvin-w
[@mib1185]: https://github.com/mib1185
[@rklomp]: https://github.com/rklomp
[abode docs]: /integrations/abode/
[accuweather docs]: /integrations/accuweather/
[bluetooth docs]: /integrations/bluetooth/
[filter docs]: /integrations/filter/
[flo docs]: /integrations/flo/
[flux_led docs]: /integrations/flux_led/
[knx docs]: /integrations/knx/
[modbus docs]: /integrations/modbus/
[netatmo docs]: /integrations/netatmo/
[nibe_heatpump docs]: /integrations/nibe_heatpump/
[powerwall docs]: /integrations/powerwall/
[rainmachine docs]: /integrations/rainmachine/
[sma docs]: /integrations/sma/
[vicare docs]: /integrations/vicare/
## Need help? Join the community! ## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing Home Assistant has a great community of users who are all more than willing

View File

@ -127,7 +127,9 @@ frontend:
## Subview ## Subview
View can be marked as "Subview". Subviews wont show up in the navigation bar. When on the subview, the navigation bar only show the name of the subview and a back button. A "View" can be marked as "Subview". Subviews wont show up in the navigation bar on top of the sidebar. Subviews can, for instance, be used to show detailed information; you could link to this subview from a page with a clean look with only basic information (by using [cards that support the `navigate` action](/dashboards/actions)). Think of a view with a few thermostats and a subview with status information on the heating/cooling device.
When on the subview, the navigation bar only shows the name of the subview and a back button (no icon is shown).
By default, clicking on back button will navigate to the previous view but a custom back path (`back_path`) can be set. By default, clicking on back button will navigate to the previous view but a custom back path (`back_path`) can be set.
You can access subviews from other parts of your dashboard by using [cards that support the `navigate` action](/dashboards/actions). You can access subviews from other parts of your dashboard by using [cards that support the `navigate` action](/dashboards/actions).
@ -174,20 +176,20 @@ views:
type: list type: list
path: path:
required: false required: false
description: Paths are used in the URL, more info below. description: Paths are used in the URL.
type: string type: string
default: view index default: view index
icon: icon:
required: false required: false
description: Icon-name from Material Design Icons. You can use any icon from [MaterialDesignIcons.com](https://materialdesignicons.com). Prefix the icon name with `mdi:`, ie `mdi:home`. description: Icon-name from Material Design Icons. You can use any icon from [MaterialDesignIcons.com](https://materialdesignicons.com). Prefix the icon name with `mdi:`, ie `mdi:home`. Only for "View", not for "Subview".
type: string type: string
background: background:
required: false required: false
description: Style the background using CSS, more info below. description: Style the background using CSS.
type: string type: string
theme: theme:
required: false required: false
description: Themes view and cards, more info below. description: Themes view and cards.
type: string type: string
visible: visible:
required: false required: false
@ -196,12 +198,12 @@ views:
default: true default: true
subview: subview:
required: false required: false
description: Mark the view as "Subview", more info below. description: Mark the view as "Subview".
type: boolean type: boolean
default: false default: false
back_path: back_path:
required: false required: false
description: Only for subview. Path to navigate when clicking on back button, more info below. description: Only for "Subview". Path to navigate when clicking on back button.
type: string type: string
{% endconfiguration %} {% endconfiguration %}
@ -219,3 +221,17 @@ View configuration:
- entity: switch.decorative_lights - entity: switch.decorative_lights
image: /local/lights.png image: /local/lights.png
``` ```
Subview configuration:
```yaml
- title: "Energieprijzen"
path: "energieprijzen"
subview: true
back_path: "/ui-data/climate"
cards:
- type: entities
entities:
- sensor.today_avg_price
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -161,9 +161,9 @@ allComponents.pop(); // remove placeholder element at the end
components: [], components: [],
image: function () { image: function () {
if (this.logo === '') { if (this.logo === '') {
return '<img src="https://brands.home-assistant.io/_/' + this.domain + '/logo.png" srcset="https://brands.home-assistant.io/_/' + this.domain + '/logo@2x.png 2x">'; return '<img src="https://brands.home-assistant.io/_/' + this.domain + '/logo.png" srcset="https://brands.home-assistant.io/_/' + this.domain + '/logo@2x.png 2x" loading="lazy">';
} else { } else {
return '<img data-src="/images/supported_brands/' + this.logo + '">'; return '<img data-src="/images/supported_brands/' + this.logo + '" loading="lazy">';
} }
} }
}; };