From d6dece293cc127e917f52cb17f648b91cfde65bf Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Wed, 1 Jun 2022 19:27:34 +0200
Subject: [PATCH 01/53] 2022.6: Add missing init system breaking change
(#22947)
* 2022.6: Add missing init system breaking change
* More cleanups
---
.../installation/container/alternative.md | 48 -------------------
.../_posts/2022-06-01-release-20226.markdown | 20 ++++++++
2 files changed, 20 insertions(+), 48 deletions(-)
diff --git a/source/_includes/installation/container/alternative.md b/source/_includes/installation/container/alternative.md
index c9f1e68dd8e..d5ef764e0eb 100644
--- a/source/_includes/installation/container/alternative.md
+++ b/source/_includes/installation/container/alternative.md
@@ -89,51 +89,3 @@ The steps would be:
- Your Home Assistant within Docker should now run and will serve the web interface from port 8123 on your Docker host (this will be your Qnap NAS IP address - for example `http://192.xxx.xxx.xxx:8123`)
Remark: To update your Home Assistant on your Docker within Qnap NAS, you just remove container and image and do steps again (Don't remove "config" folder).
-
-If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assistant on Qnap Docker, follow those steps:
-
-#### Z-Wave
-
-- Connect to your NAS over SSH
-- Load cdc-acm kernel module(when NAS restart need to run this command)
- `insmod /usr/local/modules/cdc-acm.ko`
-- Find USB devices attached. Type command:
- `ls /dev/tty*`
- The above command should show you any USB devices plugged into your NAS. If you have more than one, you may get multiple items returned. Like : `ttyACM0`
-
-- Run Docker command:
-
- ```bash
- docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London --device /dev/ttyACM0 {{ site.installation.container }}:stable
- ```
-
- `-v` is your configuration path
- `-e` is set timezone
-
-- Edit `configuration.yaml`
-
-```yaml
-zwave:
- usb_path: /dev/ttyACM0
-```
-
-That will tell Home Assistant where to look for our Z-Wave radio.
-
-#### Bluetooth
-
-- Connect to your NAS over SSH
-- Run Docker command:
-
- ```bash
- docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus {{ site.installation.container }}:stable
- ```
-
- First `-v` is your configuration path
- `-e` is set timezone
-
-- Edit the `configuration.yaml` file
-
-```yaml
-device_tracker:
- - platform: bluetooth_tracker
-```
diff --git a/source/_posts/2022-06-01-release-20226.markdown b/source/_posts/2022-06-01-release-20226.markdown
index 5276e4e1f72..e902ef4926f 100644
--- a/source/_posts/2022-06-01-release-20226.markdown
+++ b/source/_posts/2022-06-01-release-20226.markdown
@@ -464,6 +464,26 @@ the documentation of the specific integration on how to configure this.
{% enddetails %}
+{% details "Home Assistant Container" %}
+
+If you run Home Assistant Container in Docker (e.g., using Portainer,
+Docker (Compose), QNAP, and others), please make sure you are not specifying
+an init process.
+
+This can be an `init` configuration option in your Docker management tools or
+Docker Compose, or the `--init` command line flag on the raw Docker command.
+These should **NOT** be set, as Home Assistant ships with the S6 init system.
+
+While you are at it, make sure you also do not set a `cmd` or `entrypoint`.
+Setting these are not breaking, however, you should not set them.
+
+([@pvizeli] - [#72425]) ([documentation](/installation))
+
+[@pvizeli]: https://github.com/pvizeli
+[#72425]: https://github.com/home-assistant/core/pull/72425
+
+{% enddetails %}
+
{% details "1-Wire" %}
Using the 1-Wire via SysBus, previously deprecated, has been removed;
From a07d85d91ea57c76fe89d3464f1e90a4ec6f9932 Mon Sep 17 00:00:00 2001
From: Erik Montnemery
Date: Thu, 2 Jun 2022 10:50:22 +0200
Subject: [PATCH 02/53] Improve MQTT siren documentation (#22958)
Co-authored-by: Franck Nijhof
---
source/_integrations/siren.mqtt.markdown | 34 +++++++++++++++++++++---
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/source/_integrations/siren.mqtt.markdown b/source/_integrations/siren.mqtt.markdown
index d97c5b3f0cd..36143af7e60 100644
--- a/source/_integrations/siren.mqtt.markdown
+++ b/source/_integrations/siren.mqtt.markdown
@@ -87,15 +87,16 @@ available_tones:
required: false
type: list
command_template:
- description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `command_topic`. The variable `value` will be assigned with the configured `payload_on` or `payload_off` setting. The siren turn on service parameters `tone`, `volume_level` or `duration` can be used as variables in the template. When operation in optimistic mode the corresponding state attributes will be set. Turn parameters will be filtered if a device misses the support.
+ description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate a custom payload to send to `command_topic`. The variable `value` will be assigned with the configured `payload_on` or `payload_off` setting. The siren turn on service parameters `tone`, `volume_level` or `duration` can be used as variables in the template. When operation in optimistic mode the corresponding state attributes will be set. Turn on parameters will be filtered if a device misses the support.
required: false
type: template
command_off_template:
- description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `command_topic` when the siren turn off service is called. By default `command_template` will be used as template for service turn off. The variable `value` will be assigned with the configured `payload_off` setting.
+ description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate a custom payload to send to `command_topic` when the siren turn off service is called. By default `command_template` will be used as template for service turn off. The variable `value` will be assigned with the configured `payload_off` setting.
required: false
type: template
command_topic:
- description: The MQTT topic to publish commands to change the siren state. Without command template a JSON payload is published. When the siren turn on service is called, the startup parameters will be added to the JSON payload. The `state` value of the JSON payload will be set to the the `payload_on` or `payload_off` configured payload.
+ description: >
+ The MQTT topic to publish commands to change the siren state. Without command templates, a default JSON payload like `{"state":"ON", "tone": "bell", "duration": 10, "volume_level": 0.5 }` is published. When the siren turn on service is called, the startup parameters will be added to the JSON payload. The `state` value of the JSON payload will be set to the the `payload_on` or `payload_off` configured payload.
required: false
type: string
device:
@@ -221,7 +222,7 @@ state_on:
type: string
default: "`payload_on` if defined, else `'ON'`"
state_topic:
- description: "The MQTT topic subscribed to receive state updates. When a JSON payload is detected, the `state` value of the JSON payload should supply the `payload_on` or `payload_off` defined payload to turn the siren on or off. Additional the state attributes `duration`, `tone` and `volume_level` can be updated. Use `value_template` to update render custom payload to a compliant JSON payload. Attributes will only be set if the function is supported by the device and a valid value is supplied. The initial state will be `unknown`. The state will be reset to `unknown` if a `None` payload or `null` JSON value is received as a state update."
+ description: "The MQTT topic subscribed to receive state updates. The state update may be either JSON or a simple string. When a JSON payload is detected, the `state` value of the JSON payload should supply the `payload_on` or `payload_off` defined payload to turn the siren on or off. Additionally, the state attributes `duration`, `tone` and `volume_level` can be updated. Use `value_template` to transform the received state udpate to a compliant JSON payload. Attributes will only be set if the function is supported by the device and a valid value is supplied. When a non JSON payload is detected, it should be either of the `payload_on` or `payload_off` defined payloads or `None` to reset the siren's state to `unknown`. The initial state will be `unknown`. The state will be reset to `unknown` if a `None` payload or `null` JSON value is received as a state update."
required: false
type: string
state_value_template:
@@ -284,6 +285,31 @@ mqtt:
{% endraw %}
+### On/Off only siren controlling a Tasmota relay
+
+The example below shows a configuration for an On/Off type siren, which does not accept JSON commands.
+
+{% raw %}
+
+```yaml
+# Example configuration.yaml entry
+mqtt:
+ siren:
+ - unique_id: tasmota_siren
+ name: "garage"
+ state_topic: "stat/SIREN/RESULT"
+ command_topic: "cmnd/SIREN/POWER"
+ availability_topic: "tele/SIREN/LWT"
+ command_template: "{{ value }}"
+ state_value_template: "{{ value_json.POWER }}"
+ payload_on: "ON"
+ payload_off: "OFF"
+ payload_available: "Online"
+ payload_not_available: "Offline"
+```
+
+{% endraw %}
+
For a check, you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your siren manually:
```bash
From 4f1b5f89371c4709a0d31fc47579eb0dd75bfba2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 2 Jun 2022 20:56:17 +0200
Subject: [PATCH 03/53] Bump rouge from 3.28.0 to 3.29.0 (#22940)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 2aabf6447fd..a1b98b4da04 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -87,7 +87,7 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
- rouge (3.28.0)
+ rouge (3.29.0)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass (3.4.25)
From a55a256681d1473e98501d39d1b7e50d69aa1fd8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 2 Jun 2022 20:59:55 +0200
Subject: [PATCH 04/53] Bump commonmarker from 0.23.4 to 0.23.5 (#22942)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index a1b98b4da04..9b434f2d96b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -5,7 +5,7 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
chunky_png (1.4.0)
colorator (1.1.0)
- commonmarker (0.23.4)
+ commonmarker (0.23.5)
compass (1.0.3)
chunky_png (~> 1.2)
compass-core (~> 1.0.2)
From 673bbb4e88deb358690182f108f8ac569be4f8e4 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Fri, 3 Jun 2022 04:56:30 +0000
Subject: [PATCH 05/53] 2022.6.1
---
_config.yml | 4 +-
.../_posts/2022-06-01-release-20226.markdown | 72 +++++++++++++++++--
2 files changed, 69 insertions(+), 7 deletions(-)
diff --git a/_config.yml b/_config.yml
index c8cbbe91336..d239023848c 100644
--- a/_config.yml
+++ b/_config.yml
@@ -107,8 +107,8 @@ social:
# Home Assistant release details
current_major_version: 2022
current_minor_version: 6
-current_patch_version: 0
-date_released: 2022-06-01
+current_patch_version: 1
+date_released: 2022-06-03
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_posts/2022-06-01-release-20226.markdown b/source/_posts/2022-06-01-release-20226.markdown
index e902ef4926f..f6c98c4d627 100644
--- a/source/_posts/2022-06-01-release-20226.markdown
+++ b/source/_posts/2022-06-01-release-20226.markdown
@@ -59,6 +59,7 @@ Enjoy the release (and upcoming events)!
- [Other noteworthy changes](#other-noteworthy-changes)
- [New Integrations](#new-integrations)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
+- [Release 2022.6.1 - June 2](#release-202261---june-2)
- [Need help? Join the community!](#need-help-join-the-community)
- [Breaking Changes](#breaking-changes)
- [Farewell to the following](#farewell-to-the-following)
@@ -83,7 +84,7 @@ the recording of it right here!
## Comparing data in the energy dashboard
Did you use less or more energy than... Yesterday? Last week? Month? Year?
-We all want to know if we are on the right track, right?
+We all want to know if we are on the right track, right?
This release introduces the capability to compare energy data against the
previous period directly from the energy dashboard!
@@ -214,7 +215,7 @@ still add the entire device if you want to.
This release builds on [the database improvements from 2022.4](/blog/2022/04/06/release-20224/#database-performance).
Disk writes have been reduced to preserve SD card lifetimes and new APIs have been added,
-which get event/historical data to the frontend even faster.
+which get event/historical data to the frontend even faster.
The database storage format is further optimized, with an additional size
reduction ranging from 25-40% for most installs on top of what has been gained
@@ -336,6 +337,67 @@ The following integrations are now available via the Home Assistant UI:
[HERE Travel Time]: /integrations/here_travel_time
[Slack]: /integrations/slack
+## Release 2022.6.1 - June 2
+
+- Cleanup and use new MQTT_BASE_SCHEMA constants ([@jbouwh] - [#72283]) ([mqtt docs])
+- Move MQTT config schemas and client to separate modules ([@emontnemery] - [#71995]) ([mqtt docs])
+- Update MQTT tests to use the config entry setup ([@jbouwh] - [#72373]) ([mqtt docs])
+- Remove announce workaround for Sonos ([@jjlawren] - [#72854]) ([sonos docs])
+- Update frontend to 20220601.0 ([@bramkragten] - [#72855]) ([frontend docs])
+- Ensure recorder shuts down when its startup future is canceled out from under it ([@bdraco] - [#72866]) ([recorder docs])
+- Fix logbook not setting up with an recorder filter that has empty fields ([@bdraco] - [#72869]) ([recorder docs]) ([logbook docs])
+- Only present history_stats state as unknown if the time is in the future ([@bdraco] - [#72880]) ([history_stats docs])
+- Fix migration of MySQL data when InnoDB is not being used ([@bdraco] - [#72893]) ([recorder docs])
+- Fix performance of logbook entity and devices queries with large MySQL databases ([@bdraco] - [#72898]) ([logbook docs])
+- Fix reload of MQTT yaml config ([@emontnemery] - [#72901]) ([mqtt docs])
+- Bump yolink-api to 0.0.6 ([@matrixd2] - [#72903]) ([yolink docs])
+- Fix logging & exit code reporting to S6 on HA shutdown ([@nojocodex] - [#72921])
+- Fix bug in caldav and avoid unnecessary copy of dataclass ([@allenporter] - [#72922]) ([caldav docs])
+- Fix Hive authentication ([@KJonline] - [#72929]) ([hive docs])
+- Only sync when HA is started up as we already sync at startup ([@balloob] - [#72940]) ([cloud docs])
+- Fix misalignments between sql based filtering with the entityfilter based filtering ([@bdraco] - [#72936]) ([recorder docs])
+- Only create auto comfort entities for BAF devices that support them ([@bdraco] - [#72948]) ([baf docs])
+
+[#71995]: https://github.com/home-assistant/core/pull/71995
+[#72283]: https://github.com/home-assistant/core/pull/72283
+[#72373]: https://github.com/home-assistant/core/pull/72373
+[#72854]: https://github.com/home-assistant/core/pull/72854
+[#72855]: https://github.com/home-assistant/core/pull/72855
+[#72866]: https://github.com/home-assistant/core/pull/72866
+[#72869]: https://github.com/home-assistant/core/pull/72869
+[#72880]: https://github.com/home-assistant/core/pull/72880
+[#72893]: https://github.com/home-assistant/core/pull/72893
+[#72898]: https://github.com/home-assistant/core/pull/72898
+[#72901]: https://github.com/home-assistant/core/pull/72901
+[#72903]: https://github.com/home-assistant/core/pull/72903
+[#72921]: https://github.com/home-assistant/core/pull/72921
+[#72922]: https://github.com/home-assistant/core/pull/72922
+[#72929]: https://github.com/home-assistant/core/pull/72929
+[#72936]: https://github.com/home-assistant/core/pull/72936
+[#72940]: https://github.com/home-assistant/core/pull/72940
+[#72948]: https://github.com/home-assistant/core/pull/72948
+[@KJonline]: https://github.com/KJonline
+[@allenporter]: https://github.com/allenporter
+[@balloob]: https://github.com/balloob
+[@bdraco]: https://github.com/bdraco
+[@bramkragten]: https://github.com/bramkragten
+[@emontnemery]: https://github.com/emontnemery
+[@jbouwh]: https://github.com/jbouwh
+[@jjlawren]: https://github.com/jjlawren
+[@matrixd2]: https://github.com/matrixd2
+[@nojocodex]: https://github.com/nojocodex
+[baf docs]: /integrations/baf/
+[caldav docs]: /integrations/caldav/
+[cloud docs]: /integrations/cloud/
+[frontend docs]: /integrations/frontend/
+[history_stats docs]: /integrations/history_stats/
+[hive docs]: /integrations/hive/
+[logbook docs]: /integrations/logbook/
+[mqtt docs]: /integrations/mqtt/
+[recorder docs]: /integrations/recorder/
+[sonos docs]: /integrations/sonos/
+[yolink docs]: /integrations/yolink/
+
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
@@ -468,7 +530,7 @@ the documentation of the specific integration on how to configure this.
If you run Home Assistant Container in Docker (e.g., using Portainer,
Docker (Compose), QNAP, and others), please make sure you are not specifying
-an init process.
+an init process.
This can be an `init` configuration option in your Docker management tools or
Docker Compose, or the `--init` command line flag on the raw Docker command.
@@ -722,7 +784,7 @@ removed from your YAML configuration files.
A new configuration key for KNX covers `invert_updown` can be set to
invert the up-down payload (binary) of covers independently of the
-position percentage.
+position percentage.
Previously up-down (`move_long_address`) payloads were inverted
when `invert_position: true` was configured. This now only inverts
@@ -1038,7 +1100,7 @@ removed from your YAML configuration after upgrading.
The Squeezebox player synchronization framework has been updated to use the
standard `media_player.join` and `media_player.unjoin` services. The
list of synchronized players is now stored in the `group_members` state
-attribute.
+attribute.
The `squeezebox.sync` and `squeezebox.unsync` services are now deprecated,
and will be removed in two releases in favor of the standard
From fbcd379e1758c899249cc7127d5d9260b514d232 Mon Sep 17 00:00:00 2001
From: Stephen Jones
Date: Fri, 3 Jun 2022 11:10:40 +0100
Subject: [PATCH 06/53] Correcting some typos (#22968)
---
source/_integrations/google.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/source/_integrations/google.markdown b/source/_integrations/google.markdown
index ffa2d10c49b..0d6f864584a 100644
--- a/source/_integrations/google.markdown
+++ b/source/_integrations/google.markdown
@@ -38,7 +38,7 @@ This section explains how to generate a Client ID and Client Secret on
1. You will then be automatically taken to the OAuth consent screen, you do not need to add any scopes here so click `SAVE AND CONTINUE` to move to the `Test users` page. You will need to add the Gmail address you will be using with this integration as a test user before you will be allowed to use the API. Once you have added your email address under `Test users` click `SAVE AND CONTINUE` which will take to the 'Summary' page (you do not need to do anything here).
1. Click Credentials in the menu on the left hand side of the screen, then click `+ Create credentials` (at the top of the screen), then select `OAuth client ID`.
1. Set the Application type to `TV and Limited Input` and give this credential set a name (like "Home Assistant Credentials") then click 'Create'.
-1. You will then be presented with a pop-up saying 'OAuth client created' showing `Your Client ID` and `Your Client Secret`. Make a note of these (for example, copy and paste them into a text editor) as you will need to put these in your `configuration.yaml` file shortly. Once you have noted these strings, click `OK`. If you need to find these credentials again at any point then simply navigate to `APIs & Services` > `Credentials` and you will see `Home Assistant Credentials` (or whatever you named them in the previous step) under `OAuth 2.0 Clident IDs`. To view both the `Client ID` and `Client secret`, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page.
+1. You will then be presented with a pop-up saying 'OAuth client created' showing `Your Client ID` and `Your Client Secret`. Make a note of these (for example, copy and paste them into a text editor) as you will need to put these in your `configuration.yaml` file shortly. Once you have noted these strings, click `OK`. If you need to find these credentials again at any point then simply navigate to `APIs & Services` > `Credentials` and you will see `Home Assistant Credentials` (or whatever you named them in the previous step) under `OAuth 2.0 Client IDs`. To view both the `Client ID` and `Client secret`, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page.
1. We need to double check that the "Google Calendar API" has been automatically enabled. To do this, select `Library` from the menu, then search for "Google Calendar API". If it is enabled you will see `API Enabled` with a green tick next to it. If it is not enabled, then enable it.
{% enddetails %}
@@ -161,7 +161,7 @@ compatible with other Home Assistant features, but this documentation is availab
for existing users.
-The integration supports additional configuration from a file `google_calendars.yaml` which is avaialble for existing users before version `2022.06`. This file is no longer automatically populated.
+The integration supports additional configuration from a file `google_calendars.yaml` which is available for existing users before version `2022.06`. This file is no longer automatically populated.
{% configuration %}
cal_id:
From 816b73cc29c47385f35fcd26263951c2d08e1b30 Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Sat, 4 Jun 2022 13:37:25 +0200
Subject: [PATCH 07/53] 2022.6: Update release party, fix MQTT example (#22960)
---
source/_posts/2022-06-01-release-20226.markdown | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/source/_posts/2022-06-01-release-20226.markdown b/source/_posts/2022-06-01-release-20226.markdown
index f6c98c4d627..b392b52aaaf 100644
--- a/source/_posts/2022-06-01-release-20226.markdown
+++ b/source/_posts/2022-06-01-release-20226.markdown
@@ -65,21 +65,10 @@ Enjoy the release (and upcoming events)!
- [Farewell to the following](#farewell-to-the-following)
- [All changes](#all-changes)
-Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=LVDex3IV44M) today at 12:00 PDT / 21:00 CET!
-
-
-
-
-
-{% comment %}
-
-
Missed our release party live stream on YouTube? Don't worry! You can watch
the recording of it right here!
-
-
-{% endcomment %}
+
## Comparing data in the energy dashboard
@@ -443,8 +432,8 @@ The configuration needs to be updated to this format:
```yaml
mqtt:
sensor:
- - name: "My sensor"
- state_topic: "some-state-topic"
+ - name: "My sensor"
+ state_topic: "some-state-topic"
```
([@jbouwh] - [#71676] [#72183] [#72281] [#72249] [#72271] [#72167] [#72165] [#72251] [#72279] [#72268] [#72272] [#72273] [#72274] [#72278] [#72270]) ([documentation](/integrations/mqtt))
From 0ee16e8a1038cc4bbcd025cc2bb3f1fda286f79e Mon Sep 17 00:00:00 2001
From: Sven Serlier <85389871+wrt54g@users.noreply.github.com>
Date: Sat, 4 Jun 2022 13:41:32 +0200
Subject: [PATCH 08/53] Increase number of integrations. (#22912)
---
source/help/talking-points.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/help/talking-points.markdown b/source/help/talking-points.markdown
index d72608fbb05..39085087922 100644
--- a/source/help/talking-points.markdown
+++ b/source/help/talking-points.markdown
@@ -7,7 +7,7 @@ sidebar: false
People are starting to present Home Assistant at meetings and get-togethers. Below you find a couple of bullet points for your presentation.
- [Numbers, numbers, numbers](/help/trivia/) and other details
-- Over 1000 implementations
+- Over 1900 implementations
- Not depending on cloud services. We like to keep your privacy private
- Control all your devices from a single, mobile-friendly interface
- Written in Python3 with 94% test coverage
From f875e855d4fabd51c3af2675ae94f69f68de6599 Mon Sep 17 00:00:00 2001
From: Jens Ihnow
Date: Sat, 4 Jun 2022 13:43:01 +0200
Subject: [PATCH 09/53] Updates Conrad ESP32-C3 link to international site
(#22948)
---
...5-29-matter-in-home-assistant-workshop-announcement.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown b/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown
index 15cc860541c..83160a3dd5c 100644
--- a/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown
+++ b/source/_posts/2022-05-29-matter-in-home-assistant-workshop-announcement.markdown
@@ -30,7 +30,7 @@ The workshop will be free but you will need a couple of things if you want to be
- Home Assistant OS 8.0 or newer (Matter relies on an add-on and Bluetooth)
- [Home Assistant Community Store](https://hacs.xyz/) installed
-- Espressif ESP32-C3-DevKitM-1 ($9 @ [Mouser](https://www.mouser.com/ProductDetail/356-ESP32-C3DEVKITM1), €17 @ [Conrad](https://www.conrad.de/de/p/espressif-entwicklungsboard-esp32-c3-devkitm-1-2490158.html)) or M5Stamp C3 ($6 @ [M5Stack](https://twitter.com/home_assistant/status/1531712479016890369))
+- Espressif ESP32-C3-DevKitM-1 ($9 @ [Mouser](https://www.mouser.com/ProductDetail/356-ESP32-C3DEVKITM1), €17 @ [Conrad](https://www.conrad.com/p/espressif-pcb-design-board-esp32-c3-devkitm-1-2490158)) or M5Stamp C3 ($6 @ [M5Stack](https://twitter.com/home_assistant/status/1531712479016890369))
- Bluetooth. If you use a Raspberry Pi to run Home Assistant you’re set. If you have a Home Assistant Blue or another device without Bluetooth, get a Bluetooth USB adapter that is supported by Home Assistant OS ([like this one](https://www.amazon.com/gp/product/B09DMP6T22/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B09DMP6T22&linkCode=as2&tag=homeassista0e-20&linkId=c5046239bf04d5b21835299dfb393f0e)).
Even if you can’t follow along, it will still be an informative session!
From af1c6f4b5ad03e35e76689b37eb766520b5041bc Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Sat, 4 Jun 2022 21:15:08 +0000
Subject: [PATCH 10/53] 2022.6.2
---
_config.yml | 4 +-
.../_posts/2022-06-01-release-20226.markdown | 46 +++++++++++++++++++
2 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/_config.yml b/_config.yml
index d239023848c..acfdc749a03 100644
--- a/_config.yml
+++ b/_config.yml
@@ -107,8 +107,8 @@ social:
# Home Assistant release details
current_major_version: 2022
current_minor_version: 6
-current_patch_version: 1
-date_released: 2022-06-03
+current_patch_version: 2
+date_released: 2022-06-04
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_posts/2022-06-01-release-20226.markdown b/source/_posts/2022-06-01-release-20226.markdown
index b392b52aaaf..459013f7037 100644
--- a/source/_posts/2022-06-01-release-20226.markdown
+++ b/source/_posts/2022-06-01-release-20226.markdown
@@ -60,6 +60,7 @@ Enjoy the release (and upcoming events)!
- [New Integrations](#new-integrations)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Release 2022.6.1 - June 2](#release-202261---june-2)
+- [Release 2022.6.2 - June 4](#release-202262---june-4)
- [Need help? Join the community!](#need-help-join-the-community)
- [Breaking Changes](#breaking-changes)
- [Farewell to the following](#farewell-to-the-following)
@@ -387,6 +388,51 @@ The following integrations are now available via the Home Assistant UI:
[sonos docs]: /integrations/sonos/
[yolink docs]: /integrations/yolink/
+## Release 2022.6.2 - June 4
+
+- Fix statistics_during_period being incorrectly cached ([@bdraco] - [#72947]) ([history docs])
+- Allow `log` template function to return specified `default` on math domain error ([@XaF] - [#72960])
+- Bump pynetgear to 0.10.4 ([@starkillerOG] - [#72965]) ([netgear docs])
+- Bump bimmer_connected to 0.9.4 ([@rikroe] - [#72973]) ([bmw_connected_drive docs])
+- fjaraskupan: Don't filter anything in backend ([@elupus] - [#72988]) ([fjaraskupan docs])
+- Check ISY994 climate for unknown humidity value on Z-Wave Thermostat ([@shbatm] - [#72990]) ([isy994 docs])
+- Fix google calendar bug where expired tokens are not refreshed ([@allenporter] - [#72994]) ([google docs])
+- Provide Sonos media position if duration not available ([@jjlawren] - [#73001]) ([sonos docs])
+- Bump pypck to 0.7.15 ([@alengwenus] - [#73009]) ([lcn docs])
+- Fix missing historical context data in logbook for MySQL and PostgreSQL ([@bdraco] - [#73011]) ([recorder docs])
+- Fix history stats not comparing all times in UTC ([@bdraco] - [#73040]) ([history_stats docs])
+
+[#72947]: https://github.com/home-assistant/core/pull/72947
+[#72960]: https://github.com/home-assistant/core/pull/72960
+[#72965]: https://github.com/home-assistant/core/pull/72965
+[#72973]: https://github.com/home-assistant/core/pull/72973
+[#72988]: https://github.com/home-assistant/core/pull/72988
+[#72990]: https://github.com/home-assistant/core/pull/72990
+[#72994]: https://github.com/home-assistant/core/pull/72994
+[#73001]: https://github.com/home-assistant/core/pull/73001
+[#73009]: https://github.com/home-assistant/core/pull/73009
+[#73011]: https://github.com/home-assistant/core/pull/73011
+[#73040]: https://github.com/home-assistant/core/pull/73040
+[@XaF]: https://github.com/XaF
+[@alengwenus]: https://github.com/alengwenus
+[@allenporter]: https://github.com/allenporter
+[@bdraco]: https://github.com/bdraco
+[@elupus]: https://github.com/elupus
+[@jjlawren]: https://github.com/jjlawren
+[@rikroe]: https://github.com/rikroe
+[@shbatm]: https://github.com/shbatm
+[@starkillerOG]: https://github.com/starkillerOG
+[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
+[fjaraskupan docs]: /integrations/fjaraskupan/
+[google docs]: /integrations/google/
+[history docs]: /integrations/history/
+[history_stats docs]: /integrations/history_stats/
+[isy994 docs]: /integrations/isy994/
+[lcn docs]: /integrations/lcn/
+[netgear docs]: /integrations/netgear/
+[recorder docs]: /integrations/recorder/
+[sonos docs]: /integrations/sonos/
+
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
From 0958279b1c36bdf5ebe8dfeabdfd5d1656418cf3 Mon Sep 17 00:00:00 2001
From: Frank
Date: Sat, 4 Jun 2022 23:40:18 -0400
Subject: [PATCH 11/53] Fix spelling on unifi_direct (#22994)
---
source/_integrations/unifi_direct.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_integrations/unifi_direct.markdown b/source/_integrations/unifi_direct.markdown
index 7af47b5d2ee..47567766a90 100644
--- a/source/_integrations/unifi_direct.markdown
+++ b/source/_integrations/unifi_direct.markdown
@@ -11,7 +11,7 @@ ha_platforms:
ha_integration_type: integration
---
-This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ui.com/products/#unifi). This device tracker differs form [Ubiquiti UniFi](/integrations/unifi) because it doesn't require the UniFi controller software.
+This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ui.com/products/#unifi). This device tracker differs from [Ubiquiti UniFi](/integrations/unifi) because it doesn't require the UniFi controller software.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
From ae1a72034575f96b22b0c6cad5efd71657c60174 Mon Sep 17 00:00:00 2001
From: Sven Serlier <85389871+wrt54g@users.noreply.github.com>
Date: Mon, 6 Jun 2022 13:26:05 +0200
Subject: [PATCH 12/53] Update URLs (#23006)
* Update RaspBeeII URL
* Update URL
* Update URL
* Update URL
* Update URL
* Remove en from phoscon URL
---
source/_integrations/zha.markdown | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index 388c787c9c7..7670485e46e 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -79,14 +79,14 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl
- dresden elektronik deCONZ based Zigbee radios (via the [zigpy-deconz](https://github.com/zigpy/zigpy-deconz) library for zigpy)
- [ConBee II (a.k.a. ConBee 2) USB adapter from dresden elektronik](https://phoscon.de/conbee2)
- [ConBee USB adapter from dresden elektronik](https://phoscon.de/conbee)
- - [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://www.dresden-elektronik.com/product/raspbee-II.html)
+ - [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee2)
- [RaspBee Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee)
- Silicon Labs EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
- - [ITead Zigbee 3.0 USB Dongle (EFR32MG21) Model 9888010100045](https://www.itead.cc/zigbee-3-0-usb-dongle.html)
- - [ITead Sonoff ZBBridge](https://www.itead.cc/smart-home/sonoff-zbbridge.html) (Note! [WiFi-based bridges are not recommended for ZHA with EZSP radios](https://github.com/home-assistant/home-assistant.io/issues/17170). Also, this first have to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware to use as Serial-to-IP adapter](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
+ - [ITead Zigbee 3.0 USB Dongle (EFR32MG21) Model 9888010100045](https://itead.cc/product/zigbee-3-0-usb-dongle/)
+ - [ITead Sonoff ZBBridge](https://itead.cc/product/sonoff-zbbridge/) (Note! [WiFi-based bridges are not recommended for ZHA with EZSP radios](https://github.com/home-assistant/home-assistant.io/issues/17170). Also, this first have to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware to use as Serial-to-IP adapter](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
- [Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee Ember 3581 USB Adapter)](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/walthowd/husbzb-firmware))
- - [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html)/[POPP ZB-Stick](https://shop.zwave.eu/detail/index/sArticle/2496) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
- - [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
+ - [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs-usb-adapter.html)/[POPP ZB-Stick](https://shop.zwave.eu/detail/index/sArticle/2496) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
+ - [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs-zigbee-shield.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
- [Bitron Video/Smabit BV AV2010/10 USB-Stick](https://bv.smabit.eu/index.php/smart-home-produkte/zb-funkstick/) with Silicon Labs Ember 3587
- Telegesis ETRX357USB/ETRX357USB-LR/ETRX357USB-LRS+8M (Note! These first have to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware))
- Texas Instruments based radios (via the [zigpy-znp](https://github.com/zigpy/zigpy-znp) library for zigpy)
@@ -173,7 +173,7 @@ Some devices can be auto-discovered, which can simplify the ZHA setup process. T
| -------| ---------------- | ---------- |
| [ITead SONOFF Zigbee 3.0 USB Dongle Plus](https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus/) | USB | 10C4:EA60 |
| [Bitron Video/SMaBiT BV AV2010/10](https://bv.smabit.eu/index.php/smart-home-produkte/zb-funkstick/) | USB | 10C4:8B34 |
-| [ConBee II](https://phoscon.de/en/conbee2) | USB | 1CF1:0030 |
+| [ConBee II](https://phoscon.de/conbee2) | USB | 1CF1:0030 |
| [Nortek HUSBZB-1](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) | USB | 10C4:8A2A |
| [slae.sh CC2652RB development stick](https://slae.sh/projects/cc2652/) | USB | 10C4:EA60 |
| [ZigStar Stick (CC2652 + CH340B variant)](https://zig-star.com/projects/zigbee-stick-v4/) | USB | 1A86:7523 |
From 9708e7f2b53e3f8635aa08f2924b86ea14e5d5b7 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Mon, 6 Jun 2022 19:24:15 +0000
Subject: [PATCH 13/53] 2022.6.3
---
_config.yml | 4 +-
.../_posts/2022-06-01-release-20226.markdown | 60 +++++++++++++++++++
2 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/_config.yml b/_config.yml
index acfdc749a03..20b8c727186 100644
--- a/_config.yml
+++ b/_config.yml
@@ -107,8 +107,8 @@ social:
# Home Assistant release details
current_major_version: 2022
current_minor_version: 6
-current_patch_version: 2
-date_released: 2022-06-04
+current_patch_version: 3
+date_released: 2022-06-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.
diff --git a/source/_posts/2022-06-01-release-20226.markdown b/source/_posts/2022-06-01-release-20226.markdown
index 459013f7037..82e8b3ad372 100644
--- a/source/_posts/2022-06-01-release-20226.markdown
+++ b/source/_posts/2022-06-01-release-20226.markdown
@@ -61,6 +61,7 @@ Enjoy the release (and upcoming events)!
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Release 2022.6.1 - June 2](#release-202261---june-2)
- [Release 2022.6.2 - June 4](#release-202262---june-4)
+- [Release 2022.6.3 - June 6](#release-202263---june-6)
- [Need help? Join the community!](#need-help-join-the-community)
- [Breaking Changes](#breaking-changes)
- [Farewell to the following](#farewell-to-the-following)
@@ -433,6 +434,65 @@ The following integrations are now available via the Home Assistant UI:
[recorder docs]: /integrations/recorder/
[sonos docs]: /integrations/sonos/
+## Release 2022.6.3 - June 6
+
+- Throttle multiple requests to the velux gateway ([@marcelveldt] - [#72974]) ([velux docs])
+- Bump wallbox to 0.4.9 ([@hesselonline] - [#72978]) ([wallbox docs])
+- Fix fibaro cover detection ([@rappenze] - [#72986]) ([fibaro docs])
+- Reduce branching in generated lambda_stmts ([@bdraco] - [#73042]) ([recorder docs])
+- Send an empty logbook response when all requested entity_ids are filtered away ([@bdraco] - [#73046]) ([logbook docs])
+- Bump aiolookup to 0.1.1 ([@bdraco] - [#73048]) ([lookin docs])
+- Bump simplisafe-python to 2022.06.0 ([@bachya] - [#73054]) ([simplisafe docs])
+- Fix unhandled exception when RainMachine coordinator data doesn't exist ([@bachya] - [#73055]) ([rainmachine docs])
+- Bump regenmaschine to 2022.06.0 ([@bachya] - [#73056]) ([rainmachine docs])
+- Fix incompatiblity with live logbook and google_assistant ([@bdraco] - [#73063]) ([logbook docs])
+- Fix elk attributes not being json serializable ([@gwww] - [#73096]) ([elkm1 docs])
+- Mark counter domain as continuous to exclude it from logbook ([@bdraco] - [#73101]) ([logbook docs])
+- Tomorrowio utc fix ([@lymanepp] - [#73102]) ([tomorrowio docs])
+- Remove available property from Kodi ([@Bikonja] - [#73103]) ([kodi docs])
+- Point iAlarm XR at PyPI fork ([@balloob] - [#73143]) ([ialarm_xr docs])
+- Fix state_changes_during_period history query when no entities are passed ([@bdraco] - [#73139]) ([recorder docs])
+- Remove unused code from logbook ([@bdraco] - [#72950]) ([logbook docs])
+
+[#72950]: https://github.com/home-assistant/core/pull/72950
+[#72974]: https://github.com/home-assistant/core/pull/72974
+[#72978]: https://github.com/home-assistant/core/pull/72978
+[#72986]: https://github.com/home-assistant/core/pull/72986
+[#73042]: https://github.com/home-assistant/core/pull/73042
+[#73046]: https://github.com/home-assistant/core/pull/73046
+[#73048]: https://github.com/home-assistant/core/pull/73048
+[#73054]: https://github.com/home-assistant/core/pull/73054
+[#73055]: https://github.com/home-assistant/core/pull/73055
+[#73056]: https://github.com/home-assistant/core/pull/73056
+[#73063]: https://github.com/home-assistant/core/pull/73063
+[#73096]: https://github.com/home-assistant/core/pull/73096
+[#73101]: https://github.com/home-assistant/core/pull/73101
+[#73102]: https://github.com/home-assistant/core/pull/73102
+[#73103]: https://github.com/home-assistant/core/pull/73103
+[#73139]: https://github.com/home-assistant/core/pull/73139
+[#73143]: https://github.com/home-assistant/core/pull/73143
+[@Bikonja]: https://github.com/Bikonja
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bdraco]: https://github.com/bdraco
+[@gwww]: https://github.com/gwww
+[@hesselonline]: https://github.com/hesselonline
+[@lymanepp]: https://github.com/lymanepp
+[@marcelveldt]: https://github.com/marcelveldt
+[@rappenze]: https://github.com/rappenze
+[elkm1 docs]: /integrations/elkm1/
+[fibaro docs]: /integrations/fibaro/
+[ialarm_xr docs]: /integrations/ialarm_xr/
+[kodi docs]: /integrations/kodi/
+[logbook docs]: /integrations/logbook/
+[lookin docs]: /integrations/lookin/
+[rainmachine docs]: /integrations/rainmachine/
+[recorder docs]: /integrations/recorder/
+[simplisafe docs]: /integrations/simplisafe/
+[tomorrowio docs]: /integrations/tomorrowio/
+[velux docs]: /integrations/velux/
+[wallbox docs]: /integrations/wallbox/
+
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
From 5c2bf612653e7bab9028941d6254d9afa40fcebd Mon Sep 17 00:00:00 2001
From: Sven Serlier <85389871+wrt54g@users.noreply.github.com>
Date: Tue, 7 Jun 2022 10:21:39 +0200
Subject: [PATCH 14/53] Reduce image size (#23000)
---
source/getting-started/automation.markdown | 2 +-
.../social.png | Bin 104340 -> 85356 bytes
.../quick-bar/disable-shortcuts-toggle.png | Bin 78326 -> 56091 bytes
.../getting-started/automation-editor.png | Bin 40820 -> 37062 bytes
.../device_automation_finish.png | Bin 91084 -> 83285 bytes
.../device_automation_new.png | Bin 102205 -> 95276 bytes
.../screenshots/button_classes_icons.png | Bin 8546 -> 6031 bytes
7 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown
index 8ae66f3f7e4..c89d4147b92 100644
--- a/source/getting-started/automation.markdown
+++ b/source/getting-started/automation.markdown
@@ -12,7 +12,7 @@ In the user interface, click Configuration in the sidebar, then click Automation
The automation editor.
-Click the orange button at the bottom right to create a new automation. You are presented with a blank automation screen.
+Click the blue button at the bottom right to create a new automation. You are presented with a blank automation screen.
diff --git a/source/images/blog/2022-05-matter-in-home-assistant-workshop-announcement/social.png b/source/images/blog/2022-05-matter-in-home-assistant-workshop-announcement/social.png
index 7943acd59780f6905c9b28eaeb372cb1d6d2f41e..87bf8ae91907165ba0e32c0814edca7aed4aa16d 100644
GIT binary patch
literal 85356
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