From 754888eb2b0b3fdae5f037fb1616d0ddf3a6509a Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 11 Nov 2020 18:48:27 +0100 Subject: [PATCH 01/27] 0.117.6 (#15614) --- _config.yml | 4 ++-- source/_posts/2020-10-28-release-117.markdown | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 6983d5c4d3b..41b824f4db0 100644 --- a/_config.yml +++ b/_config.yml @@ -100,8 +100,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 117 -current_patch_version: 5 -date_released: 2020-11-05 +current_patch_version: 6 +date_released: 2020-11-11 # 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/2020-10-28-release-117.markdown b/source/_posts/2020-10-28-release-117.markdown index eb082184277..f63ea27ed91 100644 --- a/source/_posts/2020-10-28-release-117.markdown +++ b/source/_posts/2020-10-28-release-117.markdown @@ -60,6 +60,7 @@ So, keep an eye on our social media for the announcement. - [Release 0.117.3 - November 4](#release-01173---november-4) - [Release 0.117.4 - November 4](#release-01174---november-4) - [Release 0.117.5 - November 5](#release-01175---november-5) +- [Release 0.117.6 - November 11](#release-01176---november-11) - [If you need help...](#if-you-need-help) - [Breaking Changes](#breaking-changes) - [Farewell to the following](#farewell-to-the-following) @@ -481,6 +482,24 @@ The following integrations are now available via the Home Assistant UI: [simplisafe docs]: /integrations/simplisafe/ [tasmota docs]: /integrations/tasmota/ +## Release 0.117.6 - November 11 + +- Remove unneeded state restoration of the physical device in rpi_gpio_pwm integration ([@soldag] - [#42804]) ([rpi_gpio_pwm docs]) +- Bump pwmled to v1.6.7 ([@soldag] - [#42903]) ([rpi_gpio_pwm docs]) +- Bump gTTS-token to 1.1.4 ([@hmmbob] - [#43015]) ([google_translate docs]) +- Fix Plex auth issues by setting header ([@jjlawren] - [#43081]) ([plex docs]) + +[#42804]: https://github.com/home-assistant/core/pull/42804 +[#42903]: https://github.com/home-assistant/core/pull/42903 +[#43015]: https://github.com/home-assistant/core/pull/43015 +[#43081]: https://github.com/home-assistant/core/pull/43081 +[@hmmbob]: https://github.com/hmmbob +[@jjlawren]: https://github.com/jjlawren +[@soldag]: https://github.com/soldag +[google_translate docs]: /integrations/google_translate/ +[plex docs]: /integrations/plex/ +[rpi_gpio_pwm docs]: /integrations/rpi_gpio_pwm/ + ## If you need help... ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). From 9bbcc225371dc51797ae765a65e9da4f846fd70b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 12 Nov 2020 16:56:48 +0100 Subject: [PATCH 02/27] Update OS 4.16 / add Odroid C4 beta (#15622) Co-authored-by: Stefan Agner --- source/hassio/installation.markdown | 37 +++++++++++++++-------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 61815606003..a3cd11ba8c7 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -14,7 +14,7 @@ The following will take you through the steps required to install Home Assistant - [Raspberry Pi 4 Model B (1 GB, 2 GB and 4 GB model) 32-bit][pi4-32] (32-bit is required for GPIO support) - [Raspberry Pi 4 Model B (1 GB, 2 GB, 4 GB and 8 GB model) 64-bit][pi4-64] (64-bit is required for 8 GB model) - [Tinkerboard][tinker] - - [Odroid-C2][odroid-c2], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4] + - [Odroid-C2][odroid-c2], [Odroid-C4 (Beta)][odroid-c2], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4] - [Intel NUC][intel-nuc] - As a virtual appliance (x86_64/UEFI): @@ -105,23 +105,24 @@ If you would like to test next release before anyone else, you can install the b [balenaEtcher]: https://www.balena.io/etcher [hassos-network]: https://github.com/home-assistant/operating-system/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi0-w-4.15.img.gz -[pi1]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi-4.15.img.gz -[pi2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi2-4.15.img.gz -[pi3-32]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi3-4.15.img.gz -[pi3-64]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi3-64-4.15.img.gz -[pi4-32]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi4-4.15.img.gz -[pi4-64]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi4-64-4.15.img.gz -[tinker]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_tinker-4.15.img.gz -[odroid-c2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_odroid-c2-4.15.img.gz -[odroid-n2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_odroid-n2-4.15.img.gz -[odroid-xu4]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_odroid-xu4-4.15.img.gz -[intel-nuc]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_intel-nuc-4.15.img.gz -[vmdk]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.vmdk.gz -[vhdx]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.vhdx.gz -[vdi]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.vdi.gz -[qcow2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.qcow2.gz -[Virtual Appliance]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.ova +[pi0-w]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi0-w-4.16.img.gz +[pi1]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi-4.16.img.gz +[pi2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi2-4.16.img.gz +[pi3-32]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi3-4.16.img.gz +[pi3-64]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi3-64-4.16.img.gz +[pi4-32]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi4-4.16.img.gz +[pi4-64]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi4-64-4.16.img.gz +[tinker]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_tinker-4.16.img.gz +[odroid-c2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_odroid-c2-4.16.img.gz +[odroid-c4]: https://github.com/home-assistant/operating-system/releases/download/5.5/hassos_odroid-c4-5.5.img.gz +[odroid-n2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_odroid-n2-4.16.img.gz +[odroid-xu4]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_odroid-xu4-4.16.img.gz +[intel-nuc]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_intel-nuc-4.16.img.gz +[vmdk]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.vmdk.gz +[vhdx]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.vhdx.gz +[vdi]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.vdi.gz +[qcow2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.qcow2.gz +[Virtual Appliance]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.ova [local]: http://homeassistant.local:8123 [samba]: /addons/samba/ [ssh]: /addons/ssh/ From 2ea3c99adf3e94902fadc256e1e7e5c0645f0872 Mon Sep 17 00:00:00 2001 From: ubergeek801 <32342121+ubergeek801@users.noreply.github.com> Date: Thu, 12 Nov 2020 20:00:23 -0700 Subject: [PATCH 03/27] fixing odroid-c4 image link (#15630) --- source/hassio/installation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index a3cd11ba8c7..99f1641478b 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -14,7 +14,7 @@ The following will take you through the steps required to install Home Assistant - [Raspberry Pi 4 Model B (1 GB, 2 GB and 4 GB model) 32-bit][pi4-32] (32-bit is required for GPIO support) - [Raspberry Pi 4 Model B (1 GB, 2 GB, 4 GB and 8 GB model) 64-bit][pi4-64] (64-bit is required for 8 GB model) - [Tinkerboard][tinker] - - [Odroid-C2][odroid-c2], [Odroid-C4 (Beta)][odroid-c2], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4] + - [Odroid-C2][odroid-c2], [Odroid-C4 (Beta)][odroid-c4], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4] - [Intel NUC][intel-nuc] - As a virtual appliance (x86_64/UEFI): From 4ab94da8e8084ed29e956e9f4d891b97c07917ea Mon Sep 17 00:00:00 2001 From: Steve Brandt Date: Fri, 13 Nov 2020 08:58:50 +0100 Subject: [PATCH 04/27] Update opensky.markdown (#15628) Latitude and longitude added to the event attributes description --- source/_integrations/opensky.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/opensky.markdown b/source/_integrations/opensky.markdown index 86b46b4608e..8900721f85a 100644 --- a/source/_integrations/opensky.markdown +++ b/source/_integrations/opensky.markdown @@ -37,6 +37,8 @@ Both events have three attributes: - **sensor**: Name of `opensky` sensor that fired the event. - **callsign**: Callsign of the flight. +- **latitude**: Latitude of the flight. +- **longitude**: Longitude of the flight. - **altitude**: Altitude of the flight in meters. To receive notifications of the entering flights using the [Home Assistant Companion App](https://companion.home-assistant.io/), add the following lines to your `configuration.yaml` file: From 4126fde0fd75afa62dcb972266a5f80d9e3a6a08 Mon Sep 17 00:00:00 2001 From: Simone Chemelli Date: Fri, 13 Nov 2020 13:10:59 +0100 Subject: [PATCH 05/27] Removed relative time sensor from description (#15632) --- source/_integrations/cert_expiry.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/cert_expiry.markdown b/source/_integrations/cert_expiry.markdown index 1823fb68cae..91d3661b90e 100644 --- a/source/_integrations/cert_expiry.markdown +++ b/source/_integrations/cert_expiry.markdown @@ -12,7 +12,7 @@ ha_codeowners: ha_domain: cert_expiry --- -The `cert_expiry` integration fetches the certificate from a configured host and displays its expiration in both timestamp and days-to-expiry sensors. +The `cert_expiry` integration fetches the certificate from a configured host and displays its expiration in a timestamp sensor. ## Configuration From db5f927340f5a9b5c5c4d8ca15d16ac1cacd1b30 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 13 Nov 2020 13:24:00 +0100 Subject: [PATCH 06/27] Revert "Removed relative time sensor from description" (#15633) This reverts commit 4126fde0fd75afa62dcb972266a5f80d9e3a6a08. --- source/_integrations/cert_expiry.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/cert_expiry.markdown b/source/_integrations/cert_expiry.markdown index 91d3661b90e..1823fb68cae 100644 --- a/source/_integrations/cert_expiry.markdown +++ b/source/_integrations/cert_expiry.markdown @@ -12,7 +12,7 @@ ha_codeowners: ha_domain: cert_expiry --- -The `cert_expiry` integration fetches the certificate from a configured host and displays its expiration in a timestamp sensor. +The `cert_expiry` integration fetches the certificate from a configured host and displays its expiration in both timestamp and days-to-expiry sensors. ## Configuration From b29df508cf74f2b0670a3f97e6e1f45df0e6c89c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 13 Nov 2020 13:39:53 +0100 Subject: [PATCH 07/27] Add new article from Opensource.com and Thomas Krenn award 2020 (#15631) --- source/help/index.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/help/index.markdown b/source/help/index.markdown index 6d79663742d..e9f387538b9 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -49,6 +49,8 @@ Looking for [talking points](/help/talking-points/) or [trivia](/help/trivia)? Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). +- [Why I use Home Assistant for open source home automation](https://opensource.com/article/20/11/home-assistant) - November 2020 +- [Thomas-Krenn-Award 2020: Dino, Teckids und Home Assistant](https://www.thomas-krenn.com/de/tkmag/allgemein/gewinner-thomas-krenn-award-2020/) - June 2020 - [Magical Smart Home Upgrade Lets Muggles Control Their Homes With a Wand Too](https://gizmodo.com/magical-smart-home-upgrade-lets-muggles-control-their-h-1833941228) - April 2019 - [Thomas-Krenn-Award 2019 – The winners](https://www.thomas-krenn.com/de/tkmag/tk-insights/thomas-krenn-award-2019-gewinner/) - March 2019 - [How to set up and use Home Assistant: For Dummies edition](https://www.the-ambient.com/how-to/set-up-use-home-assistant-644) - October 2018 From 501576baddc6027dc11918ffde5e0cc8bf0cca2a Mon Sep 17 00:00:00 2001 From: Arik Yavilevich Date: Fri, 13 Nov 2020 15:43:28 +0200 Subject: [PATCH 08/27] Fix broken url in Microsoft Text-to-Speech (TTS) docs (#15619) Url with / in the end doesn't work. --- source/_integrations/microsoft.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown index 74cbed16181..392c348e824 100644 --- a/source/_integrations/microsoft.markdown +++ b/source/_integrations/microsoft.markdown @@ -8,7 +8,7 @@ ha_release: 0.57 ha_domain: microsoft --- -The `microsoft` text-to-speech platform uses the [TTS engine of the Microsoft Speech Service](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Microsoft Speech API. For this integration to work, you need a free API key. You can use your [Azure subscription](https://azure.microsoft.com) to create an [Azure Speech resource](https://portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices/). +The `microsoft` text-to-speech platform uses the [TTS engine of the Microsoft Speech Service](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Microsoft Speech API. For this integration to work, you need a free API key. You can use your [Azure subscription](https://azure.microsoft.com) to create an [Azure Speech resource](https://portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices). ## Configuration From 4ceca389f503966bc12f7b6b94a4ba5f938cfae0 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 14 Nov 2020 12:56:58 +0100 Subject: [PATCH 09/27] Adjust supervisor settings for resolve mdns/llmnr (#15644) --- source/more-info/unsupported/network_manager.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/more-info/unsupported/network_manager.markdown b/source/more-info/unsupported/network_manager.markdown index 21fc69b51d6..1eb62ef35c3 100644 --- a/source/more-info/unsupported/network_manager.markdown +++ b/source/more-info/unsupported/network_manager.markdown @@ -26,7 +26,7 @@ physical interfaces. ```txt [main] -dns=default +dns=systemd-resolved plugins=keyfile autoconnect-retries-default=0 rc-manager=file @@ -41,6 +41,12 @@ backend=journal `/etc/NetworkManager/system-connections/default`: ```txt +id=Supervisor default +uuid=f62bf7c2-e565-49ff-bbfc-a4cf791e6add +type=802-3-ethernet +llmnr=2 +mdns=2 + [ipv4] method=auto From a3ec1b1ca4d583d7e353f582cc10653f2d0d2c49 Mon Sep 17 00:00:00 2001 From: splerman <45835603+splerman@users.noreply.github.com> Date: Sat, 14 Nov 2020 04:17:15 -0800 Subject: [PATCH 10/27] Update withings.markdown (#15643) Line 128 of Sample "Bonus" YAML- Change sensors: to sensor: to eliminate "Integration not found" error. (First time using GitHub. Hope I didn't violate any norms.) --- source/_integrations/withings.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown index 93dea322180..c753af7cc4e 100644 --- a/source/_integrations/withings.markdown +++ b/source/_integrations/withings.markdown @@ -125,7 +125,7 @@ In a text editor, replace ```USER_PROFILE_NAME``` in the template sensors below ```yaml # Example configuration.yaml entry -sensors: +sensor: - platform: template sensors: withings_weight_lbs_USER_PROFILE_NAME: From dac6e21aa6292093fb408b195c1cc1f1a2ff8d29 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Sat, 14 Nov 2020 13:32:45 +0100 Subject: [PATCH 11/27] Update "moon" integration screenshot (#15641) --- .../screenshots/more-info-dialog-moon.png | Bin 4963 -> 11465 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/screenshots/more-info-dialog-moon.png b/source/images/screenshots/more-info-dialog-moon.png index acc28369586c722818508f4a3454d4e503b4282c..67e36d7d348061a9bc3a9a27670d205bd8dc8c7c 100644 GIT binary patch literal 11465 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 literal 4963 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 From b65871fa5f3e57b588ae9544f324fb01c36366d8 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 14 Nov 2020 20:05:14 +0100 Subject: [PATCH 12/27] fix connection section (#15645) --- source/more-info/unsupported/network_manager.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/more-info/unsupported/network_manager.markdown b/source/more-info/unsupported/network_manager.markdown index 1eb62ef35c3..711739b2d88 100644 --- a/source/more-info/unsupported/network_manager.markdown +++ b/source/more-info/unsupported/network_manager.markdown @@ -26,7 +26,7 @@ physical interfaces. ```txt [main] -dns=systemd-resolved +dns=default plugins=keyfile autoconnect-retries-default=0 rc-manager=file @@ -41,8 +41,9 @@ backend=journal `/etc/NetworkManager/system-connections/default`: ```txt +[connection] id=Supervisor default -uuid=f62bf7c2-e565-49ff-bbfc-a4cf791e6add +uuid=b653440a-544a-4e4f-aef5-6c443171c4f8 type=802-3-ethernet llmnr=2 mdns=2 From a1a1a7a674d041aa44956c3c63feb8328fba76c0 Mon Sep 17 00:00:00 2001 From: Dmytro Vasylenko Date: Sat, 14 Nov 2020 21:24:19 +0200 Subject: [PATCH 13/27] Update alexa.smart_home.markdown (#15647) Probably it's obvious to people working with lambda functions but I think for most people it would not. An i saw several community threads when people facing issues with "helow world" response instead of discovered devices. --- source/_integrations/alexa.smart_home.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index bab6b2c5ad2..8b7e042c08c 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -115,6 +115,7 @@ Next you need create a Lambda function. - You will then be prompted to input the `Skill ID` from the skill you created in previous step. (Tips: you may need switch back to Alexa Developer Console to copy the `Skill ID`.) Then click `Add`. - Click your Lambda function icon in the middle of the diagram (above Layers), scroll down you will see a `Function code` window. - Clear the example code, copy the Python script from: [https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b](https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b) (modified code to support Alexa's proactive mode, see details below) +- Click `Deploy` button to publish updated code. - Scroll down a little bit, you will find `Environment variables`, you need add 1 environment variable and, if required, 3 optional variables. This is done by selecting `Manage environment variables` then adding the following: - *(required)* Key = BASE_URL, Value = your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*. - *(optional)* Key = NOT_VERIFY_SSL, Value = *True*. You can set this to *True* to ignore SSL issues, for example if you don't have a valid SSL certificate or you are using a self-signed certificate. From e7ee9ca7f21544f3fbc10efde8c22de47223e030 Mon Sep 17 00:00:00 2001 From: Tom L Date: Sat, 14 Nov 2020 20:34:16 +0000 Subject: [PATCH 14/27] Update logbook.markdown (#15646) add hyperlink to reference to recorder integration. --- source/_integrations/logbook.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index c8eaa7bca18..a32efb62dfe 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -13,7 +13,7 @@ ha_iot_class: The logbook integration provides a different perspective on the history of your house by showing all the changes that happened to your house in reverse chronological order. It depends on -the `recorder` integration for storing the data. This means that if the +the [`recorder`](/integrations/recorder/) integration for storing the data. This means that if the [`recorder`](/integrations/recorder/) integration is set up to use e.g., MySQL or PostgreSQL as data store, the `logbook` integration does not use the default SQLite database to store data. From 638e6092c692ef9d25d34f25a98d91b8459bc589 Mon Sep 17 00:00:00 2001 From: Dubh Ad Date: Sat, 14 Nov 2020 20:36:58 +0000 Subject: [PATCH 15/27] Update scripts.markdown (#15639) The wording here has caused confusion a few times, so making it clearer that the you have to use `false` --- source/_docs/scripts.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index 3c9b06c52dc..bdf5cc2f291 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -178,7 +178,7 @@ With both types of waits it is possible to set a timeout after which the script ``` {% endraw %} -You can also get the script to abort after the timeout by using optional `continue_on_timeout`. +You can also get the script to abort after the timeout by using optional `continue_on_timeout: false`. {% raw %} ```yaml @@ -194,7 +194,7 @@ You can also get the script to abort after the timeout by using optional `contin ``` {% endraw %} -Without `continue_on_timeout` the script will always continue. +Without `continue_on_timeout: false` the script will always continue since the default for `continue_on_timeout` is `true`. ### Wait Variable From 3dbbcc931bb2befc686ebe9720a9d3e432f802d4 Mon Sep 17 00:00:00 2001 From: Kristof Krenn Date: Sat, 14 Nov 2020 21:48:45 +0100 Subject: [PATCH 16/27] updated yessssms documentation (#15640) --- source/_integrations/yessssms.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/yessssms.markdown b/source/_integrations/yessssms.markdown index c77f4dbc594..b12191a7453 100644 --- a/source/_integrations/yessssms.markdown +++ b/source/_integrations/yessssms.markdown @@ -57,7 +57,7 @@ name: type: string default: notify username: - description: This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website. + description: This is your login name (usually your phone number, but in some cases it could be your e-mail). Veryfy that you can use your credentials on the Yesss.at website. required: true type: string password: @@ -81,9 +81,9 @@ For an alternative provider you would set the `provider` option. An example conf notify: - name: sms_to_self platform: yessssms - username: 06641234567 + username: "+436641234567" password: tops3cr3tpass0rd - recipient: 06641234567 + recipient: "+436641234567" provider: educom ``` From 9c1ae0b82c238d34147504bd33208b972e557bf3 Mon Sep 17 00:00:00 2001 From: sebastian-misztal <61595565+sebastian-misztal@users.noreply.github.com> Date: Sat, 14 Nov 2020 23:26:56 +0100 Subject: [PATCH 17/27] Update denonavr.markdown (#15650) Confirmed support for Denon AVR-X2500H --- source/_integrations/denonavr.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index 0b9823f7dda..b81345c16ef 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -28,6 +28,7 @@ Known supported devices: - Denon AVR-X2200W - Denon AVR-X2300W - Denon AVR-X2400H +- Denon AVR-X2500H - Denon AVR-X3200W - Denon AVR-X3300W - Denon AVR-X3400H From bd2eaee22f0354da681a824822267248a0ffe62c Mon Sep 17 00:00:00 2001 From: cnico Date: Mon, 16 Nov 2020 09:24:57 +0100 Subject: [PATCH 18/27] Addition of correct link for recent yi-hack (#15658) I added the link that correctly helped me to update the yi firmware of a camera recently bought. --- source/_integrations/xiaomi.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/xiaomi.markdown b/source/_integrations/xiaomi.markdown index 42503f3f218..4760dbf753a 100644 --- a/source/_integrations/xiaomi.markdown +++ b/source/_integrations/xiaomi.markdown @@ -18,6 +18,7 @@ In order to integrate the camera with Home Assistant, it is necessary to install * [Yi 720p](https://github.com/fritz-smh/yi-hack) * [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3) +* [Recent Yi 1080p Home / 1080p Dome](https://github.com/roleoroleo/yi-hack-MStar) * [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks) Once installed, please ensure that you have enabled FTP. From ce5fd611f58731ffce401f0787bca71bad02799b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Nov 2020 12:37:50 +0100 Subject: [PATCH 19/27] Bump listen from 3.3.0 to 3.3.1 (#15661) Bumps [listen](https://github.com/guard/listen) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/guard/listen/releases) - [Commits](https://github.com/guard/listen/compare/v3.3.0...v3.3.1) Signed-off-by: dependabot[bot] 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 fec8693fd6c..a877ee69911 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -63,7 +63,7 @@ GEM kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.3.0) + listen (3.3.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) From ffbc0bbdbe1d01a83c6efe94616bf063696490a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Marchand?= Date: Mon, 16 Nov 2020 07:30:15 -0500 Subject: [PATCH 20/27] Update insteon.markdown (#15655) Co-authored-by: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/insteon.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/insteon.markdown b/source/_integrations/insteon.markdown index 4fedce8b697..bf25c4168a8 100644 --- a/source/_integrations/insteon.markdown +++ b/source/_integrations/insteon.markdown @@ -234,7 +234,7 @@ device_override: type: list keys: address: - description: is found on the device itself in the form 1A.2B.3C or 1a2b3c. + description: "Is found on the device itself in the form `1A.2B.3C` or `1a2b3c`. If there's no letter in the address you need to use quotation marks, e.g., `\"123456\"`, to avoid it becoming a number in YAML." required: true type: string cat: From 82c34a519eb1dfc86ea97f541ca5cf6ba63211ca Mon Sep 17 00:00:00 2001 From: Greg Barker Date: Mon, 16 Nov 2020 04:44:45 -0800 Subject: [PATCH 21/27] Fix & improve documentation for Garadget integration variables (#15652) --- source/_integrations/garadget.markdown | 47 ++++++++++++-------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/source/_integrations/garadget.markdown b/source/_integrations/garadget.markdown index be4a1501fe7..eface9f7f3f 100644 --- a/source/_integrations/garadget.markdown +++ b/source/_integrations/garadget.markdown @@ -37,33 +37,30 @@ covers: description: List of your doors. required: true type: list - covers: - keys: - device: - description: This is the device id from your Garadget portal. - required: true - type: string - username: - description: Your Garadget account username. - required: true - type: string - password: - description: Your Garadget account password. - required: true - type: string - access_token: - description: A generated `access_token` from your Garadget account. - required: true - type: string - name: - description: me to use in the frontend, will use name configured in Garadget otherwise. - required: false - default: Garadget - type: string + keys: + device: + description: This is the device id from your Garadget portal. It can be found in the Settings section of the Garadget website or mobile application. + required: true + type: string + username: + description: Your Garadget account username. Use with `password` to obtain the `access_token` automatically. + required: false + type: string + password: + description: Your Garadget account password. Use with `username` to obtain the `access_token` automatically. + required: false + type: string + access_token: + description: A generated `access_token` from your Garadget account. To obtain an `access_token`, use the network tab of the developer tools for your web browser while logged into the Garadget website. When supplied, the `username` and `password` values are not required. + required: false + type: string + name: + description: Name to use in the frontend, will use name configured in Garadget otherwise. + required: false + default: Garadget + type: string {% endconfiguration %} -If provided, the **access_token** will be used, otherwise the **username** and **password** will be used to automatically generate an access token at start time. - ## Example

From 9532c71873e4f2a9a1675f3aaad9d351f65c6be2 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 16 Nov 2020 20:27:20 +0100 Subject: [PATCH 22/27] Fix jemalloc environment variable (#15664) --- source/_docs/installation/docker.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 78d5ec0a1cd..345f2511674 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -310,6 +310,6 @@ On Mac, USB devices are [not passed through](https://github.com/docker/for-mac/i The Home Assistant Container is using an alternative memory allocation library [jemalloc](http://jemalloc.net/) for better memory management and Python runtime speedup. -As Jemalloc can cause issues on certain hardware, it can be disabled by passing the environment variable `DISABLE_JEMALLOC` with any value, for example: `-e "JEMALLOC_DISABLE=true"`. +As jemalloc can cause issues on certain hardware, it can be disabled by passing the environment variable `DISABLE_JEMALLOC` with any value, for example: `-e "DISABLE_JEMALLOC=true"`. -The error message `: Unsupported system page size` is one known indicator. +The error message `: Unsupported system page size` is one known indicator. From 125040b42a0bd7a452ef30db2934677e599a3918 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 16 Nov 2020 22:35:38 +0100 Subject: [PATCH 23/27] Add table of contents to the integrations pages (#13572) Co-authored-by: Franck Nijhof --- Gemfile | 1 + Gemfile.lock | 4 ++++ _config.yml | 19 +++++++++++++++++++ sass/custom/_paulus.scss | 15 +++++++++++++++ .../asides/component_navigation.html | 6 ++++++ 5 files changed, 45 insertions(+) diff --git a/Gemfile b/Gemfile index 591c4fc1b50..57b4baf6b1c 100644 --- a/Gemfile +++ b/Gemfile @@ -15,6 +15,7 @@ group :jekyll_plugins do gem 'jekyll-sitemap', '1.4.0' gem 'jekyll-time-to-read', '0.1.2' gem 'jekyll-commonmark', '1.3.1' + gem 'jekyll-toc', '0.14.0' end gem 'sinatra', '2.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index a877ee69911..9b01a4413fb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -56,6 +56,9 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-time-to-read (0.1.2) jekyll + jekyll-toc (0.14.0) + jekyll (>= 3.8) + nokogiri (~> 1.10) jekyll-watch (2.2.1) listen (~> 3.0) kramdown (2.3.0) @@ -124,6 +127,7 @@ DEPENDENCIES jekyll-paginate (= 1.1.0) jekyll-sitemap (= 1.4.0) jekyll-time-to-read (= 0.1.2) + jekyll-toc (= 0.14.0) nokogiri (= 1.10.10) rake (= 13.0.1) sass-globbing (= 1.1.5) diff --git a/_config.yml b/_config.yml index 41b824f4db0..de098641bb9 100644 --- a/_config.yml +++ b/_config.yml @@ -46,6 +46,7 @@ highlighter: none plugins: - jekyll-time-to-read + - jekyll-toc paginate: 10 # Posts per page on the blog index paginate_path: "blog/posts/:num" # Directory base for pagination URLs eg. /posts/2/ @@ -123,6 +124,7 @@ defaults: featured: false # Defaults for blogs posts - scope: + path: "" type: posts values: layout: post @@ -130,9 +132,26 @@ defaults: footer: true sharing: true sidebar: true + # Enable table of contents for integrations + # + # To set toc as a default value, we need to set the scope with an empty path + # and the collection as type + # https://github.com/toshimaru/jekyll-toc/issues/116#issuecomment-644205770 + # + - scope: + path: "" + type: integrations + values: + toc: true # Support for files Jekyll will normally exclude include: - "_headers" - "_redirects" - ".well-known" + +# Table of contents +# https://github.com/toshimaru/jekyll-toc +toc: + min_level: 2 # default: 1 + max_level: 3 # default: 6 diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 7162bb2a63a..e4ad6b2ca85 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -426,6 +426,21 @@ div.note { .aside-module { .section { margin-bottom: 10px; + + ul.section-nav { + margin-left: 0px; + + li.toc-entry { + list-style-type: none; + li { + list-style-type: circle; + margin-left: 1em; + } + ul { + margin-left: 1em; + } + } + } } .brand-logo-container { diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index 65d5a97f23b..a5e54266097 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -66,6 +66,12 @@ {%- endif -%} + + {%- unless page.no_toc -%} +

+

On this page

+ {% toc %} + {%- endunless -%} From e309fee8d8a9af34f5ab2753080b353b4d6f7972 Mon Sep 17 00:00:00 2001 From: Dezorian Date: Tue, 17 Nov 2020 12:50:32 +0100 Subject: [PATCH 24/27] Replaced "USB drive" with "hassos-boot" (#15668) As we are not using an USB-drive anymore --- source/hassio/enable_i2c.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/enable_i2c.markdown b/source/hassio/enable_i2c.markdown index 025f1dd4beb..a4542745b08 100644 --- a/source/hassio/enable_i2c.markdown +++ b/source/hassio/enable_i2c.markdown @@ -28,7 +28,7 @@ and make sure the first partition is available. ```txt i2c-dev ``` -- In the root of the USB drive edit the file called `config.txt` add two lines +- In the root of the `hassos-boot` partition, edit the file called `config.txt` add two lines to it: ```txt dtparam=i2c_vc=on From 710e7aa9409dcb31b96e0f6612b24bd03c27bb79 Mon Sep 17 00:00:00 2001 From: Freddie Leeman Date: Tue, 17 Nov 2020 16:25:03 +0100 Subject: [PATCH 25/27] Feature-/Permissions-Policy HTTP header update (#15667) Removed features that were removed from the 'Feature-Policy' spec (vibrate, speaker). List of valid features can be found here: https://github.com/w3c/webappsec-permissions-policy/blob/master/features.md Due to a recent rename of the policy I've copied the Feature-Policy to a Permissions-Policy header and changed the value syntax. For backwards compatibility I recommend leaving the 'Feature-Policy' for now. Syntax errors found using: https://www.uriports.com/score/home-assistant.io --- source/_headers | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_headers b/source/_headers index 61d96baf8a7..d33567d39d7 100644 --- a/source/_headers +++ b/source/_headers @@ -1,7 +1,8 @@ /* Cache-Control: public, max-age: 0, s-maxage=3600, must-revalidate Content-Security-Policy: form-action https: - Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none' + Feature-Policy: geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; payment 'none' + Permissions-Policy: geolocation=(), midi=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), payment=() Referrer-Policy: no-referrer-when-downgrade X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block From e48609782979d574f28d939782c4d30e45fce95e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Nov 2020 16:30:01 +0100 Subject: [PATCH 26/27] Bump jekyll-toc from 0.14.0 to 0.15.0 (#15666) Bumps [jekyll-toc](https://github.com/toshimaru/jekyll-toc) from 0.14.0 to 0.15.0. - [Release notes](https://github.com/toshimaru/jekyll-toc/releases) - [Commits](https://github.com/toshimaru/jekyll-toc/compare/v0.14.0...v0.15.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 57b4baf6b1c..20f51ba2ea7 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ group :jekyll_plugins do gem 'jekyll-sitemap', '1.4.0' gem 'jekyll-time-to-read', '0.1.2' gem 'jekyll-commonmark', '1.3.1' - gem 'jekyll-toc', '0.14.0' + gem 'jekyll-toc', '0.15.0' end gem 'sinatra', '2.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 9b01a4413fb..69775494474 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -56,7 +56,7 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-time-to-read (0.1.2) jekyll - jekyll-toc (0.14.0) + jekyll-toc (0.15.0) jekyll (>= 3.8) nokogiri (~> 1.10) jekyll-watch (2.2.1) @@ -127,7 +127,7 @@ DEPENDENCIES jekyll-paginate (= 1.1.0) jekyll-sitemap (= 1.4.0) jekyll-time-to-read (= 0.1.2) - jekyll-toc (= 0.14.0) + jekyll-toc (= 0.15.0) nokogiri (= 1.10.10) rake (= 13.0.1) sass-globbing (= 1.1.5) From 626a6da008f4f9a071147d85215c4ef8698e1ade Mon Sep 17 00:00:00 2001 From: TheOgre Date: Tue, 17 Nov 2020 10:47:45 -0500 Subject: [PATCH 27/27] Clarifying "Allow Other Users" (#15660) Co-authored-by: Franck Nijhof --- source/_integrations/google_assistant.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index 538f1f94211..664b06a4d73 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -75,9 +75,9 @@ If you want to allow other household users to control the devices: 1. Enter the email address of the user you want to add. 2. Click Select a role and choose Project < Viewer. 3. Click SAVE - 4. Copy and share the link with the new user. - 5. When the new user opens the link with their own Google account, it will enable your draft test app under their account. -5. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account. + 4. Copy and share the Actions project link (`https://console.actions.google.com/project/YOUR_PROJECT_ID/simulator`) with the new user. +5. Have the new user open the link with their own Google account, agree to the Terms of Service popup, then select "Start Testing", select VERSION - Draft in the dropdown, and click "Done". +6. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account. ### Enable Device Sync